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

ARM: dts: imx: Add basic dts support for imx6sll EVK board

Add dts file support for imx6sll EVK board.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Dong Aisheng <Aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Bai Ping and committed by
Shawn Guo
26bd0e59 9f30b6b1

+321
+4
Documentation/devicetree/bindings/arm/fsl.txt
··· 53 53 Required root node properties: 54 54 - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q"; 55 55 56 + i.MX6SLL EVK board 57 + Required root node properties: 58 + - compatible = "fsl,imx6sll-evk", "fsl,imx6sll"; 59 + 56 60 Generic i.MX boards 57 61 ------------------- 58 62
+2
arch/arm/boot/dts/Makefile
··· 521 521 dtb-$(CONFIG_SOC_IMX6SL) += \ 522 522 imx6sl-evk.dtb \ 523 523 imx6sl-warp.dtb 524 + dtb-$(CONFIG_SOC_IMX6SLL) += \ 525 + imx6sll-evk.dtb 524 526 dtb-$(CONFIG_SOC_IMX6SX) += \ 525 527 imx6sx-nitrogen6sx.dtb \ 526 528 imx6sx-sabreauto.dtb \
+315
arch/arm/boot/dts/imx6sll-evk.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 + /* 3 + * Copyright 2016 Freescale Semiconductor, Inc. 4 + * Copyright 2017-2018 NXP. 5 + * 6 + */ 7 + 8 + /dts-v1/; 9 + 10 + #include <dt-bindings/gpio/gpio.h> 11 + #include <dt-bindings/input/input.h> 12 + #include "imx6sll.dtsi" 13 + 14 + / { 15 + model = "Freescale i.MX6SLL EVK Board"; 16 + compatible = "fsl,imx6sll-evk", "fsl,imx6sll"; 17 + 18 + memory@80000000 { 19 + reg = <0x80000000 0x80000000>; 20 + }; 21 + 22 + backlight { 23 + compatible = "pwm-backlight"; 24 + pwms = <&pwm1 0 5000000>; 25 + brightness-levels = <0 4 8 16 32 64 128 255>; 26 + default-brightness-level = <6>; 27 + status = "okay"; 28 + }; 29 + 30 + reg_usb_otg1_vbus: regulator-otg1-vbus { 31 + compatible = "regulator-fixed"; 32 + pinctrl-names = "default"; 33 + pinctrl-0 = <&pinctrl_usb_otg1_vbus>; 34 + regulator-name = "usb_otg1_vbus"; 35 + regulator-min-microvolt = <5000000>; 36 + regulator-max-microvolt = <5000000>; 37 + gpio = <&gpio4 0 GPIO_ACTIVE_HIGH>; 38 + enable-active-high; 39 + }; 40 + 41 + reg_usb_otg2_vbus: regulator-otg2-vbus { 42 + compatible = "regulator-fixed"; 43 + pinctrl-names = "default"; 44 + pinctrl-0 = <&pinctrl_usb_otg2_vbus>; 45 + regulator-name = "usb_otg2_vbus"; 46 + regulator-min-microvolt = <5000000>; 47 + regulator-max-microvolt = <5000000>; 48 + gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; 49 + enable-active-high; 50 + }; 51 + 52 + reg_aud3v: regulator-aud3v { 53 + compatible = "regulator-fixed"; 54 + regulator-name = "wm8962-supply-3v15"; 55 + regulator-min-microvolt = <3150000>; 56 + regulator-max-microvolt = <3150000>; 57 + regulator-boot-on; 58 + }; 59 + 60 + reg_aud4v: regulator-aud4v { 61 + compatible = "regulator-fixed"; 62 + regulator-name = "wm8962-supply-4v2"; 63 + regulator-min-microvolt = <4325000>; 64 + regulator-max-microvolt = <4325000>; 65 + regulator-boot-on; 66 + }; 67 + 68 + reg_lcd: regulator-lcd { 69 + compatible = "regulator-fixed"; 70 + pinctrl-names = "default"; 71 + pinctrl-0 = <&pinctrl_reg_lcd>; 72 + regulator-name = "lcd-pwr"; 73 + gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>; 74 + enable-active-high; 75 + }; 76 + 77 + reg_sd1_vmmc: regulator-sd1-vmmc { 78 + compatible = "regulator-fixed"; 79 + pinctrl-names = "default"; 80 + pinctrl-0 = <&pinctrl_reg_sd1_vmmc>; 81 + regulator-name = "SD1_SPWR"; 82 + regulator-min-microvolt = <3000000>; 83 + regulator-max-microvolt = <3000000>; 84 + gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; 85 + enable-active-high; 86 + }; 87 + }; 88 + 89 + &cpu0 { 90 + arm-supply = <&sw1a_reg>; 91 + soc-supply = <&sw1c_reg>; 92 + }; 93 + 94 + &i2c1 { 95 + clock-frequency = <100000>; 96 + pinctrl-names = "default"; 97 + pinctrl-0 = <&pinctrl_i2c1>; 98 + status = "okay"; 99 + 100 + pfuze100: pmic@8 { 101 + compatible = "fsl,pfuze100"; 102 + reg = <0x08>; 103 + 104 + regulators { 105 + sw1a_reg: sw1ab { 106 + regulator-min-microvolt = <300000>; 107 + regulator-max-microvolt = <1875000>; 108 + regulator-boot-on; 109 + regulator-always-on; 110 + regulator-ramp-delay = <6250>; 111 + }; 112 + 113 + sw1c_reg: sw1c { 114 + regulator-min-microvolt = <300000>; 115 + regulator-max-microvolt = <1875000>; 116 + regulator-boot-on; 117 + regulator-always-on; 118 + regulator-ramp-delay = <6250>; 119 + }; 120 + 121 + sw2_reg: sw2 { 122 + regulator-min-microvolt = <800000>; 123 + regulator-max-microvolt = <3300000>; 124 + regulator-boot-on; 125 + regulator-always-on; 126 + }; 127 + 128 + sw3a_reg: sw3a { 129 + regulator-min-microvolt = <400000>; 130 + regulator-max-microvolt = <1975000>; 131 + regulator-boot-on; 132 + regulator-always-on; 133 + }; 134 + 135 + sw3b_reg: sw3b { 136 + regulator-min-microvolt = <400000>; 137 + regulator-max-microvolt = <1975000>; 138 + regulator-boot-on; 139 + regulator-always-on; 140 + }; 141 + 142 + sw4_reg: sw4 { 143 + regulator-min-microvolt = <800000>; 144 + regulator-max-microvolt = <3300000>; 145 + }; 146 + 147 + swbst_reg: swbst { 148 + regulator-min-microvolt = <5000000>; 149 + regulator-max-microvolt = <5150000>; 150 + }; 151 + 152 + snvs_reg: vsnvs { 153 + regulator-min-microvolt = <1000000>; 154 + regulator-max-microvolt = <3000000>; 155 + regulator-boot-on; 156 + regulator-always-on; 157 + }; 158 + 159 + vref_reg: vrefddr { 160 + regulator-boot-on; 161 + regulator-always-on; 162 + }; 163 + 164 + vgen1_reg: vgen1 { 165 + regulator-min-microvolt = <800000>; 166 + regulator-max-microvolt = <1550000>; 167 + regulator-always-on; 168 + }; 169 + 170 + vgen2_reg: vgen2 { 171 + regulator-min-microvolt = <800000>; 172 + regulator-max-microvolt = <1550000>; 173 + }; 174 + 175 + vgen3_reg: vgen3 { 176 + regulator-min-microvolt = <1800000>; 177 + regulator-max-microvolt = <3300000>; 178 + }; 179 + 180 + vgen4_reg: vgen4 { 181 + regulator-min-microvolt = <1800000>; 182 + regulator-max-microvolt = <3300000>; 183 + regulator-always-on; 184 + }; 185 + 186 + vgen5_reg: vgen5 { 187 + regulator-min-microvolt = <1800000>; 188 + regulator-max-microvolt = <3300000>; 189 + regulator-always-on; 190 + }; 191 + 192 + vgen6_reg: vgen6 { 193 + regulator-min-microvolt = <1800000>; 194 + regulator-max-microvolt = <3300000>; 195 + regulator-always-on; 196 + }; 197 + }; 198 + }; 199 + }; 200 + 201 + &uart1 { 202 + pinctrl-names = "default"; 203 + pinctrl-0 = <&pinctrl_uart1>; 204 + status = "okay"; 205 + }; 206 + 207 + &usdhc1 { 208 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 209 + pinctrl-0 = <&pinctrl_usdhc1>; 210 + pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 211 + pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 212 + cd-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; 213 + wp-gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>; 214 + keep-power-in-suspend; 215 + wakeup-source; 216 + vmmc-supply = <&reg_sd1_vmmc>; 217 + status = "okay"; 218 + }; 219 + 220 + &usbotg1 { 221 + vbus-supply = <&reg_usb_otg1_vbus>; 222 + pinctrl-names = "default"; 223 + pinctrl-0 = <&pinctrl_usbotg1>; 224 + disable-over-current; 225 + srp-disable; 226 + hnp-disable; 227 + adp-disable; 228 + status = "okay"; 229 + }; 230 + 231 + &usbotg2 { 232 + vbus-supply = <&reg_usb_otg2_vbus>; 233 + dr_mode = "host"; 234 + disable-over-current; 235 + status = "okay"; 236 + }; 237 + 238 + &iomuxc { 239 + pinctrl_usb_otg1_vbus: vbus1grp { 240 + fsl,pins = < 241 + MX6SLL_PAD_KEY_COL4__GPIO4_IO00 0x17059 242 + >; 243 + }; 244 + 245 + pinctrl_usb_otg2_vbus: vbus2grp { 246 + fsl,pins = < 247 + MX6SLL_PAD_KEY_COL5__GPIO4_IO02 0x17059 248 + >; 249 + }; 250 + 251 + pinctrl_reg_lcd: reglcdgrp { 252 + fsl,pins = < 253 + MX6SLL_PAD_ECSPI1_SCLK__GPIO4_IO08 0x17059 254 + >; 255 + }; 256 + 257 + pinctrl_reg_sd1_vmmc: sd1vmmcgrp { 258 + fsl,pins = < 259 + MX6SLL_PAD_KEY_COL3__GPIO3_IO30 0x17059 260 + >; 261 + }; 262 + 263 + pinctrl_uart1: uart1grp { 264 + fsl,pins = < 265 + MX6SLL_PAD_UART1_TXD__UART1_DCE_TX 0x1b0b1 266 + MX6SLL_PAD_UART1_RXD__UART1_DCE_RX 0x1b0b1 267 + >; 268 + }; 269 + 270 + pinctrl_usdhc1: usdhc1grp { 271 + fsl,pins = < 272 + MX6SLL_PAD_SD1_CMD__SD1_CMD 0x17059 273 + MX6SLL_PAD_SD1_CLK__SD1_CLK 0x13059 274 + MX6SLL_PAD_SD1_DATA0__SD1_DATA0 0x17059 275 + MX6SLL_PAD_SD1_DATA1__SD1_DATA1 0x17059 276 + MX6SLL_PAD_SD1_DATA2__SD1_DATA2 0x17059 277 + MX6SLL_PAD_SD1_DATA3__SD1_DATA3 0x17059 278 + >; 279 + }; 280 + 281 + pinctrl_usdhc1_100mhz: usdhc1grp_100mhz { 282 + fsl,pins = < 283 + MX6SLL_PAD_SD1_CMD__SD1_CMD 0x170b9 284 + MX6SLL_PAD_SD1_CLK__SD1_CLK 0x130b9 285 + MX6SLL_PAD_SD1_DATA0__SD1_DATA0 0x170b9 286 + MX6SLL_PAD_SD1_DATA1__SD1_DATA1 0x170b9 287 + MX6SLL_PAD_SD1_DATA2__SD1_DATA2 0x170b9 288 + MX6SLL_PAD_SD1_DATA3__SD1_DATA3 0x170b9 289 + >; 290 + }; 291 + 292 + pinctrl_usdhc1_200mhz: usdhc1grp_200mhz { 293 + fsl,pins = < 294 + MX6SLL_PAD_SD1_CMD__SD1_CMD 0x170f9 295 + MX6SLL_PAD_SD1_CLK__SD1_CLK 0x130f9 296 + MX6SLL_PAD_SD1_DATA0__SD1_DATA0 0x170f9 297 + MX6SLL_PAD_SD1_DATA1__SD1_DATA1 0x170f9 298 + MX6SLL_PAD_SD1_DATA2__SD1_DATA2 0x170f9 299 + MX6SLL_PAD_SD1_DATA3__SD1_DATA3 0x170f9 300 + >; 301 + }; 302 + 303 + pinctrl_usbotg1: usbotg1grp { 304 + fsl,pins = < 305 + MX6SLL_PAD_EPDC_PWR_COM__USB_OTG1_ID 0x17059 306 + >; 307 + }; 308 + 309 + pinctrl_i2c1: i2c1grp { 310 + fsl,pins = < 311 + MX6SLL_PAD_I2C1_SCL__I2C1_SCL 0x4001b8b1 312 + MX6SLL_PAD_I2C1_SDA__I2C1_SDA 0x4001b8b1 313 + >; 314 + }; 315 + };