diff options
Diffstat (limited to 'arch')
22 files changed, 563 insertions, 33 deletions
diff --git a/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts b/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts index d08e0402793b..5ee2ddedd038 100644 --- a/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts +++ b/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts @@ -98,7 +98,6 @@ compatible = "fsl,imx-parallel-display"; #address-cells = <1>; #size-cells = <0>; - interface-pix-fmt = "bgr666"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ipu1_lcdif>; status = "okay"; @@ -120,13 +119,25 @@ }; }; - panel: panel { - /* - * edt,et057090dhu: EDT 5.7" LCD TFT - * edt,et070080dh6: EDT 7.0" LCD TFT - */ - compatible = "edt,et057090dhu"; + panel_dpi: panel-dpi { + compatible = "panel-dpi"; backlight = <&backlight>; + width-mm = <115>; + height-mm = <86>; + + data-mapping = "bgr666"; + + panel-timing { + clock-frequency = <25175000>; + hactive = <640>; + vactive = <480>; + hsync-len = <30>; + hfront-porch = <16>; + hback-porch = <114>; + vsync-len = <3>; + vfront-porch = <10>; + vback-porch = <32>; + }; port { lcd_panel_in: endpoint { @@ -227,10 +238,11 @@ &weim { status = "okay"; - /* weim memory map: 32MB on CS0, 32MB on CS1, 32MB on CS2 */ + /* weim memory map: 32MB on CS0, CS1, CS2 and CS3 */ ranges = <0 0 0x08000000 0x02000000 1 0 0x0a000000 0x02000000 - 2 0 0x0c000000 0x02000000>; + 2 0 0x0c000000 0x02000000 + 3 0 0x0e000000 0x02000000>; /* SRAM on Colibri nEXT_CS0 */ sram@0,0 { diff --git a/arch/arm/boot/dts/imx6q-apalis-eval.dts b/arch/arm/boot/dts/imx6q-apalis-eval.dts index 0edd3043d9c1..db6818c61e43 100644 --- a/arch/arm/boot/dts/imx6q-apalis-eval.dts +++ b/arch/arm/boot/dts/imx6q-apalis-eval.dts @@ -84,10 +84,9 @@ compatible = "fsl,imx-parallel-display"; #address-cells = <1>; #size-cells = <0>; - interface-pix-fmt = "rgb24"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ipu1_lcdif>; - status = "okay"; + status = "disabled"; port@0 { reg = <0>; @@ -106,14 +105,28 @@ }; }; - panel: panel { - /* - * edt,et057090dhu: EDT 5.7" LCD TFT - * edt,et070080dh6: EDT 7.0" LCD TFT - */ - compatible = "edt,et057090dhu"; + panel_dpi: panel-dpi { + compatible = "panel-dpi"; + backlight = <&backlight>; - power-supply = <®_3v3_sw>; + + width-mm = <115>; + height-mm = <86>; + + data-mapping = "rgb24"; + status = "disabled"; + + panel-timing { + clock-frequency = <25175000>; + hactive = <640>; + vactive = <480>; + hsync-len = <30>; + hfront-porch = <16>; + hback-porch = <114>; + vsync-len = <3>; + vfront-porch = <10>; + vback-porch = <32>; + }; port { lcd_panel_in: endpoint { @@ -122,6 +135,39 @@ }; }; + panel_lvds: panel-lvds { + compatible = "panel-lvds"; + + backlight = <&backlight>; + + width-mm = <218>; + height-mm = <137>; + + data-mapping = "vesa-24"; + status = "disabled"; + + panel-timing { + clock-frequency = <68930000>; + hactive = <1280>; + vactive = <800>; + hback-porch = <64>; + hfront-porch = <64>; + vback-porch = <5>; + vfront-porch = <5>; + hsync-len = <40>; + vsync-len = <6>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + + port { + lvds_panel_in: endpoint { + remote-endpoint = <&lvds_out>; + }; + }; + }; + reg_pcie_switch: regulator-pcie-switch { compatible = "regulator-fixed"; regulator-name = "pcie_switch"; @@ -140,6 +186,16 @@ regulator-max-microvolt = <3300000>; regulator-always-on; }; + + vga { + compatible = "vga-connector"; + + port { + vga_con_in: endpoint { + remote-endpoint = <&vga_bridge_out>; + }; + }; + }; }; &backlight { @@ -159,6 +215,13 @@ status = "okay"; }; +&clks { + assigned-clocks = <&clks IMX6QDL_CLK_IPU1_DI1_PRE_SEL>, + <&clks IMX6QDL_CLK_IPU2_DI0_PRE_SEL>; + assigned-clock-parents = <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, + <&clks IMX6QDL_CLK_PLL2_PFD2_396M>; +}; + &hdmi { status = "okay"; }; @@ -192,7 +255,20 @@ }; &ldb { - status = "okay"; + status = "disabled"; + + lvds-channel@0 { + status = "okay"; + primary; + + port@4 { + reg = <4>; + + lvds_out: endpoint { + remote-endpoint = <&lvds_panel_in>; + }; + }; + }; }; &pcie { @@ -283,6 +359,24 @@ status = "okay"; }; +&vgabridge { + status = "okay"; + + ports { + port@1 { + reg = <1>; + + vga_bridge_out: endpoint { + remote-endpoint = <&vga_con_in>; + }; + }; + }; +}; + +&vgadisplay { + status = "okay"; +}; + &iomuxc { /* * Mux the Apalis GPIOs diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi index 3dc99dd8dde1..b91a8e5a9b01 100644 --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi @@ -61,6 +61,18 @@ status = "disabled"; }; + /* DDC_I2C: I2C2_SDA/SCL on MXM3 205/207 */ + i2cddc: i2c@0 { + compatible = "i2c-gpio"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c_ddc>; + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH /* sda */ + &gpio2 30 GPIO_ACTIVE_HIGH /* scl */ + >; + i2c-gpio,delay-us = <2>; /* ~100 kHz */ + status = "disabled"; + }; + reg_module_3v3: regulator-module-3v3 { compatible = "regulator-fixed"; regulator-name = "+V3.3"; @@ -138,6 +150,54 @@ spdif-out; status = "disabled"; }; + + vgabridge: bridge { + compatible = "dumb-vga-dac"; + #address-cells = <1>; + #size-cells = <0>; + de-active = <0>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + vga_bridge_in: endpoint { + remote-endpoint = <&vga_display_out>; + }; + }; + }; + }; + + vgadisplay: display@di0 { + compatible = "fsl,imx-parallel-display"; + #address-cells = <1>; + #size-cells = <0>; + interface-pix-fmt = "rgb565"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ipu2_vdac>; + status = "disabled"; + + port@0 { + reg = <0>; + + vga_display_in: endpoint { + remote-endpoint = <&ipu2_di0_disp0>; + }; + }; + + port@1 { + reg = <1>; + + vga_display_out: endpoint { + remote-endpoint = <&vga_bridge_in>; + }; + }; + }; + }; &audmux { @@ -368,11 +428,15 @@ pinctrl-names = "default", "recovery"; pinctrl-0 = <&pinctrl_i2c3>; pinctrl-1 = <&pinctrl_i2c3_recovery>; - scl-gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>; - sda-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>; + scl-gpios = <&gpio3 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + sda-gpios = <&gpio3 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; status = "disabled"; }; +&ipu2_di0_disp0 { + remote-endpoint = <&vga_display_in>; +}; + &pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm1>; @@ -632,6 +696,14 @@ >; }; + pinctrl_i2c_ddc: gpioi2cddcgrp { + fsl,pins = < + /* DDC bitbang */ + MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0 + MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x1b0b0 + >; + }; + pinctrl_i2c1: i2c1grp { fsl,pins = < MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 diff --git a/arch/arm/boot/dts/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/imx6qdl-colibri.dtsi index 87e15e7cb32b..8a27c2a05678 100644 --- a/arch/arm/boot/dts/imx6qdl-colibri.dtsi +++ b/arch/arm/boot/dts/imx6qdl-colibri.dtsi @@ -298,8 +298,8 @@ pinctrl-names = "default", "recovery"; pinctrl-0 = <&pinctrl_i2c3>; pinctrl-1 = <&pinctrl_i2c3_recovery>; - scl-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; - sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; + scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; status = "disabled"; }; diff --git a/arch/arm/boot/dts/imx6ul.dtsi b/arch/arm/boot/dts/imx6ul.dtsi index 083d3446c41d..a63983a88897 100644 --- a/arch/arm/boot/dts/imx6ul.dtsi +++ b/arch/arm/boot/dts/imx6ul.dtsi @@ -228,6 +228,8 @@ clocks = <&clks IMX6UL_CLK_ECSPI1>, <&clks IMX6UL_CLK_ECSPI1>; clock-names = "ipg", "per"; + dmas = <&sdma 3 7 1>, <&sdma 4 7 2>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -240,6 +242,8 @@ clocks = <&clks IMX6UL_CLK_ECSPI2>, <&clks IMX6UL_CLK_ECSPI2>; clock-names = "ipg", "per"; + dmas = <&sdma 5 7 1>, <&sdma 6 7 2>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -252,6 +256,8 @@ clocks = <&clks IMX6UL_CLK_ECSPI3>, <&clks IMX6UL_CLK_ECSPI3>; clock-names = "ipg", "per"; + dmas = <&sdma 7 7 1>, <&sdma 8 7 2>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -264,6 +270,8 @@ clocks = <&clks IMX6UL_CLK_ECSPI4>, <&clks IMX6UL_CLK_ECSPI4>; clock-names = "ipg", "per"; + dmas = <&sdma 9 7 1>, <&sdma 10 7 2>; + dma-names = "rx", "tx"; status = "disabled"; }; diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi b/arch/arm/boot/dts/imx6ull-colibri.dtsi index 6c63a7384611..9ad1da159768 100644 --- a/arch/arm/boot/dts/imx6ull-colibri.dtsi +++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi @@ -94,16 +94,16 @@ pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c1>; pinctrl-1 = <&pinctrl_i2c1_gpio>; - sda-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; - scl-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>; + sda-gpios = <&gpio1 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; }; &i2c2 { pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c2>; pinctrl-1 = <&pinctrl_i2c2_gpio>; - sda-gpios = <&gpio1 31 GPIO_ACTIVE_LOW>; - scl-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; + sda-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; status = "okay"; ad7879@2c { diff --git a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi index 3f2746169181..b6a4cc387695 100644 --- a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi +++ b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi @@ -52,13 +52,30 @@ clock-frequency = <16000000>; }; - panel: panel { - compatible = "edt,et057090dhu"; + panel_dpi: panel-dpi { + compatible = "panel-dpi"; backlight = <&bl>; power-supply = <®_3v3>; + width-mm = <115>; + height-mm = <86>; + + data-mapping = "bgr666"; + + panel-timing { + clock-frequency = <25175000>; + hactive = <640>; + vactive = <480>; + hsync-len = <30>; + hfront-porch = <16>; + hback-porch = <114>; + vsync-len = <3>; + vfront-porch = <10>; + vback-porch = <32>; + }; + port { - panel_in: endpoint { + lcd_panel_in: endpoint { remote-endpoint = <&lcdif_out>; }; }; @@ -143,7 +160,7 @@ port { lcdif_out: endpoint { - remote-endpoint = <&panel_in>; + remote-endpoint = <&lcd_panel_in>; }; }; }; diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi index 895fbde4d433..37aeba999be3 100644 --- a/arch/arm/boot/dts/imx7-colibri.dtsi +++ b/arch/arm/boot/dts/imx7-colibri.dtsi @@ -319,10 +319,10 @@ assigned-clock-rates = <400000000>; bus-width = <8>; fsl,tuning-step = <2>; - max-frequency = <100000000>; vmmc-supply = <®_module_3v3>; vqmmc-supply = <®_DCDC3>; non-removable; + sdhci-caps-mask = <0x80000000 0x0>; }; &iomuxc { diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi index aa8df7d93b2e..043e39124c43 100644 --- a/arch/arm/boot/dts/imx7s.dtsi +++ b/arch/arm/boot/dts/imx7s.dtsi @@ -651,6 +651,8 @@ clocks = <&clks IMX7D_ECSPI4_ROOT_CLK>, <&clks IMX7D_ECSPI4_ROOT_CLK>; clock-names = "ipg", "per"; + dmas = <&sdma 6 7 1>, <&sdma 7 7 2>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -732,6 +734,8 @@ clocks = <&clks IMX7D_ECSPI1_ROOT_CLK>, <&clks IMX7D_ECSPI1_ROOT_CLK>; clock-names = "ipg", "per"; + dmas = <&sdma 0 7 1>, <&sdma 1 7 2>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -744,6 +748,8 @@ clocks = <&clks IMX7D_ECSPI2_ROOT_CLK>, <&clks IMX7D_ECSPI2_ROOT_CLK>; clock-names = "ipg", "per"; + dmas = <&sdma 2 7 1>, <&sdma 3 7 2>; + dma-names = "rx", "tx"; status = "disabled"; }; @@ -756,6 +762,8 @@ clocks = <&clks IMX7D_ECSPI3_ROOT_CLK>, <&clks IMX7D_ECSPI3_ROOT_CLK>; clock-names = "ipg", "per"; + dmas = <&sdma 4 7 1>, <&sdma 5 7 2>; + dma-names = "rx", "tx"; status = "disabled"; }; diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README new file mode 100644 index 000000000000..737ec4a8e6e9 --- /dev/null +++ b/arch/arm/boot/dts/overlays/README @@ -0,0 +1,33 @@ +Introduction +============ + +This directory contains Device Tree overlays. + +Current avalible and supported overlays +======================================= + +Display +--------------------------------------- +display_EDT5.7_parallel_res_touch.dts -> 5.7 inch display proivded by Toradex https://developer.toradex.com/products/edt-display +display_EDT7_parallel_res_touch.dts -> 7 inch display proivded by Toradex https://developer.toradex.com/products/edt-display +display_10.1_lvds_cap_touch.dts -> 10.1 inch lvds display proivded by Toradex +display_7_parallel_cap_touch.dts -> Display with capacitive touch https://developer.toradex.com/products/capacitive-touch-display-7inch-parallel + +Touch controllers +---------------------------------------- +touch_cap_apalis_evb.dts -> touch controller for capacitive touch displays +touch_cap_colibri_imx6_evb.dts -> touch controller for capaccitive touch display compatible with colibri-imx6 and evaluation board +touch_cap_colibri_imx6_aster.dts -> touch controller for capaccitive touch display compatible with colibri-imx6 and Aster board +touch_cap_colibri_imx7_evb.dts -> touch controller for capaccitive touch display compatible with colibri-imx7 and evaluation board +touch_cap_colibri_imx7_aster.dts -> touch controller for capaccitive touch display compatible with colibri-imx7 and Aster board +======================================= + +touch_cap_apalis_evb.dts + -> Compatible with + - display_10.1_lvds_cap_touch.dts + - display_7_parallel_cap_touch.dts + + +touch_cap_colibri_imx6_evb.dts +touch_cap_colibri_imx7_evb.dts + -> When applying this overlay device has to be powercycled diff --git a/arch/arm/boot/dts/overlays/display_10.1_lvds_cap_touch.dts b/arch/arm/boot/dts/overlays/display_10.1_lvds_cap_touch.dts new file mode 100644 index 000000000000..187dc0db077b --- /dev/null +++ b/arch/arm/boot/dts/overlays/display_10.1_lvds_cap_touch.dts @@ -0,0 +1,32 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,apalis_imx6q"; + + fragment@0 { + target-path="/panel-lvds"; + __overlay__ { + status = "okay"; + + data-mapping = "vesa-24"; + width-mm = <1280>; + height-mm = <800>; + + panel-timing { + clock-frequency = <68930000>; + hactive = <1280>; + vactive = <800>; + hback-porch = <64>; + hfront-porch = <64>; + vback-porch = <5>; + vfront-porch = <5>; + hsync-len = <40>; + vsync-len = <6>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/display_7_parallel_cap_touch.dts b/arch/arm/boot/dts/overlays/display_7_parallel_cap_touch.dts new file mode 100644 index 000000000000..b92ad6101315 --- /dev/null +++ b/arch/arm/boot/dts/overlays/display_7_parallel_cap_touch.dts @@ -0,0 +1,26 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex"; + fragment@0 { + target-path = "/panel-dpi"; + __overlay__ { + status = "okay"; + width-mm = <154>; + height-mm = <86>; + panel-timing { + clock-frequency = <33230769>; + hactive = <800>; + vactive = <480>; + hsync-len = <128>; + hfront-porch = <40>; + hback-porch = <88>; + vsync-len = <1>; + vfront-porch = <10>; + vback-porch = <33>; + pixelclk-active = <1>; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/display_EDT5.7_parallel_res_touch.dts b/arch/arm/boot/dts/overlays/display_EDT5.7_parallel_res_touch.dts new file mode 100644 index 000000000000..da112f34e0c8 --- /dev/null +++ b/arch/arm/boot/dts/overlays/display_EDT5.7_parallel_res_touch.dts @@ -0,0 +1,24 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex"; + fragment@0 { + target-path = "/panel-dpi"; + __overlay__ { + width-mm = <116>; + height-mm = <86>; + panel-timing { + clock-frequency = <25175000>; + hactive = <640>; + vactive = <480>; + hsync-len = <30>; + hfront-porch = <16>; + hback-porch = <114>; + vsync-len = <3>; + vfront-porch = <10>; + vback-porch = <32>; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/display_EDT7_parallel_res_touch.dts b/arch/arm/boot/dts/overlays/display_EDT7_parallel_res_touch.dts new file mode 100644 index 000000000000..85df65a7c2cd --- /dev/null +++ b/arch/arm/boot/dts/overlays/display_EDT7_parallel_res_touch.dts @@ -0,0 +1,24 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex"; + fragment@0 { + target-path = "/panel-dpi"; + __overlay__ { + width-mm = <155>; + height-mm = <91>; + panel-timing { + clock-frequency = <33230769>; + hactive = <800>; + vactive = <480>; + hsync-len = <128>; + hfront-porch = <40>; + hback-porch = <88>; + vsync-len = <1>; + vfront-porch = <10>; + vback-porch = <33>; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/enable_lvds_display_apalis_imx6.dts b/arch/arm/boot/dts/overlays/enable_lvds_display_apalis_imx6.dts new file mode 100644 index 000000000000..15fcc186ae7f --- /dev/null +++ b/arch/arm/boot/dts/overlays/enable_lvds_display_apalis_imx6.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,apalis_imx6q"; + fragment@0 { + target-path = "/ldb"; + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/enable_parallel_display_apalis_imx6.dts b/arch/arm/boot/dts/overlays/enable_parallel_display_apalis_imx6.dts new file mode 100644 index 000000000000..2f3182e3c4df --- /dev/null +++ b/arch/arm/boot/dts/overlays/enable_parallel_display_apalis_imx6.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,apalis_imx6q"; + fragment@0 { + target-path = "/disp0"; + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/touch_cap_apalis_evb.dts b/arch/arm/boot/dts/overlays/touch_cap_apalis_evb.dts new file mode 100644 index 000000000000..0ecac933b32b --- /dev/null +++ b/arch/arm/boot/dts/overlays/touch_cap_apalis_evb.dts @@ -0,0 +1,20 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,apalis_imx6q"; + fragment@0 { + target-path="/soc/aips-bus@2100000/i2c@21a0000"; + __overlay__ { + status = "okay"; + atmel_mxt_ts: atmel_mxt_ts@4a { + compatible = "atmel,maxtouch"; + reg = <0x4a>; + interrupt-parent = <&gpio6>; + interrupts = <10 2>; + reset-gpios = <&gpio6 9 0>; + status = "okay"; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/touch_cap_colibri_imx6_aster.dts b/arch/arm/boot/dts/overlays/touch_cap_colibri_imx6_aster.dts new file mode 100644 index 000000000000..eec97c28bd89 --- /dev/null +++ b/arch/arm/boot/dts/overlays/touch_cap_colibri_imx6_aster.dts @@ -0,0 +1,37 @@ +/dts-v1/; +/plugin/; +/ { + compatible = "toradex,colibri-imx6dl"; + fragment@0 { + target = <&weim>; + __overlay__{ + status = "disabled"; + }; + }; + fragment@1 { + target = <&iomuxc>; + __overlay__ { + pinctrl_atmel_mxt_ts: atmelmxttsgrp { + fsl,pins = < + 0x300 0x6e8 0x000 0x5 0x0 0x1b0b1 + 0x140 0x510 0x000 0x5 0x0 0x1b0b1 + >; + }; + }; + }; + fragment@2 { + target = <&i2c3>; + __overlay__ { + atmel_mxt_ts: atmel_mxt_ts@4a { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_atmel_mxt_ts>; + compatible = "atmel,maxtouch"; + reg = <0x4a>; + interrupt-parent = <&gpio2>; + interrupts = <24 2>; + reset-gpios = <&gpio1 14 0>; + status = "okay"; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/touch_cap_colibri_imx6_evb.dts b/arch/arm/boot/dts/overlays/touch_cap_colibri_imx6_evb.dts new file mode 100644 index 000000000000..ab0c7daff8b1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/touch_cap_colibri_imx6_evb.dts @@ -0,0 +1,31 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx6dl"; + fragment@0 { + target = <&i2c3>; + __overlay__ { + atmel_mxt_ts: atmel_mxt_ts@4a { + compatible = "atmel,maxtouch"; + reg = <0x4a>; + interrupt-parent = <&gpio1>; + interrupts = <9 2>; + reset-gpios = <&gpio2 10 0>; + status = "okay"; + }; + }; + }; + fragment@1 { + target = <&pwm1>; + __overlay__ { + status = "disabled"; + }; + }; + fragment@2 { + target = <&pwm4>; + __overlay__{ + status = "disabled"; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/touch_cap_colibri_imx7_aster.dts b/arch/arm/boot/dts/overlays/touch_cap_colibri_imx7_aster.dts new file mode 100644 index 000000000000..40120335af38 --- /dev/null +++ b/arch/arm/boot/dts/overlays/touch_cap_colibri_imx7_aster.dts @@ -0,0 +1,18 @@ +/dts-v1/; +/plugin/; +/ { + compatible = "toradex,colibri-imx7s"; + fragment@0 { + target = <&i2c4>; + __overlay__ { + atmel_mxt_ts: atmel_mxt_ts@4a { + compatible = "atmel,maxtouch"; + reg = <0x4a>; + interrupt-parent = <&gpio2>; + interrupts = <15 2>; + reset-gpios = <&gpio2 28 0>; + status = "okay"; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlays/touch_cap_colibri_imx7_evb.dts b/arch/arm/boot/dts/overlays/touch_cap_colibri_imx7_evb.dts new file mode 100644 index 000000000000..8b54505565ad --- /dev/null +++ b/arch/arm/boot/dts/overlays/touch_cap_colibri_imx7_evb.dts @@ -0,0 +1,50 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx7s"; + fragment@0 { + target = <&i2c4>; + __overlay__ { + atmel_mxt_ts: atmel_mxt_ts@4a { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_atmel_mxt_ts>; + compatible = "atmel,maxtouch"; + reg = <0x4a>; + interrupt-parent = <&gpio1>; + interrupts = <9 2>; + reset-gpios = <&gpio1 10 0>; + status = "okay"; + }; + }; + }; + fragment@1 { + target = <&pwm2>; + __overlay__ { + status = "disabled"; + }; + }; + fragment@2 { + target = <&pwm3>; + __overlay__{ + status = "disabled"; + }; + }; + fragment@3 { + target = <&iomuxc_lpsr>; + __overlay__ { + pinctrl_atmel_mxt_ts: atmelmxttsgrp { + fsl,pins = < + 0x0018 0x0270 0x0000 0x0 0x0 0x59 + 0x001C 0x0274 0x0000 0x0 0x0 0x59 + >; + }; + }; + }; + fragment@4 { + target = <&uart1>; + __overlay__ { + pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_ctrl1>; + }; + }; +}; diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index bae179af21f6..12b05708832d 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -31,7 +31,7 @@ obj-$(CONFIG_SOC_IMX6SX) += cpuidle-imx6sx.o obj-$(CONFIG_SOC_IMX6UL) += cpuidle-imx6sx.o endif -ifdef CONFIG_SND_IMX_SOC +ifdef CONFIG_SND_SOC_IMX_PCM_FIQ obj-y += ssi-fiq.o obj-y += ssi-fiq-ksym.o endif |