From c805b77caba9e49d43321112f272508d2b1acd25 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Date: Sun, 26 Jun 2022 14:03:38 +0200 Subject: [PATCH 1/8] ARM: dts: exynos: align SDHCI node name with dtschema The node names should be generic and DT schema expects "mmc". Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Link: https://lore.kernel.org/r/20220626120342.38851-2-krzysztof.kozlowski@linaro.org --- arch/arm/boot/dts/exynos4.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 6f0ca3354e39..5c4ecda27a47 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -316,7 +316,7 @@ status = "disabled"; }; - sdhci_0: sdhci@12510000 { + sdhci_0: mmc@12510000 { compatible = "samsung,exynos4210-sdhci"; reg = <0x12510000 0x100>; interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; @@ -325,7 +325,7 @@ status = "disabled"; }; - sdhci_1: sdhci@12520000 { + sdhci_1: mmc@12520000 { compatible = "samsung,exynos4210-sdhci"; reg = <0x12520000 0x100>; interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; @@ -334,7 +334,7 @@ status = "disabled"; }; - sdhci_2: sdhci@12530000 { + sdhci_2: mmc@12530000 { compatible = "samsung,exynos4210-sdhci"; reg = <0x12530000 0x100>; interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; @@ -343,7 +343,7 @@ status = "disabled"; }; - sdhci_3: sdhci@12540000 { + sdhci_3: mmc@12540000 { compatible = "samsung,exynos4210-sdhci"; reg = <0x12540000 0x100>; interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; From 1923e58045471c7226eeab34762e2f821c2c31b7 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Date: Sun, 26 Jun 2022 14:03:39 +0200 Subject: [PATCH 2/8] ARM: dts: s3c24xx: align SDHCI node name with dtschema The node names should be generic and DT schema expects "mmc". Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Link: https://lore.kernel.org/r/20220626120342.38851-3-krzysztof.kozlowski@linaro.org --- arch/arm/boot/dts/s3c2416.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/s3c2416.dtsi b/arch/arm/boot/dts/s3c2416.dtsi index 4f084f4fe44f..4660751cb207 100644 --- a/arch/arm/boot/dts/s3c2416.dtsi +++ b/arch/arm/boot/dts/s3c2416.dtsi @@ -45,7 +45,7 @@ status = "disabled"; }; - sdhci_1: sdhci@4ac00000 { + sdhci_1: mmc@4ac00000 { compatible = "samsung,s3c6410-sdhci"; reg = <0x4AC00000 0x100>; interrupts = <0 0 21 3>; @@ -56,7 +56,7 @@ status = "disabled"; }; - sdhci_0: sdhci@4a800000 { + sdhci_0: mmc@4a800000 { compatible = "samsung,s3c6410-sdhci"; reg = <0x4A800000 0x100>; interrupts = <0 0 20 3>; From 1b90ddb9d942bc75d468758fd2ad632137e733cf Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Date: Sun, 26 Jun 2022 14:03:40 +0200 Subject: [PATCH 3/8] ARM: dts: s3c64xx: align SDHCI node name with dtschema The node names should be generic and DT schema expects "mmc". Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Link: https://lore.kernel.org/r/20220626120342.38851-4-krzysztof.kozlowski@linaro.org --- arch/arm/boot/dts/s3c64xx.dtsi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/s3c64xx.dtsi b/arch/arm/boot/dts/s3c64xx.dtsi index 67a7a66e11d5..c03df6355500 100644 --- a/arch/arm/boot/dts/s3c64xx.dtsi +++ b/arch/arm/boot/dts/s3c64xx.dtsi @@ -59,7 +59,7 @@ #interrupt-cells = <1>; }; - sdhci0: sdhci@7c200000 { + sdhci0: mmc@7c200000 { compatible = "samsung,s3c6410-sdhci"; reg = <0x7c200000 0x100>; interrupt-parent = <&vic1>; @@ -70,7 +70,7 @@ status = "disabled"; }; - sdhci1: sdhci@7c300000 { + sdhci1: mmc@7c300000 { compatible = "samsung,s3c6410-sdhci"; reg = <0x7c300000 0x100>; interrupt-parent = <&vic1>; @@ -81,7 +81,7 @@ status = "disabled"; }; - sdhci2: sdhci@7c400000 { + sdhci2: mmc@7c400000 { compatible = "samsung,s3c6410-sdhci"; reg = <0x7c400000 0x100>; interrupt-parent = <&vic1>; From 6a82ef85c4a4de42214e0c5a79242d54436541c3 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Date: Sun, 26 Jun 2022 14:03:41 +0200 Subject: [PATCH 4/8] ARM: dts: s5pv210: align SDHCI node name with dtschema The node names should be generic and DT schema expects "mmc". Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Link: https://lore.kernel.org/r/20220626120342.38851-5-krzysztof.kozlowski@linaro.org --- arch/arm/boot/dts/s5pv210.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/s5pv210.dtsi b/arch/arm/boot/dts/s5pv210.dtsi index f1b85aae8842..12e90a1cc6a1 100644 --- a/arch/arm/boot/dts/s5pv210.dtsi +++ b/arch/arm/boot/dts/s5pv210.dtsi @@ -357,7 +357,7 @@ status = "disabled"; }; - sdhci0: sdhci@eb000000 { + sdhci0: mmc@eb000000 { compatible = "samsung,s3c6410-sdhci"; reg = <0xeb000000 0x100000>; interrupt-parent = <&vic1>; @@ -368,7 +368,7 @@ status = "disabled"; }; - sdhci1: sdhci@eb100000 { + sdhci1: mmc@eb100000 { compatible = "samsung,s3c6410-sdhci"; reg = <0xeb100000 0x100000>; interrupt-parent = <&vic1>; @@ -379,7 +379,7 @@ status = "disabled"; }; - sdhci2: sdhci@eb200000 { + sdhci2: mmc@eb200000 { compatible = "samsung,s3c6410-sdhci"; reg = <0xeb200000 0x100000>; interrupt-parent = <&vic1>; @@ -390,7 +390,7 @@ status = "disabled"; }; - sdhci3: sdhci@eb300000 { + sdhci3: mmc@eb300000 { compatible = "samsung,s3c6410-sdhci"; reg = <0xeb300000 0x100000>; interrupt-parent = <&vic3>; From 30e1f7bb96a918b6551ff5f97dd9f144aa04386d Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Date: Tue, 5 Jul 2022 18:13:40 +0200 Subject: [PATCH 5/8] dt-bindings: samsung: document preferred compatible naming Compatibles can come in two formats. Either "vendor,ip-soc" or "vendor,soc-ip". Add a DT schema documenting preferred policy and enforcing it for all new compatibles, except few existing patterns. The schema also disallows wild-cards used in SoC compatibles. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220705161340.493474-1-krzysztof.kozlowski@linaro.org --- .../bindings/arm/samsung/samsung-soc.yaml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/samsung/samsung-soc.yaml diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-soc.yaml b/Documentation/devicetree/bindings/arm/samsung/samsung-soc.yaml new file mode 100644 index 000000000000..653f85997643 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-soc.yaml @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/samsung/samsung-soc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung S3C, S5P and Exynos SoC compatibles naming convention + +maintainers: + - Krzysztof Kozlowski <krzk@kernel.org> + +description: | + Guidelines for new compatibles for SoC blocks/components. + When adding new compatibles in new bindings, use the format:: + samsung,SoC-IP + + For example:: + samsung,exynos5433-cmu-isp + +select: + properties: + compatible: + pattern: "^samsung,.*(s3c|s5pv|exynos)[0-9a-z]+.*$" + required: + - compatible + +properties: + compatible: + oneOf: + - description: Preferred naming style for compatibles of SoC components + pattern: "^samsung,(s3c|s5pv|exynos|exynosautov)[0-9]+-.*$" + + # Legacy compatibles with wild-cards - list cannot grow with new bindings: + - enum: + - samsung,exynos4x12-pinctrl + - samsung,exynos4x12-usb2-phy + - samsung,s3c64xx-pinctrl + - samsung,s3c64xx-wakeup-eint + +additionalProperties: true From 38aed2e0aa406de6dda64515cc3937976a27038e Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Date: Wed, 6 Jul 2022 18:02:55 +0200 Subject: [PATCH 6/8] dt-bindings: soc: samsung: exynos-pmu: cleanup assigned clocks "assigned-clocks" are not needed in the device schema as they come from core schema. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220706160257.27579-1-krzysztof.kozlowski@linaro.org --- Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml index c30a6437030d..a5d489acfdca 100644 --- a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml +++ b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml @@ -49,9 +49,6 @@ properties: reg: maxItems: 1 - assigned-clock-parents: true - assigned-clocks: true - '#clock-cells': const: 1 From 61bebc2902901cc2f1cac496dc81be38ca74d7d4 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Date: Wed, 6 Jul 2022 18:02:56 +0200 Subject: [PATCH 7/8] dt-bindings: soc: samsung: exynos-pmu: use abolute ref paths Preferred coding for referencing other schemas is to use absolute path. Quotes over path are also not needed. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220706160257.27579-2-krzysztof.kozlowski@linaro.org --- Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml index a5d489acfdca..1835ca08416d 100644 --- a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml +++ b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml @@ -75,13 +75,13 @@ properties: const: 3 syscon-poweroff: - $ref: "../../power/reset/syscon-poweroff.yaml#" + $ref: /schemas/power/reset/syscon-poweroff.yaml# type: object description: Node for power off method syscon-reboot: - $ref: "../../power/reset/syscon-reboot.yaml#" + $ref: /schemas/power/reset/syscon-reboot.yaml# type: object description: Node for reboot method From 3e27bf719303b1b19edd37bd04e9e586c73f6511 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Date: Wed, 6 Jul 2022 18:02:57 +0200 Subject: [PATCH 8/8] dt-bindings: soc: samsung: exynos-pmu: add reboot-mode ExynosAutov9 gained a reboot-mode node, so document the property to fix warning: exynosautov9-sadk.dtb: system-controller@10460000: 'reboot-mode' does not match any of the regexes: 'pinctrl-[0-9]+' Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220706160257.27579-3-krzysztof.kozlowski@linaro.org --- .../devicetree/bindings/soc/samsung/exynos-pmu.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml index 1835ca08416d..13bb8dfcefe6 100644 --- a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml +++ b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml @@ -74,6 +74,12 @@ properties: Must be identical to the that of the parent interrupt controller. const: 3 + reboot-mode: + $ref: /schemas/power/reset/syscon-reboot-mode.yaml + type: object + description: + Reboot mode to alter bootloader behavior for the next boot + syscon-poweroff: $ref: /schemas/power/reset/syscon-poweroff.yaml# type: object