Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: imx: Add support for Advantech DMS-BA16

Add support for Advantech DMS-BA16 board, which uses
the Advantech BA-16 module.

Signed-off-by: Ken Lin <yungching0725@gmail.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Ken Lin and committed by
Shawn Guo
d7ab663a c2e4987e

+140
+1
arch/arm/boot/dts/Makefile
··· 436 436 imx6q-dfi-fs700-m60.dtb \ 437 437 imx6q-display5-tianma-tm070-1280x768.dtb \ 438 438 imx6q-dmo-edmqmx6.dtb \ 439 + imx6q-dms-ba16.dtb \ 439 440 imx6q-evi.dtb \ 440 441 imx6q-gk802.dtb \ 441 442 imx6q-gw51xx.dtb \
+139
arch/arm/boot/dts/imx6q-dms-ba16.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + 3 + /dts-v1/; 4 + 5 + #include <dt-bindings/gpio/gpio.h> 6 + #include "imx6q-ba16.dtsi" 7 + 8 + / { 9 + model = "Advantech DMS-BA16"; 10 + compatible = "advantech,imx6q-dms-ba16", "advantech,imx6q-ba16", "fsl,imx6q"; 11 + 12 + reg_usb_otg_vbus: regulator-usbotgvbus { 13 + compatible = "regulator-fixed"; 14 + regulator-name = "usb_otg_vbus"; 15 + regulator-min-microvolt = <5000000>; 16 + regulator-max-microvolt = <5000000>; 17 + pinctrl-names = "default"; 18 + pinctrl-0 = <&pinctrl_usbotgvbus>; 19 + gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>; 20 + enable-active-high; 21 + }; 22 + 23 + sys_mclk: clock-sys-mclk { 24 + compatible = "fixed-clock"; 25 + #clock-cells = <0>; 26 + clock-frequency = <22000000>; 27 + }; 28 + 29 + sound { 30 + compatible = "fsl,imx6q-ba16-sgtl5000", 31 + "fsl,imx-audio-sgtl5000"; 32 + model = "imx6q-ba16-sgtl5000"; 33 + ssi-controller = <&ssi1>; 34 + audio-codec = <&sgtl5000>; 35 + audio-routing = 36 + "MIC_IN", "Mic Jack", 37 + "Mic Jack", "Mic Bias", 38 + "Headphone Jack", "HP_OUT"; 39 + mux-int-port = <1>; 40 + mux-ext-port = <4>; 41 + }; 42 + }; 43 + 44 + &ecspi5 { 45 + cs-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; 46 + pinctrl-names = "default"; 47 + pinctrl-0 = <&pinctrl_ecspi5>; 48 + status = "okay"; 49 + 50 + m25_eeprom: m25p80@0 { 51 + compatible = "atmel,at25256B", "atmel,at25"; 52 + spi-max-frequency = <20000000>; 53 + size = <0x8000>; 54 + pagesize = <64>; 55 + reg = <0>; 56 + address-width = <16>; 57 + }; 58 + }; 59 + 60 + &iomuxc { 61 + pinctrl_i2c1_gpio: i2c1gpiogrp { 62 + fsl,pins = < 63 + MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x1b0b0 64 + MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27 0x1b0b0 65 + >; 66 + }; 67 + 68 + pinctrl_i2c2_gpio: i2c2gpiogrp { 69 + fsl,pins = < 70 + MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x1b0b0 71 + MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x1b0b0 72 + >; 73 + }; 74 + 75 + pinctrl_i2c3_gpio: i2c3gpiogrp { 76 + fsl,pins = < 77 + MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x1b0b0 78 + MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 79 + >; 80 + }; 81 + 82 + pinctrl_usbotgvbus: usbotgvbusgrp { 83 + fsl,pins = < 84 + MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059 85 + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x000b0 86 + >; 87 + }; 88 + }; 89 + 90 + &i2c1 { 91 + clock-frequency = <100000>; 92 + pinctrl-names = "default"; 93 + pinctrl-0 = <&pinctrl_i2c1>; 94 + status = "okay"; 95 + 96 + sgtl5000: codec@a { 97 + compatible = "fsl,sgtl5000"; 98 + reg = <0x0a>; 99 + clocks = <&sys_mclk>; 100 + lrclk-strength = <0x3>; 101 + VDDA-supply = <&reg_1p8v>; 102 + VDDIO-supply = <&reg_3p3v>; 103 + }; 104 + }; 105 + 106 + &pwm2 { 107 + pinctrl-names = "default"; 108 + pinctrl-0 = <&pinctrl_pwm2>; 109 + status = "okay"; 110 + }; 111 + 112 + &sata { 113 + fsl,no-spread-spectrum; 114 + fsl,transmit-atten-16ths = <12>; 115 + fsl,transmit-boost-mdB = <3330>; 116 + fsl,transmit-level-mV = <1133>; 117 + fsl,receive-dpll-mode = <1>; 118 + status = "okay"; 119 + }; 120 + 121 + &usbotg { 122 + vbus-supply = <&reg_usb_otg_vbus>; 123 + pinctrl-names = "default"; 124 + pinctrl-0 = <&pinctrl_usbotg>; 125 + dr_mode = "otg"; 126 + disable-over-current; 127 + status = "okay"; 128 + }; 129 + 130 + &usdhc4 { 131 + pinctrl-names = "default"; 132 + pinctrl-0 = <&pinctrl_usdhc4>; 133 + bus-width = <8>; 134 + cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; 135 + no-1-8-v; 136 + keep-power-in-suspend; 137 + wakeup-source; 138 + status = "okay"; 139 + };