diff options
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/.gitignore | 1 | ||||
-rw-r--r-- | arch/arm/boot/Makefile | 13 | ||||
-rw-r--r-- | arch/arm/boot/compressed/head.S | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6dl-sabresd-pf200.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6dl-sabresd.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-sabreauto.dts | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-sabresd.dts | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 31 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-sabresd.dtsi | 83 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl.dtsi | 36 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6sl-evk-common.dtsi | 20 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6sl-evk.dts | 310 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6sl.dtsi | 10 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6sx-sdb.dts | 31 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6sx.dtsi | 10 |
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 = <®_sensor>; vddio-supply = <®_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 = <®_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 = <®_aud3v>; + AVDD-supply = <&vgen3_reg>; + CPVDD-supply = <&vgen3_reg>; + MICVDD-supply = <®_aud3v>; + PLLVDD-supply = <&vgen3_reg>; + SPKVDD1-supply = <®_aud4v>; + SPKVDD2-supply = <®_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 = <®_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 = <®_usb_otg1_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg1_1>; + disable-over-current; + imx6-usb-charger-detection; + status = "okay"; +}; + +&usbotg2 { + vbus-supply = <®_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 = <®_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 >; }; |