diff options
author | Peter Chen <peter.chen@freescale.com> | 2014-02-27 20:02:37 -0500 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2014-04-16 09:57:48 -0400 |
commit | dbd5d51fe88bc3903c6018c7f1c13aef9269d782 (patch) | |
tree | a1c9868e0531e84ae3946134b265875965fedcbd /arch/arm/boot | |
parent | 22f4a61050cb6d7d7ddfc33d93e3f01cd9bb2d8b (diff) |
ENGR00301290-1 ARM: imx6sx: add usb support
- Add usbotg1 and usbotg2 support
- Enable usbotg1 at arm2 board
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/imx6sx-17x17-arm2.dts | 38 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6sx.dtsi | 95 |
2 files changed, 133 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/imx6sx-17x17-arm2.dts b/arch/arm/boot/dts/imx6sx-17x17-arm2.dts index 4d7fcaf97bb8..1103d4986876 100644 --- a/arch/arm/boot/dts/imx6sx-17x17-arm2.dts +++ b/arch/arm/boot/dts/imx6sx-17x17-arm2.dts | |||
@@ -51,6 +51,24 @@ | |||
51 | regulator-max-microvolt = <3300000>; | 51 | regulator-max-microvolt = <3300000>; |
52 | regulator-always-on; | 52 | regulator-always-on; |
53 | }; | 53 | }; |
54 | |||
55 | reg_usb_otg1_vbus: usb_otg1_vbus { | ||
56 | compatible = "regulator-fixed"; | ||
57 | regulator-name = "usb_otg1_vbus"; | ||
58 | regulator-min-microvolt = <5000000>; | ||
59 | regulator-max-microvolt = <5000000>; | ||
60 | gpio = <&gpio1 9 0>; | ||
61 | enable-active-high; | ||
62 | }; | ||
63 | |||
64 | reg_usb_otg2_vbus: usb_otg2_vbus { | ||
65 | compatible = "regulator-fixed"; | ||
66 | regulator-name = "usb_otg2_vbus"; | ||
67 | regulator-min-microvolt = <5000000>; | ||
68 | regulator-max-microvolt = <5000000>; | ||
69 | gpio = <&gpio1 12 0>; | ||
70 | enable-active-high; | ||
71 | }; | ||
54 | }; | 72 | }; |
55 | 73 | ||
56 | memory { | 74 | memory { |
@@ -371,6 +389,26 @@ | |||
371 | status = "okay"; | 389 | status = "okay"; |
372 | }; | 390 | }; |
373 | 391 | ||
392 | &usbotg1 { | ||
393 | vbus-supply = <®_usb_otg1_vbus>; | ||
394 | pinctrl-names = "default"; | ||
395 | pinctrl-0 = <&pinctrl_usbotg1_1>; | ||
396 | disable-over-current; | ||
397 | status = "okay"; | ||
398 | }; | ||
399 | |||
400 | &usbotg2 { | ||
401 | /* | ||
402 | * Pin conflict with others, need to switch R580 & R579 | ||
403 | * to B and disable pwm3 to enable it. | ||
404 | */ | ||
405 | vbus-supply = <®_usb_otg2_vbus>; | ||
406 | disable-over-current; | ||
407 | pinctrl-names = "default"; | ||
408 | pinctrl-0 = <&pinctrl_usbotg2_1>; | ||
409 | status = "disabled"; | ||
410 | }; | ||
411 | |||
374 | &usdhc2 { | 412 | &usdhc2 { |
375 | pinctrl-names = "default"; | 413 | pinctrl-names = "default"; |
376 | pinctrl-0 = <&pinctrl_usdhc2_1>; | 414 | pinctrl-0 = <&pinctrl_usdhc2_1>; |
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi index 16b605a74dbb..c1c7f8f4b85a 100644 --- a/arch/arm/boot/dts/imx6sx.dtsi +++ b/arch/arm/boot/dts/imx6sx.dtsi | |||
@@ -26,6 +26,8 @@ | |||
26 | gpio6 = &gpio7; | 26 | gpio6 = &gpio7; |
27 | serial0 = &uart1; | 27 | serial0 = &uart1; |
28 | serial1 = &uart2; | 28 | serial1 = &uart2; |
29 | usbphy0 = &usbphy1; | ||
30 | usbphy1 = &usbphy2; | ||
29 | }; | 31 | }; |
30 | 32 | ||
31 | cpus { | 33 | cpus { |
@@ -484,6 +486,22 @@ | |||
484 | #dma-cells = <3>; | 486 | #dma-cells = <3>; |
485 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin"; | 487 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin"; |
486 | }; | 488 | }; |
489 | |||
490 | usbphy1: usbphy@020c9000 { | ||
491 | compatible = "fsl,imx6sx-usbphy", "fsl,imx23-usbphy"; | ||
492 | reg = <0x020c9000 0x1000>; | ||
493 | interrupts = <0 44 0x04>; | ||
494 | clocks = <&clks IMX6SX_CLK_USBPHY1>; | ||
495 | fsl,anatop = <&anatop>; | ||
496 | }; | ||
497 | |||
498 | usbphy2: usbphy@020ca000 { | ||
499 | compatible = "fsl,imx6sx-usbphy", "fsl,imx23-usbphy"; | ||
500 | reg = <0x020ca000 0x1000>; | ||
501 | interrupts = <0 45 0x04>; | ||
502 | clocks = <&clks IMX6SX_CLK_USBPHY2>; | ||
503 | fsl,anatop = <&anatop>; | ||
504 | }; | ||
487 | }; | 505 | }; |
488 | 506 | ||
489 | aips-bus@02100000 { /* AIPS2 */ | 507 | aips-bus@02100000 { /* AIPS2 */ |
@@ -565,6 +583,43 @@ | |||
565 | status = "disabled"; | 583 | status = "disabled"; |
566 | }; | 584 | }; |
567 | 585 | ||
586 | usbotg1: usb@02184000 { | ||
587 | compatible = "fsl,imx6sx-usb", "fsl,imx27-usb"; | ||
588 | reg = <0x02184000 0x200>; | ||
589 | interrupts = <0 43 0x04>; | ||
590 | clocks = <&clks IMX6SX_CLK_USBOH3>; | ||
591 | fsl,usbphy = <&usbphy1>; | ||
592 | fsl,usbmisc = <&usbmisc 0>; | ||
593 | fsl,anatop = <&anatop>; | ||
594 | status = "disabled"; | ||
595 | }; | ||
596 | |||
597 | usbotg2: usb@02184200 { | ||
598 | compatible = "fsl,imx6sx-usb", "fsl,imx27-usb"; | ||
599 | reg = <0x02184200 0x200>; | ||
600 | interrupts = <0 42 0x04>; | ||
601 | clocks = <&clks IMX6SX_CLK_USBOH3>; | ||
602 | fsl,usbphy = <&usbphy2>; | ||
603 | fsl,usbmisc = <&usbmisc 1>; | ||
604 | status = "disabled"; | ||
605 | }; | ||
606 | |||
607 | usbh: usb@02184400 { | ||
608 | compatible = "fsl,imx6sx-usb", "fsl,imx27-usb"; | ||
609 | reg = <0x02184400 0x200>; | ||
610 | interrupts = <0 40 0x04>; | ||
611 | clocks = <&clks IMX6SX_CLK_USBOH3>; | ||
612 | fsl,usbmisc = <&usbmisc 2>; | ||
613 | status = "disabled"; | ||
614 | }; | ||
615 | |||
616 | usbmisc: usbmisc: usbmisc@02184800 { | ||
617 | #index-cells = <1>; | ||
618 | compatible = "fsl,imx6sx-usbmisc"; | ||
619 | reg = <0x02184800 0x200>; | ||
620 | clocks = <&clks IMX6SX_CLK_USBOH3>; | ||
621 | }; | ||
622 | |||
568 | usdhc1: usdhc@02190000 { | 623 | usdhc1: usdhc@02190000 { |
569 | compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc"; | 624 | compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc"; |
570 | reg = <0x02190000 0x4000>; | 625 | reg = <0x02190000 0x4000>; |
@@ -956,6 +1011,46 @@ | |||
956 | }; | 1011 | }; |
957 | }; | 1012 | }; |
958 | 1013 | ||
1014 | usbotg1 { | ||
1015 | pinctrl_usbotg1_1: usbotg1grp-1 { | ||
1016 | fsl,pins = < | ||
1017 | MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059 | ||
1018 | >; | ||
1019 | }; | ||
1020 | |||
1021 | pinctrl_usbotg1_2: usbotg1grp-2 { | ||
1022 | fsl,pins = < | ||
1023 | MX6SX_PAD_ENET2_COL__ANATOP_OTG1_ID 0x17059 | ||
1024 | >; | ||
1025 | }; | ||
1026 | |||
1027 | pinctrl_usbotg1_3: usbotg1grp-3 { | ||
1028 | fsl,pins = < | ||
1029 | MX6SX_PAD_QSPI1A_DATA1__ANATOP_OTG1_ID 0x17059 | ||
1030 | >; | ||
1031 | }; | ||
1032 | }; | ||
1033 | |||
1034 | usbotg2 { | ||
1035 | pinctrl_usbotg2_1: usbotg2grp-1 { | ||
1036 | fsl,pins = < | ||
1037 | MX6SX_PAD_GPIO1_IO13__ANATOP_OTG2_ID 0x17059 | ||
1038 | >; | ||
1039 | }; | ||
1040 | |||
1041 | pinctrl_usbotg2_2: usbotg2grp-2 { | ||
1042 | fsl,pins = < | ||
1043 | MX6SX_PAD_ENET2_CRS__ANATOP_OTG2_ID 0x17059 | ||
1044 | >; | ||
1045 | }; | ||
1046 | |||
1047 | pinctrl_usbotg2_3: usbotg2grp-3 { | ||
1048 | fsl,pins = < | ||
1049 | MX6SX_PAD_QSPI1A_SCLK__ANATOP_OTG2_ID 0x17059 | ||
1050 | >; | ||
1051 | }; | ||
1052 | }; | ||
1053 | |||
959 | usdhc2 { | 1054 | usdhc2 { |
960 | pinctrl_usdhc2_1: usdhc2grp-1 { | 1055 | pinctrl_usdhc2_1: usdhc2grp-1 { |
961 | fsl,pins = < | 1056 | fsl,pins = < |