[PATCH 1/4] arm64: dts: ti: k3-j72xx-mcu-wakeup: add dedicated wakeup controller compatible

Andrew Davis afd at ti.com
Thu Jun 27 16:31:46 PDT 2024


On 6/24/24 1:20 AM, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka at siemens.com>
> 
> Each syscon node must come with a dedicated/specific compatible, which
> is also reported by dtbs_check:
> 
>    k3-j7200-common-proc-board.dtb: scm-conf at 40f00000: compatible: ['syscon', 'simple-mfd'] is too short
> 
> Add one for the TI K3 AM654 MCU wakeup system controller used in J72xx
> SoCs.

Unfortunately this is not correct, this region is not an AM654 MCU system
controller, it is a J721e MCU system controller. Some registers are the same,
but others are not. So if labeled as a "ti,am654-system-controller" we would
not be able to add the rest of the child nodes only found on the J7x devices.

A more correct fix for the warning would be the following:

diff --git a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
index fccaabfb13482..5097d192c2b20 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
@@ -164,12 +164,16 @@ mcu_timer9: timer at 40490000 {
                 ti,timer-pwm;
         };
  
-       mcu_conf: syscon at 40f00000 {
-               compatible = "syscon", "simple-mfd";
-               reg = <0x00 0x40f00000 0x00 0x20000>;
+       mcu_conf: bus at 40f00000 {
+               compatible = "simple-bus";
                 #address-cells = <1>;
                 #size-cells = <1>;
-               ranges = <0x00 0x00 0x40f00000 0x20000>;
+               ranges = <0x0 0x0 0x40f00000 0x20000>;
+
+               cpsw_mac_syscon: ethernet-mac-syscon at 200 {
+                       compatible = "ti,am62p-cpsw-mac-efuse", "syscon";
+                       reg = <0x200 0x8>;
+               };
  
                 phy_gmii_sel: phy at 4040 {
                         compatible = "ti,am654-phy-gmii-sel";
@@ -420,7 +424,7 @@ cpsw_port1: port at 1 {
                                 reg = <1>;
                                 ti,mac-only;
                                 label = "port1";
-                               ti,syscon-efuse = <&mcu_conf 0x200>;
+                               ti,syscon-efuse = <&cpsw_mac_syscon 0x0>;
                                 phys = <&phy_gmii_sel 1>;
                         };
                 };

I'll clean this up and post it for the other J7x devices tomorrow.

Andrew

> 
> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
> ---
>   arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi  | 2 +-
>   arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi  | 2 +-
>   arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi | 2 +-
>   3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> index fccaabfb1348..3a78a3c1676d 100644
> --- a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> @@ -165,7 +165,7 @@ mcu_timer9: timer at 40490000 {
>   	};
>   
>   	mcu_conf: syscon at 40f00000 {
> -		compatible = "syscon", "simple-mfd";
> +		compatible = "ti,am654-system-controller", "syscon", "simple-mfd";
>   		reg = <0x00 0x40f00000 0x00 0x20000>;
>   		#address-cells = <1>;
>   		#size-cells = <1>;
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
> index 9349ae07c046..d68e33d71eb3 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
> @@ -35,7 +35,7 @@ k3_reset: reset-controller {
>   	};
>   
>   	mcu_conf: syscon at 40f00000 {
> -		compatible = "syscon", "simple-mfd";
> +		compatible = "ti,am654-system-controller", "syscon", "simple-mfd";
>   		reg = <0x0 0x40f00000 0x0 0x20000>;
>   		#address-cells = <1>;
>   		#size-cells = <1>;
> diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
> index 5ccb04c7c462..1edb71f4a1bb 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
> @@ -140,7 +140,7 @@ wkup_gpio_intr: interrupt-controller at 42200000 {
>   	};
>   
>   	mcu_conf: syscon at 40f00000 {
> -		compatible = "syscon", "simple-mfd";
> +		compatible = "ti,am654-system-controller", "syscon", "simple-mfd";
>   		reg = <0x0 0x40f00000 0x0 0x20000>;
>   		#address-cells = <1>;
>   		#size-cells = <1>;



More information about the linux-arm-kernel mailing list