On 20/03/2023 15:49, Frank Li wrote: >>>>> + clock-names: >>>>> + items: >>>>> + - const: usb3_lpm_clk >>>>> + - const: usb3_bus_clk >>>>> + - const: usb3_aclk >>>>> + - const: usb3_ipg_clk >>>>> + - const: usb3_core_pclk >>>>> + >>>>> + assigned-clocks: >>>>> + items: >>>>> + - description: Phandle and clock specifier of IMX_SC_PM_CLK_PER. >>>>> + - description: Phandle and clock specifoer of >> IMX_SC_PM_CLK_MISC. >>>>> + - description: Phandle and clock specifoer of >>>> IMX_SC_PM_CLK_MST_BUS. >>>>> + >>>>> + assigned-clock-rates: >>>>> + items: >>>>> + - description: Must be 125 Mhz. >>>>> + - description: Must be 12 Mhz. >>>>> + - description: Must be 250 Mhz. >>>> >>>> I would argue that both properties above are not needed. If your >>>> hardware requires fixed frequencies, clock provider can fix them, can't it? >>> >>> Clock provider don't know fixed value and turn on only used by client. >> >> So maybe fix the clock provider? Or this device driver? Requiring by >> binding specific frequencies for every board is a bit redundant. > > It is not for every boards, it is common for a chip family. Only a place to set for > QM and QXP. > > The similar case is network driver, which require a specific frequency at clock assign. > Generally frequency is fixed, clock source name may change at difference chips. If frequency is always fixed, I don't understand why this is in DT bindings. I would even say it should not be in DTS. We don't put into DTS properties which are always the same, because otherwise they would grow crazy big. Best regards, Krzysztof