Message ID | 20231108104343.24192-17-krzysztof.kozlowski@linaro.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | dt-bindings: samsung: add specific compatibles for existing SoC | expand |
> -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Sent: Wednesday, November 8, 2023 4:14 PM > Exynos850 reuses several devices from older designs, thus historically we > kept the old (block's) compatible only. This works fine and there is no bug > here, however guidelines expressed in > Documentation/devicetree/bindings/writing-bindings.rst state that: > 1. Compatibles should be specific. > 2. We should add new compatibles in case of bugs or features. > > Add compatibles specific to Exynos850 in front of all old-SoC-like compatibles. > This will also help reviews of new code using existing DTS as template. No > functional impact on Linux drivers behavior. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> > arch/arm64/boot/dts/exynos/exynos850.dtsi | 34 +++++++++++++---------- > 1 file changed, 20 insertions(+), 14 deletions(-) > (...)
On Wed, Nov 8, 2023 at 4:44 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > Exynos850 reuses several devices from older designs, thus historically > we kept the old (block's) compatible only. This works fine and there is > no bug here, however guidelines expressed in > Documentation/devicetree/bindings/writing-bindings.rst state that: > 1. Compatibles should be specific. > 2. We should add new compatibles in case of bugs or features. > > Add compatibles specific to Exynos850 in front of all old-SoC-like > compatibles. This will also help reviews of new code using existing > DTS as template. No functional impact on Linux drivers behavior. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > arch/arm64/boot/dts/exynos/exynos850.dtsi | 34 +++++++++++++---------- > 1 file changed, 20 insertions(+), 14 deletions(-) > > diff --git a/arch/arm64/boot/dts/exynos/exynos850.dtsi b/arch/arm64/boot/dts/exynos/exynos850.dtsi > index 53104e65b9c6..df5ea43ebcad 100644 > --- a/arch/arm64/boot/dts/exynos/exynos850.dtsi > +++ b/arch/arm64/boot/dts/exynos/exynos850.dtsi > @@ -396,7 +396,7 @@ pinctrl_aud: pinctrl@14a60000 { > }; > > rtc: rtc@11a30000 { > - compatible = "samsung,s3c6410-rtc"; > + compatible = "samsung,exynos850-rtc", "samsung,s3c6410-rtc"; > reg = <0x11a30000 0x100>; > interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, > <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; > @@ -406,7 +406,8 @@ rtc: rtc@11a30000 { > }; > > mmc_0: mmc@12100000 { > - compatible = "samsung,exynos7-dw-mshc-smu"; > + compatible = "samsung,exynos850-dw-mshc-smu", > + "samsung,exynos7-dw-mshc-smu"; > reg = <0x12100000 0x2000>; > interrupts = <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -419,7 +420,7 @@ mmc_0: mmc@12100000 { > }; > > i2c_0: i2c@13830000 { > - compatible = "samsung,s3c2440-i2c"; > + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; > reg = <0x13830000 0x100>; > interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -432,7 +433,7 @@ i2c_0: i2c@13830000 { > }; > > i2c_1: i2c@13840000 { > - compatible = "samsung,s3c2440-i2c"; > + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; > reg = <0x13840000 0x100>; > interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -445,7 +446,7 @@ i2c_1: i2c@13840000 { > }; > > i2c_2: i2c@13850000 { > - compatible = "samsung,s3c2440-i2c"; > + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; > reg = <0x13850000 0x100>; > interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -458,7 +459,7 @@ i2c_2: i2c@13850000 { > }; > > i2c_3: i2c@13860000 { > - compatible = "samsung,s3c2440-i2c"; > + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; > reg = <0x13860000 0x100>; > interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -471,7 +472,7 @@ i2c_3: i2c@13860000 { > }; > > i2c_4: i2c@13870000 { > - compatible = "samsung,s3c2440-i2c"; > + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; > reg = <0x13870000 0x100>; > interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -485,7 +486,7 @@ i2c_4: i2c@13870000 { > > /* I2C_5 (also called CAM_PMIC_I2C in TRM) */ > i2c_5: i2c@13880000 { > - compatible = "samsung,s3c2440-i2c"; > + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; > reg = <0x13880000 0x100>; > interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -499,7 +500,7 @@ i2c_5: i2c@13880000 { > > /* I2C_6 (also called MOTOR_I2C in TRM) */ > i2c_6: i2c@13890000 { > - compatible = "samsung,s3c2440-i2c"; > + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; > reg = <0x13890000 0x100>; > interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -640,7 +641,8 @@ usi_hsi2c_0: usi@138a00c0 { > status = "disabled"; > > hsi2c_0: i2c@138a0000 { > - compatible = "samsung,exynosautov9-hsi2c"; > + compatible = "samsung,exynos850-hsi2c", > + "samsung,exynosautov9-hsi2c"; > reg = <0x138a0000 0xc0>; > interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -668,7 +670,8 @@ usi_hsi2c_1: usi@138b00c0 { > status = "disabled"; > > hsi2c_1: i2c@138b0000 { > - compatible = "samsung,exynosautov9-hsi2c"; > + compatible = "samsung,exynos850-hsi2c", > + "samsung,exynosautov9-hsi2c"; > reg = <0x138b0000 0xc0>; > interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -696,7 +699,8 @@ usi_hsi2c_2: usi@138c00c0 { > status = "disabled"; > > hsi2c_2: i2c@138c0000 { > - compatible = "samsung,exynosautov9-hsi2c"; > + compatible = "samsung,exynos850-hsi2c", > + "samsung,exynosautov9-hsi2c"; > reg = <0x138c0000 0xc0>; > interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -738,7 +742,8 @@ usi_cmgp0: usi@11d000c0 { > status = "disabled"; > > hsi2c_3: i2c@11d00000 { > - compatible = "samsung,exynosautov9-hsi2c"; > + compatible = "samsung,exynos850-hsi2c", > + "samsung,exynosautov9-hsi2c"; > reg = <0x11d00000 0xc0>; > interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > @@ -778,7 +783,8 @@ usi_cmgp1: usi@11d200c0 { > status = "disabled"; > > hsi2c_4: i2c@11d20000 { > - compatible = "samsung,exynosautov9-hsi2c"; > + compatible = "samsung,exynos850-hsi2c", > + "samsung,exynosautov9-hsi2c"; > reg = <0x11d20000 0xc0>; > interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; > #address-cells = <1>; > -- > 2.34.1 >
diff --git a/arch/arm64/boot/dts/exynos/exynos850.dtsi b/arch/arm64/boot/dts/exynos/exynos850.dtsi index 53104e65b9c6..df5ea43ebcad 100644 --- a/arch/arm64/boot/dts/exynos/exynos850.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos850.dtsi @@ -396,7 +396,7 @@ pinctrl_aud: pinctrl@14a60000 { }; rtc: rtc@11a30000 { - compatible = "samsung,s3c6410-rtc"; + compatible = "samsung,exynos850-rtc", "samsung,s3c6410-rtc"; reg = <0x11a30000 0x100>; interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; @@ -406,7 +406,8 @@ rtc: rtc@11a30000 { }; mmc_0: mmc@12100000 { - compatible = "samsung,exynos7-dw-mshc-smu"; + compatible = "samsung,exynos850-dw-mshc-smu", + "samsung,exynos7-dw-mshc-smu"; reg = <0x12100000 0x2000>; interrupts = <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -419,7 +420,7 @@ mmc_0: mmc@12100000 { }; i2c_0: i2c@13830000 { - compatible = "samsung,s3c2440-i2c"; + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; reg = <0x13830000 0x100>; interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -432,7 +433,7 @@ i2c_0: i2c@13830000 { }; i2c_1: i2c@13840000 { - compatible = "samsung,s3c2440-i2c"; + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; reg = <0x13840000 0x100>; interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -445,7 +446,7 @@ i2c_1: i2c@13840000 { }; i2c_2: i2c@13850000 { - compatible = "samsung,s3c2440-i2c"; + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; reg = <0x13850000 0x100>; interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -458,7 +459,7 @@ i2c_2: i2c@13850000 { }; i2c_3: i2c@13860000 { - compatible = "samsung,s3c2440-i2c"; + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; reg = <0x13860000 0x100>; interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -471,7 +472,7 @@ i2c_3: i2c@13860000 { }; i2c_4: i2c@13870000 { - compatible = "samsung,s3c2440-i2c"; + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; reg = <0x13870000 0x100>; interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -485,7 +486,7 @@ i2c_4: i2c@13870000 { /* I2C_5 (also called CAM_PMIC_I2C in TRM) */ i2c_5: i2c@13880000 { - compatible = "samsung,s3c2440-i2c"; + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; reg = <0x13880000 0x100>; interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -499,7 +500,7 @@ i2c_5: i2c@13880000 { /* I2C_6 (also called MOTOR_I2C in TRM) */ i2c_6: i2c@13890000 { - compatible = "samsung,s3c2440-i2c"; + compatible = "samsung,exynos850-i2c", "samsung,s3c2440-i2c"; reg = <0x13890000 0x100>; interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -640,7 +641,8 @@ usi_hsi2c_0: usi@138a00c0 { status = "disabled"; hsi2c_0: i2c@138a0000 { - compatible = "samsung,exynosautov9-hsi2c"; + compatible = "samsung,exynos850-hsi2c", + "samsung,exynosautov9-hsi2c"; reg = <0x138a0000 0xc0>; interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -668,7 +670,8 @@ usi_hsi2c_1: usi@138b00c0 { status = "disabled"; hsi2c_1: i2c@138b0000 { - compatible = "samsung,exynosautov9-hsi2c"; + compatible = "samsung,exynos850-hsi2c", + "samsung,exynosautov9-hsi2c"; reg = <0x138b0000 0xc0>; interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -696,7 +699,8 @@ usi_hsi2c_2: usi@138c00c0 { status = "disabled"; hsi2c_2: i2c@138c0000 { - compatible = "samsung,exynosautov9-hsi2c"; + compatible = "samsung,exynos850-hsi2c", + "samsung,exynosautov9-hsi2c"; reg = <0x138c0000 0xc0>; interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -738,7 +742,8 @@ usi_cmgp0: usi@11d000c0 { status = "disabled"; hsi2c_3: i2c@11d00000 { - compatible = "samsung,exynosautov9-hsi2c"; + compatible = "samsung,exynos850-hsi2c", + "samsung,exynosautov9-hsi2c"; reg = <0x11d00000 0xc0>; interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; @@ -778,7 +783,8 @@ usi_cmgp1: usi@11d200c0 { status = "disabled"; hsi2c_4: i2c@11d20000 { - compatible = "samsung,exynosautov9-hsi2c"; + compatible = "samsung,exynos850-hsi2c", + "samsung,exynosautov9-hsi2c"; reg = <0x11d20000 0xc0>; interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>;
Exynos850 reuses several devices from older designs, thus historically we kept the old (block's) compatible only. This works fine and there is no bug here, however guidelines expressed in Documentation/devicetree/bindings/writing-bindings.rst state that: 1. Compatibles should be specific. 2. We should add new compatibles in case of bugs or features. Add compatibles specific to Exynos850 in front of all old-SoC-like compatibles. This will also help reviews of new code using existing DTS as template. No functional impact on Linux drivers behavior. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- arch/arm64/boot/dts/exynos/exynos850.dtsi | 34 +++++++++++++---------- 1 file changed, 20 insertions(+), 14 deletions(-)