Skip to content

Commit effee16

Browse files
otavioziswiler
authored andcommitted
Merge pull request Freescale#20 from falstaff84/4.9-1.0.x-imx-fixes
4.9-1.0.x-imx fixes from Toradex branch
2 parents 727301c + 2232cc4 commit effee16

File tree

157 files changed

+21602
-1638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

157 files changed

+21602
-1638
lines changed

Documentation/devicetree/bindings/i2c/trivial-devices.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ sgx,vz89x SGX Sensortech VZ89X Sensors
150150
sii,s35390a 2-wire CMOS real-time clock
151151
skyworks,sky81452 Skyworks SKY81452: Six-Channel White LED Driver with Touch Panel Bias Supply
152152
st,24c256 i2c serial eeprom (24cxx)
153+
st,m41t0 Serial real-time clock (RTC)
153154
st,m41t00 Serial real-time clock (RTC)
154155
st,m41t62 Serial real-time clock (RTC) with alarm
155156
st,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS

Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ PAD_CTL_PUE (1 << 4)
4747
PAD_CTL_HYS (1 << 3)
4848
PAD_CTL_SRE_SLOW (1 << 2)
4949
PAD_CTL_SRE_FAST (0 << 2)
50-
PAD_CTL_DSE_X1 (0 << 0)
51-
PAD_CTL_DSE_X2 (1 << 0)
52-
PAD_CTL_DSE_X3 (2 << 0)
53-
PAD_CTL_DSE_X4 (3 << 0)
50+
PAD_CTL_DSE_X1 (min curr.) (0 << 0)
51+
PAD_CTL_DSE_X2 (2 << 0)
52+
PAD_CTL_DSE_X4 (1 << 0)
53+
PAD_CTL_DSE_X6 (max curr.) (3 << 0)
5454

5555
Examples:
5656
While iomuxc-lpsr is intended to be used by dedicated peripherals to take

Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Required properties:
66

77
- model : The user-visible name of this sound complex
88

9-
- ssi-controller : The phandle of the i.MX SSI controller
9+
- cpu-dai : The phandle of CPU dai (e.g. i.MX SSI controller)
1010

1111
- audio-codec : The phandle of the SGTL5000 audio codec
1212

@@ -32,6 +32,8 @@ Required properties:
3232
* Line Out Jack
3333
* Ext Spk
3434

35+
Optional properties:
36+
3537
- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
3638

