On 17/05/2023 11:34, Alexandre Mergnat wrote: > On 17/05/2023 10:40, Krzysztof Kozlowski wrote: >> On 17/05/2023 10:28, Alexandre Mergnat wrote: >>> Before the patch [1], the clock probe was done directly in the >>> clk-mt8365 driver. In this probe function, the array which stores the >>> data clocks is sized using the higher defined numbers (*_NR_CLOCK) in >>> the clock lists [2]. Currently, with the patch [1], the specific >>> clk-mt8365 probe function is replaced by the mtk generic one [3], which >>> size the clock data array by adding all the clock descriptor array size >>> provided by the clk-mt8365 driver. >>> >>> Actually, all clock indexes come from the header file [2], that mean, if >>> there are more clock (then more index) in the header file [2] than the >>> number of clock declared in the clock descriptor arrays (which is the >>> case currently), the clock data array will be undersized and then the >>> generic probe function will overflow when it will try to write in >>> "clk_data[CLK_INDEX]". Actually, instead of crashing at boot, the probe >>> function returns an error in the log which looks like: >>> "of_clk_hw_onecell_get: invalid index 135", then this clock isn't >>> enabled. >> >> Please use subject prefixes matching the subsystem. You can get them for >> example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory >> your patch is touching. > > I will. > >> >> This is huge ABI break and I don't understand why it is needed. Entire >> description above did not explain me that. > > Briefly, clocks with the higher index than the data clock array can't be > used. I've this issue: > [ 0.427054] of_clk_hw_onecell_get: invalid index 135 > [ 0.429525] of_clk_hw_onecell_get: invalid index 69 > [ 0.442998] of_clk_hw_onecell_get: invalid index 70 > > That means CLK_TOP_SSUSB_PHY_CK_EN, CLK_IFR_SSUSB_REF and > CLK_IFR_SSUSB_XHCI aren't working when I need them. So my USB doesn't work. That sounds like a driver, not bindings problem. Best regards, Krzysztof