Skip to content

Commit

Permalink
Merge pull request Freescale#20 from falstaff84/4.9-1.0.x-imx-fixes
Browse files Browse the repository at this point in the history
4.9-1.0.x-imx fixes from Toradex branch
  • Loading branch information
otavio authored and ziswiler committed Dec 21, 2017
2 parents 727301c + 2232cc4 commit effee16
Show file tree
Hide file tree
Showing 157 changed files with 21,602 additions and 1,638 deletions.
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/i2c/trivial-devices.txt
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ sgx,vz89x SGX Sensortech VZ89X Sensors
sii,s35390a 2-wire CMOS real-time clock
skyworks,sky81452 Skyworks SKY81452: Six-Channel White LED Driver with Touch Panel Bias Supply
st,24c256 i2c serial eeprom (24cxx)
st,m41t0 Serial real-time clock (RTC)
st,m41t00 Serial real-time clock (RTC)
st,m41t62 Serial real-time clock (RTC) with alarm
st,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ PAD_CTL_PUE (1 << 4)
PAD_CTL_HYS (1 << 3)
PAD_CTL_SRE_SLOW (1 << 2)
PAD_CTL_SRE_FAST (0 << 2)
PAD_CTL_DSE_X1 (0 << 0)
PAD_CTL_DSE_X2 (1 << 0)
PAD_CTL_DSE_X3 (2 << 0)
PAD_CTL_DSE_X4 (3 << 0)
PAD_CTL_DSE_X1 (min curr.) (0 << 0)
PAD_CTL_DSE_X2 (2 << 0)
PAD_CTL_DSE_X4 (1 << 0)
PAD_CTL_DSE_X6 (max curr.) (3 << 0)

Examples:
While iomuxc-lpsr is intended to be used by dedicated peripherals to take
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Required properties:

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

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

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

Expand All @@ -32,6 +32,8 @@ Required properties:
* Line Out Jack
* Ext Spk

Optional properties:

- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)