3739
- mux-ext-port : The external port of the i.MX audio muxer
@@ -45,7 +47,7 @@ sound {
4547
compatible = "fsl,imx51-babbage-sgtl5000",
4648
"fsl,imx-audio-sgtl5000";
4749
model = "imx51-babbage-sgtl5000";
48-
ssi-controller = <&ssi1>;
50+
cpu-dai = <&ssi1>;
4951
audio-codec = <&sgtl5000>;
5052
audio-routing =
5153
"MIC_IN", "Mic Jack",

Documentation/devicetree/bindings/sound/sgtl5000.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ Optional properties:
2626
If this node is not mentioned or the value is unknown, then
2727
the value is set to 1.25V.
2828

29+
- lrclk-strength: the LRCLK pad strength. Possible values are:
30+
0, 1, 2 and 3 as per the table below:
31+
32+
VDDIO 1.8V 2.5V 3.3V
33+
0 = Disable
34+
1 = 1.66 mA 2.87 mA 4.02 mA
35+
2 = 3.33 mA 5.74 mA 8.03 mA
36+
3 = 4.99 mA 8.61 mA 12.05 mA
37+
2938
Example:
3039

3140
codec: sgtl5000@0a {
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
STMPE ADC driver
2+
----------------
3+
4+
Required properties:
5+
- compatible: "st,stmpe-adc"
6+
7+
Optional properties:
8+
Note that the ADC is shared with the STMPE touchscreen, so if using both the
9+
settings should be the same.
10+
If they are not, the last one to be initialized will win.
11+
- st,sample-time: ADC converstion time in number of clock. (0 -> 36 clocks, 1 ->
12+
44 clocks, 2 -> 56 clocks, 3 -> 64 clocks, 4 -> 80 clocks, 5 -> 96 clocks, 6
13+
-> 144 clocks), recommended is 4.
14+
- st,mod-12b: ADC Bit mode (0 -> 10bit ADC, 1 -> 12bit ADC)
15+
- st,ref-sel: ADC reference source (0 -> internal reference, 1 -> external
16+
reference)
17+
- st,adc-freq: ADC Clock speed (0 -> 1.625 MHz, 1 -> 3.25 MHz, 2 || 3 -> 6.5 MHz)
18+
19+
Node name must be stmpe_adc and should be child node of stmpe node to
20+
which it belongs.
21+
22+
Example:
23+
24+
stmpe_adc {
25+
compatible = "st,stmpe-adc";
26+
st,sample-time = <4>;
27+
st,mod-12b = <1>;
28+
st,ref-sel = <0>;
29+
st,adc-freq = <1>;
30+
};

arch/arm/boot/dts/Makefile

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,9 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
330330
imx6dl-aristainetos_7.dtb \
331331
imx6dl-aristainetos2_4.dtb \
332332
imx6dl-aristainetos2_7.dtb \
333+
imx6dl-colibri-aster.dtb \
334+
imx6dl-colibri-cam-eval-v3.dtb \
335+
imx6dl-colibri-eval-v3.dtb \
333336
imx6dl-cubox-i.dtb \
334337
imx6dl-dfi-fs700-m60.dtb \
335338
imx6dl-gw51xx.dtb \
@@ -379,7 +382,9 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
379382
imx6dqscm-1gb-qwks-rev3-fix-ldo.dtb \
380383
imx6dqscm-1gb-qwks-rev3-hdcp-fix-ldo.dtb \
381384
imx6dqscm-1gb-qwks-rev3-btwifi-fix-ldo.dtb \
385+
imx6q-apalis-eval.dtb \
382386
imx6q-apalis-ixora.dtb \
387+
imx6q-apalis-ixora-v1.1.dtb \
383388
imx6q-apf6dev.dtb \
384389
imx6q-arm2.dtb \
385390
imx6q-arm2-hsic.dtb \
@@ -533,7 +538,9 @@ dtb-$(CONFIG_SOC_IMX6ULL) += \
533538
imx6ull-9x9-evk.dtb \
534539
imx6ull-9x9-evk-btwifi.dtb \
535540
imx6ull-9x9-evk-btwifi-oob.dtb \
536-
imx6ull-9x9-evk-ldo.dtb
541+
imx6ull-9x9-evk-ldo.dtb \
542+
imx6ull-colibri-eval-v3.dtb \
543+
imx6ull-colibri-wifi-eval-v3.dtb
537544
dtb-$(CONFIG_SOC_IMX6SLL) += \
538545
imx6sll-lpddr2-arm2.dtb \
539546
imx6sll-lpddr3-arm2.dtb \
@@ -545,9 +552,13 @@ dtb-$(CONFIG_SOC_IMX6SLL) += \
545552
imx6sll-evk-btwifi.dtb
546553
dtb-$(CONFIG_SOC_IMX7D) += \
547554
imx7d-cl-som-imx7.dtb \
555+
imx7d-colibri-aster.dtb \
556+
imx7d-colibri-emmc-aster.dtb \
557+
imx7d-colibri-emmc-eval-v3.dtb \
548558
imx7d-colibri-eval-v3.dtb \
549559
imx7d-nitrogen7.dtb \
550560
imx7d-sbc-imx7.dtb \
561+
imx7s-colibri-aster.dtb \
551562
imx7s-colibri-eval-v3.dtb \
552563
imx7s-warp.dtb \
553564
imx7d-12x12-lpddr3-arm2.dtb \
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
/*
2+
* Copyright 2014-2017 Toradex AG
3+
* Copyright 2012 Freescale Semiconductor, Inc.
4+
* Copyright 2011 Linaro Ltd.
5+
*
6+
* The code contained herein is licensed under the GNU General Public
7+
* License. You may obtain a copy of the GNU General Public License
8+
* Version 2 or later at the following locations:
9+
*
10+
* http://www.opensource.org/licenses/gpl-license.html
11+
* http://www.gnu.org/copyleft/gpl.html
12+
*/
13+
14+
/dts-v1/;
15+
16+
#include <dt-bindings/input/input.h>
17+
#include <dt-bindings/interrupt-controller/irq.h>
18+
#include "imx6dl.dtsi"
19+
#include "imx6qdl-colibri.dtsi"
20+
21+
/ {
22+
model = "Toradex Colibri iMX6DL/S on Colibri Aster Board";
23+
compatible = "toradex,colibri_imx6dl-aster", "toradex,colibri_imx6dl", "fsl,imx6dl";
24+
25+
aliases {
26+
i2c1 = &i2c2;
27+
i2c2 = &i2c3;
28+
};
29+
30+
aliases {
31+
rtc0 = &rtc_i2c;
32+
rtc1 = "/soc/aips-bus@02000000/snvs@020cc000/snvs-rtc-lp@34";
33+
};
34+
35+
aliases {
36+
/* the following, together with kernel patches, forces a fixed assignment
37+
between device id and usdhc controller */
38+
/* i.e. the eMMC on usdhc3 will be /dev/mmcblk0 */
39+
mmc0 = &usdhc3; /* eMMC */
40+
mmc1 = &usdhc1; /* MMC 4bit slot */
41+
};
42+
43+
extcon_usbc_det: usbc_det {
44+
compatible = "linux,extcon-usb-gpio";
45+
debounce = <25>;
46+
id-gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
47+
pinctrl-names = "default";
48+
pinctrl-0 = <&pinctrl_usbc_det_1>;
49+
};
50+
51+
gpio-keys {
52+
compatible = "gpio-keys";
53+
pinctrl-names = "default";
54+
pinctrl-0 = <&pinctrl_gpio_keys>;
55+
56+
wakeup {
57+
label = "Wake-Up";
58+
gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
59+
linux,code = <KEY_WAKEUP>;
60+
debounce-interval = <10>;
61+
gpio-key,wakeup;
62+
};
63+
};
64+
65+
regulators {
66+
reg_usb_host_vbus: usb_host_vbus {
67+
status = "okay";
68+
};
69+
};
70+
};
71+
72+
&backlight {
73+
#if 0 /* PWM polarity: if 1 is brightest */
74+
pwms = <&pwm3 0 5000000 0>;
75+
#else /* PWM polarity: if 0 is brightest */
76+
pwms = <&pwm3 0 5000000 1>;
77+
#endif
78+
brightness-levels = <0 4 8 16 32 64 128 255>;
79+
default-brightness-level = <6>;
80+
status = "okay";
81+
};
82+
83+
&ecspi4 {
84+
fsl,spi-num-chipselects = <2>;
85+
cs-gpios = <
86+
&gpio5 2 GPIO_ACTIVE_HIGH
87+
&gpio5 4 GPIO_ACTIVE_HIGH
88+
>;
89+
pinctrl-names = "default";
90+
pinctrl-0 = <&pinctrl_ecspi4 &pinctrl_spi_cs1 &pinctrl_csi_gpio_2>;
91+
status = "okay";
92+
93+
spidev0: spidev@0 {
94+
compatible = "toradex,evalspi";
95+
reg = <0>;
96+
spi-max-frequency = <23000000>;
97+
};
98+
99+
spidev1: spidev@1 {
100+
compatible = "toradex,evalspi";
101+
reg = <1>;
102+
spi-max-frequency = <23000000>;
103+
};
104+
};
105+
106+
/*
107+
* I2C: I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier
108+
* board)
109+
*/
110+
&i2c3 {
111+
status = "okay";
112+
113+
/* Atmel maxtouch controller */
114+
atmel_mxt_ts: atmel_mxt_ts@4a {
115+
compatible = "atmel,maxtouch";
116+
pinctrl-names = "default";
117+
pinctrl-0 = <&pinctrl_mxt_ts>;
118+
reg = <0x4a>;
119+
interrupt-parent = <&gpio2>;
120+
interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
121+
/*
122+
* Note: When the status is set to okay, to avoid pinmux
123+
* conflict, one should remove the pinctrl_weim_cs1 and
124+
* pinctrl_weim_cs2 pingroup from the weim pinctrl-0
125+
* property or disable weim node.
126+
*/
127+
status = "disabled";
128+
};
129+
130+
/* M41T0M6 real time clock on carrier board */
131+
rtc_i2c: rtc@68 {
132+
compatible = "st,m41t0";
133+
reg = <0x68>;
134+
};
135+
};
136+
137+
&iomuxc {
138+
/*
139+
* Mux all pins which are unused to be GPIOs
140+
* so they are ready for export to user space
141+
*/
142+
pinctrl-names = "default";
143+
pinctrl-0 = <
144+
&pinctrl_weim_gpio_1 &pinctrl_weim_gpio_2
145+
&pinctrl_weim_gpio_3 &pinctrl_weim_gpio_4
146+
&pinctrl_weim_gpio_5 &pinctrl_weim_gpio_6
147+
&pinctrl_csi_gpio_1
148+
&pinctrl_gpio_1
149+
&pinctrl_gpio_2
150+
&pinctrl_usbh_oc_1 &pinctrl_usbc_id_1
151+
>;
152+
153+
gpio {
154+
pinctrl_gpios: gpios {
155+
fsl,pins = <
156+
MX6QDL_PAD_GPIO_9__GPIO1_IO09 PAD_CTRL_HYS_PU /* SODIMM 28 */
157+
MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 PAD_CTRL_HYS_PU /* SODIMM 30 */
158+
>;
159+
};
160+
161+
pinctrl_mxt_ts: mxt-ts {
162+
fsl,pins = <
163+
MX6QDL_PAD_EIM_CS1__GPIO2_IO24 PAD_CTRL_HYS_PD /* SODIMM 107 */
164+
MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 PAD_CTRL_HYS_PD /* SODIMM 106 */
165+
>;
166+
};
167+
};
168+
};
169+
170+
&lcd {
171+
status = "okay";
172+
};
173+
174+
&mxcfb1 {
175+
status = "okay";
176+
};
177+
178+
&mxcfb2 {
179+
status = "okay";
180+
};
181+
182+
&pwm1 {
183+
status = "okay";
184+
};
185+
186+
&pwm2 {
187+
status = "okay";
188+
};
189+
190+
&pwm3 {
191+
status = "okay";
192+
};
193+
194+
&pwm4 {
195+
status = "okay";
196+
};
197+
198+
&uart1 {
199+
status = "okay";
200+
};
201+
202+
&uart2 {
203+
status = "okay";
204+
};
205+
206+
&uart3 {
207+
status = "okay";
208+
};
209+
210+
&usbh1 {
211+
status = "okay";
212+
};
213+
214+
&usbotg {
215+
status = "okay";
216+
extcon = <&extcon_usbc_det>;
217+
};
218+
219+
/* MMC */
220+
&usdhc1 {
221+
status = "okay";
222+
};

0 commit comments

Comments
 (0)