Hi,
I am in the process of fixing syscon/simple-mfd bindings (to be posted
separately) and found set of issues in TI looking independent of my
series. Please apply via TI SoC.
Best regards,
Krzysztof
---
Krzysztof Kozlowski (5):
dt-bindings: soc: ti: am62-system-controller: add AM62 syscon
dt-bindings: soc: ti: am645-system-controller: add AM654 syscon
arm64: dts: ti: k3-am62: add dedicated wakeup controller compatible
arm64: dts: ti: k3-am65-mcu: add dedicated wakeup controller compatible
arm64: dts: ti: k3-am62a: use a specific MCU controller compatible
.../bindings/soc/ti/ti,am62-system-controller.yaml | 77 ++++++++++++++++++++++
.../soc/ti/ti,am654-system-controller.yaml | 60 +++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 2 +-
arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi | 2 +-
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | 2 +-
5 files changed, 140 insertions(+), 3 deletions(-)
---
base-commit: e032bb82c315d2317a80506195d16ce4308d8cf7
change-id: 20240518-dt-bindings-ti-soc-mfd-ac211578d7a5
Best regards,
--
Krzysztof Kozlowski <[email protected]>
Add dedicated binding for AM62 and AM62A wakeup system controller
registers, already used in the DTS to properly describe their children.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../bindings/soc/ti/ti,am62-system-controller.yaml | 77 ++++++++++++++++++++++
1 file changed, 77 insertions(+)
diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml
new file mode 100644
index 000000000000..d3bd67717999
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/ti/ti,am62-system-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI AM62 System Controller Registers R/W
+
+maintainers:
+ - Kishon Vijay Abraham I <[email protected]>
+ - Roger Quadros <[email protected]>
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - ti,am62-system-controller
+ - ti,am62a-system-controller
+ - const: syscon
+ - const: simple-mfd
+
+ reg:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+ ranges: true
+
+patternProperties:
+ "^chipid@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/hwinfo/ti,k3-socinfo.yaml#
+
+ "^syscon@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/mfd/syscon.yaml#
+ unevaluatedProperties: false
+ properties:
+ compatible:
+ items:
+ - const: ti,am62-usb-phy-ctrl
+ - const: syscon
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+ - ranges
+
+additionalProperties: false
+
+examples:
+ - |
+ syscon@43000000 {
+ compatible = "ti,am62-system-controller", "syscon", "simple-mfd";
+ reg = <0x43000000 0x20000>;
+ bootph-all;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x43000000 0x20000>;
+
+ chipid@14 {
+ compatible = "ti,am654-chipid";
+ reg = <0x14 0x4>;
+ bootph-all;
+ };
+
+ syscon@4008 {
+ compatible = "ti,am62-usb-phy-ctrl", "syscon";
+ reg = <0x4008 0x4>;
+ };
+ };
--
2.43.0
Each syscon node must come with a dedicated/specific compatible, which
is also reported by dtbs_check:
k3-am62-lp-sk.dtb: syscon@43000000: compatible: ['syscon', 'simple-mfd'] is too short
Add one for the TI K3 AM62 wakeup system controller.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
index 66ddf2dc51af..3c1023108642 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
@@ -10,7 +10,7 @@
&cbass_wakeup {
wkup_conf: syscon@43000000 {
bootph-all;
- compatible = "syscon", "simple-mfd";
+ compatible = "ti,am62-system-controller", "syscon", "simple-mfd";
reg = <0x00 0x43000000 0x00 0x20000>;
#address-cells = <1>;
#size-cells = <1>;
--
2.43.0
Add dedicated binding for the AM654 MCU SCM system controller registers,
already used in the DTS to properly describe its children.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../soc/ti/ti,am654-system-controller.yaml | 60 ++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml
new file mode 100644
index 000000000000..e79803e586ca
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml
@@ -0,0 +1,60 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/ti/ti,am654-system-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI AM654 System Controller Registers R/W
+
+maintainers:
+ - Kishon Vijay Abraham I <[email protected]>
+ - Roger Quadros <[email protected]>
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - ti,am654-system-controller
+ - const: syscon
+ - const: simple-mfd
+
+ reg:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+ ranges: true
+
+patternProperties:
+ "^phy@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/phy/ti,phy-gmii-sel.yaml#
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+ - ranges
+
+additionalProperties: false
+
+examples:
+ - |
+ syscon@40f00000 {
+ compatible = "ti,am654-system-controller", "syscon", "simple-mfd";
+ reg = <0x40f00000 0x20000>;
+ ranges = <0x0 0x40f00000 0x20000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ phy@4040 {
+ compatible = "ti,am654-phy-gmii-sel";
+ reg = <0x4040 0x4>;
+ #phy-cells = <1>;
+ };
+ };
--
2.43.0
SoCs (and associated MCUs) should use dedicated compatibles for their
nodes, not re-use one coming from an another SoC. Using an incorrect
compatible does not allow to properly match/validate children of the
MCU device and causes dtbs_check warnings:
k3-am62a7-sk.dtb: syscon@43000000: 'syscon@4008', 'syscon@4018' do not match any of the regexes:
'^chipid@[0-9a-f]+$', '^clock-controller@[0-9a-f]+$', '^mux-controller@[0-9a-f]+$', 'phy@[0-9a-f]+$', 'pinctrl-[0-9]+'
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
index 98043e9aa316..d12c8c194a46 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
@@ -7,7 +7,7 @@
&cbass_wakeup {
wkup_conf: syscon@43000000 {
- compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+ compatible = "ti,am62a-system-controller", "syscon", "simple-mfd";
reg = <0x00 0x43000000 0x00 0x20000>;
#address-cells = <1>;
#size-cells = <1>;
--
2.43.0
Each syscon node must come with a dedicated/specific compatible, which
is also reported by dtbs_check:
k3-am654-base-board.dtb: scm-conf@40f00000: compatible: ['syscon', 'simple-mfd'] is too short
Add one for the TI K3 AM654 MCU wakeup system controller.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
index 8feab9317644..3a61ea728645 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
@@ -7,7 +7,7 @@
&cbass_mcu {
mcu_conf: scm-conf@40f00000 {
- compatible = "syscon", "simple-mfd";
+ compatible = "ti,am654-system-controller", "syscon", "simple-mfd";
reg = <0x0 0x40f00000 0x0 0x20000>;
#address-cells = <1>;
#size-cells = <1>;
--
2.43.0
On 18/05/2024 23:07, Krzysztof Kozlowski wrote:
> Add dedicated binding for AM62 and AM62A wakeup system controller
> registers, already used in the DTS to properly describe their children.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/soc/ti/ti,am62-system-controller.yaml | 77 ++++++++++++++++++++++
> 1 file changed, 77 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml
> new file mode 100644
> index 000000000000..d3bd67717999
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml
> @@ -0,0 +1,77 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/ti/ti,am62-system-controller.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI AM62 System Controller Registers R/W
> +
> +maintainers:
> + - Kishon Vijay Abraham I <[email protected]>
Above email might be invalid. Please use this instead
Kishon Vijay Abraham I <[email protected]>
> + - Roger Quadros <[email protected]>
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - ti,am62-system-controller
> + - ti,am62a-system-controller
> + - const: syscon
> + - const: simple-mfd
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 1
> +
> + ranges: true
> +
> +patternProperties:
> + "^chipid@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/hwinfo/ti,k3-socinfo.yaml#
> +
> + "^syscon@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/mfd/syscon.yaml#
> + unevaluatedProperties: false
> + properties:
> + compatible:
> + items:
> + - const: ti,am62-usb-phy-ctrl
> + - const: syscon
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + syscon@43000000 {
> + compatible = "ti,am62-system-controller", "syscon", "simple-mfd";
> + reg = <0x43000000 0x20000>;
> + bootph-all;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0x43000000 0x20000>;
> +
> + chipid@14 {
> + compatible = "ti,am654-chipid";
> + reg = <0x14 0x4>;
> + bootph-all;
> + };
> +
> + syscon@4008 {
> + compatible = "ti,am62-usb-phy-ctrl", "syscon";
> + reg = <0x4008 0x4>;
> + };
> + };
>
--
cheers,
-roger
On 18/05/2024 23:07, Krzysztof Kozlowski wrote:
> Each syscon node must come with a dedicated/specific compatible, which
> is also reported by dtbs_check:
>
> k3-am62-lp-sk.dtb: syscon@43000000: compatible: ['syscon', 'simple-mfd'] is too short
>
> Add one for the TI K3 AM62 wakeup system controller.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: Roger Quadros <[email protected]>
--
cheers,
-roger
On 18/05/2024 23:07, Krzysztof Kozlowski wrote:
> Each syscon node must come with a dedicated/specific compatible, which
> is also reported by dtbs_check:
>
> k3-am654-base-board.dtb: scm-conf@40f00000: compatible: ['syscon', 'simple-mfd'] is too short
>
> Add one for the TI K3 AM654 MCU wakeup system controller.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: Roger Quadros <[email protected]>
--
cheers,
-roger
On 18/05/2024 23:07, Krzysztof Kozlowski wrote:
> SoCs (and associated MCUs) should use dedicated compatibles for their
> nodes, not re-use one coming from an another SoC. Using an incorrect
> compatible does not allow to properly match/validate children of the
> MCU device and causes dtbs_check warnings:
>
> k3-am62a7-sk.dtb: syscon@43000000: 'syscon@4008', 'syscon@4018' do not match any of the regexes:
> '^chipid@[0-9a-f]+$', '^clock-controller@[0-9a-f]+$', '^mux-controller@[0-9a-f]+$', 'phy@[0-9a-f]+$', 'pinctrl-[0-9]+'
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: Roger Quadros <[email protected]>
--
cheers,
-roger
On 18/05/2024 23:07, Krzysztof Kozlowski wrote:
> Add dedicated binding for the AM654 MCU SCM system controller registers,
> already used in the DTS to properly describe its children.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../soc/ti/ti,am654-system-controller.yaml | 60 ++++++++++++++++++++++
> 1 file changed, 60 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml
> new file mode 100644
> index 000000000000..e79803e586ca
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml
> @@ -0,0 +1,60 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/ti/ti,am654-system-controller.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI AM654 System Controller Registers R/W
> +
> +maintainers:
> + - Kishon Vijay Abraham I <[email protected]>
Please update the email address to Kishon Vijay Abraham I <[email protected]>
> + - Roger Quadros <[email protected]>
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - ti,am654-system-controller
> + - const: syscon
> + - const: simple-mfd
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 1
> +
> + ranges: true
> +
> +patternProperties:
> + "^phy@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/phy/ti,phy-gmii-sel.yaml#
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + syscon@40f00000 {
> + compatible = "ti,am654-system-controller", "syscon", "simple-mfd";
> + reg = <0x40f00000 0x20000>;
> + ranges = <0x0 0x40f00000 0x20000>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + phy@4040 {
> + compatible = "ti,am654-phy-gmii-sel";
> + reg = <0x4040 0x4>;
> + #phy-cells = <1>;
> + };
> + };
>
--
cheers,
-roger
On 20/05/2024 13:35, Roger Quadros wrote:
>
>
> On 18/05/2024 23:07, Krzysztof Kozlowski wrote:
>> Add dedicated binding for AM62 and AM62A wakeup system controller
>> registers, already used in the DTS to properly describe their children.
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
>> .../bindings/soc/ti/ti,am62-system-controller.yaml | 77 ++++++++++++++++++++++
>> 1 file changed, 77 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml
>> new file mode 100644
>> index 000000000000..d3bd67717999
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,am62-system-controller.yaml
>> @@ -0,0 +1,77 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/soc/ti/ti,am62-system-controller.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: TI AM62 System Controller Registers R/W
>> +
>> +maintainers:
>> + - Kishon Vijay Abraham I <[email protected]>
>
> Above email might be invalid. Please use this instead
>
> Kishon Vijay Abraham I <[email protected]>
>
Thanks. I took old email from bindings, so it would be nice if Kishon
fixes his email everywhere (not only mailmap).
Best regards,
Krzysztof
On Sat, May 18, 2024 at 10:07:16PM +0200, Krzysztof Kozlowski wrote:
> Add dedicated binding for AM62 and AM62A wakeup system controller
> registers, already used in the DTS to properly describe their children.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: Conor Dooley <[email protected]>
Cheers,
Conor.
On Sat, May 18, 2024 at 10:07:17PM +0200, Krzysztof Kozlowski wrote:
> Add dedicated binding for the AM654 MCU SCM system controller registers,
> already used in the DTS to properly describe its children.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../soc/ti/ti,am654-system-controller.yaml | 60 ++++++++++++++++++++++
> 1 file changed, 60 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml
> new file mode 100644
> index 000000000000..e79803e586ca
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml
> @@ -0,0 +1,60 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/ti/ti,am654-system-controller.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI AM654 System Controller Registers R/W
"R/W"? Is that a copy-paste mistake from the register map for this SoC?
Otherwise,
Reviewed-by: Conor Dooley <[email protected]>
Cheers,
Conor.
On 20/05/2024 19:14, Conor Dooley wrote:
> On Sat, May 18, 2024 at 10:07:17PM +0200, Krzysztof Kozlowski wrote:
>> Add dedicated binding for the AM654 MCU SCM system controller registers,
>> already used in the DTS to properly describe its children.
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
>> .../soc/ti/ti,am654-system-controller.yaml | 60 ++++++++++++++++++++++
>> 1 file changed, 60 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml
>> new file mode 100644
>> index 000000000000..e79803e586ca
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,am654-system-controller.yaml
>> @@ -0,0 +1,60 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/soc/ti/ti,am654-system-controller.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: TI AM654 System Controller Registers R/W
>
> "R/W"? Is that a copy-paste mistake from the register map for this SoC?
Other TI syscon bindings had it. I'll drop it.
Best regards,
Krzysztof