> Am 05.09.2023 um 17:48 schrieb H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>: > > > >> Am 05.09.2023 um 17:09 schrieb H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>: >> >> Hi, >> >>> Am 05.09.2023 um 16:44 schrieb Andreas Kemnade <andreas@xxxxxxxxxxxx>: >>> >>> On Tue, 5 Sep 2023 14:42:03 +0200 >>> "H. Nikolaus Schaller" <hns@xxxxxxxxxxxxx> wrote: >>> >>>> Hi Tony, >>>> >>>>> Am 05.09.2023 um 08:12 schrieb Tony Lindgren <tony@xxxxxxxxxxx>: >>>>> >>>>> The key observation is that the abe_iclk references in the DTS seem to be nowhere referenced >>>>>> (which may or may not be an issue): >>>>>> >>>>>> https://github.com/goldelico/letux-kernel/blob/letux/aess-v12/arch/arm/boot/dts/ti/omap/omap44xx-clocks.dtsi#L509 >>>>>> https://github.com/goldelico/letux-kernel/blob/letux/aess-v12/arch/arm/boot/dts/ti/omap/omap54xx-clocks.dtsi#L161 >>>>> >>>>> So I guess the ick is in the dts the ocp_abe_iclk@528 for omap4 and >>>>> abe_iclk@528 for omap5. Seems like the driver should request them, I recall >>>>> that the interconnect target module does not need the ick to access sysc >>>>> and revision registers. >>>> >>>> Yes, that is what I suspect but I don't know how to request them. >>>> >>> add ,"ick" to the clock-names line in the target-module? >>> and ,<&ocp_abe_iclk> to the target module? >> >> You mean >> >> diff --git a/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi b/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi >> index 7ca7b369b4e59..aa140a8bb9f29 100644 >> --- a/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi >> +++ b/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi >> @@ -482,8 +482,8 @@ target-module@f1000 { /* 0x401f1000, ap 32 20.0 */ >> <SYSC_IDLE_NO>, >> <SYSC_IDLE_SMART>; >> /* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */ >> - clocks = <&abe_clkctrl OMAP4_AESS_CLKCTRL 0>; >> - clock-names = "fck"; >> + clocks = <&abe_clkctrl OMAP4_AESS_CLKCTRL 0>, <&ocp_abe_iclk>; >> + clock-names = "fck", "ick"; >> #address-cells = <1>; >> #size-cells = <1>; >> > >> Well, certainly worth trying! > > A quick test on PandaES shows that the ick is (or becomes) active (I have not yet compared to without above patch): > > root@letux:~# ls -l /sys/kernel/debug/clk/ocp_abe_iclk > total 0 > -r--r--r-- 1 root root 0 Jan 1 1970 clk_accuracy > -r--r--r-- 1 root root 0 Jan 1 1970 clk_duty_cycle > -r--r--r-- 1 root root 0 Jan 1 1970 clk_enable_count > -r--r--r-- 1 root root 0 Jan 1 1970 clk_flags > -r--r--r-- 1 root root 0 Jan 1 1970 clk_max_rate > -r--r--r-- 1 root root 0 Jan 1 1970 clk_min_rate > -r--r--r-- 1 root root 0 Jan 1 1970 clk_notifier_count > -r--r--r-- 1 root root 0 Jan 1 1970 clk_parent > -r--r--r-- 1 root root 0 Jan 1 1970 clk_phase > -r--r--r-- 1 root root 0 Jan 1 1970 clk_prepare_count > -r--r--r-- 1 root root 0 Jan 1 1970 clk_protect_count > -r--r--r-- 1 root root 0 Jan 1 1970 clk_rate > root@letux:~# cat /sys/kernel/debug/clk/ocp_abe_iclk/* > 0 > 1/2 > 1 > 4294967295 > 0 > 0 > abe-clkctrl:0008:24 > 0 > 1 > 0 > 49152000 > root@letux:~# There is indeed a difference after removing, recompiling, rebooting: root@letux:~# cat /sys/kernel/debug/clk/ocp_abe_iclk/* 0 1/2 0 <---- 4294967295 0 0 abe-clkctrl:0008:24 0 0 <---- 0 49152000 root@letux:~# BR, Nikolaus