aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2014-02-27 20:02:37 -0500
committerNitin Garg <nitin.garg@freescale.com>2014-04-16 09:57:48 -0400
commitdbd5d51fe88bc3903c6018c7f1c13aef9269d782 (patch)
treea1c9868e0531e84ae3946134b265875965fedcbd /arch/arm/boot
parent22f4a61050cb6d7d7ddfc33d93e3f01cd9bb2d8b (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.dts38
-rw-r--r--arch/arm/boot/dts/imx6sx.dtsi95
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 = <&reg_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 = <&reg_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 = <