On 24/11/2022 13:11, Daniel Golle wrote: > On Thu, Nov 24, 2022 at 12:30:44PM +0100, Krzysztof Kozlowski wrote: >> On 24/11/2022 12:03, Daniel Golle wrote: >>> Add new compatible string for MT7986 PWM and list compatible units for >>> existing entries. Also make sure the number of pwm1-X clocks is listed >>> for all supported units. >>> >>> Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx> >>> --- >>> Changes since v1: list compatibles, fix pwm1-n clocks for all SoCs >>> >>> Rebased on linux-next and re-run scripts/get_maintainers.pl on patch to >>> makes sure dt maintainers are included. This has been requested by >>> Krzysztof Kozlowski. >>> >>> .../devicetree/bindings/pwm/pwm-mediatek.txt | 20 +++++++++++-------- >>> 1 file changed, 12 insertions(+), 8 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/pwm/pwm-mediatek.txt b/Documentation/devicetree/bindings/pwm/pwm-mediatek.txt >>> index 554c96b6d0c3..952a338e06e7 100644 >>> --- a/Documentation/devicetree/bindings/pwm/pwm-mediatek.txt >>> +++ b/Documentation/devicetree/bindings/pwm/pwm-mediatek.txt >>> @@ -2,14 +2,15 @@ MediaTek PWM controller >>> >>> Required properties: >>> - compatible: should be "mediatek,<name>-pwm": >>> - - "mediatek,mt2712-pwm": found on mt2712 SoC. >>> + - "mediatek,mt2712-pwm", "mediatek,mt6795-pwm": found on mt2712 SoC. >>> - "mediatek,mt6795-pwm": found on mt6795 SoC. >>> - - "mediatek,mt7622-pwm": found on mt7622 SoC. >>> - - "mediatek,mt7623-pwm": found on mt7623 SoC. >>> + - "mediatek,mt7622-pwm", "mediatek,mt8195-pwm", "mediatek,mt8183-pwm", "mediatek,mt7986-pwm": found on mt7622 SoC. >> >> This does not look right. What you are saying is mt7622 is compatible >> with mt8195, which is compatible with mt8183, which is compatible with >> mt7986. It could be true, but I feel you wanted to say something else - >> mt7622 is compatible with one SoC which is generic and common to all >> other implementations. > > MT7622 has 6 PWM channels, it does have CK_26M_SEL register and does > not need pwm45_fixup. Hence, when using a driver made for MT8195, only > 4 out of 6 channels woukd work. MT8183 PWM is identical to MT8195, > hence also compatible. When using driver for MT7986, only 2 channels > would work, but otherwise it is also compatible. > > So unfortunately, that one generic implementation ("common ancestor") > does not exist and development of the PWM unit found in MediaTek SoCs > did not necessarily increase features in more recent iterations, but > rather just reduce or increase the number of PWM channels available. > Ironically, the unit with least features (only 2 channels) is found in > the most recent SoC (MT7986). None of these explain listing four compatibles. > >> >>> + - "mediatek,mt7623-pwm", "mediatek,mt7628-pwm": found on mt7623 SoC. >>> - "mediatek,mt7628-pwm": found on mt7628 SoC. >>> - "mediatek,mt7629-pwm": found on mt7629 SoC. >>> - - "mediatek,mt8183-pwm": found on mt8183 SoC. >>> - - "mediatek,mt8195-pwm", "mediatek,mt8183-pwm": found on mt8195 SoC. >>> + - "mediatek,mt7986-pwm": found on mt7986 SoC. >>> + - "mediatek,mt8183-pwm", "mediatek,mt7986-pwm": found on mt8183 SoC. >>> + - "mediatek,mt8195-pwm", "mediatek,mt8183-pwm", "mediatek,mt7986-pwm": found on mt8195 SoC. >> >> This as well looks excessive. > > I agree. But it's difficult to say which one should be ommitted. Best regards, Krzysztof