How to enable clock by devicetree for usbhub?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to enable clock by devicetree for usbhub?

3,143 次查看
kaa
Contributor II

Hello!

I have custom board based on IMX.6 Dual Lite, with external usbhub 2.0  CY7C65632 it's connected to usb_h1

I need to enable CCM_CLKO1(MX6QDL_PAD_GPIO_0__CCM_CLKO1) with 48 MHz, can it be done with device tree?

标签 (2)
0 项奖励
回复
3 回复数

1,442 次查看
kaa
Contributor II

Solution was:

&iomuxc {
     usbhub {
          pinctrl_usbhub: usbhubgrp {
               fsl,pins = <
                    MX6QDL_PAD_GPIO_0__CCM_CLKO1          0x130b0
                    MX6QDL_PAD_ENET_MDIO__GPIO1_IO22     0x80000000
               >;
          };
     };
};

/ {
     usb_hub: usb-hub {
          compatible = "smsc,usb3503";
          pinctrl-names = "default";
          pinctrl-0 = <&pinctrl_usbhub>;
          reset-gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
          clocks = <&clks IMX6QDL_CLK_CKO1>;
          clock-names = "refclk";
          assigned-clocks = <&clks IMX6QDL_CLK_CKO>,
               <&clks IMX6QDL_CLK_CKO1_SEL>,
               <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
               <&clks IMX6QDL_CLK_CKO1>;
          assigned-clock-parents = <&clks IMX6QDL_CLK_CKO1>,
               <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
               <&clks IMX6QDL_CLK_OSC>,
               <&clks IMX6QDL_CLK_CKO1_PODF>;
     };
};

PS:

update drivers/usb/misc/usb3503.c should be updated to support clocks from devicetree

1,442 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Oleh

please check below link for general steps

i.MX7D 24MHz clock output to CCM_CLK1_P pin 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复

1,442 次查看
kaa
Contributor II

Thank you Igor for your reply.

I tried to specify this:

    usbhub {
        clocks = <&clks IMX6QDL_CLK_CKO1>;
        assigned-clocks = <&clks IMX6QDL_CLK_CKO1_SEL>,
            <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
        assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
    };

As I understand there must be "compatible" option?
But I can't find any suitable driver for this purpose, should I write this driver by myself?

0 项奖励
回复