aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-01-16 11:12:38 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-01-27 09:21:01 -0500
commit971488f1149f09fd2fad0e7973780b752809b9f6 (patch)
tree5561122740456d48884a6fee600bf1023c849028 /arch
parent208d7baf8085ed639ec896274f1679d4718f2ff3 (diff)
ARM: imx: initial SolidRun Cubox-i support
Add support for the SolidRun Cubox-i devices. This commit adds similar basic support as the HummingBoard. Further devices will be supported in future patches. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/imx6dl-cubox-i.dts12
-rw-r--r--arch/arm/boot/dts/imx6q-cubox-i.dts16
-rw-r--r--arch/arm/boot/dts/imx6qdl-cubox-i.dtsi143
4 files changed, 173 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 875af333c6dc..1eeae00d9d09 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -136,11 +136,13 @@ dtb-$(CONFIG_ARCH_MXC) += \
136 imx53-mba53.dtb \ 136 imx53-mba53.dtb \
137 imx53-qsb.dtb \ 137 imx53-qsb.dtb \
138 imx53-smd.dtb \ 138 imx53-smd.dtb \
139 imx6dl-cubox-i.dtb \
139 imx6dl-hummingboard.dtb \ 140 imx6dl-hummingboard.dtb \
140 imx6dl-sabreauto.dtb \ 141 imx6dl-sabreauto.dtb \
141 imx6dl-sabresd.dtb \ 142 imx6dl-sabresd.dtb \
142 imx6dl-wandboard.dtb \ 143 imx6dl-wandboard.dtb \
143 imx6q-arm2.dtb \ 144 imx6q-arm2.dtb \
145 imx6q-cubox-i.dtb \
144 imx6q-phytec-pbab01.dtb \ 146 imx6q-phytec-pbab01.dtb \
145 imx6q-sabreauto.dtb \ 147 imx6q-sabreauto.dtb \
146 imx6q-sabrelite.dtb \ 148 imx6q-sabrelite.dtb \
diff --git a/arch/arm/boot/dts/imx6dl-cubox-i.dts b/arch/arm/boot/dts/imx6dl-cubox-i.dts
new file mode 100644
index 000000000000..58aa8f2b0f26
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-cubox-i.dts
@@ -0,0 +1,12 @@
1/*
2 * Copyright (C) 2014 Russell King
3 */
4/dts-v1/;
5
6#include "imx6dl.dtsi"
7#include "imx6qdl-cubox-i.dtsi"
8
9/ {
10 model = "SolidRun Cubox-i Solo/DualLite";
11 compatible = "solidrun,cubox-i/dl", "fsl,imx6dl";
12};
diff --git a/arch/arm/boot/dts/imx6q-cubox-i.dts b/arch/arm/boot/dts/imx6q-cubox-i.dts
new file mode 100644
index 000000000000..bc5f31e3e892
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-cubox-i.dts
@@ -0,0 +1,16 @@
1/*
2 * Copyright (C) 2014 Russell King
3 */
4/dts-v1/;
5
6#include "imx6q.dtsi"
7#include "imx6qdl-cubox-i.dtsi"
8
9/ {
10 model = "SolidRun Cubox-i Dual/Quad";
11 compatible = "solidrun,cubox-i/q", "fsl,imx6q";
12};
13
14&sata {
15 status = "okay";
16};
diff --git a/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
new file mode 100644
index 000000000000..64daa3b311f6
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
@@ -0,0 +1,143 @@
1/*
2 * Copyright (C) 2014 Russell King
3 */
4#include "imx6qdl-microsom.dtsi"
5#include "imx6qdl-microsom-ar8035.dtsi"
6
7/ {
8 ir_recv: ir-receiver {
9 compatible = "gpio-ir-receiver";
10 gpios = <&gpio3 9 1>;
11 pinctrl-names = "default";
12 pinctrl-0 = <&pinctrl_cubox_i_ir>;
13 };
14
15 regulators {
16 compatible = "simple-bus";
17
18 reg_3p3v: 3p3v {
19 compatible = "regulator-fixed";
20 regulator-name = "3P3V";
21 regulator-min-microvolt = <3300000>;
22 regulator-max-microvolt = <3300000>;
23 regulator-always-on;
24 };
25
26 reg_usbh1_vbus: usb-h1-vbus {
27 compatible = "regulator-fixed";
28 enable-active-high;
29 gpio = <&gpio1 0 0>;
30 pinctrl-names = "default";
31 pinctrl-0 = <&pinctrl_cubox_i_usbh1_vbus>;
32 regulator-name = "usb_h1_vbus";
33 regulator-min-microvolt = <5000000>;
34 regulator-max-microvolt = <5000000>;
35 };
36
37 reg_usbotg_vbus: usb-otg-vbus {
38 compatible = "regulator-fixed";
39 enable-active-high;
40 gpio = <&gpio3 22 0>;
41 pinctrl-names = "default";
42 pinctrl-0 = <&pinctrl_cubox_i_usbotg_vbus>;
43 regulator-name = "usb_otg_vbus";
44 regulator-min-microvolt = <5000000>;
45 regulator-max-microvolt = <5000000>;
46 };
47 };
48
49 codec: spdif-transmitter {
50 compatible = "linux,spdif-dit";
51 pinctrl-names = "default";
52 pinctrl-0 = <&pinctrl_cubox_i_spdif>;
53 };
54
55 sound-spdif {
56 compatible = "fsl,imx-audio-spdif";
57 model = "imx-spdif";
58 /* IMX6 doesn't implement this yet */
59 spdif-controller = <&spdif>;
60 spdif-out;
61 };
62};
63
64&i2c3 {
65 pinctrl-names = "default";
66 pinctrl-0 = <&pinctrl_cubox_i_i2c3>;
67
68 status = "okay";
69
70 rtc: pcf8523@68 {
71 compatible = "nxp,pcf8523";
72 reg = <0x68>;
73 };
74};
75
76&iomuxc {
77 cubox_i {
78 pinctrl_cubox_i_i2c3: cubox-i-i2c3 {
79 fsl,pins = <
80 MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
81 MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
82 >;
83 };
84
85 pinctrl_cubox_i_ir: cubox-i-ir {
86 fsl,pins = <
87 MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000
88 >;
89 };
90
91 pinctrl_cubox_i_spdif: cubox-i-spdif {
92 fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x1b0b0>;
93 };
94
95 pinctrl_cubox_i_usbh1_vbus: cubox-i-usbh1-vbus {
96 fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x4001b0b0>;
97 };
98
99 pinctrl_cubox_i_usbotg_vbus: cubox-i-usbotg-vbus {
100 fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x4001b0b0>;
101 };
102
103 pinctrl_cubox_i_usdhc2_aux: cubox-i-usdhc2-aux {
104 fsl,pins = <
105 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071
106 MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071
107 >;
108 };
109
110 pinctrl_cubox_i_usdhc2: cubox-i-usdhc2 {
111 fsl,pins = <
112 MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
113 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
114 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
115 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
116 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
117 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059
118 >;
119 };
120 };
121};
122
123&spdif {
124 status = "okay";
125};
126
127&usbh1 {
128 vbus-supply = <&reg_usbh1_vbus>;
129 status = "okay";
130};
131
132&usbotg {
133 vbus-supply = <&reg_usbotg_vbus>;
134 status = "okay";
135};
136
137&usdhc2 {
138 pinctrl-names = "default";
139 pinctrl-0 = <&pinctrl_cubox_i_usdhc2_aux &pinctrl_cubox_i_usdhc2>;
140 vmmc-supply = <&reg_3p3v>;
141 cd-gpios = <&gpio1 4 0>;
142 status = "okay";
143};