/* * Copyright (C) 2018-2019 Atmark Techno, Inc. All Rights Reserved. * * SPDX-License-Identifier: (GPL-2.0 OR MIT) */ #include &iomuxc { pinctrl_expansion_interfacehog: expansion_interfacehoggrp { fsl,pins = < /* CON9 */ MX6UL_PAD_UART2_CTS_B__GPIO1_IO22 0x400010b0 // CON9_1 MX6UL_PAD_UART2_RTS_B__GPIO1_IO23 0x400010b0 // CON9_2 MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31 0x400010b0 // CON9_4 MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30 0x400010b0 // CON9_6 // CON9_7 VCC_3.3V // CON9_8 VCC_3.3V // CON9_9 GND // CON9_10 GND // CON9_11 ONOFF // CON9_12 PWRON MX6UL_PAD_LCD_DATA18__GPIO3_IO23 0x400010b0 // CON9_13 MX6UL_PAD_LCD_DATA19__GPIO3_IO24 0x400010b0 // CON9_14 MX6UL_PAD_LCD_DATA20__GPIO3_IO25 0x400010b0 // CON9_15 MX6UL_PAD_LCD_DATA21__GPIO3_IO26 0x400010b0 // CON9_16 MX6UL_PAD_LCD_DATA22__GPIO3_IO27 0x400010b0 // CON9_17 MX6UL_PAD_LCD_DATA23__GPIO3_IO28 0x400010b0 // CON9_18 // CON9_19 GND // CON9_20 VCC_3.3V // CON9_21 USB2_DN // CON9_22 USB2_DP // CON9_23 USB2_VBUS // CON9_24 USB2_EN MX6UL_PAD_NAND_DATA04__GPIO4_IO06 0x400010b0 // CON9_25 MX6UL_PAD_NAND_DATA05__GPIO4_IO07 0x400010b0 // CON9_26 MX6UL_PAD_NAND_DATA06__GPIO4_IO08 0x400010b0 // CON9_27 MX6UL_PAD_NAND_DATA07__GPIO4_IO09 0x400010b0 // CON9_28 /* CON8 */ // CON8_1 GND // CON8_2 GND /* CON14 */ // CON14_1 VCC_3.3V // CON14_2 GND MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0x400010b0 // CON14_3 MX6UL_PAD_UART2_RX_DATA__GPIO1_IO21 0x400010b0 // CON14_4 /* CON11 */ // CON11_1 VCC_5V // CON11_2 VCC_5V // CON11_3 VCC_5V // CON11_4 VCC_3.3V // CON11_5 VCC_3.3V // CON11_6 GND // CON11_7 GND // CON11_19 GND // CON11_26 GND // CON11_33 GND // CON11_38 GND // CON11_50 GND >; }; pinctrl_uart1: uart1grp { fsl,pins = < MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1 // CON9_3 MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x00008 // CON9_5 >; }; pinctrl_i2c2: i2c2grp { fsl,pins = < MX6UL_PAD_CSI_HSYNC__I2C2_SCL 0x4001b8b0 // CON11_48 MX6UL_PAD_CSI_VSYNC__I2C2_SDA 0x4001b8b0 // CON11_49 >; }; pinctrl_pwm5: pwm5grp { fsl,pins = < MX6UL_PAD_NAND_DQS__PWM5_OUT 0x110b0 // CON11_12 >; }; pinctrl_lcdif: lcdifgrp { fsl,pins = < MX6UL_PAD_LCD_CLK__LCDIF_CLK 0x08 // CON11_8 MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC 0x08 // CON11_9 MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC 0x08 // CON11_10 MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE 0x08 // CON11_11 MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x08 // CON11_13 MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x08 // CON11_14 MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x08 // CON11_15 MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x08 // CON11_16 MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x08 // CON11_17 MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x08 // CON11_18 MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x08 // CON11_20 MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x08 // CON11_21 MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x08 // CON11_22 MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x08 // CON11_23 MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x08 // CON11_24 MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x08 // CON11_25 MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x08 // CON11_27 MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x08 // CON11_28 MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x08 // CON11_29 MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x08 // CON11_30 MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x08 // CON11_31 MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x08 // CON11_32 >; }; pinctrl_sai1: sai1grp { fsl,pins = < MX6UL_PAD_CSI_DATA01__SAI1_MCLK 0x17088 // CON11_42 MX6UL_PAD_CSI_DATA04__SAI1_TX_SYNC 0x17088 // CON11_47 MX6UL_PAD_CSI_DATA05__SAI1_TX_BCLK 0x17088 // CON11_46 MX6UL_PAD_CSI_DATA06__SAI1_RX_DATA 0x17088 // CON11_45 MX6UL_PAD_CSI_DATA07__SAI1_TX_DATA 0x120b0 // CON11_44 >; }; pinctrl_ext_gpio_keys: extgpiokeysgrp { fsl,pins = < MX6UL_PAD_CSI_PIXCLK__GPIO4_IO18 0x1b080 // CON11_39 MX6UL_PAD_CSI_DATA00__GPIO4_IO21 0x1b080 // CON11_40 MX6UL_PAD_CSI_DATA03__GPIO4_IO24 0x1b080 // CON11_41 >; }; pinctrl_rtc_s35390a: rtc-s35390agrp { fsl,pins = < MX6UL_PAD_CSI_DATA02__GPIO4_IO23 0x08000 // CON11_43 >; }; pinctrl_tsc: tscgrp { fsl,pins = < MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0xb0 // CON11_37 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0xb0 // CON11_36 MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0xb0 // CON11_35 MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0xb0 // CON11_34 >; }; }; &uart1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; status = "okay"; }; &i2c2 { pinctrl-names = "default"; dummy_prop_a = "dummy1"; dummy_prop_b = "dummy4"; pinctrl-0 = <&pinctrl_i2c2>; clock-frequency = <100000>; status = "okay"; wm8978: wm8978@1a { #sound-dai-cells = <0>; compatible = "wlf,wm8978"; reg = <0x1a>; }; s35390a: s35390a@30 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rtc_s35390a>; compatible = "sii,s35390a"; reg = <0x30>; }; }; &pwm5 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm5>; #pwm-cells = <3>; status = "okay"; }; &tsc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_tsc>; xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>; status = "okay"; }; &lcdif { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcdif>; display = <&display0>; lcd-supply = <&extreg_3v3>; status = "okay"; display0: display0 { bits-per-pixel = <32>; bus-width = <18>; display-timings { timing0: timing { clock-frequency = <9000000>; hactive = <480>; vactive = <272>; hfront-porch = <5>; hback-porch = <35>; hsync-len = <5>; vback-porch = <6>; vfront-porch = <8>; vsync-len = <2>; hsync-active = <0>; vsync-active = <0>; de-active = <1>; pixelclk-active = <0>; }; }; }; }; &sai1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai1>; assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>, <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>, <&clks IMX6UL_CLK_SAI1>; assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; assigned-clock-rates = <0>, <393216000>, <12288000>; fsl,sai-mclk-direction-output; status = "okay"; }; / { extreg_3v3: ext-regulator-3v3 { compatible = "regulator-fixed"; regulator-name = "3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; chosen { stdout-path = &uart1; }; aliases { }; ext_backlight_display: ext-backlight-display { compatible = "pwm-backlight"; pwms = <&pwm5 0 5000000 PWM_POLARITY_INVERTED>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <7>; status = "okay"; }; ext-sound { compatible = "simple-audio-card"; simple-audio-card,name = "mx6ul-wm8978"; simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&dailink_master>; simple-audio-card,frame-master = <&dailink_master>; dailink_master: simple-audio-card,cpu { sound-dai = <&sai1>; }; simple-audio-card,codec { sound-dai = <&wm8978>; clocks = <&clks IMX6UL_CLK_SAI1>; }; }; ext-gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ext_gpio_keys>; ext_sw1 { label = "EXT_SW1"; gpios = <&gpio4 18 GPIO_ACTIVE_LOW>; linux,code = ; }; ext_sw2 { label = "EXT_SW2"; gpios = <&gpio4 21 GPIO_ACTIVE_LOW>; linux,code = ; }; ext_sw3 { label = "EXT_SW3"; gpios = <&gpio4 24 GPIO_ACTIVE_LOW>; linux,code = ; }; }; };