- mux-ext-port : The external port of the i.MX audio muxer
Expand All @@ -45,7 +47,7 @@ sound {
compatible = "fsl,imx51-babbage-sgtl5000",
"fsl,imx-audio-sgtl5000";
model = "imx51-babbage-sgtl5000";
ssi-controller = <&ssi1>;
cpu-dai = <&ssi1>;
audio-codec = <&sgtl5000>;
audio-routing =
"MIC_IN", "Mic Jack",
Expand Down
9 changes: 9 additions & 0 deletions Documentation/devicetree/bindings/sound/sgtl5000.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ Optional properties:
If this node is not mentioned or the value is unknown, then
the value is set to 1.25V.

- lrclk-strength: the LRCLK pad strength. Possible values are:
0, 1, 2 and 3 as per the table below:

VDDIO 1.8V 2.5V 3.3V
0 = Disable
1 = 1.66 mA 2.87 mA 4.02 mA
2 = 3.33 mA 5.74 mA 8.03 mA
3 = 4.99 mA 8.61 mA 12.05 mA

Example:

codec: sgtl5000@0a {
Expand Down
30 changes: 30 additions & 0 deletions Documentation/devicetree/bindings/staging/iio/adc/stmpe-adc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
STMPE ADC driver
----------------

Required properties:
- compatible: "st,stmpe-adc"

Optional properties:
Note that the ADC is shared with the STMPE touchscreen, so if using both the
settings should be the same.
If they are not, the last one to be initialized will win.
- st,sample-time: ADC converstion time in number of clock. (0 -> 36 clocks, 1 ->
44 clocks, 2 -> 56 clocks, 3 -> 64 clocks, 4 -> 80 clocks, 5 -> 96 clocks, 6
-> 144 clocks), recommended is 4.
- st,mod-12b: ADC Bit mode (0 -> 10bit ADC, 1 -> 12bit ADC)
- st,ref-sel: ADC reference source (0 -> internal reference, 1 -> external
reference)
- st,adc-freq: ADC Clock speed (0 -> 1.625 MHz, 1 -> 3.25 MHz, 2 || 3 -> 6.5 MHz)

Node name must be stmpe_adc and should be child node of stmpe node to
which it belongs.

Example:

stmpe_adc {
compatible = "st,stmpe-adc";
st,sample-time = <4>;
st,mod-12b = <1>;
st,ref-sel = <0>;
st,adc-freq = <1>;
};
13 changes: 12 additions & 1 deletion arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,9 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6dl-aristainetos_7.dtb \
imx6dl-aristainetos2_4.dtb \
imx6dl-aristainetos2_7.dtb \
imx6dl-colibri-aster.dtb \
imx6dl-colibri-cam-eval-v3.dtb \
imx6dl-colibri-eval-v3.dtb \
imx6dl-cubox-i.dtb \
imx6dl-dfi-fs700-m60.dtb \
imx6dl-gw51xx.dtb \
Expand Down Expand Up @@ -379,7 +382,9 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6dqscm-1gb-qwks-rev3-fix-ldo.dtb \
imx6dqscm-1gb-qwks-rev3-hdcp-fix-ldo.dtb \
imx6dqscm-1gb-qwks-rev3-btwifi-fix-ldo.dtb \
imx6q-apalis-eval.dtb \
imx6q-apalis-ixora.dtb \
imx6q-apalis-ixora-v1.1.dtb \
imx6q-apf6dev.dtb \
imx6q-arm2.dtb \
imx6q-arm2-hsic.dtb \
Expand Down Expand Up @@ -533,7 +538,9 @@ dtb-$(CONFIG_SOC_IMX6ULL) += \
imx6ull-9x9-evk.dtb \
imx6ull-9x9-evk-btwifi.dtb \
imx6ull-9x9-evk-btwifi-oob.dtb \
imx6ull-9x9-evk-ldo.dtb
imx6ull-9x9-evk-ldo.dtb \
imx6ull-colibri-eval-v3.dtb \
imx6ull-colibri-wifi-eval-v3.dtb
dtb-$(CONFIG_SOC_IMX6SLL) += \
imx6sll-lpddr2-arm2.dtb \
imx6sll-lpddr3-arm2.dtb \
Expand All @@ -545,9 +552,13 @@ dtb-$(CONFIG_SOC_IMX6SLL) += \
imx6sll-evk-btwifi.dtb
dtb-$(CONFIG_SOC_IMX7D) += \
imx7d-cl-som-imx7.dtb \
imx7d-colibri-aster.dtb \
imx7d-colibri-emmc-aster.dtb \
imx7d-colibri-emmc-eval-v3.dtb \
imx7d-colibri-eval-v3.dtb \
imx7d-nitrogen7.dtb \
imx7d-sbc-imx7.dtb \
imx7s-colibri-aster.dtb \
imx7s-colibri-eval-v3.dtb \
imx7s-warp.dtb \
imx7d-12x12-lpddr3-arm2.dtb \
Expand Down
222 changes: 222 additions & 0 deletions arch/arm/boot/dts/imx6dl-colibri-aster.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
/*
* Copyright 2014-2017 Toradex AG
* Copyright 2012 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*
* The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License
* Version 2 or later at the following locations:
*
* http://www.opensource.org/licenses/gpl-license.html
* http://www.gnu.org/copyleft/gpl.html
*/

/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "imx6dl.dtsi"
#include "imx6qdl-colibri.dtsi"

/ {
model = "Toradex Colibri iMX6DL/S on Colibri Aster Board";
compatible = "toradex,colibri_imx6dl-aster", "toradex,colibri_imx6dl", "fsl,imx6dl";

aliases {
i2c1 = &i2c2;
i2c2 = &i2c3;
};

aliases {
rtc0 = &rtc_i2c;
rtc1 = "/soc/aips-bus@02000000/snvs@020cc000/snvs-rtc-lp@34";
};

aliases {
/* the following, together with kernel patches, forces a fixed assignment
between device id and usdhc controller */
/* i.e. the eMMC on usdhc3 will be /dev/mmcblk0 */
mmc0 = &usdhc3; /* eMMC */
mmc1 = &usdhc1; /* MMC 4bit slot */
};

extcon_usbc_det: usbc_det {
compatible = "linux,extcon-usb-gpio";
debounce = <25>;
id-gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbc_det_1>;
};

gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>;

wakeup {
label = "Wake-Up";
gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WAKEUP>;
debounce-interval = <10>;
gpio-key,wakeup;
};
};

regulators {
reg_usb_host_vbus: usb_host_vbus {
status = "okay";
};
};
};

&backlight {
#if 0 /* PWM polarity: if 1 is brightest */
pwms = <&pwm3 0 5000000 0>;
#else /* PWM polarity: if 0 is brightest */
pwms = <&pwm3 0 5000000 1>;
#endif
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <6>;
status = "okay";
};

&ecspi4 {
fsl,spi-num-chipselects = <2>;
cs-gpios = <
&gpio5 2 GPIO_ACTIVE_HIGH
&gpio5 4 GPIO_ACTIVE_HIGH
>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi4 &pinctrl_spi_cs1 &pinctrl_csi_gpio_2>;
status = "okay";

spidev0: spidev@0 {
compatible = "toradex,evalspi";
reg = <0>;
spi-max-frequency = <23000000>;
};

spidev1: spidev@1 {
compatible = "toradex,evalspi";
reg = <1>;
spi-max-frequency = <23000000>;
};
};

/*
* I2C: I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier
* board)
*/
&i2c3 {
status = "okay";

/* Atmel maxtouch controller */
atmel_mxt_ts: atmel_mxt_ts@4a {
compatible = "atmel,maxtouch";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mxt_ts>;
reg = <0x4a>;
interrupt-parent = <&gpio2>;
interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
/*
* Note: When the status is set to okay, to avoid pinmux
* conflict, one should remove the pinctrl_weim_cs1 and
* pinctrl_weim_cs2 pingroup from the weim pinctrl-0
* property or disable weim node.
*/
status = "disabled";
};

/* M41T0M6 real time clock on carrier board */
rtc_i2c: rtc@68 {
compatible = "st,m41t0";
reg = <0x68>;
};
};

&iomuxc {
/*
* Mux all pins which are unused to be GPIOs
* so they are ready for export to user space
*/
pinctrl-names = "default";
pinctrl-0 = <
&pinctrl_weim_gpio_1 &pinctrl_weim_gpio_2
&pinctrl_weim_gpio_3 &pinctrl_weim_gpio_4
&pinctrl_weim_gpio_5 &pinctrl_weim_gpio_6
&pinctrl_csi_gpio_1
&pinctrl_gpio_1
&pinctrl_gpio_2
&pinctrl_usbh_oc_1 &pinctrl_usbc_id_1
>;

gpio {
pinctrl_gpios: gpios {
fsl,pins = <
MX6QDL_PAD_GPIO_9__GPIO1_IO09 PAD_CTRL_HYS_PU /* SODIMM 28 */
MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 PAD_CTRL_HYS_PU /* SODIMM 30 */
>;
};

pinctrl_mxt_ts: mxt-ts {
fsl,pins = <
MX6QDL_PAD_EIM_CS1__GPIO2_IO24 PAD_CTRL_HYS_PD /* SODIMM 107 */
MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 PAD_CTRL_HYS_PD /* SODIMM 106 */
>;
};
};
};

&lcd {
status = "okay";
};

&mxcfb1 {
status = "okay";
};

&mxcfb2 {
status = "okay";
};

&pwm1 {
status = "okay";
};

&pwm2 {
status = "okay";
};

&pwm3 {
status = "okay";
};

&pwm4 {
status = "okay";
};

&uart1 {
status = "okay";
};

&uart2 {
status = "okay";
};

&uart3 {
status = "okay";
};

&usbh1 {
status = "okay";
};

&usbotg {
status = "okay";
extcon = <&extcon_usbc_det>;
};

/* MMC */
&usdhc1 {
status = "okay";
};
Loading

0 comments on commit effee16

Please sign in to comment.