[PATCH v1 03/11] dt-bindings: pwm: rockchip: add rockchip,rk3128-pwm
Johan Jonker
jbx6244 at gmail.com
Tue Sep 13 07:38:32 PDT 2022
On 9/12/22 18:21, Rob Herring wrote:
> On Sat, Sep 10, 2022 at 09:48:04PM +0200, Johan Jonker wrote:
>> Reduced CC.
>>
>> Hi Rob,
>>
>
> Seemed like a simple enough warning to fix...
Some examples for comment.
Let us know what would be the better solution?
===========================================================================
option1:
combpwm0: combpwm0 {
compatible = "rockchip,rv1108-combpwm";
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <2>;
#size-cells = <2>;
pwm0: pwm at 20040000 {
compatible = "rockchip,rv1108-pwm";
reg = <0x20040000 0x10>;
};
pwm1: pwm at 20040010 {
compatible = "rockchip,rv1108-pwm";
reg = <0x20040010 0x10>;
};
pwm2: pwm at 20040020 {
compatible = "rockchip,rv1108-pwm";
reg = <0x20040020 0x10>;
};
pwm3: pwm at 20040030 {
compatible = "rockchip,rv1108-pwm";
reg = <0x20040030 0x10>;
};
};
PRO:
- Existing driver might still work.
CON:
- New compatible needed to service the combined interrupts.
- Driver change needed.
===========================================================================
option 2:
combpwm0: pwm at 10280000 {
compatible = "rockchip,rv1108-pwm";
reg = <0x10280000 0x40>;
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
pwm4: pwm-4 at 0 {
reg = <0x0>;
};
pwm5: pwm-5 at 10 {
reg = <0x10>;
};
pwm6: pwm-6 at 20 {
reg = <0x20>;
};
pwm7: pwm-7 at 30 {
reg = <0x30>;
};
};
CON:
- Driver change needed.
- Not compatible with current drivers.
===========================================================================
Current situation:
pwm0: pwm at 20040000 {
compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
reg = <0x20040000 0x10>;
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
};
pwm1: pwm at 20040010 {
compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
reg = <0x20040010 0x10>;
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
};
pwm2: pwm at 20040020 {
compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
reg = <0x20040020 0x10>;
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
};
pwm3: pwm at 20040030 {
compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
reg = <0x20040030 0x10>;
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
};
CON:
- The property "interrupts 39" can only be claimed ones by one probe function at the time.
- Has a fall-back string for rk3288, but unknown identical behavior for interrupts ???
>
>> The rk3328 and rv1108 PWM interrupt is chaired between blocks I think.
>> For rv1108 the same interrupt is used for all PWM nodes.
>> For rk3328 only added to one PWM node.
>> Currently not in use in a Linux drivers??
>
> How is that relevant to the binding? It's used in dts files.
>
>>
>> No consensus yet...on removing or parent node, so it stays as it is...
>> Maybe if you have ideas things will change. ;)
>
> Only that existing issues should be addressed before adding new
> platforms especially if the binding might change in an incompatible way
> (splitting nodes).
>
> Rob
More information about the linux-arm-kernel
mailing list