summaryrefslogtreecommitdiff
path: root/arch/arm/boot
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/.gitignore1
-rw-r--r--arch/arm/boot/Makefile13
-rw-r--r--arch/arm/boot/compressed/head.S2
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/imx6dl-sabresd-pf200.dts1
-rw-r--r--arch/arm/boot/dts/imx6dl-sabresd.dts1
-rw-r--r--arch/arm/boot/dts/imx6q-sabreauto.dts4
-rw-r--r--arch/arm/boot/dts/imx6q-sabresd.dts4
-rw-r--r--arch/arm/boot/dts/imx6qdl-sabreauto.dtsi31
-rw-r--r--arch/arm/boot/dts/imx6qdl-sabresd.dtsi83
-rw-r--r--arch/arm/boot/dts/imx6qdl.dtsi36
-rw-r--r--arch/arm/boot/dts/imx6sl-evk-common.dtsi20
-rw-r--r--arch/arm/boot/dts/imx6sl-evk.dts310
-rw-r--r--arch/arm/boot/dts/imx6sl.dtsi10
-rw-r--r--arch/arm/boot/dts/imx6sx-sdb.dts31
-rw-r--r--arch/arm/boot/dts/imx6sx.dtsi10
16 files changed, 504 insertions, 55 deletions
diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore
index 3c79f85975aa..ad7a0253ea96 100644
--- a/arch/arm/boot/.gitignore
+++ b/arch/arm/boot/.gitignore
@@ -4,3 +4,4 @@ xipImage
bootpImage
uImage
*.dtb
+zImage-dtb \ No newline at end of file
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index 84aa2caf07ed..65285bbbf899 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -14,6 +14,7 @@
ifneq ($(MACHINE),)
include $(srctree)/$(MACHINE)/Makefile.boot
endif
+include $(srctree)/arch/arm/boot/dts/Makefile
# Note: the following conditions must always be true:
# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
@@ -27,6 +28,14 @@ export ZRELADDR INITRD_PHYS PARAMS_PHYS
targets := Image zImage xipImage bootpImage uImage
+DTB_NAMES := $(subst $\",,$(CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES))
+ifneq ($(DTB_NAMES),)
+DTB_LIST := $(addsuffix .dtb,$(DTB_NAMES))
+else
+DTB_LIST := $(dtb-y)
+endif
+DTB_OBJS := $(addprefix $(obj)/dts/,$(DTB_LIST))
+
ifeq ($(CONFIG_XIP_KERNEL),y)
$(obj)/xipImage: vmlinux FORCE
@@ -55,6 +64,10 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
$(call if_changed,objcopy)
@$(kecho) ' Kernel: $@ is ready'
+$(obj)/zImage-dtb: $(obj)/zImage $(DTB_OBJS) FORCE
+ $(call if_changed,cat)
+ @echo ' Kernel: $@ is ready'
+
endif
ifneq ($(LOADADDR),)
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 032a8d987148..a7cd67383883 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -717,6 +717,8 @@ __armv7_mmu_cache_on:
bic r6, r6, #1 << 31 @ 32-bit translation system
bic r6, r6, #3 << 0 @ use only ttbr0
mcrne p15, 0, r3, c2, c0, 0 @ load page table pointer
+ mcrne p15, 0, r0, c8, c7, 0 @ flush I,D TLBs
+ mcr p15, 0, r0, c7, c5, 4 @ ISB
mcrne p15, 0, r1, c3, c0, 0 @ load domain access control
mcrne p15, 0, r6, c2, c0, 2 @ load ttb control
#endif
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 0aa0a95e00d0..91eb8ecc2873 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -153,7 +153,6 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx6sx-sdb-sai.dtb \
imx6sx-sdb-emmc.dtb \
imx6sx-sdb-m4.dtb \
- imx6sx-sdb-canfd.dtb \
vf610-twr.dtb
dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
imx23-olinuxino.dtb \
@@ -244,6 +243,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
wm8850-w70v2.dtb
dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb
+
targets += dtbs
targets += $(dtb-y)
endif
diff --git a/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts b/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts
index 499f7d349aba..52091869ad45 100644
--- a/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts
+++ b/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts
@@ -92,6 +92,7 @@
vgen1_reg: vgen1 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1550000>;
+ regulator-always-on;
};
vgen2_reg: vgen2 {
diff --git a/arch/arm/boot/dts/imx6dl-sabresd.dts b/arch/arm/boot/dts/imx6dl-sabresd.dts
index b4c738d8d331..f6d07a4b9029 100644
--- a/arch/arm/boot/dts/imx6dl-sabresd.dts
+++ b/arch/arm/boot/dts/imx6dl-sabresd.dts
@@ -85,6 +85,7 @@
vgen1_reg: vgen1 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1550000>;
+ regulator-always-on;
};
vgen2_reg: vgen2 {
diff --git a/arch/arm/boot/dts/imx6q-sabreauto.dts b/arch/arm/boot/dts/imx6q-sabreauto.dts
index ddd493111e5d..73dcf89f6ec1 100644
--- a/arch/arm/boot/dts/imx6q-sabreauto.dts
+++ b/arch/arm/boot/dts/imx6q-sabreauto.dts
@@ -45,7 +45,3 @@
&mxcfb4 {
status = "okay";
};
-
-&sata {
- status = "okay";
-};
diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts
index 4f17cb58ed9f..14efb3cbcc35 100644
--- a/arch/arm/boot/dts/imx6q-sabresd.dts
+++ b/arch/arm/boot/dts/imx6q-sabresd.dts
@@ -152,7 +152,3 @@
&mxcfb4 {
status = "okay";
};
-
-&sata {
- status = "okay";
-};
diff --git a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
index 881020601553..3cf5b59780e9 100644
--- a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
@@ -22,7 +22,7 @@
reg = <0x10000000 0x80000000>;
};
- backlight {
+ pwm-backlight {
compatible = "pwm-backlight";
pwms = <&pwm3 0 5000000>;
brightness-levels = <0 4 8 16 32 64 128 255>;
@@ -43,20 +43,19 @@
label = "Home";
gpios = <&gpio1 11 1>;
linux,code = <102>; /* KEY_HOME */
- gpio-key,wakeup;
};
back {
label = "Back";
gpios = <&gpio1 12 1>;
linux,code = <158>; /* KEY_BACK */
- gpio-key,wakeup;
};
- program {
- label = "Program";
+ /* Reconfig to power key in Android*/
+ power {
+ label = "Power Button";
gpios = <&gpio2 12 1>;
- linux,code = <362>; /* KEY_PROGRAM */
+ linux,code = <116>; /* KEY_POWER */
gpio-key,wakeup;
};
@@ -64,14 +63,12 @@
label = "Volume Up";
gpios = <&gpio2 15 1>;
linux,code = <115>; /* KEY_VOLUMEUP */
- gpio-key,wakeup;
};
volume-down {
label = "Volume Down";
gpios = <&gpio5 14 1>;
linux,code = <114>; /* KEY_VOLUMEDOWN */
- gpio-key,wakeup;
};
};
@@ -335,7 +332,6 @@
reg = <0x04>;
interrupt-parent = <&gpio2>;
interrupts = <28 2>;
- wakeup-gpios = <&gpio2 28 0>;
};
pmic: pfuze100@08 {
@@ -503,7 +499,7 @@
mag3110@0e {
compatible = "fsl,mag3110";
reg = <0x0e>;
- position = <2>;
+ position = <7>;
interrupt-parent = <&gpio2>;
interrupts = <29 1>;
};
@@ -754,3 +750,18 @@
0x0000c000 0x1404a38e 0x00000000>;
};
};
+&caam_sm {
+ status = "disabled";
+};
+
+&irq_sec_vio {
+ status = "disabled";
+};
+
+&caam_snvs {
+ status = "disabled";
+};
+
+&crypto {
+ status = "disabled";
+};
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index b448a7d38e0a..92f6220d1bb9 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -47,16 +47,15 @@
};
};
- leds {
+/* leds {
compatible = "gpio-leds";
-
charger-led {
gpios = <&gpio1 2 0>;
linux,default-trigger = "max8903-charger-charging";
retain-state-suspended;
};
};
-
+*/
regulators {
compatible = "simple-bus";
@@ -110,18 +109,21 @@
gpios = <&gpio3 29 1>;
linux,code = <116>; /* KEY_POWER */
gpio-key,wakeup;
+ debounce-interval = <1>;
};
volume-up {
label = "Volume Up";
gpios = <&gpio1 4 1>;
linux,code = <115>; /* KEY_VOLUMEUP */
+ debounce-interval = <1>;
};
volume-down {
label = "Volume Down";
gpios = <&gpio1 5 1>;
linux,code = <114>; /* KEY_VOLUMEDOWN */
+ debounce-interval = <1>;
};
};
@@ -205,7 +207,7 @@
status = "okay";
};
- backlight {
+ pwm-backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 5000000>;
brightness-levels = <0 4 8 16 32 64 128 255>;
@@ -239,6 +241,28 @@
reset-delay-us = <50>;
#reset-cells = <0>;
};
+
+ minipcie_ctrl {
+ power-on-gpio = <&gpio3 19 0>;
+ };
+
+ bt_rfkill {
+ compatible = "fsl,mxc_bt_rfkill";
+ bt-power-gpios = <&gpio1 2 0>;
+ status = "okay";
+ };
+
+ consumer_ir {
+ compatible = "fsl,mxc-ir";
+ pwms = <&pwm2 0 5000000>;
+ epit = <0>;
+ status = "okay";
+ };
+
+ gps_ctrl {
+ aux-3v15-on-gpio = <&gpio6 9 0>;
+ power-on-gpio = <&gpio3 0 0>;
+ };
};
&audmux {
@@ -432,7 +456,7 @@
mag3110@0e {
compatible = "fsl,mag3110";
reg = <0x0e>;
- position = <2>;
+ position = <1>;
vdd-supply = <&reg_sensor>;
vddio-supply = <&reg_sensor>;
interrupt-parent = <&gpio3>;
@@ -487,8 +511,10 @@
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000
MX6QDL_PAD_NANDF_CS0__GPIO6_IO11 0x80000000
MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x80000000
+ MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x80000000
MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x80000000
MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x80000000
+ MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x80000000
MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000
MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000
MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x80000000
@@ -496,7 +522,7 @@
MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x80000000
MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x80000000
MX6QDL_PAD_GPIO_1__WDOG2_B 0x80000000
- MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
+ MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0
MX6QDL_PAD_SD1_CMD__GPIO1_IO18 0x80000000
>;
};
@@ -592,6 +618,12 @@
status = "okay";
};
+&pwm2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm2_1>;
+ status = "okay";
+};
+
&ssi2 {
fsl,mode = "i2s-slave";
status = "okay";
@@ -603,6 +635,19 @@
status = "okay";
};
+&uart3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart3_1>;
+ status = "okay";
+};
+
+&uart5 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart5_1>;
+ fsl,uart-has-rtscts;
+ status = "okay";
+};
+
&usbh1 {
vbus-supply = <&reg_usb_h1_vbus>;
status = "okay";
@@ -651,3 +696,29 @@
&vpu {
pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */
};
+
+&epit1 {
+ epit-id = < 0 >;
+ status = "okay";
+};
+
+&epit2 {
+ epit-id = < 1 >;
+ status = "okay";
+};
+
+&caam_sm {
+ status = "disabled";
+};
+
+&irq_sec_vio {
+ status = "disabled";
+};
+
+&caam_snvs {
+ status = "disabled";
+};
+
+&crypto {
+ status = "disabled";
+};
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 605061ec10b8..268592644c4a 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -657,13 +657,19 @@
};
epit1: epit@020d0000 { /* EPIT1 */
+ compatible = "fsl,imx6q-epit";
reg = <0x020d0000 0x4000>;
interrupts = <0 56 0x04>;
+ clocks = <&clks 62>, <&clks 216>;
+ clock-names = "ipg", "per";
};
epit2: epit@020d4000 { /* EPIT2 */
+ compatible = "fsl,imx6q-epit";
reg = <0x020d4000 0x4000>;
interrupts = <0 57 0x04>;
+ clocks = <&clks 62>, <&clks 217>;
+ clock-names = "ipg", "per";
};
src: src@020d8000 {
@@ -1051,6 +1057,12 @@
resets = <&src 2>;
bypass_reset = <0>;
};
+
+ imx_ion {
+ compatible = "fsl,mxc-ion";
+ fsl,heap-id = <0>;
+ fsl,heap-cacheable = <1>;
+ };
};
};
@@ -1478,6 +1490,14 @@
};
};
+ pwm2 {
+ pinctrl_pwm2_1: pwm2grp-1 {
+ fsl,pins = <
+ MX6QDL_PAD_DISP0_DAT9__PWM2_OUT 0x1b0b1
+ >;
+ };
+ };
+
pwm3 {
pinctrl_pwm3_1: pwm3grp-1 {
fsl,pins = <
@@ -1531,10 +1551,8 @@
uart3 {
pinctrl_uart3_1: uart3grp-1 {
fsl,pins = <
- MX6QDL_PAD_SD4_CLK__UART3_RX_DATA 0x1b0b1
- MX6QDL_PAD_SD4_CMD__UART3_TX_DATA 0x1b0b1
- MX6QDL_PAD_EIM_D30__UART3_CTS_B 0x1b0b1
- MX6QDL_PAD_EIM_EB3__UART3_RTS_B 0x1b0b1
+ MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
+ MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
>;
};
};
@@ -1547,6 +1565,16 @@
>;
};
};
+ uart5 {
+ pinctrl_uart5_1: uart5grp-1 {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
+ MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
+ MX6QDL_PAD_KEY_COL4__UART5_RTS_B 0x1b0b1
+ MX6QDL_PAD_KEY_ROW4__UART5_CTS_B 0x1b0b1
+ >;
+ };
+ };
usbotg {
pinctrl_usbotg_1: usbotggrp-1 {
diff --git a/arch/arm/boot/dts/imx6sl-evk-common.dtsi b/arch/arm/boot/dts/imx6sl-evk-common.dtsi
index 7e0088f768d1..f7f77058d292 100644
--- a/arch/arm/boot/dts/imx6sl-evk-common.dtsi
+++ b/arch/arm/boot/dts/imx6sl-evk-common.dtsi
@@ -69,11 +69,11 @@
};
};
- backlight {
+ pwm-backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 5000000>;
brightness-levels = <0 4 8 16 32 64 128 255>;
- default-brightness-level = <6>;
+ default-brightness-level = <7>;
};
csi_v4l2_cap {
@@ -379,14 +379,14 @@
pinctrl-0 = <&pinctrl_kpp_1>;
pinctrl-1 = <&pinctrl_kpp_1_sleep>;
linux,keymap = <
- 0x00000067 /* KEY_UP */
- 0x0001006c /* KEY_DOWN */
- 0x0002001c /* KEY_ENTER */
- 0x01000066 /* KEY_HOME */
- 0x0101006a /* KEY_RIGHT */
- 0x01020069 /* KEY_LEFT */
- 0x02000072 /* KEY_VOLUMEDOWN */
- 0x02010073 /* KEY_VOLUMEUP */
+ 0x00000073 /* KEY_VOLUMEUP */
+ 0x00010072 /* KEY_VOLUMEDOWN */
+ 0x0002006a /* KEY_RIGHT */
+ 0x01000069 /* KEY_LEFT */
+ 0x01010067 /* KEY_UP */
+ 0x01020074 /* KEY_POWER */
+ 0x0200009e /* KEY_BACK */
+ 0x0201006c /* KEY_DOWN */
>;
status = "okay";
};
diff --git a/arch/arm/boot/dts/imx6sl-evk.dts b/arch/arm/boot/dts/imx6sl-evk.dts
index ff1fdfb71fe6..bf67dae099da 100644
--- a/arch/arm/boot/dts/imx6sl-evk.dts
+++ b/arch/arm/boot/dts/imx6sl-evk.dts
@@ -117,4 +117,314 @@
};
};
};
+
+ elan@10 {
+ compatible = "elan,elan-touch";
+ reg = <0x10>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <10 2>;
+ gpio_elan_cs = <&gpio2 9 0>;
+ gpio_elan_rst = <&gpio4 4 0>;
+ gpio_intr = <&gpio2 10 0>;
+ status = "okay";
+ };
+
+ max17135@48 {
+ compatible = "maxim,max17135";
+ reg = <0x48>;
+ vneg_pwrup = <1>;
+ gvee_pwrup = <2>;
+ vpos_pwrup = <10>;
+ gvdd_pwrup = <12>;
+ gvdd_pwrdn = <1>;
+ vpos_pwrdn = <2>;
+ gvee_pwrdn = <8>;
+ vneg_pwrdn = <10>;
+ gpio_pmic_pwrgood = <&gpio2 13 0>;
+ gpio_pmic_vcom_ctrl = <&gpio2 3 0>;
+ gpio_pmic_wakeup = <&gpio2 14 0>;
+ gpio_pmic_v3p3 = <&gpio2 7 0>;
+ gpio_pmic_intr = <&gpio2 12 0>;
+
+ regulators {
+ DISPLAY_reg: DISPLAY {
+ regulator-name = "DISPLAY";
+ };
+
+ GVDD_reg: GVDD {
+ /* 20v */
+ regulator-name = "GVDD";
+ };
+
+ GVEE_reg: GVEE {
+ /* -22v */
+ regulator-name = "GVEE";
+ };
+
+ HVINN_reg: HVINN {
+ /* -22v */
+ regulator-name = "HVINN";
+ };
+
+ HVINP_reg: HVINP {
+ /* 20v */
+ regulator-name = "HVINP";
+ };
+
+ VCOM_reg: VCOM {
+ regulator-name = "VCOM";
+ /* 2's-compliment, -4325000 */
+ regulator-min-microvolt = <0xffbe0178>;
+ /* 2's-compliment, -500000 */
+ regulator-max-microvolt = <0xfff85ee0>;
+ };
+
+ VNEG_reg: VNEG {
+ /* -15v */
+ regulator-name = "VNEG";
+ };
+
+ VPOS_reg: VPOS {
+ /* 15v */
+ regulator-name = "VPOS";
+ };
+
+ V3P3_reg: V3P3 {
+ regulator-name = "V3P3";
+ };
+ };
+ };
+
+ mma8450@1c {
+ compatible = "fsl,mma8450";
+ reg = <0x1c>;
+ };
+};
+
+&i2c2 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c2_1>;
+ status = "okay";
+
+ codec: wm8962@1a {
+ compatible = "wlf,wm8962";
+ reg = <0x1a>;
+ clocks = <&clks IMX6SL_CLK_EXTERN_AUDIO>;
+ DCVDD-supply = <&vgen3_reg>;
+ DBVDD-supply = <&reg_aud3v>;
+ AVDD-supply = <&vgen3_reg>;
+ CPVDD-supply = <&vgen3_reg>;
+ MICVDD-supply = <&reg_aud3v>;
+ PLLVDD-supply = <&vgen3_reg>;
+ SPKVDD1-supply = <&reg_aud4v>;
+ SPKVDD2-supply = <&reg_aud4v>;
+ amic-mono;
+ };
+
+ sii902x@39 {
+ compatible = "SiI,sii902x";
+ interrupt-parent = <&gpio2>;
+ interrupts = <10 2>;
+ mode_str ="1280x720M@60";
+ bits-per-pixel = <32>;
+ resets = <&sii902x_reset>;
+ reg = <0x39>;
+ };
+};
+
+&i2c3 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c3_1>;
+ status = "disabled";
+
+ ov564x: ov564x@3c {
+ compatible = "ovti,ov564x";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_csi_0>;
+ clocks = <&clks IMX6SL_CLK_CSI>;
+ clock-names = "csi_mclk";
+ AVDD-supply = <&vgen6_reg>; /* 2.8v */
+ DVDD-supply = <&vgen2_reg>; /* 1.5v*/
+ pwn-gpios = <&gpio1 25 1>;
+ rst-gpios = <&gpio1 26 0>;
+ csi_id = <0>;
+ mclk = <24000000>;
+ mclk_source = <0>;
+ };
+};
+
+&iomuxc {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pinctrl_hog>;
+ pinctrl-1 = <&pinctrl_hog_sleep>;
+
+ hog {
+ pinctrl_hog: hoggrp {
+ fsl,pins = <
+ MX6SL_PAD_KEY_ROW7__GPIO4_IO07 0x17059
+ MX6SL_PAD_KEY_COL7__GPIO4_IO06 0x17059
+ MX6SL_PAD_SD2_DAT7__GPIO5_IO00 0x17059
+ MX6SL_PAD_SD2_DAT6__GPIO4_IO29 0x17059
+ MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059
+ MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21 0x80000000
+ MX6SL_PAD_KEY_ROW5__GPIO4_IO03 0x110b0
+ MX6SL_PAD_EPDC_VCOM0__GPIO2_IO03 0x80000000
+ MX6SL_PAD_EPDC_PWRSTAT__GPIO2_IO13 0x80000000
+ MX6SL_PAD_EPDC_PWRCTRL0__GPIO2_IO07 0x80000000
+ MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14 0x80000000
+ MX6SL_PAD_EPDC_PWRINT__GPIO2_IO12 0x80000000
+ MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x170b0
+ MX6SL_PAD_EPDC_PWRCTRL2__GPIO2_IO09 0x80000000
+ MX6SL_PAD_KEY_COL6__GPIO4_IO04 0x110b0
+ MX6SL_PAD_ECSPI2_MISO__GPIO4_IO14 0x17000
+ MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x17000
+ MX6SL_PAD_ECSPI2_SS0__GPIO4_IO15 0x17000
+ MX6SL_PAD_FEC_RX_ER__GPIO4_IO19 0x1b0b0
+ MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x1b0b0
+ MX6SL_PAD_KEY_COL4__GPIO4_IO00 0x80000000
+ MX6SL_PAD_KEY_COL5__GPIO4_IO02 0x80000000
+ >;
+ };
+
+ pinctrl_hog_sleep: hoggrp_sleep {
+ fsl,pins = <
+ MX6SL_PAD_KEY_ROW5__GPIO4_IO03 0x3080
+ MX6SL_PAD_KEY_COL6__GPIO4_IO04 0x3080
+ MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x3080
+ >;
+ };
+ };
+};
+
+&kpp {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pinctrl_kpp_1>;
+ pinctrl-1 = <&pinctrl_kpp_1_sleep>;
+ linux,keymap = <
+ 0x00000073 /* KEY_VOLUMEUP */
+ 0x00010072 /* KEY_VOLUMEDOWN */
+ 0x0002006a /* KEY_RIGHT */
+ 0x01000069 /* KEY_LEFT */
+ 0x01010067 /* KEY_UP */
+ 0x01020074 /* KEY_POWER */
+ 0x0200009e /* KEY_BACK */
+ 0x0201006c /* KEY_DOWN */
+ >;
+ status = "okay";
+};
+
+&lcdif {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_lcdif_dat_0
+ &pinctrl_lcdif_ctrl_0>;
+ lcd-supply = <&reg_lcd_3v3>;
+ display = <&display>;
+ status = "okay";
+
+ display: display {
+ bits-per-pixel = <16>;
+ bus-width = <24>;
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: timing0 {
+ clock-frequency = <33500000>;
+ hactive = <800>;
+ vactive = <480>;
+ hback-porch = <89>;
+ hfront-porch = <164>;
+ vback-porch = <23>;
+ vfront-porch = <10>;
+ hsync-len = <10>;
+ vsync-len = <10>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <0>;
+ };
+ };
+ };
+};
+
+&pwm1 {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pinctrl_pwm1_0>;
+ pinctrl-1 = <&pinctrl_pwm1_0_sleep>;
+ status = "okay";
+};
+
+&pxp {
+ status = "okay";
+};
+
+&spdif {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spdif_1>;
+ status = "okay";
+};
+
+&ssi2 {
+ fsl,mode = "i2s-slave";
+ status = "okay";
+};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart1_1>;
+ status = "okay";
+};
+
+&usbotg1 {
+ vbus-supply = <&reg_usb_otg1_vbus>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbotg1_1>;
+ disable-over-current;
+ imx6-usb-charger-detection;
+ status = "okay";
+};
+
+&usbotg2 {
+ vbus-supply = <&reg_usb_otg2_vbus>;
+ dr_mode = "host";
+ disable-over-current;
+ status = "okay";
+};
+
+&usdhc1 {
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
+ pinctrl-0 = <&pinctrl_usdhc1_1>;
+ pinctrl-1 = <&pinctrl_usdhc1_1_100mhz>;
+ pinctrl-2 = <&pinctrl_usdhc1_1_200mhz>;
+ bus-width = <8>;
+ cd-gpios = <&gpio4 7 0>;
+ wp-gpios = <&gpio4 6 0>;
+ keep-power-in-suspend;
+ enable-sdio-wakeup;
+ status = "okay";
+};
+
+&usdhc2 {
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
+ pinctrl-0 = <&pinctrl_usdhc2_1>;
+ pinctrl-1 = <&pinctrl_usdhc2_1_100mhz>;
+ pinctrl-2 = <&pinctrl_usdhc2_1_200mhz>;
+ cd-gpios = <&gpio5 0 0>;
+ wp-gpios = <&gpio4 29 0>;
+ keep-power-in-suspend;
+ enable-sdio-wakeup;
+ status = "okay";
+};
+
+&usdhc3 {
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
+ pinctrl-0 = <&pinctrl_usdhc3_1>;
+ pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>;
+ pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>;
+ cd-gpios = <&gpio3 22 0>;
+ keep-power-in-suspend;
+ enable-sdio-wakeup;
+ status = "okay";
};
diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi
index d5bc609b28c6..dd583f79923d 100644
--- a/arch/arm/boot/dts/imx6sl.dtsi
+++ b/arch/arm/boot/dts/imx6sl.dtsi
@@ -909,6 +909,12 @@
};
};
+
+ imx_ion {
+ compatible = "fsl,mxc-ion";
+ fsl,heap-id = <0>;
+ fsl,heap-cacheable = <1>;
+ };
};
};
@@ -1064,11 +1070,11 @@
pinctrl_kpp_1_sleep: kpp_grp_1_sleep {
fsl,pins = <
MX6SL_PAD_KEY_ROW0__GPIO3_IO25 0x3080
- MX6SL_PAD_KEY_ROW1__GPIO3_IO27 0x3080
+ MX6SL_PAD_KEY_ROW1__KEY_ROW1 0x1b010
MX6SL_PAD_KEY_ROW2__GPIO3_IO29 0x3080
MX6SL_PAD_KEY_COL0__GPIO3_IO24 0x3080
MX6SL_PAD_KEY_COL1__GPIO3_IO26 0x3080
- MX6SL_PAD_KEY_COL2__GPIO3_IO28 0x3080
+ MX6SL_PAD_KEY_COL2__KEY_COL2 0x110b0
>;
};
};
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts
index 8b9426469ffc..abc92c26a677 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dts
+++ b/arch/arm/boot/dts/imx6sx-sdb.dts
@@ -15,20 +15,21 @@
model = "Freescale i.MX6 SoloX SDB Board";
compatible = "fsl,imx6sx-sdb", "fsl,imx6sx";
- backlight1 {
+
+ pwm-backlight {
compatible = "pwm-backlight";
- pwms = <&pwm3 0 5000000>;
+ pwms = <&pwm4 0 5000000>;
brightness-levels = <0 4 8 16 32 64 128 255>;
- default-brightness-level = <6>;
- fb-names = "mxs-lcdif0";
+ default-brightness-level = <7>;
+ fb-names = "mxs-lcdif1";
};
- backlight2 {
+ backlight1 {
compatible = "pwm-backlight";
- pwms = <&pwm4 0 5000000>;
+ pwms = <&pwm3 0 5000000>;
brightness-levels = <0 4 8 16 32 64 128 255>;
- default-brightness-level = <6>;
- fb-names = "mxs-lcdif1";
+ default-brightness-level = <7>;
+ fb-names = "mxs-lcdif0";
};
hannstar_cabc {
@@ -156,6 +157,12 @@
csi_id = <1>;
status = "okay";
};
+
+ bt_rfkill {
+ compatible = "fsl,mxc_bt_rfkill";
+ bt-power-gpios = <&gpio4 10 0>;
+ status = "okay";
+ };
};
&csi1 {
@@ -383,7 +390,7 @@
mag3110@0e {
compatible = "fsl,mag3110";
reg = <0x0e>;
- position = <2>;
+ position = <3>;
interrupt-parent = <&gpio6>;
interrupts = <5 1>;
shared-interrupt;
@@ -392,7 +399,7 @@
mma8451@1c {
compatible = "fsl,mma8451";
reg = <0x1c>;
- position = <1>;
+ position = <3>;
interrupt-parent = <&gpio6>;
interrupts = <2 8>;
interrupt-route = <2>;
@@ -552,7 +559,7 @@
status = "disabled";
display0: display {
- bits-per-pixel = <16>;
+ bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
@@ -582,7 +589,7 @@
status = "okay";
display1: display {
- bits-per-pixel = <16>;
+ bits-per-pixel = <32>;
bus-width = <18>;
};
};
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index aba307887e5b..97212b7c878b 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -1234,6 +1234,11 @@
pcie-supply = <&reg_pcie>;
status = "disabled";
};
+ imx_ion {
+ compatible = "fsl,mxc-ion";
+ fsl,heap-id = <0>;
+ fsl,heap-cacheable = <1>;
+ };
};
};
@@ -1271,6 +1276,8 @@
MX6SX_PAD_SD3_DATA3__ECSPI4_MISO 0x100b1
MX6SX_PAD_SD3_CMD__ECSPI4_MOSI 0x100b1
MX6SX_PAD_SD3_CLK__ECSPI4_SCLK 0x100b1
+
+
>;
};
};
@@ -1292,7 +1299,6 @@
>;
};
};
-
csi {
pinctrl_csi_0: csigrp-0 {
fsl,pins = <
@@ -1435,7 +1441,7 @@
MX6SX_PAD_NAND_DATA03__RAWNAND_DATA03 0xb0b1
MX6SX_PAD_NAND_DATA04__RAWNAND_DATA04 0xb0b1
MX6SX_PAD_NAND_DATA05__RAWNAND_DATA05 0xb0b1
- MX6SX_PAD_NAND_DATA06__RAWNAND_DATA06 0xb0b1
+ MX6SX_PAD_NAND_DATA06__GPIO4_IO_10 0x1b0b0
MX6SX_PAD_NAND_DATA07__RAWNAND_DATA07 0xb0b1
>;
};