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:
- Compatibles should be specific.
- 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