• André Draszik's avatar
    clk: samsung: gs101: add support for cmu_hsi0 · 1891e4d4
    André Draszik authored
    CMU_HSI0 is the clock management unit for one of the high speed
    interfaces, which is used (amongst others) for USB
    
    Some notes about the clocks marked as CLK_IGNORE_UNUSED:
    * CLK_GOUT_HSI0_PCLK
      CLK_GOUT_HSI0_LHM_AXI_P_HSI0_I_CLK
      CLK_GOUT_HSI0_XIU_P_HSI0_ACLK need to be kept running as
      otherwise the system becomes unresponsive and it doesn't complete
      booting.
    
    * CLK_GOUT_HSI0_LHS_ACEL_D_HSI0_I_CLK
      CLK_GOUT_HSI0_SSMT_USB_ACLK
      CLK_GOUT_HSI0_SSMT_USB_PCLK
      CLK_GOUT_HSI0_SYSMMU_USB_CLK_S2
      CLK_GOUT_HSI0_XIU_D0_HSI0_ACLK
      CLK_GOUT_HSI0_XIU_D1_HSI0_ACLK are needed for USB to come up
      properly (SSMT is for (secure) memory tagging).
    
    While at the moment we only support booting with the clk_ignore_unused
    kernel command line paramenter, it's still worthwhile to explicitly
    mark those clocks.
    
    While the usual (sed) script has been used to derive the linux clock
    names from the data sheet, one manual tweak was applied to fix a typo
    coming from the data sheet which we don't want to carry:
        hsi0_uspdpdbg_user -> hsi0_usbdpdbg_user (note usb vs usp).
    Signed-off-by: default avatarAndré Draszik <andre.draszik@linaro.org>
    Link: https://lore.kernel.org/r/20240426-hsi0-gs101-v2-4-2157da8b63e3@linaro.orgSigned-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    1891e4d4
clk-gs101.c 183 KB