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

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'imx-dt-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX arm32 device tree changes for 6.4:

- New board device trees: Tolino Vison, chargebyte Tarragon,
new revision of the IOTA board.
- A couple of imx7d-remarkable2 update to enable cyttsp5 touch and
BD71815 PMIC.
- A series from Oleksij Rempel to configure Ethernet reference clock
from device tree.
- A series from Stefan Wahren to use label references for i.MX28 based
boards.

* tag 'imx-dt-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (31 commits)
ARM: dts: imx6ull: Add chargebyte Tarragon support
ARM: dts: imx: Add devicetree for Tolino Vison
ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board
ARM: dts: imx6dl-yapp4: Remove unneeded status "okay"
ARM: dts: imx6dl-yapp4: Move status to the end of property list
ARM: dts: imx6dl-yapp4: Move phy reset into switch node
ARM: dts: imx28-tx28: add SPDX-License-Identifier
ARM: dts: imx28-ts4600: Convert to use label references
ARM: dts: imx28-evk: Convert to use label references
ARM: dts: imx28-duckbill-2: Include base board
ARM: dts: imx28-duckbill: Convert to use label references
ARM: dts: imx28-cfa10036: Convert to use label references
ARM: dts: imx28-apx4devkit: Convert to use label references
ARM: dts: imx28-m28/sps1: Convert to use label references
ARM: dts: imx28-apf28: Convert to use label references
ARM: dts: imx7d-remarkable2: Enable the rohm,bd71815
ARM: dts: imx7d-remarkable2: Enable the cyttsp5
ARM: dts: imx6dl-yapp4: Use reset-gpios property name
ARM: dts: imx6ul-prti6g: configure ethernet reference clock parent
ARM: dts: imx6ul: set enet_clk_ref to CLK_ENETx_REF_SEL
...

Link: https://lore.kernel.org/r/20230408101928.280271-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+4859 -2800
+9
arch/arm/boot/dts/Makefile
··· 561 561 imx6dl-wandboard-revd1.dtb \ 562 562 imx6dl-yapp4-draco.dtb \ 563 563 imx6dl-yapp4-hydra.dtb \ 564 + imx6dl-yapp4-lynx.dtb \ 564 565 imx6dl-yapp4-orion.dtb \ 566 + imx6dl-yapp4-phoenix.dtb \ 565 567 imx6dl-yapp4-ursa.dtb \ 566 568 imx6q-apalis-eval.dtb \ 567 569 imx6q-apalis-ixora.dtb \ ··· 670 668 imx6q-wandboard-revb1.dtb \ 671 669 imx6q-wandboard-revd1.dtb \ 672 670 imx6q-yapp4-crux.dtb \ 671 + imx6q-yapp4-pegasus.dtb \ 673 672 imx6q-zii-rdu2.dtb \ 674 673 imx6qp-mba6b.dtb \ 675 674 imx6qp-nitrogen6_max.dtb \ ··· 686 683 imx6qp-vicutp.dtb \ 687 684 imx6qp-wandboard-revd1.dtb \ 688 685 imx6qp-yapp4-crux-plus.dtb \ 686 + imx6qp-yapp4-pegasus-plus.dtb \ 689 687 imx6qp-zii-rdu2.dtb \ 690 688 imx6s-dhcom-drc02.dtb 691 689 dtb-$(CONFIG_SOC_IMX6SL) += \ ··· 694 690 imx6sl-kobo-aura2.dtb \ 695 691 imx6sl-tolino-shine2hd.dtb \ 696 692 imx6sl-tolino-shine3.dtb \ 693 + imx6sl-tolino-vision.dtb \ 697 694 imx6sl-tolino-vision5.dtb \ 698 695 imx6sl-warp.dtb 699 696 dtb-$(CONFIG_SOC_IMX6SLL) += \ ··· 760 755 imx6ull-phytec-segin-lc-rdk-nand.dtb \ 761 756 imx6ull-phytec-tauri-emmc.dtb \ 762 757 imx6ull-phytec-tauri-nand.dtb \ 758 + imx6ull-tarragon-master.dtb \ 759 + imx6ull-tarragon-micro.dtb \ 760 + imx6ull-tarragon-slave.dtb \ 761 + imx6ull-tarragon-slavext.dtb \ 763 762 imx6ull-tqma6ull2-mba6ulx.dtb \ 764 763 imx6ull-tqma6ull2l-mba6ulx.dtb \ 765 764 imx6ulz-14x14-evk.dtb \
+49 -57
arch/arm/boot/dts/imx28-apf28.dts
··· 14 14 device_type = "memory"; 15 15 reg = <0x40000000 0x08000000>; 16 16 }; 17 + }; 17 18 18 - apb@80000000 { 19 - apbh@80000000 { 20 - nand-controller@8000c000 { 21 - pinctrl-names = "default"; 22 - pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 23 - status = "okay"; 19 + &duart { 20 + pinctrl-names = "default"; 21 + pinctrl-0 = <&duart_pins_a>; 22 + status = "okay"; 23 + }; 24 24 25 - partition@0 { 26 - label = "u-boot"; 27 - reg = <0x0 0x300000>; 28 - }; 25 + &gpmi { 26 + pinctrl-names = "default"; 27 + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 28 + status = "okay"; 29 29 30 - partition@300000 { 31 - label = "env"; 32 - reg = <0x300000 0x80000>; 33 - }; 34 - 35 - partition@380000 { 36 - label = "env2"; 37 - reg = <0x380000 0x80000>; 38 - }; 39 - 40 - partition@400000 { 41 - label = "dtb"; 42 - reg = <0x400000 0x80000>; 43 - }; 44 - 45 - partition@480000 { 46 - label = "splash"; 47 - reg = <0x480000 0x80000>; 48 - }; 49 - 50 - partition@500000 { 51 - label = "kernel"; 52 - reg = <0x500000 0x800000>; 53 - }; 54 - 55 - partition@d00000 { 56 - label = "rootfs"; 57 - reg = <0xd00000 0xf300000>; 58 - }; 59 - }; 60 - }; 61 - 62 - apbx@80040000 { 63 - duart: serial@80074000 { 64 - pinctrl-names = "default"; 65 - pinctrl-0 = <&duart_pins_a>; 66 - status = "okay"; 67 - }; 68 - }; 30 + partition@0 { 31 + label = "u-boot"; 32 + reg = <0x0 0x300000>; 69 33 }; 70 34 71 - ahb@80080000 { 72 - mac0: ethernet@800f0000 { 73 - phy-mode = "rmii"; 74 - pinctrl-names = "default"; 75 - pinctrl-0 = <&mac0_pins_a>; 76 - phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 77 - status = "okay"; 78 - }; 35 + partition@300000 { 36 + label = "env"; 37 + reg = <0x300000 0x80000>; 79 38 }; 39 + 40 + partition@380000 { 41 + label = "env2"; 42 + reg = <0x380000 0x80000>; 43 + }; 44 + 45 + partition@400000 { 46 + label = "dtb"; 47 + reg = <0x400000 0x80000>; 48 + }; 49 + 50 + partition@480000 { 51 + label = "splash"; 52 + reg = <0x480000 0x80000>; 53 + }; 54 + 55 + partition@500000 { 56 + label = "kernel"; 57 + reg = <0x500000 0x800000>; 58 + }; 59 + 60 + partition@d00000 { 61 + label = "rootfs"; 62 + reg = <0xd00000 0xf300000>; 63 + }; 64 + }; 65 + 66 + &mac0 { 67 + phy-mode = "rmii"; 68 + pinctrl-names = "default"; 69 + pinctrl-0 = <&mac0_pins_a>; 70 + phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 71 + status = "okay"; 80 72 };
+152 -160
arch/arm/boot/dts/imx28-apf28dev.dts
··· 10 10 model = "Armadeus Systems APF28Dev docking/development board"; 11 11 compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28"; 12 12 13 - apb@80000000 { 14 - apbh@80000000 { 15 - ssp0: spi@80010000 { 16 - compatible = "fsl,imx28-mmc"; 17 - pinctrl-names = "default"; 18 - pinctrl-0 = <&mmc0_4bit_pins_a 19 - &mmc0_cd_cfg &mmc0_sck_cfg>; 20 - bus-width = <4>; 21 - status = "okay"; 22 - }; 23 - 24 - ssp2: spi@80014000 { 25 - compatible = "fsl,imx28-spi"; 26 - pinctrl-names = "default"; 27 - pinctrl-0 = <&spi2_pins_a>; 28 - status = "okay"; 29 - }; 30 - 31 - pinctrl@80018000 { 32 - pinctrl-names = "default"; 33 - pinctrl-0 = <&hog_pins_apf28dev>; 34 - 35 - hog_pins_apf28dev: hog@0 { 36 - reg = <0>; 37 - fsl,pinmux-ids = < 38 - MX28_PAD_LCD_D16__GPIO_1_16 39 - MX28_PAD_LCD_D17__GPIO_1_17 40 - MX28_PAD_LCD_D18__GPIO_1_18 41 - MX28_PAD_LCD_D19__GPIO_1_19 42 - MX28_PAD_LCD_D20__GPIO_1_20 43 - MX28_PAD_LCD_D21__GPIO_1_21 44 - MX28_PAD_LCD_D22__GPIO_1_22 45 - MX28_PAD_GPMI_CE1N__GPIO_0_17 46 - >; 47 - fsl,drive-strength = <MXS_DRIVE_4mA>; 48 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 49 - fsl,pull-up = <MXS_PULL_DISABLE>; 50 - }; 51 - 52 - lcdif_pins_apf28dev: lcdif-apf28dev@0 { 53 - reg = <0>; 54 - fsl,pinmux-ids = < 55 - MX28_PAD_LCD_RD_E__LCD_VSYNC 56 - MX28_PAD_LCD_WR_RWN__LCD_HSYNC 57 - MX28_PAD_LCD_RS__LCD_DOTCLK 58 - MX28_PAD_LCD_CS__LCD_ENABLE 59 - >; 60 - fsl,drive-strength = <MXS_DRIVE_4mA>; 61 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 62 - fsl,pull-up = <MXS_PULL_DISABLE>; 63 - }; 64 - 65 - usb0_otg_apf28dev: otg-apf28dev@0 { 66 - reg = <0>; 67 - fsl,pinmux-ids = < 68 - MX28_PAD_LCD_D23__GPIO_1_23 69 - >; 70 - fsl,drive-strength = <MXS_DRIVE_4mA>; 71 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 72 - fsl,pull-up = <MXS_PULL_DISABLE>; 73 - }; 74 - }; 75 - 76 - lcdif@80030000 { 77 - pinctrl-names = "default"; 78 - pinctrl-0 = <&lcdif_16bit_pins_a 79 - &lcdif_pins_apf28dev>; 80 - display = <&display0>; 81 - status = "okay"; 82 - 83 - display0: display0 { 84 - bits-per-pixel = <16>; 85 - bus-width = <16>; 86 - 87 - display-timings { 88 - native-mode = <&timing0>; 89 - timing0: timing0 { 90 - clock-frequency = <33000033>; 91 - hactive = <800>; 92 - vactive = <480>; 93 - hback-porch = <96>; 94 - hfront-porch = <96>; 95 - vback-porch = <20>; 96 - vfront-porch = <21>; 97 - hsync-len = <64>; 98 - vsync-len = <4>; 99 - hsync-active = <1>; 100 - vsync-active = <1>; 101 - de-active = <1>; 102 - pixelclk-active = <0>; 103 - }; 104 - }; 105 - }; 106 - }; 107 - 108 - can0: can@80032000 { 109 - pinctrl-names = "default"; 110 - pinctrl-0 = <&can0_pins_a>; 111 - xceiver-supply = <&reg_can0_vcc>; 112 - status = "okay"; 113 - }; 114 - }; 115 - 116 - apbx@80040000 { 117 - lradc@80050000 { 118 - fsl,lradc-touchscreen-wires = <4>; 119 - status = "okay"; 120 - }; 121 - 122 - i2c0: i2c@80058000 { 123 - pinctrl-names = "default"; 124 - pinctrl-0 = <&i2c0_pins_a>; 125 - status = "okay"; 126 - }; 127 - 128 - pwm: pwm@80064000 { 129 - pinctrl-names = "default"; 130 - pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>; 131 - status = "okay"; 132 - }; 133 - 134 - auart0: serial@8006a000 { 135 - pinctrl-names = "default"; 136 - pinctrl-0 = <&auart0_pins_a>; 137 - uart-has-rtscts; 138 - status = "okay"; 139 - }; 140 - 141 - usbphy0: usbphy@8007c000 { 142 - status = "okay"; 143 - }; 144 - 145 - usbphy1: usbphy@8007e000 { 146 - status = "okay"; 147 - }; 148 - }; 149 - }; 150 - 151 - ahb@80080000 { 152 - usb0: usb@80080000 { 153 - pinctrl-names = "default"; 154 - pinctrl-0 = <&usb0_otg_apf28dev 155 - &usb0_id_pins_b>; 156 - vbus-supply = <&reg_usb0_vbus>; 157 - status = "okay"; 158 - }; 159 - 160 - usb1: usb@80090000 { 161 - status = "okay"; 162 - }; 163 - 164 - mac1: ethernet@800f4000 { 165 - phy-mode = "rmii"; 166 - pinctrl-names = "default"; 167 - pinctrl-0 = <&mac1_pins_a>; 168 - phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; 169 - status = "okay"; 170 - }; 171 - }; 172 - 173 13 regulators { 174 14 compatible = "simple-bus"; 175 15 #address-cells = <1>; ··· 62 222 wakeup-source; 63 223 }; 64 224 }; 225 + }; 226 + 227 + &auart0 { 228 + pinctrl-names = "default"; 229 + pinctrl-0 = <&auart0_pins_a>; 230 + uart-has-rtscts; 231 + status = "okay"; 232 + }; 233 + 234 + &can0 { 235 + pinctrl-names = "default"; 236 + pinctrl-0 = <&can0_pins_a>; 237 + xceiver-supply = <&reg_can0_vcc>; 238 + status = "okay"; 239 + }; 240 + 241 + &i2c0 { 242 + pinctrl-names = "default"; 243 + pinctrl-0 = <&i2c0_pins_a>; 244 + status = "okay"; 245 + }; 246 + 247 + &lcdif { 248 + pinctrl-names = "default"; 249 + pinctrl-0 = <&lcdif_16bit_pins_a 250 + &lcdif_pins_apf28dev>; 251 + display = <&display0>; 252 + status = "okay"; 253 + 254 + display0: display0 { 255 + bits-per-pixel = <16>; 256 + bus-width = <16>; 257 + 258 + display-timings { 259 + native-mode = <&timing0>; 260 + timing0: timing0 { 261 + clock-frequency = <33000033>; 262 + hactive = <800>; 263 + vactive = <480>; 264 + hback-porch = <96>; 265 + hfront-porch = <96>; 266 + vback-porch = <20>; 267 + vfront-porch = <21>; 268 + hsync-len = <64>; 269 + vsync-len = <4>; 270 + hsync-active = <1>; 271 + vsync-active = <1>; 272 + de-active = <1>; 273 + pixelclk-active = <0>; 274 + }; 275 + }; 276 + }; 277 + }; 278 + 279 + &lradc { 280 + fsl,lradc-touchscreen-wires = <4>; 281 + status = "okay"; 282 + }; 283 + 284 + &mac1 { 285 + phy-mode = "rmii"; 286 + pinctrl-names = "default"; 287 + pinctrl-0 = <&mac1_pins_a>; 288 + phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; 289 + status = "okay"; 290 + }; 291 + 292 + &pinctrl { 293 + pinctrl-names = "default"; 294 + pinctrl-0 = <&hog_pins_apf28dev>; 295 + 296 + hog_pins_apf28dev: hog@0 { 297 + reg = <0>; 298 + fsl,pinmux-ids = < 299 + MX28_PAD_LCD_D16__GPIO_1_16 300 + MX28_PAD_LCD_D17__GPIO_1_17 301 + MX28_PAD_LCD_D18__GPIO_1_18 302 + MX28_PAD_LCD_D19__GPIO_1_19 303 + MX28_PAD_LCD_D20__GPIO_1_20 304 + MX28_PAD_LCD_D21__GPIO_1_21 305 + MX28_PAD_LCD_D22__GPIO_1_22 306 + MX28_PAD_GPMI_CE1N__GPIO_0_17 307 + >; 308 + fsl,drive-strength = <MXS_DRIVE_4mA>; 309 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 310 + fsl,pull-up = <MXS_PULL_DISABLE>; 311 + }; 312 + 313 + lcdif_pins_apf28dev: lcdif-apf28dev@0 { 314 + reg = <0>; 315 + fsl,pinmux-ids = < 316 + MX28_PAD_LCD_RD_E__LCD_VSYNC 317 + MX28_PAD_LCD_WR_RWN__LCD_HSYNC 318 + MX28_PAD_LCD_RS__LCD_DOTCLK 319 + MX28_PAD_LCD_CS__LCD_ENABLE 320 + >; 321 + fsl,drive-strength = <MXS_DRIVE_4mA>; 322 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 323 + fsl,pull-up = <MXS_PULL_DISABLE>; 324 + }; 325 + 326 + usb0_otg_apf28dev: otg-apf28dev@0 { 327 + reg = <0>; 328 + fsl,pinmux-ids = < 329 + MX28_PAD_LCD_D23__GPIO_1_23 330 + >; 331 + fsl,drive-strength = <MXS_DRIVE_4mA>; 332 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 333 + fsl,pull-up = <MXS_PULL_DISABLE>; 334 + }; 335 + }; 336 + 337 + &pwm { 338 + pinctrl-names = "default"; 339 + pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>; 340 + status = "okay"; 341 + }; 342 + 343 + &ssp0 { 344 + compatible = "fsl,imx28-mmc"; 345 + pinctrl-names = "default"; 346 + pinctrl-0 = <&mmc0_4bit_pins_a 347 + &mmc0_cd_cfg &mmc0_sck_cfg>; 348 + bus-width = <4>; 349 + status = "okay"; 350 + }; 351 + 352 + &ssp2 { 353 + compatible = "fsl,imx28-spi"; 354 + pinctrl-names = "default"; 355 + pinctrl-0 = <&spi2_pins_a>; 356 + status = "okay"; 357 + }; 358 + 359 + &usb0 { 360 + pinctrl-names = "default"; 361 + pinctrl-0 = <&usb0_otg_apf28dev 362 + &usb0_id_pins_b>; 363 + vbus-supply = <&reg_usb0_vbus>; 364 + status = "okay"; 365 + }; 366 + 367 + &usb1 { 368 + status = "okay"; 369 + }; 370 + 371 + &usbphy0 { 372 + status = "okay"; 373 + }; 374 + 375 + &usbphy1 { 376 + status = "okay"; 65 377 };
+186 -194
arch/arm/boot/dts/imx28-apx4devkit.dts
··· 11 11 reg = <0x40000000 0x04000000>; 12 12 }; 13 13 14 - apb@80000000 { 15 - apbh@80000000 { 16 - nand-controller@8000c000 { 17 - pinctrl-names = "default"; 18 - pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 19 - status = "okay"; 20 - }; 21 - 22 - ssp0: spi@80010000 { 23 - compatible = "fsl,imx28-mmc"; 24 - pinctrl-names = "default"; 25 - pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>; 26 - bus-width = <4>; 27 - status = "okay"; 28 - }; 29 - 30 - ssp2: spi@80014000 { 31 - compatible = "fsl,imx28-mmc"; 32 - pinctrl-names = "default"; 33 - pinctrl-0 = <&mmc2_4bit_pins_apx4 &mmc2_sck_cfg_apx4>; 34 - bus-width = <4>; 35 - status = "okay"; 36 - }; 37 - 38 - pinctrl@80018000 { 39 - pinctrl-names = "default"; 40 - pinctrl-0 = <&hog_pins_a>; 41 - 42 - hog_pins_a: hog@0 { 43 - reg = <0>; 44 - fsl,pinmux-ids = < 45 - MX28_PAD_GPMI_CE1N__GPIO_0_17 46 - MX28_PAD_GPMI_RDY1__GPIO_0_21 47 - MX28_PAD_SSP2_MISO__GPIO_2_18 48 - MX28_PAD_SSP2_SS0__AUART3_TX /* was: 0x2131 - MX28_PAD_SSP2_SS0__GPIO_2_19 */ 49 - MX28_PAD_PWM3__GPIO_3_28 50 - MX28_PAD_LCD_RESET__GPIO_3_30 51 - MX28_PAD_JTAG_RTCK__GPIO_4_20 52 - >; 53 - fsl,drive-strength = <MXS_DRIVE_4mA>; 54 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 55 - fsl,pull-up = <MXS_PULL_DISABLE>; 56 - }; 57 - 58 - lcdif_pins_apx4: lcdif-apx4@0 { 59 - reg = <0>; 60 - fsl,pinmux-ids = < 61 - MX28_PAD_LCD_RD_E__LCD_VSYNC 62 - MX28_PAD_LCD_WR_RWN__LCD_HSYNC 63 - MX28_PAD_LCD_RS__LCD_DOTCLK 64 - MX28_PAD_LCD_CS__LCD_ENABLE 65 - >; 66 - fsl,drive-strength = <MXS_DRIVE_4mA>; 67 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 68 - fsl,pull-up = <MXS_PULL_DISABLE>; 69 - }; 70 - 71 - mmc2_4bit_pins_apx4: mmc2-4bit-apx4@0 { 72 - reg = <0>; 73 - fsl,pinmux-ids = < 74 - MX28_PAD_SSP0_DATA4__SSP2_D0 75 - MX28_PAD_SSP0_DATA5__SSP2_D3 76 - MX28_PAD_SSP0_DATA6__SSP2_CMD 77 - MX28_PAD_SSP0_DATA7__SSP2_SCK 78 - MX28_PAD_SSP2_SS1__SSP2_D1 79 - MX28_PAD_SSP2_SS2__SSP2_D2 80 - >; 81 - fsl,drive-strength = <MXS_DRIVE_8mA>; 82 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 83 - fsl,pull-up = <MXS_PULL_ENABLE>; 84 - }; 85 - 86 - mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 { 87 - reg = <0>; 88 - fsl,pinmux-ids = < 89 - MX28_PAD_SSP0_DATA7__SSP2_SCK 90 - >; 91 - fsl,drive-strength = <MXS_DRIVE_12mA>; 92 - fsl,pull-up = <MXS_PULL_DISABLE>; 93 - }; 94 - }; 95 - 96 - lcdif@80030000 { 97 - pinctrl-names = "default"; 98 - pinctrl-0 = <&lcdif_24bit_pins_a 99 - &lcdif_pins_apx4>; 100 - display = <&display0>; 101 - status = "okay"; 102 - 103 - display0: display0 { 104 - bits-per-pixel = <32>; 105 - bus-width = <24>; 106 - 107 - display-timings { 108 - native-mode = <&timing0>; 109 - timing0: timing0 { 110 - clock-frequency = <30000000>; 111 - hactive = <800>; 112 - vactive = <480>; 113 - hback-porch = <88>; 114 - hfront-porch = <40>; 115 - vback-porch = <32>; 116 - vfront-porch = <13>; 117 - hsync-len = <48>; 118 - vsync-len = <3>; 119 - hsync-active = <1>; 120 - vsync-active = <1>; 121 - de-active = <1>; 122 - pixelclk-active = <0>; 123 - }; 124 - }; 125 - }; 126 - }; 127 - }; 128 - 129 - apbx@80040000 { 130 - saif0: saif@80042000 { 131 - pinctrl-names = "default"; 132 - pinctrl-0 = <&saif0_pins_a>; 133 - status = "okay"; 134 - }; 135 - 136 - saif1: saif@80046000 { 137 - pinctrl-names = "default"; 138 - pinctrl-0 = <&saif1_pins_a>; 139 - fsl,saif-master = <&saif0>; 140 - status = "okay"; 141 - }; 142 - 143 - i2c0: i2c@80058000 { 144 - pinctrl-names = "default"; 145 - pinctrl-0 = <&i2c0_pins_a>; 146 - status = "okay"; 147 - 148 - sgtl5000: codec@a { 149 - compatible = "fsl,sgtl5000"; 150 - reg = <0x0a>; 151 - #sound-dai-cells = <0>; 152 - VDDA-supply = <&reg_3p3v>; 153 - VDDIO-supply = <&reg_3p3v>; 154 - clocks = <&saif0>; 155 - }; 156 - 157 - pcf8563: rtc@51 { 158 - compatible = "phg,pcf8563"; 159 - reg = <0x51>; 160 - }; 161 - }; 162 - 163 - duart: serial@80074000 { 164 - pinctrl-names = "default"; 165 - pinctrl-0 = <&duart_pins_a>; 166 - status = "okay"; 167 - }; 168 - 169 - auart0: serial@8006a000 { 170 - pinctrl-names = "default"; 171 - pinctrl-0 = <&auart0_pins_a>; 172 - status = "okay"; 173 - }; 174 - 175 - auart1: serial@8006c000 { 176 - pinctrl-names = "default"; 177 - pinctrl-0 = <&auart1_2pins_a>; 178 - status = "okay"; 179 - }; 180 - 181 - auart2: serial@8006e000 { 182 - pinctrl-names = "default"; 183 - pinctrl-0 = <&auart2_2pins_a>; 184 - status = "okay"; 185 - }; 186 - 187 - usbphy1: usbphy@8007e000 { 188 - pinctrl-names = "default"; 189 - pinctrl-0 = <&usb1_pins_a>; 190 - status = "okay"; 191 - }; 192 - }; 193 - }; 194 - 195 - ahb@80080000 { 196 - usb1: usb@80090000 { 197 - status = "okay"; 198 - }; 199 - 200 - mac0: ethernet@800f0000 { 201 - phy-mode = "rmii"; 202 - pinctrl-names = "default"; 203 - pinctrl-0 = <&mac0_pins_a>; 204 - status = "okay"; 205 - }; 206 - }; 207 - 208 14 regulators { 209 15 compatible = "simple-bus"; 210 16 #address-cells = <1>; ··· 43 237 linux,default-trigger = "heartbeat"; 44 238 }; 45 239 }; 240 + }; 241 + 242 + &auart0 { 243 + pinctrl-names = "default"; 244 + pinctrl-0 = <&auart0_pins_a>; 245 + status = "okay"; 246 + }; 247 + 248 + &auart1 { 249 + pinctrl-names = "default"; 250 + pinctrl-0 = <&auart1_2pins_a>; 251 + status = "okay"; 252 + }; 253 + 254 + &auart2 { 255 + pinctrl-names = "default"; 256 + pinctrl-0 = <&auart2_2pins_a>; 257 + status = "okay"; 258 + }; 259 + 260 + &duart { 261 + pinctrl-names = "default"; 262 + pinctrl-0 = <&duart_pins_a>; 263 + status = "okay"; 264 + }; 265 + 266 + &gpmi { 267 + pinctrl-names = "default"; 268 + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 269 + status = "okay"; 270 + }; 271 + 272 + &lcdif { 273 + pinctrl-names = "default"; 274 + pinctrl-0 = <&lcdif_24bit_pins_a 275 + &lcdif_pins_apx4>; 276 + display = <&display0>; 277 + status = "okay"; 278 + 279 + display0: display0 { 280 + bits-per-pixel = <32>; 281 + bus-width = <24>; 282 + 283 + display-timings { 284 + native-mode = <&timing0>; 285 + timing0: timing0 { 286 + clock-frequency = <30000000>; 287 + hactive = <800>; 288 + vactive = <480>; 289 + hback-porch = <88>; 290 + hfront-porch = <40>; 291 + vback-porch = <32>; 292 + vfront-porch = <13>; 293 + hsync-len = <48>; 294 + vsync-len = <3>; 295 + hsync-active = <1>; 296 + vsync-active = <1>; 297 + de-active = <1>; 298 + pixelclk-active = <0>; 299 + }; 300 + }; 301 + }; 302 + }; 303 + 304 + &i2c0 { 305 + pinctrl-names = "default"; 306 + pinctrl-0 = <&i2c0_pins_a>; 307 + status = "okay"; 308 + 309 + sgtl5000: codec@a { 310 + compatible = "fsl,sgtl5000"; 311 + reg = <0x0a>; 312 + #sound-dai-cells = <0>; 313 + VDDA-supply = <&reg_3p3v>; 314 + VDDIO-supply = <&reg_3p3v>; 315 + clocks = <&saif0>; 316 + }; 317 + 318 + pcf8563: rtc@51 { 319 + compatible = "phg,pcf8563"; 320 + reg = <0x51>; 321 + }; 322 + }; 323 + 324 + &mac0 { 325 + phy-mode = "rmii"; 326 + pinctrl-names = "default"; 327 + pinctrl-0 = <&mac0_pins_a>; 328 + status = "okay"; 329 + }; 330 + 331 + &pinctrl { 332 + pinctrl-names = "default"; 333 + pinctrl-0 = <&hog_pins_a>; 334 + 335 + hog_pins_a: hog@0 { 336 + reg = <0>; 337 + fsl,pinmux-ids = < 338 + MX28_PAD_GPMI_CE1N__GPIO_0_17 339 + MX28_PAD_GPMI_RDY1__GPIO_0_21 340 + MX28_PAD_SSP2_MISO__GPIO_2_18 341 + MX28_PAD_SSP2_SS0__AUART3_TX /* was: 0x2131 - MX28_PAD_SSP2_SS0__GPIO_2_19 */ 342 + MX28_PAD_PWM3__GPIO_3_28 343 + MX28_PAD_LCD_RESET__GPIO_3_30 344 + MX28_PAD_JTAG_RTCK__GPIO_4_20 345 + >; 346 + fsl,drive-strength = <MXS_DRIVE_4mA>; 347 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 348 + fsl,pull-up = <MXS_PULL_DISABLE>; 349 + }; 350 + 351 + lcdif_pins_apx4: lcdif-apx4@0 { 352 + reg = <0>; 353 + fsl,pinmux-ids = < 354 + MX28_PAD_LCD_RD_E__LCD_VSYNC 355 + MX28_PAD_LCD_WR_RWN__LCD_HSYNC 356 + MX28_PAD_LCD_RS__LCD_DOTCLK 357 + MX28_PAD_LCD_CS__LCD_ENABLE 358 + >; 359 + fsl,drive-strength = <MXS_DRIVE_4mA>; 360 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 361 + fsl,pull-up = <MXS_PULL_DISABLE>; 362 + }; 363 + 364 + mmc2_4bit_pins_apx4: mmc2-4bit-apx4@0 { 365 + reg = <0>; 366 + fsl,pinmux-ids = < 367 + MX28_PAD_SSP0_DATA4__SSP2_D0 368 + MX28_PAD_SSP0_DATA5__SSP2_D3 369 + MX28_PAD_SSP0_DATA6__SSP2_CMD 370 + MX28_PAD_SSP0_DATA7__SSP2_SCK 371 + MX28_PAD_SSP2_SS1__SSP2_D1 372 + MX28_PAD_SSP2_SS2__SSP2_D2 373 + >; 374 + fsl,drive-strength = <MXS_DRIVE_8mA>; 375 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 376 + fsl,pull-up = <MXS_PULL_ENABLE>; 377 + }; 378 + 379 + mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 { 380 + reg = <0>; 381 + fsl,pinmux-ids = < 382 + MX28_PAD_SSP0_DATA7__SSP2_SCK 383 + >; 384 + fsl,drive-strength = <MXS_DRIVE_12mA>; 385 + fsl,pull-up = <MXS_PULL_DISABLE>; 386 + }; 387 + }; 388 + 389 + &saif0 { 390 + pinctrl-names = "default"; 391 + pinctrl-0 = <&saif0_pins_a>; 392 + status = "okay"; 393 + }; 394 + 395 + &saif1 { 396 + pinctrl-names = "default"; 397 + pinctrl-0 = <&saif1_pins_a>; 398 + fsl,saif-master = <&saif0>; 399 + status = "okay"; 400 + }; 401 + 402 + &ssp0 { 403 + compatible = "fsl,imx28-mmc"; 404 + pinctrl-names = "default"; 405 + pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>; 406 + bus-width = <4>; 407 + status = "okay"; 408 + }; 409 + 410 + &ssp2 { 411 + compatible = "fsl,imx28-mmc"; 412 + pinctrl-names = "default"; 413 + pinctrl-0 = <&mmc2_4bit_pins_apx4 &mmc2_sck_cfg_apx4>; 414 + bus-width = <4>; 415 + status = "okay"; 416 + }; 417 + 418 + &usb1 { 419 + status = "okay"; 420 + }; 421 + 422 + &usbphy1 { 423 + pinctrl-names = "default"; 424 + pinctrl-0 = <&usb1_pins_a>; 425 + status = "okay"; 46 426 };
+92 -101
arch/arm/boot/dts/imx28-cfa10036.dts
··· 16 16 reg = <0x40000000 0x08000000>; 17 17 }; 18 18 19 - apb@80000000 { 20 - apbh@80000000 { 21 - pinctrl@80018000 { 22 - ssd1306_cfa10036: ssd1306-10036@0 { 23 - reg = <0>; 24 - fsl,pinmux-ids = < 25 - MX28_PAD_SSP0_DATA7__GPIO_2_7 26 - >; 27 - fsl,drive-strength = <MXS_DRIVE_4mA>; 28 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 29 - fsl,pull-up = <MXS_PULL_DISABLE>; 30 - }; 31 - 32 - led_pins_cfa10036: leds-10036@0 { 33 - reg = <0>; 34 - fsl,pinmux-ids = < 35 - MX28_PAD_AUART1_RX__GPIO_3_4 36 - >; 37 - fsl,drive-strength = <MXS_DRIVE_4mA>; 38 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 39 - fsl,pull-up = <MXS_PULL_DISABLE>; 40 - }; 41 - 42 - usb0_otg_cfa10036: otg-10036@0 { 43 - reg = <0>; 44 - fsl,pinmux-ids = < 45 - MX28_PAD_GPMI_RDY0__USB0_ID 46 - >; 47 - fsl,drive-strength = <MXS_DRIVE_4mA>; 48 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 49 - fsl,pull-up = <MXS_PULL_DISABLE>; 50 - }; 51 - 52 - mmc_pwr_cfa10036: mmc_pwr_cfa10036@0 { 53 - reg = <0>; 54 - fsl,pinmux-ids = < 55 - 0x31c3 /* 56 - MX28_PAD_PWM3__GPIO_3_28 */ 57 - >; 58 - fsl,drive-strength = <0>; 59 - fsl,voltage = <1>; 60 - fsl,pull-up = <0>; 61 - }; 62 - 63 - }; 64 - 65 - ssp0: spi@80010000 { 66 - compatible = "fsl,imx28-mmc"; 67 - pinctrl-names = "default"; 68 - pinctrl-0 = <&mmc0_4bit_pins_a 69 - &mmc0_cd_cfg &mmc0_sck_cfg>; 70 - vmmc-supply = <&reg_vddio_sd0>; 71 - bus-width = <4>; 72 - status = "okay"; 73 - }; 74 - }; 75 - 76 - apbx@80040000 { 77 - duart: serial@80074000 { 78 - pinctrl-names = "default"; 79 - pinctrl-0 = <&duart_pins_b>; 80 - status = "okay"; 81 - }; 82 - 83 - i2c0: i2c@80058000 { 84 - pinctrl-names = "default"; 85 - pinctrl-0 = <&i2c0_pins_b>; 86 - clock-frequency = <400000>; 87 - status = "okay"; 88 - 89 - ssd1306: oled@3c { 90 - compatible = "solomon,ssd1306fb-i2c"; 91 - pinctrl-names = "default"; 92 - pinctrl-0 = <&ssd1306_cfa10036>; 93 - reg = <0x3c>; 94 - reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; 95 - solomon,height = <32>; 96 - solomon,width = <128>; 97 - solomon,page-offset = <0>; 98 - solomon,com-lrremap; 99 - solomon,com-invdir; 100 - solomon,com-offset = <32>; 101 - }; 102 - }; 103 - 104 - usbphy0: usbphy@8007c000 { 105 - status = "okay"; 106 - }; 107 - }; 108 - }; 109 - 110 - ahb@80080000 { 111 - usb0: usb@80080000 { 112 - pinctrl-names = "default"; 113 - pinctrl-0 = <&usb0_otg_cfa10036>; 114 - dr_mode = "peripheral"; 115 - phy_type = "utmi"; 116 - status = "okay"; 117 - }; 118 - }; 119 - 120 19 leds { 121 20 compatible = "gpio-leds"; 122 21 pinctrl-names = "default"; ··· 36 137 regulator-max-microvolt = <3300000>; 37 138 gpio = <&gpio3 28 0>; 38 139 }; 140 + }; 141 + 142 + &duart { 143 + pinctrl-names = "default"; 144 + pinctrl-0 = <&duart_pins_b>; 145 + status = "okay"; 146 + }; 147 + 148 + &i2c0 { 149 + pinctrl-names = "default"; 150 + pinctrl-0 = <&i2c0_pins_b>; 151 + clock-frequency = <400000>; 152 + status = "okay"; 153 + 154 + ssd1306: oled@3c { 155 + compatible = "solomon,ssd1306fb-i2c"; 156 + pinctrl-names = "default"; 157 + pinctrl-0 = <&ssd1306_cfa10036>; 158 + reg = <0x3c>; 159 + reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; 160 + solomon,height = <32>; 161 + solomon,width = <128>; 162 + solomon,page-offset = <0>; 163 + solomon,com-lrremap; 164 + solomon,com-invdir; 165 + solomon,com-offset = <32>; 166 + }; 167 + }; 168 + 169 + &pinctrl { 170 + ssd1306_cfa10036: ssd1306-10036@0 { 171 + reg = <0>; 172 + fsl,pinmux-ids = < 173 + MX28_PAD_SSP0_DATA7__GPIO_2_7 174 + >; 175 + fsl,drive-strength = <MXS_DRIVE_4mA>; 176 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 177 + fsl,pull-up = <MXS_PULL_DISABLE>; 178 + }; 179 + 180 + led_pins_cfa10036: leds-10036@0 { 181 + reg = <0>; 182 + fsl,pinmux-ids = < 183 + MX28_PAD_AUART1_RX__GPIO_3_4 184 + >; 185 + fsl,drive-strength = <MXS_DRIVE_4mA>; 186 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 187 + fsl,pull-up = <MXS_PULL_DISABLE>; 188 + }; 189 + 190 + usb0_otg_cfa10036: otg-10036@0 { 191 + reg = <0>; 192 + fsl,pinmux-ids = < 193 + MX28_PAD_GPMI_RDY0__USB0_ID 194 + >; 195 + fsl,drive-strength = <MXS_DRIVE_4mA>; 196 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 197 + fsl,pull-up = <MXS_PULL_DISABLE>; 198 + }; 199 + 200 + mmc_pwr_cfa10036: mmc_pwr_cfa10036@0 { 201 + reg = <0>; 202 + fsl,pinmux-ids = < 203 + 0x31c3 /* 204 + MX28_PAD_PWM3__GPIO_3_28 */ 205 + >; 206 + fsl,drive-strength = <0>; 207 + fsl,voltage = <1>; 208 + fsl,pull-up = <0>; 209 + }; 210 + }; 211 + 212 + &ssp0 { 213 + compatible = "fsl,imx28-mmc"; 214 + pinctrl-names = "default"; 215 + pinctrl-0 = <&mmc0_4bit_pins_a 216 + &mmc0_cd_cfg &mmc0_sck_cfg>; 217 + vmmc-supply = <&reg_vddio_sd0>; 218 + bus-width = <4>; 219 + status = "okay"; 220 + }; 221 + 222 + &usb0 { 223 + pinctrl-names = "default"; 224 + pinctrl-0 = <&usb0_otg_cfa10036>; 225 + dr_mode = "peripheral"; 226 + phy_type = "utmi"; 227 + status = "okay"; 228 + }; 229 + 230 + &usbphy0 { 231 + status = "okay"; 39 232 };
+222 -232
arch/arm/boot/dts/imx28-cfa10049.dts
··· 78 78 }; 79 79 }; 80 80 81 - apb@80000000 { 82 - apbh@80000000 { 83 - pinctrl@80018000 { 84 - usb_pins_cfa10049: usb-10049@0 { 85 - reg = <0>; 86 - fsl,pinmux-ids = < 87 - MX28_PAD_GPMI_D07__GPIO_0_7 88 - >; 89 - fsl,drive-strength = <MXS_DRIVE_4mA>; 90 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 91 - fsl,pull-up = <MXS_PULL_DISABLE>; 92 - }; 93 - 94 - i2cmux_pins_cfa10049: i2cmux-10049@0 { 95 - reg = <0>; 96 - fsl,pinmux-ids = < 97 - MX28_PAD_LCD_D22__GPIO_1_22 98 - MX28_PAD_LCD_D23__GPIO_1_23 99 - >; 100 - fsl,drive-strength = <MXS_DRIVE_4mA>; 101 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 102 - fsl,pull-up = <MXS_PULL_DISABLE>; 103 - }; 104 - 105 - mac0_pins_cfa10049: mac0-10049@0 { 106 - reg = <0>; 107 - fsl,pinmux-ids = < 108 - MX28_PAD_SSP2_SS2__GPIO_2_21 109 - >; 110 - fsl,drive-strength = <MXS_DRIVE_4mA>; 111 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 112 - fsl,pull-up = <MXS_PULL_DISABLE>; 113 - }; 114 - 115 - pca_pins_cfa10049: pca-10049@0 { 116 - reg = <0>; 117 - fsl,pinmux-ids = < 118 - MX28_PAD_SSP2_SS0__GPIO_2_19 119 - >; 120 - fsl,drive-strength = <MXS_DRIVE_4mA>; 121 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 122 - fsl,pull-up = <MXS_PULL_ENABLE>; 123 - }; 124 - 125 - rotary_pins_cfa10049: rotary-10049@0 { 126 - reg = <0>; 127 - fsl,pinmux-ids = < 128 - MX28_PAD_I2C0_SCL__GPIO_3_24 129 - MX28_PAD_I2C0_SDA__GPIO_3_25 130 - >; 131 - fsl,drive-strength = <MXS_DRIVE_4mA>; 132 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 133 - fsl,pull-up = <MXS_PULL_ENABLE>; 134 - }; 135 - 136 - rotary_btn_pins_cfa10049: rotary-btn-10049@0 { 137 - reg = <0>; 138 - fsl,pinmux-ids = < 139 - MX28_PAD_SAIF1_SDATA0__GPIO_3_26 140 - >; 141 - fsl,drive-strength = <MXS_DRIVE_4mA>; 142 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 143 - fsl,pull-up = <MXS_PULL_ENABLE>; 144 - }; 145 - 146 - spi2_pins_cfa10049: spi2-cfa10049@0 { 147 - reg = <0>; 148 - fsl,pinmux-ids = < 149 - MX28_PAD_SSP2_SCK__GPIO_2_16 150 - MX28_PAD_SSP2_MOSI__GPIO_2_17 151 - MX28_PAD_SSP2_MISO__GPIO_2_18 152 - MX28_PAD_AUART1_TX__GPIO_3_5 153 - >; 154 - fsl,drive-strength = <MXS_DRIVE_8mA>; 155 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 156 - fsl,pull-up = <MXS_PULL_ENABLE>; 157 - }; 158 - 159 - spi3_pins_cfa10049: spi3-cfa10049@0 { 160 - reg = <0>; 161 - fsl,pinmux-ids = < 162 - MX28_PAD_GPMI_RDN__GPIO_0_24 163 - MX28_PAD_GPMI_RESETN__GPIO_0_28 164 - MX28_PAD_GPMI_CE1N__GPIO_0_17 165 - MX28_PAD_GPMI_ALE__GPIO_0_26 166 - MX28_PAD_GPMI_CLE__GPIO_0_27 167 - >; 168 - fsl,drive-strength = <MXS_DRIVE_8mA>; 169 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 170 - fsl,pull-up = <MXS_PULL_ENABLE>; 171 - }; 172 - 173 - lcdif_18bit_pins_cfa10049: lcdif-18bit@0 { 174 - reg = <0>; 175 - fsl,pinmux-ids = < 176 - MX28_PAD_LCD_D00__LCD_D0 177 - MX28_PAD_LCD_D01__LCD_D1 178 - MX28_PAD_LCD_D02__LCD_D2 179 - MX28_PAD_LCD_D03__LCD_D3 180 - MX28_PAD_LCD_D04__LCD_D4 181 - MX28_PAD_LCD_D05__LCD_D5 182 - MX28_PAD_LCD_D06__LCD_D6 183 - MX28_PAD_LCD_D07__LCD_D7 184 - MX28_PAD_LCD_D08__LCD_D8 185 - MX28_PAD_LCD_D09__LCD_D9 186 - MX28_PAD_LCD_D10__LCD_D10 187 - MX28_PAD_LCD_D11__LCD_D11 188 - MX28_PAD_LCD_D12__LCD_D12 189 - MX28_PAD_LCD_D13__LCD_D13 190 - MX28_PAD_LCD_D14__LCD_D14 191 - MX28_PAD_LCD_D15__LCD_D15 192 - MX28_PAD_LCD_D16__LCD_D16 193 - MX28_PAD_LCD_D17__LCD_D17 194 - >; 195 - fsl,drive-strength = <MXS_DRIVE_4mA>; 196 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 197 - fsl,pull-up = <MXS_PULL_DISABLE>; 198 - }; 199 - 200 - lcdif_pins_cfa10049: lcdif-evk@0 { 201 - reg = <0>; 202 - fsl,pinmux-ids = < 203 - MX28_PAD_LCD_RD_E__LCD_VSYNC 204 - MX28_PAD_LCD_WR_RWN__LCD_HSYNC 205 - MX28_PAD_LCD_RS__LCD_DOTCLK 206 - MX28_PAD_LCD_CS__LCD_ENABLE 207 - >; 208 - fsl,drive-strength = <MXS_DRIVE_4mA>; 209 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 210 - fsl,pull-up = <MXS_PULL_DISABLE>; 211 - }; 212 - 213 - lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 { 214 - reg = <0>; 215 - fsl,pinmux-ids = < 216 - MX28_PAD_LCD_RESET__GPIO_3_30 217 - >; 218 - fsl,drive-strength = <MXS_DRIVE_4mA>; 219 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 220 - fsl,pull-up = <MXS_PULL_ENABLE>; 221 - }; 222 - 223 - w1_gpio_pins: w1-gpio@0 { 224 - reg = <0>; 225 - fsl,pinmux-ids = < 226 - MX28_PAD_LCD_D21__GPIO_1_21 227 - >; 228 - fsl,drive-strength = <MXS_DRIVE_8mA>; 229 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 230 - fsl,pull-up = <MXS_PULL_DISABLE>; /* 0 will enable the keeper */ 231 - }; 232 - }; 233 - 234 - lcdif@80030000 { 235 - pinctrl-names = "default"; 236 - pinctrl-0 = <&lcdif_18bit_pins_cfa10049 237 - &lcdif_pins_cfa10049 238 - &lcdif_pins_cfa10049_pullup>; 239 - display = <&display0>; 240 - status = "okay"; 241 - 242 - display0: display0 { 243 - bits-per-pixel = <32>; 244 - bus-width = <18>; 245 - 246 - display-timings { 247 - native-mode = <&timing0>; 248 - timing0: timing0 { 249 - clock-frequency = <9216000>; 250 - hactive = <320>; 251 - vactive = <480>; 252 - hback-porch = <2>; 253 - hfront-porch = <2>; 254 - vback-porch = <2>; 255 - vfront-porch = <2>; 256 - hsync-len = <15>; 257 - vsync-len = <15>; 258 - hsync-active = <0>; 259 - vsync-active = <0>; 260 - de-active = <1>; 261 - pixelclk-active = <1>; 262 - }; 263 - }; 264 - }; 265 - }; 266 - }; 267 - 268 - apbx@80040000 { 269 - pwm: pwm@80064000 { 270 - pinctrl-names = "default"; 271 - pinctrl-0 = <&pwm3_pins_b>; 272 - status = "okay"; 273 - }; 274 - 275 - i2c1: i2c@8005a000 { 276 - pinctrl-names = "default"; 277 - pinctrl-0 = <&i2c1_pins_a>; 278 - status = "okay"; 279 - }; 280 - 281 - usbphy1: usbphy@8007e000 { 282 - status = "okay"; 283 - }; 284 - 285 - lradc@80050000 { 286 - status = "okay"; 287 - fsl,lradc-touchscreen-wires = <4>; 288 - }; 289 - }; 290 - }; 291 - 292 - ahb@80080000 { 293 - usb1: usb@80090000 { 294 - vbus-supply = <&reg_usb1_vbus>; 295 - pinctrl-0 = <&usb1_pins_a>; 296 - pinctrl-names = "default"; 297 - status = "okay"; 298 - }; 299 - }; 300 - 301 81 regulators { 302 82 compatible = "simple-bus"; 303 83 #address-cells = <1>; ··· 92 312 regulator-min-microvolt = <5000000>; 93 313 regulator-max-microvolt = <5000000>; 94 314 gpio = <&gpio0 7 1>; 95 - }; 96 - }; 97 - 98 - ahb@80080000 { 99 - mac0: ethernet@800f0000 { 100 - phy-mode = "rmii"; 101 - pinctrl-names = "default"; 102 - pinctrl-0 = <&mac0_pins_a 103 - &mac0_pins_cfa10049>; 104 - phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; 105 - phy-reset-duration = <100>; 106 - status = "okay"; 107 315 }; 108 316 }; 109 317 ··· 193 425 status = "okay"; 194 426 gpios = <&gpio1 21 0>; 195 427 }; 428 + }; 429 + 430 + &i2c1 { 431 + pinctrl-names = "default"; 432 + pinctrl-0 = <&i2c1_pins_a>; 433 + status = "okay"; 434 + }; 435 + 436 + &lcdif { 437 + pinctrl-names = "default"; 438 + pinctrl-0 = <&lcdif_18bit_pins_cfa10049 439 + &lcdif_pins_cfa10049 440 + &lcdif_pins_cfa10049_pullup>; 441 + display = <&display0>; 442 + status = "okay"; 443 + 444 + display0: display0 { 445 + bits-per-pixel = <32>; 446 + bus-width = <18>; 447 + 448 + display-timings { 449 + native-mode = <&timing0>; 450 + timing0: timing0 { 451 + clock-frequency = <9216000>; 452 + hactive = <320>; 453 + vactive = <480>; 454 + hback-porch = <2>; 455 + hfront-porch = <2>; 456 + vback-porch = <2>; 457 + vfront-porch = <2>; 458 + hsync-len = <15>; 459 + vsync-len = <15>; 460 + hsync-active = <0>; 461 + vsync-active = <0>; 462 + de-active = <1>; 463 + pixelclk-active = <1>; 464 + }; 465 + }; 466 + }; 467 + }; 468 + 469 + &lradc { 470 + fsl,lradc-touchscreen-wires = <4>; 471 + status = "okay"; 472 + }; 473 + 474 + &mac0 { 475 + phy-mode = "rmii"; 476 + pinctrl-names = "default"; 477 + pinctrl-0 = <&mac0_pins_a 478 + &mac0_pins_cfa10049>; 479 + phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; 480 + phy-reset-duration = <100>; 481 + status = "okay"; 482 + }; 483 + 484 + &pinctrl { 485 + usb_pins_cfa10049: usb-10049@0 { 486 + reg = <0>; 487 + fsl,pinmux-ids = < 488 + MX28_PAD_GPMI_D07__GPIO_0_7 489 + >; 490 + fsl,drive-strength = <MXS_DRIVE_4mA>; 491 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 492 + fsl,pull-up = <MXS_PULL_DISABLE>; 493 + }; 494 + 495 + i2cmux_pins_cfa10049: i2cmux-10049@0 { 496 + reg = <0>; 497 + fsl,pinmux-ids = < 498 + MX28_PAD_LCD_D22__GPIO_1_22 499 + MX28_PAD_LCD_D23__GPIO_1_23 500 + >; 501 + fsl,drive-strength = <MXS_DRIVE_4mA>; 502 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 503 + fsl,pull-up = <MXS_PULL_DISABLE>; 504 + }; 505 + 506 + mac0_pins_cfa10049: mac0-10049@0 { 507 + reg = <0>; 508 + fsl,pinmux-ids = < 509 + MX28_PAD_SSP2_SS2__GPIO_2_21 510 + >; 511 + fsl,drive-strength = <MXS_DRIVE_4mA>; 512 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 513 + fsl,pull-up = <MXS_PULL_DISABLE>; 514 + }; 515 + 516 + pca_pins_cfa10049: pca-10049@0 { 517 + reg = <0>; 518 + fsl,pinmux-ids = < 519 + MX28_PAD_SSP2_SS0__GPIO_2_19 520 + >; 521 + fsl,drive-strength = <MXS_DRIVE_4mA>; 522 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 523 + fsl,pull-up = <MXS_PULL_ENABLE>; 524 + }; 525 + 526 + rotary_pins_cfa10049: rotary-10049@0 { 527 + reg = <0>; 528 + fsl,pinmux-ids = < 529 + MX28_PAD_I2C0_SCL__GPIO_3_24 530 + MX28_PAD_I2C0_SDA__GPIO_3_25 531 + >; 532 + fsl,drive-strength = <MXS_DRIVE_4mA>; 533 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 534 + fsl,pull-up = <MXS_PULL_ENABLE>; 535 + }; 536 + 537 + rotary_btn_pins_cfa10049: rotary-btn-10049@0 { 538 + reg = <0>; 539 + fsl,pinmux-ids = < 540 + MX28_PAD_SAIF1_SDATA0__GPIO_3_26 541 + >; 542 + fsl,drive-strength = <MXS_DRIVE_4mA>; 543 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 544 + fsl,pull-up = <MXS_PULL_ENABLE>; 545 + }; 546 + 547 + spi2_pins_cfa10049: spi2-cfa10049@0 { 548 + reg = <0>; 549 + fsl,pinmux-ids = < 550 + MX28_PAD_SSP2_SCK__GPIO_2_16 551 + MX28_PAD_SSP2_MOSI__GPIO_2_17 552 + MX28_PAD_SSP2_MISO__GPIO_2_18 553 + MX28_PAD_AUART1_TX__GPIO_3_5 554 + >; 555 + fsl,drive-strength = <MXS_DRIVE_8mA>; 556 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 557 + fsl,pull-up = <MXS_PULL_ENABLE>; 558 + }; 559 + 560 + spi3_pins_cfa10049: spi3-cfa10049@0 { 561 + reg = <0>; 562 + fsl,pinmux-ids = < 563 + MX28_PAD_GPMI_RDN__GPIO_0_24 564 + MX28_PAD_GPMI_RESETN__GPIO_0_28 565 + MX28_PAD_GPMI_CE1N__GPIO_0_17 566 + MX28_PAD_GPMI_ALE__GPIO_0_26 567 + MX28_PAD_GPMI_CLE__GPIO_0_27 568 + >; 569 + fsl,drive-strength = <MXS_DRIVE_8mA>; 570 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 571 + fsl,pull-up = <MXS_PULL_ENABLE>; 572 + }; 573 + 574 + lcdif_18bit_pins_cfa10049: lcdif-18bit@0 { 575 + reg = <0>; 576 + fsl,pinmux-ids = < 577 + MX28_PAD_LCD_D00__LCD_D0 578 + MX28_PAD_LCD_D01__LCD_D1 579 + MX28_PAD_LCD_D02__LCD_D2 580 + MX28_PAD_LCD_D03__LCD_D3 581 + MX28_PAD_LCD_D04__LCD_D4 582 + MX28_PAD_LCD_D05__LCD_D5 583 + MX28_PAD_LCD_D06__LCD_D6 584 + MX28_PAD_LCD_D07__LCD_D7 585 + MX28_PAD_LCD_D08__LCD_D8 586 + MX28_PAD_LCD_D09__LCD_D9 587 + MX28_PAD_LCD_D10__LCD_D10 588 + MX28_PAD_LCD_D11__LCD_D11 589 + MX28_PAD_LCD_D12__LCD_D12 590 + MX28_PAD_LCD_D13__LCD_D13 591 + MX28_PAD_LCD_D14__LCD_D14 592 + MX28_PAD_LCD_D15__LCD_D15 593 + MX28_PAD_LCD_D16__LCD_D16 594 + MX28_PAD_LCD_D17__LCD_D17 595 + >; 596 + fsl,drive-strength = <MXS_DRIVE_4mA>; 597 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 598 + fsl,pull-up = <MXS_PULL_DISABLE>; 599 + }; 600 + 601 + lcdif_pins_cfa10049: lcdif-evk@0 { 602 + reg = <0>; 603 + fsl,pinmux-ids = < 604 + MX28_PAD_LCD_RD_E__LCD_VSYNC 605 + MX28_PAD_LCD_WR_RWN__LCD_HSYNC 606 + MX28_PAD_LCD_RS__LCD_DOTCLK 607 + MX28_PAD_LCD_CS__LCD_ENABLE 608 + >; 609 + fsl,drive-strength = <MXS_DRIVE_4mA>; 610 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 611 + fsl,pull-up = <MXS_PULL_DISABLE>; 612 + }; 613 + 614 + lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 { 615 + reg = <0>; 616 + fsl,pinmux-ids = < 617 + MX28_PAD_LCD_RESET__GPIO_3_30 618 + >; 619 + fsl,drive-strength = <MXS_DRIVE_4mA>; 620 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 621 + fsl,pull-up = <MXS_PULL_ENABLE>; 622 + }; 623 + 624 + w1_gpio_pins: w1-gpio@0 { 625 + reg = <0>; 626 + fsl,pinmux-ids = < 627 + MX28_PAD_LCD_D21__GPIO_1_21 628 + >; 629 + fsl,drive-strength = <MXS_DRIVE_8mA>; 630 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 631 + fsl,pull-up = <MXS_PULL_DISABLE>; /* 0 will enable the keeper */ 632 + }; 633 + }; 634 + 635 + &pwm { 636 + pinctrl-names = "default"; 637 + pinctrl-0 = <&pwm3_pins_b>; 638 + status = "okay"; 639 + }; 640 + 641 + &usb1 { 642 + vbus-supply = <&reg_usb1_vbus>; 643 + pinctrl-0 = <&usb1_pins_a>; 644 + pinctrl-names = "default"; 645 + status = "okay"; 646 + }; 647 + 648 + &usbphy1 { 649 + status = "okay"; 196 650 };
+109 -115
arch/arm/boot/dts/imx28-cfa10055.dts
··· 14 14 model = "Crystalfontz CFA-10055 Board"; 15 15 compatible = "crystalfontz,cfa10055", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28"; 16 16 17 - apb@80000000 { 18 - apbh@80000000 { 19 - pinctrl@80018000 { 20 - spi2_pins_cfa10055: spi2-cfa10055@0 { 21 - reg = <0>; 22 - fsl,pinmux-ids = < 23 - MX28_PAD_SSP2_SCK__GPIO_2_16 24 - MX28_PAD_SSP2_MOSI__GPIO_2_17 25 - MX28_PAD_SSP2_MISO__GPIO_2_18 26 - MX28_PAD_AUART1_TX__GPIO_3_5 27 - >; 28 - fsl,drive-strength = <MXS_DRIVE_8mA>; 29 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 30 - fsl,pull-up = <MXS_PULL_ENABLE>; 31 - }; 32 - 33 - lcdif_18bit_pins_cfa10055: lcdif-18bit@0 { 34 - reg = <0>; 35 - fsl,pinmux-ids = < 36 - MX28_PAD_LCD_D00__LCD_D0 37 - MX28_PAD_LCD_D01__LCD_D1 38 - MX28_PAD_LCD_D02__LCD_D2 39 - MX28_PAD_LCD_D03__LCD_D3 40 - MX28_PAD_LCD_D04__LCD_D4 41 - MX28_PAD_LCD_D05__LCD_D5 42 - MX28_PAD_LCD_D06__LCD_D6 43 - MX28_PAD_LCD_D07__LCD_D7 44 - MX28_PAD_LCD_D08__LCD_D8 45 - MX28_PAD_LCD_D09__LCD_D9 46 - MX28_PAD_LCD_D10__LCD_D10 47 - MX28_PAD_LCD_D11__LCD_D11 48 - MX28_PAD_LCD_D12__LCD_D12 49 - MX28_PAD_LCD_D13__LCD_D13 50 - MX28_PAD_LCD_D14__LCD_D14 51 - MX28_PAD_LCD_D15__LCD_D15 52 - MX28_PAD_LCD_D16__LCD_D16 53 - MX28_PAD_LCD_D17__LCD_D17 54 - >; 55 - fsl,drive-strength = <MXS_DRIVE_4mA>; 56 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 57 - fsl,pull-up = <MXS_PULL_DISABLE>; 58 - }; 59 - 60 - lcdif_pins_cfa10055: lcdif-evk@0 { 61 - reg = <0>; 62 - fsl,pinmux-ids = < 63 - MX28_PAD_LCD_RD_E__LCD_VSYNC 64 - MX28_PAD_LCD_WR_RWN__LCD_HSYNC 65 - MX28_PAD_LCD_RS__LCD_DOTCLK 66 - MX28_PAD_LCD_CS__LCD_ENABLE 67 - >; 68 - fsl,drive-strength = <MXS_DRIVE_4mA>; 69 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 70 - fsl,pull-up = <MXS_PULL_DISABLE>; 71 - }; 72 - 73 - lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 { 74 - reg = <0>; 75 - fsl,pinmux-ids = < 76 - MX28_PAD_LCD_RESET__GPIO_3_30 77 - >; 78 - fsl,drive-strength = <MXS_DRIVE_4mA>; 79 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 80 - fsl,pull-up = <MXS_PULL_ENABLE>; 81 - }; 82 - }; 83 - 84 - lcdif@80030000 { 85 - pinctrl-names = "default"; 86 - pinctrl-0 = <&lcdif_18bit_pins_cfa10055 87 - &lcdif_pins_cfa10055 88 - &lcdif_pins_cfa10055_pullup>; 89 - display = <&display0>; 90 - status = "okay"; 91 - 92 - display0: display0 { 93 - bits-per-pixel = <32>; 94 - bus-width = <18>; 95 - 96 - display-timings { 97 - native-mode = <&timing0>; 98 - timing0: timing0 { 99 - clock-frequency = <9216000>; 100 - hactive = <320>; 101 - vactive = <480>; 102 - hback-porch = <2>; 103 - hfront-porch = <2>; 104 - vback-porch = <2>; 105 - vfront-porch = <2>; 106 - hsync-len = <15>; 107 - vsync-len = <15>; 108 - hsync-active = <0>; 109 - vsync-active = <0>; 110 - de-active = <1>; 111 - pixelclk-active = <1>; 112 - }; 113 - }; 114 - }; 115 - }; 116 - }; 117 - 118 - apbx@80040000 { 119 - lradc@80050000 { 120 - fsl,lradc-touchscreen-wires = <4>; 121 - status = "okay"; 122 - }; 123 - 124 - pwm: pwm@80064000 { 125 - pinctrl-names = "default"; 126 - pinctrl-0 = <&pwm3_pins_b>; 127 - status = "okay"; 128 - }; 129 - }; 130 - }; 131 - 132 17 spi-2 { 133 18 compatible = "spi-gpio"; 134 19 pinctrl-names = "default"; ··· 43 158 brightness-levels = <0 4 8 16 32 64 128 255>; 44 159 default-brightness-level = <6>; 45 160 }; 161 + }; 162 + 163 + &lcdif { 164 + pinctrl-names = "default"; 165 + pinctrl-0 = <&lcdif_18bit_pins_cfa10055 166 + &lcdif_pins_cfa10055 167 + &lcdif_pins_cfa10055_pullup>; 168 + display = <&display0>; 169 + status = "okay"; 170 + 171 + display0: display0 { 172 + bits-per-pixel = <32>; 173 + bus-width = <18>; 174 + 175 + display-timings { 176 + native-mode = <&timing0>; 177 + timing0: timing0 { 178 + clock-frequency = <9216000>; 179 + hactive = <320>; 180 + vactive = <480>; 181 + hback-porch = <2>; 182 + hfront-porch = <2>; 183 + vback-porch = <2>; 184 + vfront-porch = <2>; 185 + hsync-len = <15>; 186 + vsync-len = <15>; 187 + hsync-active = <0>; 188 + vsync-active = <0>; 189 + de-active = <1>; 190 + pixelclk-active = <1>; 191 + }; 192 + }; 193 + }; 194 + }; 195 + 196 + &lradc { 197 + fsl,lradc-touchscreen-wires = <4>; 198 + status = "okay"; 199 + }; 200 + 201 + &pinctrl { 202 + spi2_pins_cfa10055: spi2-cfa10055@0 { 203 + reg = <0>; 204 + fsl,pinmux-ids = < 205 + MX28_PAD_SSP2_SCK__GPIO_2_16 206 + MX28_PAD_SSP2_MOSI__GPIO_2_17 207 + MX28_PAD_SSP2_MISO__GPIO_2_18 208 + MX28_PAD_AUART1_TX__GPIO_3_5 209 + >; 210 + fsl,drive-strength = <MXS_DRIVE_8mA>; 211 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 212 + fsl,pull-up = <MXS_PULL_ENABLE>; 213 + }; 214 + 215 + lcdif_18bit_pins_cfa10055: lcdif-18bit@0 { 216 + reg = <0>; 217 + fsl,pinmux-ids = < 218 + MX28_PAD_LCD_D00__LCD_D0 219 + MX28_PAD_LCD_D01__LCD_D1 220 + MX28_PAD_LCD_D02__LCD_D2 221 + MX28_PAD_LCD_D03__LCD_D3 222 + MX28_PAD_LCD_D04__LCD_D4 223 + MX28_PAD_LCD_D05__LCD_D5 224 + MX28_PAD_LCD_D06__LCD_D6 225 + MX28_PAD_LCD_D07__LCD_D7 226 + MX28_PAD_LCD_D08__LCD_D8 227 + MX28_PAD_LCD_D09__LCD_D9 228 + MX28_PAD_LCD_D10__LCD_D10 229 + MX28_PAD_LCD_D11__LCD_D11 230 + MX28_PAD_LCD_D12__LCD_D12 231 + MX28_PAD_LCD_D13__LCD_D13 232 + MX28_PAD_LCD_D14__LCD_D14 233 + MX28_PAD_LCD_D15__LCD_D15 234 + MX28_PAD_LCD_D16__LCD_D16 235 + MX28_PAD_LCD_D17__LCD_D17 236 + >; 237 + fsl,drive-strength = <MXS_DRIVE_4mA>; 238 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 239 + fsl,pull-up = <MXS_PULL_DISABLE>; 240 + }; 241 + 242 + lcdif_pins_cfa10055: lcdif-evk@0 { 243 + reg = <0>; 244 + fsl,pinmux-ids = < 245 + MX28_PAD_LCD_RD_E__LCD_VSYNC 246 + MX28_PAD_LCD_WR_RWN__LCD_HSYNC 247 + MX28_PAD_LCD_RS__LCD_DOTCLK 248 + MX28_PAD_LCD_CS__LCD_ENABLE 249 + >; 250 + fsl,drive-strength = <MXS_DRIVE_4mA>; 251 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 252 + fsl,pull-up = <MXS_PULL_DISABLE>; 253 + }; 254 + 255 + lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 { 256 + reg = <0>; 257 + fsl,pinmux-ids = < 258 + MX28_PAD_LCD_RESET__GPIO_3_30 259 + >; 260 + fsl,drive-strength = <MXS_DRIVE_4mA>; 261 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 262 + fsl,pull-up = <MXS_PULL_ENABLE>; 263 + }; 264 + }; 265 + 266 + &pwm { 267 + pinctrl-names = "default"; 268 + pinctrl-0 = <&pwm3_pins_b>; 269 + status = "okay"; 46 270 };
+71 -75
arch/arm/boot/dts/imx28-cfa10056.dts
··· 13 13 model = "Crystalfontz CFA-10056 Board"; 14 14 compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28"; 15 15 16 - apb@80000000 { 17 - apbh@80000000 { 18 - pinctrl@80018000 { 19 - spi2_pins_cfa10056: spi2-cfa10056@0 { 20 - reg = <0>; 21 - fsl,pinmux-ids = < 22 - MX28_PAD_SSP2_SCK__GPIO_2_16 23 - MX28_PAD_SSP2_MOSI__GPIO_2_17 24 - MX28_PAD_SSP2_MISO__GPIO_2_18 25 - MX28_PAD_AUART1_TX__GPIO_3_5 26 - >; 27 - fsl,drive-strength = <MXS_DRIVE_8mA>; 28 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 29 - fsl,pull-up = <MXS_PULL_ENABLE>; 30 - }; 31 - 32 - lcdif_pins_cfa10056: lcdif-10056@0 { 33 - reg = <0>; 34 - fsl,pinmux-ids = < 35 - MX28_PAD_LCD_RD_E__LCD_VSYNC 36 - MX28_PAD_LCD_WR_RWN__LCD_HSYNC 37 - MX28_PAD_LCD_RS__LCD_DOTCLK 38 - MX28_PAD_LCD_CS__LCD_ENABLE 39 - >; 40 - fsl,drive-strength = <MXS_DRIVE_4mA>; 41 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 42 - fsl,pull-up = <MXS_PULL_DISABLE>; 43 - }; 44 - 45 - lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 { 46 - reg = <0>; 47 - fsl,pinmux-ids = < 48 - MX28_PAD_LCD_RESET__GPIO_3_30 49 - >; 50 - fsl,drive-strength = <MXS_DRIVE_4mA>; 51 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 52 - fsl,pull-up = <MXS_PULL_ENABLE>; 53 - }; 54 - }; 55 - 56 - lcdif@80030000 { 57 - pinctrl-names = "default"; 58 - pinctrl-0 = <&lcdif_24bit_pins_a 59 - &lcdif_pins_cfa10056 60 - &lcdif_pins_cfa10056_pullup >; 61 - display = <&display0>; 62 - status = "okay"; 63 - 64 - display0: display0 { 65 - bits-per-pixel = <32>; 66 - bus-width = <24>; 67 - 68 - display-timings { 69 - native-mode = <&timing0>; 70 - timing0: timing0 { 71 - clock-frequency = <32000000>; 72 - hactive = <480>; 73 - vactive = <800>; 74 - hback-porch = <2>; 75 - hfront-porch = <2>; 76 - vback-porch = <2>; 77 - vfront-porch = <2>; 78 - hsync-len = <5>; 79 - vsync-len = <5>; 80 - hsync-active = <0>; 81 - vsync-active = <0>; 82 - de-active = <1>; 83 - pixelclk-active = <1>; 84 - }; 85 - }; 86 - }; 87 - }; 88 - }; 89 - }; 90 - 91 16 spi-2 { 92 17 compatible = "spi-gpio"; 93 18 pinctrl-names = "default"; ··· 33 108 spi-cpol; 34 109 spi-cpha; 35 110 gpios-reset = <&gpio3 30 0>; 111 + }; 112 + }; 113 + }; 114 + 115 + &pinctrl { 116 + spi2_pins_cfa10056: spi2-cfa10056@0 { 117 + reg = <0>; 118 + fsl,pinmux-ids = < 119 + MX28_PAD_SSP2_SCK__GPIO_2_16 120 + MX28_PAD_SSP2_MOSI__GPIO_2_17 121 + MX28_PAD_SSP2_MISO__GPIO_2_18 122 + MX28_PAD_AUART1_TX__GPIO_3_5 123 + >; 124 + fsl,drive-strength = <MXS_DRIVE_8mA>; 125 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 126 + fsl,pull-up = <MXS_PULL_ENABLE>; 127 + }; 128 + 129 + lcdif_pins_cfa10056: lcdif-10056@0 { 130 + reg = <0>; 131 + fsl,pinmux-ids = < 132 + MX28_PAD_LCD_RD_E__LCD_VSYNC 133 + MX28_PAD_LCD_WR_RWN__LCD_HSYNC 134 + MX28_PAD_LCD_RS__LCD_DOTCLK 135 + MX28_PAD_LCD_CS__LCD_ENABLE 136 + >; 137 + fsl,drive-strength = <MXS_DRIVE_4mA>; 138 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 139 + fsl,pull-up = <MXS_PULL_DISABLE>; 140 + }; 141 + 142 + lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 { 143 + reg = <0>; 144 + fsl,pinmux-ids = < 145 + MX28_PAD_LCD_RESET__GPIO_3_30 146 + >; 147 + fsl,drive-strength = <MXS_DRIVE_4mA>; 148 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 149 + fsl,pull-up = <MXS_PULL_ENABLE>; 150 + }; 151 + }; 152 + 153 + &lcdif { 154 + pinctrl-names = "default"; 155 + pinctrl-0 = <&lcdif_24bit_pins_a 156 + &lcdif_pins_cfa10056 157 + &lcdif_pins_cfa10056_pullup >; 158 + display = <&display0>; 159 + status = "okay"; 160 + 161 + display0: display0 { 162 + bits-per-pixel = <32>; 163 + bus-width = <24>; 164 + 165 + display-timings { 166 + native-mode = <&timing0>; 167 + timing0: timing0 { 168 + clock-frequency = <32000000>; 169 + hactive = <480>; 170 + vactive = <800>; 171 + hback-porch = <2>; 172 + hfront-porch = <2>; 173 + vback-porch = <2>; 174 + vfront-porch = <2>; 175 + hsync-len = <5>; 176 + vsync-len = <5>; 177 + hsync-active = <0>; 178 + vsync-active = <0>; 179 + de-active = <1>; 180 + pixelclk-active = <1>; 181 + }; 36 182 }; 37 183 }; 38 184 };
+121 -131
arch/arm/boot/dts/imx28-cfa10057.dts
··· 14 14 model = "Crystalfontz CFA-10057 Board"; 15 15 compatible = "crystalfontz,cfa10057", "crystalfontz,cfa10036", "fsl,imx28"; 16 16 17 - apb@80000000 { 18 - apbh@80000000 { 19 - pinctrl@80018000 { 20 - usb_pins_cfa10057: usb-10057@0 { 21 - reg = <0>; 22 - fsl,pinmux-ids = < 23 - MX28_PAD_GPMI_D07__GPIO_0_7 24 - >; 25 - fsl,drive-strength = <MXS_DRIVE_4mA>; 26 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 27 - fsl,pull-up = <MXS_PULL_DISABLE>; 28 - }; 29 - 30 - lcdif_18bit_pins_cfa10057: lcdif-18bit@0 { 31 - reg = <0>; 32 - fsl,pinmux-ids = < 33 - MX28_PAD_LCD_D00__LCD_D0 34 - MX28_PAD_LCD_D01__LCD_D1 35 - MX28_PAD_LCD_D02__LCD_D2 36 - MX28_PAD_LCD_D03__LCD_D3 37 - MX28_PAD_LCD_D04__LCD_D4 38 - MX28_PAD_LCD_D05__LCD_D5 39 - MX28_PAD_LCD_D06__LCD_D6 40 - MX28_PAD_LCD_D07__LCD_D7 41 - MX28_PAD_LCD_D08__LCD_D8 42 - MX28_PAD_LCD_D09__LCD_D9 43 - MX28_PAD_LCD_D10__LCD_D10 44 - MX28_PAD_LCD_D11__LCD_D11 45 - MX28_PAD_LCD_D12__LCD_D12 46 - MX28_PAD_LCD_D13__LCD_D13 47 - MX28_PAD_LCD_D14__LCD_D14 48 - MX28_PAD_LCD_D15__LCD_D15 49 - MX28_PAD_LCD_D16__LCD_D16 50 - MX28_PAD_LCD_D17__LCD_D17 51 - >; 52 - fsl,drive-strength = <MXS_DRIVE_4mA>; 53 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 54 - fsl,pull-up = <MXS_PULL_DISABLE>; 55 - }; 56 - 57 - lcdif_pins_cfa10057: lcdif-evk@0 { 58 - reg = <0>; 59 - fsl,pinmux-ids = < 60 - MX28_PAD_LCD_RD_E__LCD_VSYNC 61 - MX28_PAD_LCD_WR_RWN__LCD_HSYNC 62 - MX28_PAD_LCD_RS__LCD_DOTCLK 63 - MX28_PAD_LCD_CS__LCD_ENABLE 64 - >; 65 - fsl,drive-strength = <MXS_DRIVE_4mA>; 66 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 67 - fsl,pull-up = <MXS_PULL_DISABLE>; 68 - }; 69 - }; 70 - 71 - lcdif@80030000 { 72 - pinctrl-names = "default"; 73 - pinctrl-0 = <&lcdif_18bit_pins_cfa10057 74 - &lcdif_pins_cfa10057>; 75 - display = <&display0>; 76 - status = "okay"; 77 - 78 - display0: display0 { 79 - bits-per-pixel = <32>; 80 - bus-width = <18>; 81 - 82 - display-timings { 83 - native-mode = <&timing0>; 84 - timing0: timing0 { 85 - clock-frequency = <30000000>; 86 - hactive = <480>; 87 - vactive = <800>; 88 - hfront-porch = <12>; 89 - hback-porch = <2>; 90 - vfront-porch = <5>; 91 - vback-porch = <3>; 92 - hsync-len = <2>; 93 - vsync-len = <2>; 94 - hsync-active = <0>; 95 - vsync-active = <0>; 96 - de-active = <1>; 97 - pixelclk-active = <1>; 98 - }; 99 - }; 100 - }; 101 - }; 102 - }; 103 - 104 - apbx@80040000 { 105 - lradc@80050000 { 106 - fsl,lradc-touchscreen-wires = <4>; 107 - status = "okay"; 108 - }; 109 - 110 - pwm: pwm@80064000 { 111 - pinctrl-names = "default"; 112 - pinctrl-0 = <&pwm4_pins_a>; 113 - status = "okay"; 114 - }; 115 - 116 - i2c1: i2c@8005a000 { 117 - pinctrl-names = "default"; 118 - pinctrl-0 = <&i2c1_pins_a>; 119 - status = "okay"; 120 - }; 121 - 122 - usbphy1: usbphy@8007e000 { 123 - status = "okay"; 124 - }; 125 - }; 126 - }; 127 - 128 - ahb@80080000 { 129 - usb1: usb@80090000 { 130 - vbus-supply = <&reg_usb1_vbus>; 131 - pinctrl-0 = <&usb1_pins_a>; 132 - pinctrl-names = "default"; 133 - status = "okay"; 134 - }; 135 - }; 136 - 137 17 regulators { 138 18 compatible = "simple-bus"; 139 19 #address-cells = <1>; ··· 31 151 }; 32 152 }; 33 153 34 - ahb@80080000 { 35 - mac0: ethernet@800f0000 { 36 - phy-mode = "rmii"; 37 - pinctrl-names = "default"; 38 - pinctrl-0 = <&mac0_pins_a>; 39 - phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; 40 - phy-reset-duration = <100>; 41 - status = "okay"; 42 - }; 43 - }; 44 - 45 154 backlight { 46 155 compatible = "pwm-backlight"; 47 156 pwms = <&pwm 4 5000000>; 48 157 brightness-levels = <0 4 8 16 32 64 128 255>; 49 158 default-brightness-level = <7>; 50 159 }; 160 + }; 161 + 162 + &lcdif { 163 + pinctrl-names = "default"; 164 + pinctrl-0 = <&lcdif_18bit_pins_cfa10057 165 + &lcdif_pins_cfa10057>; 166 + display = <&display0>; 167 + status = "okay"; 168 + 169 + display0: display0 { 170 + bits-per-pixel = <32>; 171 + bus-width = <18>; 172 + 173 + display-timings { 174 + native-mode = <&timing0>; 175 + timing0: timing0 { 176 + clock-frequency = <30000000>; 177 + hactive = <480>; 178 + vactive = <800>; 179 + hfront-porch = <12>; 180 + hback-porch = <2>; 181 + vfront-porch = <5>; 182 + vback-porch = <3>; 183 + hsync-len = <2>; 184 + vsync-len = <2>; 185 + hsync-active = <0>; 186 + vsync-active = <0>; 187 + de-active = <1>; 188 + pixelclk-active = <1>; 189 + }; 190 + }; 191 + }; 192 + }; 193 + 194 + &lradc { 195 + fsl,lradc-touchscreen-wires = <4>; 196 + status = "okay"; 197 + }; 198 + 199 + &i2c1 { 200 + pinctrl-names = "default"; 201 + pinctrl-0 = <&i2c1_pins_a>; 202 + status = "okay"; 203 + }; 204 + 205 + &mac0 { 206 + phy-mode = "rmii"; 207 + pinctrl-names = "default"; 208 + pinctrl-0 = <&mac0_pins_a>; 209 + phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; 210 + phy-reset-duration = <100>; 211 + status = "okay"; 212 + }; 213 + 214 + &pinctrl { 215 + usb_pins_cfa10057: usb-10057@0 { 216 + reg = <0>; 217 + fsl,pinmux-ids = < 218 + MX28_PAD_GPMI_D07__GPIO_0_7 219 + >; 220 + fsl,drive-strength = <MXS_DRIVE_4mA>; 221 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 222 + fsl,pull-up = <MXS_PULL_DISABLE>; 223 + }; 224 + 225 + lcdif_18bit_pins_cfa10057: lcdif-18bit@0 { 226 + reg = <0>; 227 + fsl,pinmux-ids = < 228 + MX28_PAD_LCD_D00__LCD_D0 229 + MX28_PAD_LCD_D01__LCD_D1 230 + MX28_PAD_LCD_D02__LCD_D2 231 + MX28_PAD_LCD_D03__LCD_D3 232 + MX28_PAD_LCD_D04__LCD_D4 233 + MX28_PAD_LCD_D05__LCD_D5 234 + MX28_PAD_LCD_D06__LCD_D6 235 + MX28_PAD_LCD_D07__LCD_D7 236 + MX28_PAD_LCD_D08__LCD_D8 237 + MX28_PAD_LCD_D09__LCD_D9 238 + MX28_PAD_LCD_D10__LCD_D10 239 + MX28_PAD_LCD_D11__LCD_D11 240 + MX28_PAD_LCD_D12__LCD_D12 241 + MX28_PAD_LCD_D13__LCD_D13 242 + MX28_PAD_LCD_D14__LCD_D14 243 + MX28_PAD_LCD_D15__LCD_D15 244 + MX28_PAD_LCD_D16__LCD_D16 245 + MX28_PAD_LCD_D17__LCD_D17 246 + >; 247 + fsl,drive-strength = <MXS_DRIVE_4mA>; 248 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 249 + fsl,pull-up = <MXS_PULL_DISABLE>; 250 + }; 251 + 252 + lcdif_pins_cfa10057: lcdif-evk@0 { 253 + reg = <0>; 254 + fsl,pinmux-ids = < 255 + MX28_PAD_LCD_RD_E__LCD_VSYNC 256 + MX28_PAD_LCD_WR_RWN__LCD_HSYNC 257 + MX28_PAD_LCD_RS__LCD_DOTCLK 258 + MX28_PAD_LCD_CS__LCD_ENABLE 259 + >; 260 + fsl,drive-strength = <MXS_DRIVE_4mA>; 261 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 262 + fsl,pull-up = <MXS_PULL_DISABLE>; 263 + }; 264 + }; 265 + 266 + &pwm { 267 + pinctrl-names = "default"; 268 + pinctrl-0 = <&pwm4_pins_a>; 269 + status = "okay"; 270 + }; 271 + 272 + &usb1 { 273 + vbus-supply = <&reg_usb1_vbus>; 274 + pinctrl-0 = <&usb1_pins_a>; 275 + pinctrl-names = "default"; 276 + status = "okay"; 277 + }; 278 + 279 + &usbphy1 { 280 + status = "okay"; 51 281 };
+88 -98
arch/arm/boot/dts/imx28-cfa10058.dts
··· 14 14 model = "Crystalfontz CFA-10058 Board"; 15 15 compatible = "crystalfontz,cfa10058", "crystalfontz,cfa10036", "fsl,imx28"; 16 16 17 - apb@80000000 { 18 - apbh@80000000 { 19 - pinctrl@80018000 { 20 - usb_pins_cfa10058: usb-10058@0 { 21 - reg = <0>; 22 - fsl,pinmux-ids = < 23 - MX28_PAD_GPMI_D07__GPIO_0_7 24 - >; 25 - fsl,drive-strength = <MXS_DRIVE_4mA>; 26 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 27 - fsl,pull-up = <MXS_PULL_DISABLE>; 28 - }; 29 - 30 - lcdif_pins_cfa10058: lcdif-10058@0 { 31 - reg = <0>; 32 - fsl,pinmux-ids = < 33 - MX28_PAD_LCD_RD_E__LCD_VSYNC 34 - MX28_PAD_LCD_WR_RWN__LCD_HSYNC 35 - MX28_PAD_LCD_RS__LCD_DOTCLK 36 - MX28_PAD_LCD_CS__LCD_ENABLE 37 - >; 38 - fsl,drive-strength = <MXS_DRIVE_4mA>; 39 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 40 - fsl,pull-up = <MXS_PULL_DISABLE>; 41 - }; 42 - }; 43 - 44 - lcdif@80030000 { 45 - pinctrl-names = "default"; 46 - pinctrl-0 = <&lcdif_24bit_pins_a 47 - &lcdif_pins_cfa10058>; 48 - display = <&display0>; 49 - status = "okay"; 50 - 51 - display0: display0 { 52 - bits-per-pixel = <32>; 53 - bus-width = <24>; 54 - 55 - display-timings { 56 - native-mode = <&timing0>; 57 - timing0: timing0 { 58 - clock-frequency = <30000000>; 59 - hactive = <800>; 60 - vactive = <480>; 61 - hback-porch = <40>; 62 - hfront-porch = <40>; 63 - vback-porch = <13>; 64 - vfront-porch = <29>; 65 - hsync-len = <8>; 66 - vsync-len = <8>; 67 - hsync-active = <0>; 68 - vsync-active = <0>; 69 - de-active = <1>; 70 - pixelclk-active = <1>; 71 - }; 72 - }; 73 - }; 74 - }; 75 - }; 76 - 77 - apbx@80040000 { 78 - lradc@80050000 { 79 - fsl,lradc-touchscreen-wires = <4>; 80 - status = "okay"; 81 - }; 82 - 83 - pwm: pwm@80064000 { 84 - pinctrl-names = "default"; 85 - pinctrl-0 = <&pwm3_pins_b>; 86 - status = "okay"; 87 - }; 88 - 89 - usbphy1: usbphy@8007e000 { 90 - status = "okay"; 91 - }; 92 - }; 93 - }; 94 - 95 - ahb@80080000 { 96 - usb1: usb@80090000 { 97 - vbus-supply = <&reg_usb1_vbus>; 98 - pinctrl-0 = <&usb1_pins_a>; 99 - pinctrl-names = "default"; 100 - status = "okay"; 101 - }; 102 - }; 103 - 104 17 regulators { 105 18 compatible = "simple-bus"; 106 19 #address-cells = <1>; ··· 31 118 }; 32 119 }; 33 120 34 - ahb@80080000 { 35 - mac0: ethernet@800f0000 { 36 - phy-mode = "rmii"; 37 - pinctrl-names = "default"; 38 - pinctrl-0 = <&mac0_pins_a>; 39 - phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; 40 - phy-reset-duration = <100>; 41 - status = "okay"; 42 - }; 43 - }; 44 - 45 121 backlight { 46 122 compatible = "pwm-backlight"; 47 123 pwms = <&pwm 3 5000000>; 48 124 brightness-levels = <0 4 8 16 32 64 128 255>; 49 125 default-brightness-level = <6>; 50 126 }; 127 + }; 128 + 129 + &lcdif { 130 + pinctrl-names = "default"; 131 + pinctrl-0 = <&lcdif_24bit_pins_a 132 + &lcdif_pins_cfa10058>; 133 + display = <&display0>; 134 + status = "okay"; 135 + 136 + display0: display0 { 137 + bits-per-pixel = <32>; 138 + bus-width = <24>; 139 + 140 + display-timings { 141 + native-mode = <&timing0>; 142 + timing0: timing0 { 143 + clock-frequency = <30000000>; 144 + hactive = <800>; 145 + vactive = <480>; 146 + hback-porch = <40>; 147 + hfront-porch = <40>; 148 + vback-porch = <13>; 149 + vfront-porch = <29>; 150 + hsync-len = <8>; 151 + vsync-len = <8>; 152 + hsync-active = <0>; 153 + vsync-active = <0>; 154 + de-active = <1>; 155 + pixelclk-active = <1>; 156 + }; 157 + }; 158 + }; 159 + }; 160 + 161 + &lradc { 162 + fsl,lradc-touchscreen-wires = <4>; 163 + status = "okay"; 164 + }; 165 + 166 + &mac0 { 167 + phy-mode = "rmii"; 168 + pinctrl-names = "default"; 169 + pinctrl-0 = <&mac0_pins_a>; 170 + phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>; 171 + phy-reset-duration = <100>; 172 + status = "okay"; 173 + }; 174 + 175 + &pinctrl { 176 + usb_pins_cfa10058: usb-10058@0 { 177 + reg = <0>; 178 + fsl,pinmux-ids = < 179 + MX28_PAD_GPMI_D07__GPIO_0_7 180 + >; 181 + fsl,drive-strength = <MXS_DRIVE_4mA>; 182 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 183 + fsl,pull-up = <MXS_PULL_DISABLE>; 184 + }; 185 + 186 + lcdif_pins_cfa10058: lcdif-10058@0 { 187 + reg = <0>; 188 + fsl,pinmux-ids = < 189 + MX28_PAD_LCD_RD_E__LCD_VSYNC 190 + MX28_PAD_LCD_WR_RWN__LCD_HSYNC 191 + MX28_PAD_LCD_RS__LCD_DOTCLK 192 + MX28_PAD_LCD_CS__LCD_ENABLE 193 + >; 194 + fsl,drive-strength = <MXS_DRIVE_4mA>; 195 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 196 + fsl,pull-up = <MXS_PULL_DISABLE>; 197 + }; 198 + }; 199 + 200 + &pwm { 201 + pinctrl-names = "default"; 202 + pinctrl-0 = <&pwm3_pins_b>; 203 + status = "okay"; 204 + }; 205 + 206 + &usb1 { 207 + vbus-supply = <&reg_usb1_vbus>; 208 + pinctrl-0 = <&usb1_pins_a>; 209 + pinctrl-names = "default"; 210 + status = "okay"; 211 + }; 212 + 213 + &usbphy1 { 214 + status = "okay"; 51 215 };
+14 -160
arch/arm/boot/dts/imx28-duckbill-2-485.dts
··· 5 5 */ 6 6 7 7 /dts-v1/; 8 - #include <dt-bindings/interrupt-controller/irq.h> 9 - #include <dt-bindings/gpio/gpio.h> 10 - #include "imx28.dtsi" 8 + #include "imx28-duckbill-2.dts" 11 9 12 10 / { 13 11 model = "I2SE Duckbill 2 485"; 14 12 compatible = "i2se,duckbill-2-485", "i2se,duckbill-2", "fsl,imx28"; 15 13 16 - memory@40000000 { 17 - device_type = "memory"; 18 - reg = <0x40000000 0x08000000>; 19 - }; 20 - 21 - apb@80000000 { 22 - apbh@80000000 { 23 - ssp0: spi@80010000 { 24 - compatible = "fsl,imx28-mmc"; 25 - pinctrl-names = "default"; 26 - pinctrl-0 = <&mmc0_8bit_pins_a 27 - &mmc0_cd_cfg &mmc0_sck_cfg>; 28 - bus-width = <8>; 29 - vmmc-supply = <&reg_3p3v>; 30 - status = "okay"; 31 - non-removable; 32 - }; 33 - 34 - ssp2: spi@80014000 { 35 - compatible = "fsl,imx28-mmc"; 36 - pinctrl-names = "default"; 37 - pinctrl-0 = <&mmc2_4bit_pins_b 38 - &mmc2_cd_cfg &mmc2_sck_cfg_b>; 39 - bus-width = <4>; 40 - vmmc-supply = <&reg_3p3v>; 41 - status = "okay"; 42 - }; 43 - 44 - pinctrl@80018000 { 45 - pinctrl-names = "default"; 46 - pinctrl-0 = <&hog_pins_a>; 47 - 48 - hog_pins_a: hog@0 { 49 - reg = <0>; 50 - fsl,pinmux-ids = < 51 - MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 52 - >; 53 - fsl,drive-strength = <MXS_DRIVE_4mA>; 54 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 55 - fsl,pull-up = <MXS_PULL_DISABLE>; 56 - }; 57 - 58 - mac0_phy_reset_pin: mac0-phy-reset@0 { 59 - reg = <0>; 60 - fsl,pinmux-ids = < 61 - MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */ 62 - >; 63 - fsl,drive-strength = <MXS_DRIVE_4mA>; 64 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 65 - fsl,pull-up = <MXS_PULL_DISABLE>; 66 - }; 67 - 68 - mac0_phy_int_pin: mac0-phy-int@0 { 69 - reg = <0>; 70 - fsl,pinmux-ids = < 71 - MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ 72 - >; 73 - fsl,drive-strength = <MXS_DRIVE_4mA>; 74 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 75 - fsl,pull-up = <MXS_PULL_DISABLE>; 76 - }; 77 - 78 - led_pins: leds@0 { 79 - reg = <0>; 80 - fsl,pinmux-ids = < 81 - MX28_PAD_SAIF0_MCLK__GPIO_3_20 82 - MX28_PAD_SAIF0_LRCLK__GPIO_3_21 83 - MX28_PAD_I2C0_SCL__GPIO_3_24 84 - MX28_PAD_I2C0_SDA__GPIO_3_25 85 - >; 86 - fsl,drive-strength = <MXS_DRIVE_4mA>; 87 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 88 - fsl,pull-up = <MXS_PULL_DISABLE>; 89 - }; 90 - }; 91 - }; 92 - 93 - apbx@80040000 { 94 - lradc@80050000 { 95 - status = "okay"; 96 - }; 97 - 98 - auart0: serial@8006a000 { 99 - pinctrl-names = "default"; 100 - pinctrl-0 = <&auart0_2pins_a>; 101 - status = "okay"; 102 - }; 103 - 104 - duart: serial@80074000 { 105 - pinctrl-names = "default"; 106 - pinctrl-0 = <&duart_pins_a>; 107 - status = "okay"; 108 - }; 109 - 110 - usbphy0: usbphy@8007c000 { 111 - status = "okay"; 112 - }; 113 - }; 114 - }; 115 - 116 - ahb@80080000 { 117 - usb0: usb@80080000 { 118 - status = "okay"; 119 - dr_mode = "peripheral"; 120 - }; 121 - 122 - mac0: ethernet@800f0000 { 123 - phy-mode = "rmii"; 124 - pinctrl-names = "default"; 125 - pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 126 - phy-supply = <&reg_3p3v>; 127 - phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 128 - phy-reset-duration = <25>; 129 - phy-handle = <&ethphy>; 130 - status = "okay"; 131 - 132 - mdio { 133 - #address-cells = <1>; 134 - #size-cells = <0>; 135 - 136 - ethphy: ethernet-phy@0 { 137 - compatible = "ethernet-phy-ieee802.3-c22"; 138 - reg = <0>; 139 - pinctrl-names = "default"; 140 - pinctrl-0 = <&mac0_phy_int_pin>; 141 - interrupt-parent = <&gpio0>; 142 - interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 143 - max-speed = <100>; 144 - }; 145 - }; 146 - }; 147 - }; 148 - 149 - reg_3p3v: regulator-3p3v { 150 - compatible = "regulator-fixed"; 151 - regulator-name = "3P3V"; 152 - regulator-min-microvolt = <3300000>; 153 - regulator-max-microvolt = <3300000>; 154 - regulator-always-on; 155 - }; 156 - 157 14 leds { 158 - compatible = "gpio-leds"; 159 - pinctrl-names = "default"; 160 - pinctrl-0 = <&led_pins>; 161 - 162 - status-red { 163 - label = "duckbill:red:status"; 164 - gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 165 - linux,default-trigger = "default-on"; 166 - }; 167 - 168 - status-green { 169 - label = "duckbill:green:status"; 170 - gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 171 - linux,default-trigger = "heartbeat"; 172 - }; 173 - 174 15 rs485-red { 175 16 label = "duckbill:red:rs485"; 176 17 gpios = <&gpio3 24 GPIO_ACTIVE_LOW>; ··· 22 181 gpios = <&gpio3 25 GPIO_ACTIVE_LOW>; 23 182 }; 24 183 }; 184 + }; 185 + 186 + &i2c0 { 187 + status = "disabled"; 188 + }; 189 + 190 + &led_pins { 191 + fsl,pinmux-ids = < 192 + MX28_PAD_SAIF0_MCLK__GPIO_3_20 193 + MX28_PAD_SAIF0_LRCLK__GPIO_3_21 194 + MX28_PAD_I2C0_SCL__GPIO_3_24 195 + MX28_PAD_I2C0_SDA__GPIO_3_25 196 + >; 25 197 };
+27 -171
arch/arm/boot/dts/imx28-duckbill-2-enocean.dts
··· 5 5 */ 6 6 7 7 /dts-v1/; 8 - #include <dt-bindings/interrupt-controller/irq.h> 9 8 #include <dt-bindings/input/input.h> 10 - #include <dt-bindings/gpio/gpio.h> 11 - #include "imx28.dtsi" 9 + #include "imx28-duckbill-2.dts" 12 10 13 11 / { 14 12 model = "I2SE Duckbill 2 EnOcean"; 15 13 compatible = "i2se,duckbill-2-enocean", "i2se,duckbill-2", "fsl,imx28"; 16 14 17 - memory@40000000 { 18 - device_type = "memory"; 19 - reg = <0x40000000 0x08000000>; 20 - }; 21 - 22 - apb@80000000 { 23 - apbh@80000000 { 24 - ssp0: spi@80010000 { 25 - compatible = "fsl,imx28-mmc"; 26 - pinctrl-names = "default"; 27 - pinctrl-0 = <&mmc0_8bit_pins_a 28 - &mmc0_cd_cfg &mmc0_sck_cfg>; 29 - bus-width = <8>; 30 - vmmc-supply = <&reg_3p3v>; 31 - status = "okay"; 32 - non-removable; 33 - }; 34 - 35 - ssp2: spi@80014000 { 36 - compatible = "fsl,imx28-mmc"; 37 - pinctrl-names = "default"; 38 - pinctrl-0 = <&mmc2_4bit_pins_b 39 - &mmc2_cd_cfg &mmc2_sck_cfg_b>; 40 - bus-width = <4>; 41 - vmmc-supply = <&reg_3p3v>; 42 - status = "okay"; 43 - }; 44 - 45 - pinctrl@80018000 { 46 - pinctrl-names = "default"; 47 - pinctrl-0 = <&hog_pins_a>; 48 - 49 - hog_pins_a: hog@0 { 50 - reg = <0>; 51 - fsl,pinmux-ids = < 52 - MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 53 - >; 54 - fsl,drive-strength = <MXS_DRIVE_4mA>; 55 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 56 - fsl,pull-up = <MXS_PULL_DISABLE>; 57 - }; 58 - 59 - mac0_phy_reset_pin: mac0-phy-reset@0 { 60 - reg = <0>; 61 - fsl,pinmux-ids = < 62 - MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */ 63 - >; 64 - fsl,drive-strength = <MXS_DRIVE_4mA>; 65 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 66 - fsl,pull-up = <MXS_PULL_DISABLE>; 67 - }; 68 - 69 - mac0_phy_int_pin: mac0-phy-int@0 { 70 - reg = <0>; 71 - fsl,pinmux-ids = < 72 - MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ 73 - >; 74 - fsl,drive-strength = <MXS_DRIVE_4mA>; 75 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 76 - fsl,pull-up = <MXS_PULL_DISABLE>; 77 - }; 78 - 79 - led_pins: leds@0 { 80 - reg = <0>; 81 - fsl,pinmux-ids = < 82 - MX28_PAD_SAIF0_MCLK__GPIO_3_20 83 - MX28_PAD_SAIF0_LRCLK__GPIO_3_21 84 - MX28_PAD_AUART0_CTS__GPIO_3_2 85 - MX28_PAD_I2C0_SCL__GPIO_3_24 86 - MX28_PAD_I2C0_SDA__GPIO_3_25 87 - >; 88 - fsl,drive-strength = <MXS_DRIVE_4mA>; 89 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 90 - fsl,pull-up = <MXS_PULL_DISABLE>; 91 - }; 92 - 93 - enocean_button: enocean-button@0 { 94 - reg = <0>; 95 - fsl,pinmux-ids = < 96 - MX28_PAD_AUART0_RTS__GPIO_3_3 97 - >; 98 - fsl,drive-strength = <MXS_DRIVE_4mA>; 99 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 100 - fsl,pull-up = <MXS_PULL_DISABLE>; 101 - }; 102 - }; 103 - }; 104 - 105 - apbx@80040000 { 106 - lradc@80050000 { 107 - status = "okay"; 108 - }; 109 - 110 - auart0: serial@8006a000 { 111 - pinctrl-names = "default"; 112 - pinctrl-0 = <&auart0_2pins_a>; 113 - status = "okay"; 114 - }; 115 - 116 - duart: serial@80074000 { 117 - pinctrl-names = "default"; 118 - pinctrl-0 = <&duart_pins_a>; 119 - status = "okay"; 120 - }; 121 - 122 - usbphy0: usbphy@8007c000 { 123 - status = "okay"; 124 - }; 125 - }; 126 - }; 127 - 128 - ahb@80080000 { 129 - usb0: usb@80080000 { 130 - status = "okay"; 131 - dr_mode = "peripheral"; 132 - }; 133 - 134 - mac0: ethernet@800f0000 { 135 - phy-mode = "rmii"; 136 - pinctrl-names = "default"; 137 - pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 138 - phy-supply = <&reg_3p3v>; 139 - phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 140 - phy-reset-duration = <25>; 141 - phy-handle = <&ethphy>; 142 - status = "okay"; 143 - 144 - mdio { 145 - #address-cells = <1>; 146 - #size-cells = <0>; 147 - 148 - ethphy: ethernet-phy@0 { 149 - compatible = "ethernet-phy-ieee802.3-c22"; 150 - reg = <0>; 151 - pinctrl-names = "default"; 152 - pinctrl-0 = <&mac0_phy_int_pin>; 153 - interrupt-parent = <&gpio0>; 154 - interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 155 - max-speed = <100>; 156 - }; 157 - }; 158 - }; 159 - }; 160 - 161 - reg_3p3v: regulator-3p3v { 162 - compatible = "regulator-fixed"; 163 - regulator-name = "3P3V"; 164 - regulator-min-microvolt = <3300000>; 165 - regulator-max-microvolt = <3300000>; 166 - regulator-always-on; 167 - }; 168 - 169 15 leds { 170 - compatible = "gpio-leds"; 171 - pinctrl-names = "default"; 172 - pinctrl-0 = <&led_pins>; 173 - 174 - status-red { 175 - label = "duckbill:red:status"; 176 - gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 177 - linux,default-trigger = "default-on"; 178 - }; 179 - 180 - status-green { 181 - label = "duckbill:green:status"; 182 - gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 183 - linux,default-trigger = "heartbeat"; 184 - }; 185 - 186 16 enocean-blue { 187 17 label = "duckbill:blue:enocean"; 188 18 gpios = <&gpio3 24 GPIO_ACTIVE_LOW>; ··· 39 209 linux,code = <KEY_NEW>; 40 210 gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>; 41 211 }; 212 + }; 213 + }; 214 + 215 + &i2c0 { 216 + status = "disabled"; 217 + }; 218 + 219 + &led_pins { 220 + fsl,pinmux-ids = < 221 + MX28_PAD_SAIF0_MCLK__GPIO_3_20 222 + MX28_PAD_SAIF0_LRCLK__GPIO_3_21 223 + MX28_PAD_AUART0_CTS__GPIO_3_2 224 + MX28_PAD_I2C0_SCL__GPIO_3_24 225 + MX28_PAD_I2C0_SDA__GPIO_3_25 226 + >; 227 + }; 228 + 229 + &pinctrl { 230 + enocean_button: enocean-button@0 { 231 + reg = <0>; 232 + fsl,pinmux-ids = < 233 + MX28_PAD_AUART0_RTS__GPIO_3_3 234 + >; 235 + fsl,drive-strength = <MXS_DRIVE_4mA>; 236 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 237 + fsl,pull-up = <MXS_PULL_DISABLE>; 42 238 }; 43 239 };
+41 -172
arch/arm/boot/dts/imx28-duckbill-2-spi.dts
··· 5 5 */ 6 6 7 7 /dts-v1/; 8 - #include <dt-bindings/interrupt-controller/irq.h> 9 - #include <dt-bindings/gpio/gpio.h> 10 - #include "imx28.dtsi" 8 + #include "imx28-duckbill-2.dts" 11 9 12 10 / { 13 11 model = "I2SE Duckbill 2 SPI"; ··· 14 16 aliases { 15 17 ethernet1 = &qca7000; 16 18 }; 19 + }; 17 20 18 - memory@40000000 { 19 - device_type = "memory"; 20 - reg = <0x40000000 0x08000000>; 21 + &auart0 { 22 + status = "disabled"; 23 + }; 24 + 25 + &i2c0 { 26 + status = "disabled"; 27 + }; 28 + 29 + &pinctrl { 30 + qca7000_pins: qca7000@0 { 31 + reg = <0>; 32 + fsl,pinmux-ids = < 33 + MX28_PAD_AUART0_RTS__GPIO_3_3 /* Interrupt */ 34 + MX28_PAD_LCD_D13__GPIO_1_13 /* QCA7K reset */ 35 + MX28_PAD_LCD_D14__GPIO_1_14 /* GPIO 0 */ 36 + MX28_PAD_LCD_D15__GPIO_1_15 /* GPIO 1 */ 37 + MX28_PAD_LCD_D18__GPIO_1_18 /* GPIO 2 */ 38 + MX28_PAD_LCD_D21__GPIO_1_21 /* GPIO 3 */ 39 + >; 40 + fsl,drive-strength = <MXS_DRIVE_4mA>; 41 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 42 + fsl,pull-up = <MXS_PULL_DISABLE>; 21 43 }; 44 + }; 22 45 23 - apb@80000000 { 24 - apbh@80000000 { 25 - ssp0: spi@80010000 { 26 - compatible = "fsl,imx28-mmc"; 27 - pinctrl-names = "default"; 28 - pinctrl-0 = <&mmc0_8bit_pins_a 29 - &mmc0_cd_cfg &mmc0_sck_cfg>; 30 - bus-width = <8>; 31 - vmmc-supply = <&reg_3p3v>; 32 - status = "okay"; 33 - non-removable; 34 - }; 46 + &ssp2 { 47 + compatible = "fsl,imx28-spi"; 48 + pinctrl-names = "default"; 49 + pinctrl-0 = <&spi2_pins_a>; 50 + /delete-property/ bus-width; 51 + /delete-property/ vmmc-supply; 52 + status = "okay"; 35 53 36 - ssp2: spi@80014000 { 37 - compatible = "fsl,imx28-spi"; 38 - pinctrl-names = "default"; 39 - pinctrl-0 = <&spi2_pins_a>; 40 - status = "okay"; 41 - 42 - qca7000: ethernet@0 { 43 - reg = <0>; 44 - compatible = "qca,qca7000"; 45 - pinctrl-names = "default"; 46 - pinctrl-0 = <&qca7000_pins>; 47 - interrupt-parent = <&gpio3>; 48 - interrupts = <3 IRQ_TYPE_EDGE_RISING>; 49 - spi-cpha; 50 - spi-cpol; 51 - spi-max-frequency = <8000000>; 52 - }; 53 - }; 54 - 55 - pinctrl@80018000 { 56 - pinctrl-names = "default"; 57 - pinctrl-0 = <&hog_pins_a>; 58 - 59 - hog_pins_a: hog@0 { 60 - reg = <0>; 61 - fsl,pinmux-ids = < 62 - MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 63 - >; 64 - fsl,drive-strength = <MXS_DRIVE_4mA>; 65 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 66 - fsl,pull-up = <MXS_PULL_DISABLE>; 67 - }; 68 - 69 - mac0_phy_reset_pin: mac0-phy-reset@0 { 70 - reg = <0>; 71 - fsl,pinmux-ids = < 72 - MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */ 73 - >; 74 - fsl,drive-strength = <MXS_DRIVE_4mA>; 75 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 76 - fsl,pull-up = <MXS_PULL_DISABLE>; 77 - }; 78 - 79 - mac0_phy_int_pin: mac0-phy-int@0 { 80 - reg = <0>; 81 - fsl,pinmux-ids = < 82 - MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ 83 - >; 84 - fsl,drive-strength = <MXS_DRIVE_4mA>; 85 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 86 - fsl,pull-up = <MXS_PULL_DISABLE>; 87 - }; 88 - 89 - led_pins: led@0 { 90 - reg = <0>; 91 - fsl,pinmux-ids = < 92 - MX28_PAD_SAIF0_MCLK__GPIO_3_20 93 - MX28_PAD_SAIF0_LRCLK__GPIO_3_21 94 - >; 95 - fsl,drive-strength = <MXS_DRIVE_4mA>; 96 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 97 - fsl,pull-up = <MXS_PULL_DISABLE>; 98 - }; 99 - 100 - qca7000_pins: qca7000@0 { 101 - reg = <0>; 102 - fsl,pinmux-ids = < 103 - MX28_PAD_AUART0_RTS__GPIO_3_3 /* Interrupt */ 104 - MX28_PAD_LCD_D13__GPIO_1_13 /* QCA7K reset */ 105 - MX28_PAD_LCD_D14__GPIO_1_14 /* GPIO 0 */ 106 - MX28_PAD_LCD_D15__GPIO_1_15 /* GPIO 1 */ 107 - MX28_PAD_LCD_D18__GPIO_1_18 /* GPIO 2 */ 108 - MX28_PAD_LCD_D21__GPIO_1_21 /* GPIO 3 */ 109 - >; 110 - fsl,drive-strength = <MXS_DRIVE_4mA>; 111 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 112 - fsl,pull-up = <MXS_PULL_DISABLE>; 113 - }; 114 - }; 115 - }; 116 - 117 - apbx@80040000 { 118 - lradc@80050000 { 119 - status = "okay"; 120 - }; 121 - 122 - duart: serial@80074000 { 123 - pinctrl-names = "default"; 124 - pinctrl-0 = <&duart_pins_a>; 125 - status = "okay"; 126 - }; 127 - 128 - usbphy0: usbphy@8007c000 { 129 - status = "okay"; 130 - }; 131 - }; 132 - }; 133 - 134 - ahb@80080000 { 135 - usb0: usb@80080000 { 136 - status = "okay"; 137 - dr_mode = "peripheral"; 138 - }; 139 - 140 - mac0: ethernet@800f0000 { 141 - phy-mode = "rmii"; 142 - pinctrl-names = "default"; 143 - pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 144 - phy-supply = <&reg_3p3v>; 145 - phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 146 - phy-reset-duration = <25>; 147 - phy-handle = <&ethphy>; 148 - status = "okay"; 149 - 150 - mdio { 151 - #address-cells = <1>; 152 - #size-cells = <0>; 153 - 154 - ethphy: ethernet-phy@0 { 155 - compatible = "ethernet-phy-ieee802.3-c22"; 156 - reg = <0>; 157 - pinctrl-names = "default"; 158 - pinctrl-0 = <&mac0_phy_int_pin>; 159 - interrupt-parent = <&gpio0>; 160 - interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 161 - max-speed = <100>; 162 - }; 163 - }; 164 - }; 165 - }; 166 - 167 - reg_3p3v: regulator-3p3v { 168 - compatible = "regulator-fixed"; 169 - regulator-name = "3P3V"; 170 - regulator-min-microvolt = <3300000>; 171 - regulator-max-microvolt = <3300000>; 172 - regulator-always-on; 173 - }; 174 - 175 - leds { 176 - compatible = "gpio-leds"; 54 + qca7000: ethernet@0 { 55 + reg = <0>; 56 + compatible = "qca,qca7000"; 177 57 pinctrl-names = "default"; 178 - pinctrl-0 = <&led_pins>; 179 - 180 - status-red { 181 - label = "duckbill:red:status"; 182 - gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 183 - linux,default-trigger = "default-on"; 184 - }; 185 - 186 - status-green { 187 - label = "duckbill:green:status"; 188 - gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 189 - linux,default-trigger = "heartbeat"; 190 - }; 58 + pinctrl-0 = <&qca7000_pins>; 59 + interrupt-parent = <&gpio3>; 60 + interrupts = <3 IRQ_TYPE_EDGE_RISING>; 61 + spi-cpha; 62 + spi-cpol; 63 + spi-max-frequency = <8000000>; 191 64 }; 192 65 };
+124 -132
arch/arm/boot/dts/imx28-duckbill-2.dts
··· 18 18 reg = <0x40000000 0x08000000>; 19 19 }; 20 20 21 - apb@80000000 { 22 - apbh@80000000 { 23 - ssp0: spi@80010000 { 24 - compatible = "fsl,imx28-mmc"; 25 - pinctrl-names = "default"; 26 - pinctrl-0 = <&mmc0_8bit_pins_a 27 - &mmc0_cd_cfg &mmc0_sck_cfg>; 28 - bus-width = <8>; 29 - vmmc-supply = <&reg_3p3v>; 30 - status = "okay"; 31 - non-removable; 32 - }; 33 - 34 - ssp2: spi@80014000 { 35 - compatible = "fsl,imx28-mmc"; 36 - pinctrl-names = "default"; 37 - pinctrl-0 = <&mmc2_4bit_pins_b 38 - &mmc2_cd_cfg &mmc2_sck_cfg_b>; 39 - bus-width = <4>; 40 - vmmc-supply = <&reg_3p3v>; 41 - status = "okay"; 42 - }; 43 - 44 - pinctrl@80018000 { 45 - pinctrl-names = "default"; 46 - pinctrl-0 = <&hog_pins_a>; 47 - 48 - hog_pins_a: hog@0 { 49 - reg = <0>; 50 - fsl,pinmux-ids = < 51 - MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 52 - >; 53 - fsl,drive-strength = <MXS_DRIVE_4mA>; 54 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 55 - fsl,pull-up = <MXS_PULL_DISABLE>; 56 - }; 57 - 58 - mac0_phy_reset_pin: mac0-phy-reset@0 { 59 - reg = <0>; 60 - fsl,pinmux-ids = < 61 - MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */ 62 - >; 63 - fsl,drive-strength = <MXS_DRIVE_4mA>; 64 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 65 - fsl,pull-up = <MXS_PULL_DISABLE>; 66 - }; 67 - 68 - mac0_phy_int_pin: mac0-phy-int@0 { 69 - reg = <0>; 70 - fsl,pinmux-ids = < 71 - MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ 72 - >; 73 - fsl,drive-strength = <MXS_DRIVE_4mA>; 74 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 75 - fsl,pull-up = <MXS_PULL_DISABLE>; 76 - }; 77 - 78 - led_pins: leds@0 { 79 - reg = <0>; 80 - fsl,pinmux-ids = < 81 - MX28_PAD_SAIF0_MCLK__GPIO_3_20 82 - MX28_PAD_SAIF0_LRCLK__GPIO_3_21 83 - >; 84 - fsl,drive-strength = <MXS_DRIVE_4mA>; 85 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 86 - fsl,pull-up = <MXS_PULL_DISABLE>; 87 - }; 88 - }; 89 - }; 90 - 91 - apbx@80040000 { 92 - lradc@80050000 { 93 - status = "okay"; 94 - }; 95 - 96 - i2c0: i2c@80058000 { 97 - pinctrl-names = "default"; 98 - pinctrl-0 = <&i2c0_pins_a>; 99 - status = "okay"; 100 - }; 101 - 102 - auart0: serial@8006a000 { 103 - pinctrl-names = "default"; 104 - pinctrl-0 = <&auart0_2pins_a>; 105 - status = "okay"; 106 - }; 107 - 108 - duart: serial@80074000 { 109 - pinctrl-names = "default"; 110 - pinctrl-0 = <&duart_pins_a>; 111 - status = "okay"; 112 - }; 113 - 114 - usbphy0: usbphy@8007c000 { 115 - status = "okay"; 116 - }; 117 - }; 118 - }; 119 - 120 - ahb@80080000 { 121 - usb0: usb@80080000 { 122 - status = "okay"; 123 - dr_mode = "peripheral"; 124 - }; 125 - 126 - mac0: ethernet@800f0000 { 127 - phy-mode = "rmii"; 128 - pinctrl-names = "default"; 129 - pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 130 - phy-supply = <&reg_3p3v>; 131 - phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 132 - phy-reset-duration = <25>; 133 - phy-handle = <&ethphy>; 134 - status = "okay"; 135 - 136 - mdio { 137 - #address-cells = <1>; 138 - #size-cells = <0>; 139 - 140 - ethphy: ethernet-phy@0 { 141 - compatible = "ethernet-phy-ieee802.3-c22"; 142 - reg = <0>; 143 - pinctrl-names = "default"; 144 - pinctrl-0 = <&mac0_phy_int_pin>; 145 - interrupt-parent = <&gpio0>; 146 - interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 147 - max-speed = <100>; 148 - }; 149 - }; 150 - }; 151 - }; 152 - 153 21 reg_3p3v: regulator-3p3v { 154 22 compatible = "regulator-fixed"; 155 23 regulator-name = "3P3V"; ··· 43 175 linux,default-trigger = "heartbeat"; 44 176 }; 45 177 }; 178 + }; 179 + 180 + &auart0 { 181 + pinctrl-names = "default"; 182 + pinctrl-0 = <&auart0_2pins_a>; 183 + status = "okay"; 184 + }; 185 + 186 + &duart { 187 + pinctrl-names = "default"; 188 + pinctrl-0 = <&duart_pins_a>; 189 + status = "okay"; 190 + }; 191 + 192 + &i2c0 { 193 + pinctrl-names = "default"; 194 + pinctrl-0 = <&i2c0_pins_a>; 195 + status = "okay"; 196 + }; 197 + 198 + &lradc { 199 + status = "okay"; 200 + }; 201 + 202 + &mac0 { 203 + phy-mode = "rmii"; 204 + pinctrl-names = "default"; 205 + pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 206 + phy-supply = <&reg_3p3v>; 207 + phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 208 + phy-reset-duration = <25>; 209 + phy-handle = <&ethphy>; 210 + status = "okay"; 211 + 212 + mdio { 213 + #address-cells = <1>; 214 + #size-cells = <0>; 215 + 216 + ethphy: ethernet-phy@0 { 217 + compatible = "ethernet-phy-ieee802.3-c22"; 218 + reg = <0>; 219 + pinctrl-names = "default"; 220 + pinctrl-0 = <&mac0_phy_int_pin>; 221 + interrupt-parent = <&gpio0>; 222 + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 223 + max-speed = <100>; 224 + }; 225 + }; 226 + }; 227 + 228 + &pinctrl { 229 + pinctrl-names = "default"; 230 + pinctrl-0 = <&hog_pins_a>; 231 + 232 + hog_pins_a: hog@0 { 233 + reg = <0>; 234 + fsl,pinmux-ids = < 235 + MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 236 + >; 237 + fsl,drive-strength = <MXS_DRIVE_4mA>; 238 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 239 + fsl,pull-up = <MXS_PULL_DISABLE>; 240 + }; 241 + 242 + mac0_phy_reset_pin: mac0-phy-reset@0 { 243 + reg = <0>; 244 + fsl,pinmux-ids = < 245 + MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */ 246 + >; 247 + fsl,drive-strength = <MXS_DRIVE_4mA>; 248 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 249 + fsl,pull-up = <MXS_PULL_DISABLE>; 250 + }; 251 + 252 + mac0_phy_int_pin: mac0-phy-int@0 { 253 + reg = <0>; 254 + fsl,pinmux-ids = < 255 + MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ 256 + >; 257 + fsl,drive-strength = <MXS_DRIVE_4mA>; 258 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 259 + fsl,pull-up = <MXS_PULL_DISABLE>; 260 + }; 261 + 262 + led_pins: leds@0 { 263 + reg = <0>; 264 + fsl,pinmux-ids = < 265 + MX28_PAD_SAIF0_MCLK__GPIO_3_20 266 + MX28_PAD_SAIF0_LRCLK__GPIO_3_21 267 + >; 268 + fsl,drive-strength = <MXS_DRIVE_4mA>; 269 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 270 + fsl,pull-up = <MXS_PULL_DISABLE>; 271 + }; 272 + }; 273 + 274 + &ssp0 { 275 + compatible = "fsl,imx28-mmc"; 276 + pinctrl-names = "default"; 277 + pinctrl-0 = <&mmc0_8bit_pins_a 278 + &mmc0_cd_cfg &mmc0_sck_cfg>; 279 + bus-width = <8>; 280 + vmmc-supply = <&reg_3p3v>; 281 + status = "okay"; 282 + non-removable; 283 + }; 284 + 285 + &ssp2 { 286 + compatible = "fsl,imx28-mmc"; 287 + pinctrl-names = "default"; 288 + pinctrl-0 = <&mmc2_4bit_pins_b 289 + &mmc2_cd_cfg &mmc2_sck_cfg_b>; 290 + bus-width = <4>; 291 + vmmc-supply = <&reg_3p3v>; 292 + status = "okay"; 293 + }; 294 + 295 + &usb0 { 296 + status = "okay"; 297 + dr_mode = "peripheral"; 298 + }; 299 + 300 + &usbphy0 { 301 + status = "okay"; 46 302 };
+94 -102
arch/arm/boot/dts/imx28-duckbill.dts
··· 17 17 reg = <0x40000000 0x08000000>; 18 18 }; 19 19 20 - apb@80000000 { 21 - apbh@80000000 { 22 - ssp0: spi@80010000 { 23 - compatible = "fsl,imx28-mmc"; 24 - pinctrl-names = "default"; 25 - pinctrl-0 = <&mmc0_4bit_pins_a 26 - &mmc0_cd_cfg &mmc0_sck_cfg>; 27 - bus-width = <4>; 28 - vmmc-supply = <&reg_3p3v>; 29 - status = "okay"; 30 - }; 31 - 32 - ssp2: spi@80014000 { 33 - compatible = "fsl,imx28-spi"; 34 - pinctrl-names = "default"; 35 - pinctrl-0 = <&spi2_pins_a>; 36 - status = "okay"; 37 - }; 38 - 39 - pinctrl@80018000 { 40 - pinctrl-names = "default"; 41 - pinctrl-0 = <&hog_pins_a>; 42 - 43 - hog_pins_a: hog@0 { 44 - reg = <0>; 45 - fsl,pinmux-ids = < 46 - MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 47 - >; 48 - fsl,drive-strength = <MXS_DRIVE_4mA>; 49 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 50 - fsl,pull-up = <MXS_PULL_DISABLE>; 51 - }; 52 - 53 - mac0_phy_reset_pin: mac0-phy-reset@0 { 54 - reg = <0>; 55 - fsl,pinmux-ids = < 56 - MX28_PAD_SSP0_DATA7__GPIO_2_7 /* PHY Reset */ 57 - >; 58 - fsl,drive-strength = <MXS_DRIVE_4mA>; 59 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 60 - fsl,pull-up = <MXS_PULL_DISABLE>; 61 - }; 62 - 63 - led_pins: leds@0 { 64 - reg = <0>; 65 - fsl,pinmux-ids = < 66 - MX28_PAD_AUART1_RX__GPIO_3_4 67 - MX28_PAD_AUART1_TX__GPIO_3_5 68 - >; 69 - fsl,drive-strength = <MXS_DRIVE_4mA>; 70 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 71 - fsl,pull-up = <MXS_PULL_DISABLE>; 72 - }; 73 - }; 74 - }; 75 - 76 - apbx@80040000 { 77 - lradc@80050000 { 78 - status = "okay"; 79 - }; 80 - 81 - i2c0: i2c@80058000 { 82 - pinctrl-names = "default"; 83 - pinctrl-0 = <&i2c0_pins_a>; 84 - status = "okay"; 85 - }; 86 - 87 - auart0: serial@8006a000 { 88 - pinctrl-names = "default"; 89 - pinctrl-0 = <&auart0_2pins_a>; 90 - status = "okay"; 91 - }; 92 - 93 - duart: serial@80074000 { 94 - pinctrl-names = "default"; 95 - pinctrl-0 = <&duart_pins_a>; 96 - status = "okay"; 97 - }; 98 - 99 - usbphy0: usbphy@8007c000 { 100 - status = "okay"; 101 - }; 102 - }; 103 - }; 104 - 105 - ahb@80080000 { 106 - usb0: usb@80080000 { 107 - status = "okay"; 108 - dr_mode = "peripheral"; 109 - }; 110 - 111 - mac0: ethernet@800f0000 { 112 - phy-mode = "rmii"; 113 - pinctrl-names = "default"; 114 - pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 115 - phy-supply = <&reg_3p3v>; 116 - phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; 117 - phy-reset-duration = <25>; 118 - status = "okay"; 119 - }; 120 - }; 121 - 122 20 reg_3p3v: regulator-3p3v { 123 21 compatible = "regulator-fixed"; 124 22 regulator-name = "3P3V"; ··· 42 144 linux,default-trigger = "heartbeat"; 43 145 }; 44 146 }; 147 + }; 148 + 149 + &auart0 { 150 + pinctrl-names = "default"; 151 + pinctrl-0 = <&auart0_2pins_a>; 152 + status = "okay"; 153 + }; 154 + 155 + &duart { 156 + pinctrl-names = "default"; 157 + pinctrl-0 = <&duart_pins_a>; 158 + status = "okay"; 159 + }; 160 + 161 + &lradc { 162 + status = "okay"; 163 + }; 164 + 165 + &i2c0 { 166 + pinctrl-names = "default"; 167 + pinctrl-0 = <&i2c0_pins_a>; 168 + status = "okay"; 169 + }; 170 + 171 + &mac0 { 172 + phy-mode = "rmii"; 173 + pinctrl-names = "default"; 174 + pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 175 + phy-supply = <&reg_3p3v>; 176 + phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; 177 + phy-reset-duration = <25>; 178 + status = "okay"; 179 + }; 180 + 181 + &pinctrl { 182 + pinctrl-names = "default"; 183 + pinctrl-0 = <&hog_pins_a>; 184 + 185 + hog_pins_a: hog@0 { 186 + reg = <0>; 187 + fsl,pinmux-ids = < 188 + MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 189 + >; 190 + fsl,drive-strength = <MXS_DRIVE_4mA>; 191 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 192 + fsl,pull-up = <MXS_PULL_DISABLE>; 193 + }; 194 + 195 + mac0_phy_reset_pin: mac0-phy-reset@0 { 196 + reg = <0>; 197 + fsl,pinmux-ids = < 198 + MX28_PAD_SSP0_DATA7__GPIO_2_7 /* PHY Reset */ 199 + >; 200 + fsl,drive-strength = <MXS_DRIVE_4mA>; 201 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 202 + fsl,pull-up = <MXS_PULL_DISABLE>; 203 + }; 204 + 205 + led_pins: leds@0 { 206 + reg = <0>; 207 + fsl,pinmux-ids = < 208 + MX28_PAD_AUART1_RX__GPIO_3_4 209 + MX28_PAD_AUART1_TX__GPIO_3_5 210 + >; 211 + fsl,drive-strength = <MXS_DRIVE_4mA>; 212 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 213 + fsl,pull-up = <MXS_PULL_DISABLE>; 214 + }; 215 + }; 216 + 217 + &ssp0 { 218 + compatible = "fsl,imx28-mmc"; 219 + pinctrl-names = "default"; 220 + pinctrl-0 = <&mmc0_4bit_pins_a 221 + &mmc0_cd_cfg &mmc0_sck_cfg>; 222 + bus-width = <4>; 223 + vmmc-supply = <&reg_3p3v>; 224 + status = "okay"; 225 + }; 226 + 227 + &ssp2 { 228 + compatible = "fsl,imx28-spi"; 229 + pinctrl-names = "default"; 230 + pinctrl-0 = <&spi2_pins_a>; 231 + status = "okay"; 232 + }; 233 + 234 + &usb0 { 235 + dr_mode = "peripheral"; 236 + status = "okay"; 237 + }; 238 + 239 + &usbphy0 { 240 + status = "okay"; 45 241 };
+228 -236
arch/arm/boot/dts/imx28-evk.dts
··· 95 95 }; 96 96 }; 97 97 98 - apb@80000000 { 99 - apbh@80000000 { 100 - nand-controller@8000c000 { 101 - pinctrl-names = "default"; 102 - pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg 103 - &gpmi_pins_evk>; 104 - status = "okay"; 105 - }; 106 - 107 - ssp0: spi@80010000 { 108 - compatible = "fsl,imx28-mmc"; 109 - pinctrl-names = "default"; 110 - pinctrl-0 = <&mmc0_8bit_pins_a 111 - &mmc0_cd_cfg &mmc0_sck_cfg>; 112 - bus-width = <8>; 113 - wp-gpios = <&gpio2 12 0>; 114 - vmmc-supply = <&reg_vddio_sd0>; 115 - status = "okay"; 116 - }; 117 - 118 - ssp1: spi@80012000 { 119 - compatible = "fsl,imx28-mmc"; 120 - bus-width = <8>; 121 - wp-gpios = <&gpio0 28 0>; 122 - }; 123 - 124 - ssp2: spi@80014000 { 125 - #address-cells = <1>; 126 - #size-cells = <0>; 127 - compatible = "fsl,imx28-spi"; 128 - pinctrl-names = "default"; 129 - pinctrl-0 = <&spi2_pins_a>; 130 - status = "okay"; 131 - 132 - flash: flash@0 { 133 - #address-cells = <1>; 134 - #size-cells = <1>; 135 - compatible = "sst,sst25vf016b", "jedec,spi-nor"; 136 - spi-max-frequency = <40000000>; 137 - reg = <0>; 138 - }; 139 - }; 140 - 141 - pinctrl@80018000 { 142 - pinctrl-names = "default"; 143 - pinctrl-0 = <&hog_pins_a>; 144 - 145 - hog_pins_a: hog@0 { 146 - reg = <0>; 147 - fsl,pinmux-ids = < 148 - MX28_PAD_SSP1_CMD__GPIO_2_13 149 - MX28_PAD_SSP1_DATA3__GPIO_2_15 150 - MX28_PAD_ENET0_RX_CLK__GPIO_4_13 151 - MX28_PAD_SSP1_SCK__GPIO_2_12 152 - MX28_PAD_PWM3__GPIO_3_28 153 - MX28_PAD_LCD_RESET__GPIO_3_30 154 - MX28_PAD_AUART2_RX__GPIO_3_8 155 - MX28_PAD_AUART2_TX__GPIO_3_9 156 - >; 157 - fsl,drive-strength = <MXS_DRIVE_4mA>; 158 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 159 - fsl,pull-up = <MXS_PULL_DISABLE>; 160 - }; 161 - 162 - led_pin_gpio3_5: led_gpio3_5@0 { 163 - reg = <0>; 164 - fsl,pinmux-ids = < 165 - MX28_PAD_AUART1_TX__GPIO_3_5 166 - >; 167 - fsl,drive-strength = <MXS_DRIVE_4mA>; 168 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 169 - fsl,pull-up = <MXS_PULL_DISABLE>; 170 - }; 171 - 172 - gpmi_pins_evk: gpmi-nand-evk@0 { 173 - reg = <0>; 174 - fsl,pinmux-ids = < 175 - MX28_PAD_GPMI_CE1N__GPMI_CE1N 176 - MX28_PAD_GPMI_RDY1__GPMI_READY1 177 - >; 178 - fsl,drive-strength = <MXS_DRIVE_4mA>; 179 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 180 - fsl,pull-up = <MXS_PULL_DISABLE>; 181 - }; 182 - 183 - lcdif_pins_evk: lcdif-evk@0 { 184 - reg = <0>; 185 - fsl,pinmux-ids = < 186 - MX28_PAD_LCD_RD_E__LCD_VSYNC 187 - MX28_PAD_LCD_WR_RWN__LCD_HSYNC 188 - MX28_PAD_LCD_RS__LCD_DOTCLK 189 - MX28_PAD_LCD_CS__LCD_ENABLE 190 - >; 191 - fsl,drive-strength = <MXS_DRIVE_4mA>; 192 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 193 - fsl,pull-up = <MXS_PULL_DISABLE>; 194 - }; 195 - }; 196 - 197 - lcdif@80030000 { 198 - pinctrl-names = "default"; 199 - pinctrl-0 = <&lcdif_24bit_pins_a 200 - &lcdif_pins_evk>; 201 - status = "okay"; 202 - 203 - port { 204 - display_out: endpoint { 205 - remote-endpoint = <&panel_in>; 206 - }; 207 - }; 208 - }; 209 - 210 - can0: can@80032000 { 211 - pinctrl-names = "default"; 212 - pinctrl-0 = <&can0_pins_a>; 213 - xceiver-supply = <&reg_can_3v3>; 214 - status = "okay"; 215 - }; 216 - 217 - can1: can@80034000 { 218 - pinctrl-names = "default"; 219 - pinctrl-0 = <&can1_pins_a>; 220 - xceiver-supply = <&reg_can_3v3>; 221 - status = "okay"; 222 - }; 223 - }; 224 - 225 - apbx@80040000 { 226 - saif0: saif@80042000 { 227 - pinctrl-names = "default"; 228 - pinctrl-0 = <&saif0_pins_a>; 229 - status = "okay"; 230 - }; 231 - 232 - saif1: saif@80046000 { 233 - pinctrl-names = "default"; 234 - pinctrl-0 = <&saif1_pins_a>; 235 - fsl,saif-master = <&saif0>; 236 - status = "okay"; 237 - }; 238 - 239 - lradc@80050000 { 240 - status = "okay"; 241 - fsl,lradc-touchscreen-wires = <4>; 242 - fsl,ave-ctrl = <4>; 243 - fsl,ave-delay = <2>; 244 - fsl,settling = <10>; 245 - }; 246 - 247 - i2c0: i2c@80058000 { 248 - pinctrl-names = "default"; 249 - pinctrl-0 = <&i2c0_pins_a>; 250 - status = "okay"; 251 - 252 - sgtl5000: codec@a { 253 - compatible = "fsl,sgtl5000"; 254 - reg = <0x0a>; 255 - #sound-dai-cells = <0>; 256 - VDDA-supply = <&reg_3p3v>; 257 - VDDIO-supply = <&reg_3p3v>; 258 - clocks = <&saif0>; 259 - }; 260 - 261 - at24@51 { 262 - compatible = "atmel,24c32"; 263 - pagesize = <32>; 264 - reg = <0x51>; 265 - }; 266 - }; 267 - 268 - pwm: pwm@80064000 { 269 - pinctrl-names = "default"; 270 - pinctrl-0 = <&pwm2_pins_a>; 271 - status = "okay"; 272 - }; 273 - 274 - duart: serial@80074000 { 275 - pinctrl-names = "default"; 276 - pinctrl-0 = <&duart_pins_a>; 277 - status = "okay"; 278 - }; 279 - 280 - auart0: serial@8006a000 { 281 - pinctrl-names = "default"; 282 - pinctrl-0 = <&auart0_pins_a>; 283 - uart-has-rtscts; 284 - status = "okay"; 285 - }; 286 - 287 - auart3: serial@80070000 { 288 - pinctrl-names = "default"; 289 - pinctrl-0 = <&auart3_pins_a>; 290 - status = "okay"; 291 - }; 292 - 293 - usbphy0: usbphy@8007c000 { 294 - status = "okay"; 295 - }; 296 - 297 - usbphy1: usbphy@8007e000 { 298 - status = "okay"; 299 - }; 300 - }; 301 - }; 302 - 303 - ahb@80080000 { 304 - usb0: usb@80080000 { 305 - pinctrl-names = "default"; 306 - pinctrl-0 = <&usb0_id_pins_a>; 307 - vbus-supply = <&reg_usb0_vbus>; 308 - status = "okay"; 309 - }; 310 - 311 - usb1: usb@80090000 { 312 - vbus-supply = <&reg_usb1_vbus>; 313 - status = "okay"; 314 - }; 315 - 316 - mac0: ethernet@800f0000 { 317 - phy-mode = "rmii"; 318 - pinctrl-names = "default"; 319 - pinctrl-0 = <&mac0_pins_a>; 320 - phy-supply = <&reg_fec_3v3>; 321 - phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 322 - phy-reset-duration = <100>; 323 - status = "okay"; 324 - }; 325 - 326 - mac1: ethernet@800f4000 { 327 - phy-mode = "rmii"; 328 - pinctrl-names = "default"; 329 - pinctrl-0 = <&mac1_pins_a>; 330 - status = "okay"; 331 - }; 332 - }; 333 - 334 98 sound { 335 99 compatible = "fsl,imx28-evk-sgtl5000", 336 100 "fsl,mxs-audio-sgtl5000"; ··· 121 357 brightness-levels = <0 4 8 16 32 64 128 255>; 122 358 default-brightness-level = <6>; 123 359 }; 360 + }; 361 + 362 + &auart0 { 363 + pinctrl-names = "default"; 364 + pinctrl-0 = <&auart0_pins_a>; 365 + uart-has-rtscts; 366 + status = "okay"; 367 + }; 368 + 369 + &auart3 { 370 + pinctrl-names = "default"; 371 + pinctrl-0 = <&auart3_pins_a>; 372 + status = "okay"; 373 + }; 374 + 375 + &can0 { 376 + pinctrl-names = "default"; 377 + pinctrl-0 = <&can0_pins_a>; 378 + xceiver-supply = <&reg_can_3v3>; 379 + status = "okay"; 380 + }; 381 + 382 + &can1 { 383 + pinctrl-names = "default"; 384 + pinctrl-0 = <&can1_pins_a>; 385 + xceiver-supply = <&reg_can_3v3>; 386 + status = "okay"; 387 + }; 388 + 389 + &duart { 390 + pinctrl-names = "default"; 391 + pinctrl-0 = <&duart_pins_a>; 392 + status = "okay"; 393 + }; 394 + 395 + &gpmi { 396 + pinctrl-names = "default"; 397 + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg 398 + &gpmi_pins_evk>; 399 + status = "okay"; 400 + }; 401 + 402 + &lcdif { 403 + pinctrl-names = "default"; 404 + pinctrl-0 = <&lcdif_24bit_pins_a 405 + &lcdif_pins_evk>; 406 + status = "okay"; 407 + 408 + port { 409 + display_out: endpoint { 410 + remote-endpoint = <&panel_in>; 411 + }; 412 + }; 413 + }; 414 + 415 + &lradc { 416 + fsl,lradc-touchscreen-wires = <4>; 417 + fsl,ave-ctrl = <4>; 418 + fsl,ave-delay = <2>; 419 + fsl,settling = <10>; 420 + status = "okay"; 421 + }; 422 + 423 + &i2c0 { 424 + pinctrl-names = "default"; 425 + pinctrl-0 = <&i2c0_pins_a>; 426 + status = "okay"; 427 + 428 + sgtl5000: codec@a { 429 + compatible = "fsl,sgtl5000"; 430 + reg = <0x0a>; 431 + #sound-dai-cells = <0>; 432 + VDDA-supply = <&reg_3p3v>; 433 + VDDIO-supply = <&reg_3p3v>; 434 + clocks = <&saif0>; 435 + }; 436 + 437 + at24@51 { 438 + compatible = "atmel,24c32"; 439 + pagesize = <32>; 440 + reg = <0x51>; 441 + }; 442 + }; 443 + 444 + &mac0 { 445 + phy-mode = "rmii"; 446 + pinctrl-names = "default"; 447 + pinctrl-0 = <&mac0_pins_a>; 448 + phy-supply = <&reg_fec_3v3>; 449 + phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 450 + phy-reset-duration = <100>; 451 + status = "okay"; 452 + }; 453 + 454 + &mac1 { 455 + phy-mode = "rmii"; 456 + pinctrl-names = "default"; 457 + pinctrl-0 = <&mac1_pins_a>; 458 + status = "okay"; 459 + }; 460 + 461 + &pinctrl { 462 + pinctrl-names = "default"; 463 + pinctrl-0 = <&hog_pins_a>; 464 + 465 + hog_pins_a: hog@0 { 466 + reg = <0>; 467 + fsl,pinmux-ids = < 468 + MX28_PAD_SSP1_CMD__GPIO_2_13 469 + MX28_PAD_SSP1_DATA3__GPIO_2_15 470 + MX28_PAD_ENET0_RX_CLK__GPIO_4_13 471 + MX28_PAD_SSP1_SCK__GPIO_2_12 472 + MX28_PAD_PWM3__GPIO_3_28 473 + MX28_PAD_LCD_RESET__GPIO_3_30 474 + MX28_PAD_AUART2_RX__GPIO_3_8 475 + MX28_PAD_AUART2_TX__GPIO_3_9 476 + >; 477 + fsl,drive-strength = <MXS_DRIVE_4mA>; 478 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 479 + fsl,pull-up = <MXS_PULL_DISABLE>; 480 + }; 481 + 482 + led_pin_gpio3_5: led_gpio3_5@0 { 483 + reg = <0>; 484 + fsl,pinmux-ids = < 485 + MX28_PAD_AUART1_TX__GPIO_3_5 486 + >; 487 + fsl,drive-strength = <MXS_DRIVE_4mA>; 488 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 489 + fsl,pull-up = <MXS_PULL_DISABLE>; 490 + }; 491 + 492 + gpmi_pins_evk: gpmi-nand-evk@0 { 493 + reg = <0>; 494 + fsl,pinmux-ids = < 495 + MX28_PAD_GPMI_CE1N__GPMI_CE1N 496 + MX28_PAD_GPMI_RDY1__GPMI_READY1 497 + >; 498 + fsl,drive-strength = <MXS_DRIVE_4mA>; 499 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 500 + fsl,pull-up = <MXS_PULL_DISABLE>; 501 + }; 502 + 503 + lcdif_pins_evk: lcdif-evk@0 { 504 + reg = <0>; 505 + fsl,pinmux-ids = < 506 + MX28_PAD_LCD_RD_E__LCD_VSYNC 507 + MX28_PAD_LCD_WR_RWN__LCD_HSYNC 508 + MX28_PAD_LCD_RS__LCD_DOTCLK 509 + MX28_PAD_LCD_CS__LCD_ENABLE 510 + >; 511 + fsl,drive-strength = <MXS_DRIVE_4mA>; 512 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 513 + fsl,pull-up = <MXS_PULL_DISABLE>; 514 + }; 515 + }; 516 + 517 + &pwm { 518 + pinctrl-names = "default"; 519 + pinctrl-0 = <&pwm2_pins_a>; 520 + status = "okay"; 521 + }; 522 + 523 + &saif0 { 524 + pinctrl-names = "default"; 525 + pinctrl-0 = <&saif0_pins_a>; 526 + status = "okay"; 527 + }; 528 + 529 + &saif1 { 530 + pinctrl-names = "default"; 531 + pinctrl-0 = <&saif1_pins_a>; 532 + fsl,saif-master = <&saif0>; 533 + status = "okay"; 534 + }; 535 + 536 + &ssp0 { 537 + compatible = "fsl,imx28-mmc"; 538 + pinctrl-names = "default"; 539 + pinctrl-0 = <&mmc0_8bit_pins_a 540 + &mmc0_cd_cfg &mmc0_sck_cfg>; 541 + bus-width = <8>; 542 + wp-gpios = <&gpio2 12 0>; 543 + vmmc-supply = <&reg_vddio_sd0>; 544 + status = "okay"; 545 + }; 546 + 547 + &ssp1 { 548 + compatible = "fsl,imx28-mmc"; 549 + bus-width = <8>; 550 + wp-gpios = <&gpio0 28 0>; 551 + }; 552 + 553 + &ssp2 { 554 + #address-cells = <1>; 555 + #size-cells = <0>; 556 + compatible = "fsl,imx28-spi"; 557 + pinctrl-names = "default"; 558 + pinctrl-0 = <&spi2_pins_a>; 559 + status = "okay"; 560 + 561 + flash: flash@0 { 562 + reg = <0>; 563 + #address-cells = <1>; 564 + #size-cells = <1>; 565 + compatible = "sst,sst25vf016b", "jedec,spi-nor"; 566 + spi-max-frequency = <40000000>; 567 + }; 568 + }; 569 + 570 + &usb0 { 571 + pinctrl-names = "default"; 572 + pinctrl-0 = <&usb0_id_pins_a>; 573 + vbus-supply = <&reg_usb0_vbus>; 574 + status = "okay"; 575 + }; 576 + 577 + &usb1 { 578 + vbus-supply = <&reg_usb1_vbus>; 579 + status = "okay"; 580 + }; 581 + 582 + &usbphy0 { 583 + status = "okay"; 584 + }; 585 + 586 + &usbphy1 { 587 + status = "okay"; 124 588 };
+19 -25
arch/arm/boot/dts/imx28-m28.dtsi
··· 14 14 reg = <0x40000000 0x08000000>; 15 15 }; 16 16 17 - apb@80000000 { 18 - apbh@80000000 { 19 - nand-controller@8000c000 { 20 - #address-cells = <1>; 21 - #size-cells = <1>; 22 - pinctrl-names = "default"; 23 - pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 24 - status = "okay"; 25 - }; 26 - }; 27 - 28 - apbx@80040000 { 29 - i2c0: i2c@80058000 { 30 - pinctrl-names = "default"; 31 - pinctrl-0 = <&i2c0_pins_a>; 32 - status = "okay"; 33 - 34 - rtc: rtc@68 { 35 - compatible = "st,m41t62"; 36 - reg = <0x68>; 37 - }; 38 - }; 39 - }; 40 - }; 41 - 42 17 regulators { 43 18 compatible = "simple-bus"; 44 19 #address-cells = <1>; ··· 27 52 regulator-max-microvolt = <3300000>; 28 53 regulator-always-on; 29 54 }; 55 + }; 56 + }; 57 + 58 + &gpmi { 59 + #address-cells = <1>; 60 + #size-cells = <1>; 61 + pinctrl-names = "default"; 62 + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 63 + status = "okay"; 64 + }; 65 + 66 + &i2c0 { 67 + pinctrl-names = "default"; 68 + pinctrl-0 = <&i2c0_pins_a>; 69 + status = "okay"; 70 + 71 + rtc: rtc@68 { 72 + compatible = "st,m41t62"; 73 + reg = <0x68>; 30 74 }; 31 75 };
+173 -181
arch/arm/boot/dts/imx28-m28cu3.dts
··· 15 15 reg = <0x40000000 0x08000000>; 16 16 }; 17 17 18 - apb@80000000 { 19 - apbh@80000000 { 20 - nand-controller@8000c000 { 21 - #address-cells = <1>; 22 - #size-cells = <1>; 23 - pinctrl-names = "default"; 24 - pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 25 - status = "okay"; 26 - 27 - partition@0 { 28 - label = "gpmi-nfc-0-boot"; 29 - reg = <0x00000000 0x01400000>; 30 - read-only; 31 - }; 32 - 33 - partition@1 { 34 - label = "gpmi-nfc-general-use"; 35 - reg = <0x01400000 0x0ec00000>; 36 - }; 37 - }; 38 - 39 - ssp0: spi@80010000 { 40 - compatible = "fsl,imx28-mmc"; 41 - pinctrl-names = "default"; 42 - pinctrl-0 = <&mmc0_4bit_pins_a 43 - &mmc0_cd_cfg 44 - &mmc0_sck_cfg>; 45 - bus-width = <4>; 46 - vmmc-supply = <&reg_vddio_sd0>; 47 - status = "okay"; 48 - }; 49 - 50 - ssp2: spi@80014000 { 51 - compatible = "fsl,imx28-mmc"; 52 - pinctrl-names = "default"; 53 - pinctrl-0 = <&mmc2_4bit_pins_a 54 - &mmc2_cd_cfg 55 - &mmc2_sck_cfg_a>; 56 - bus-width = <4>; 57 - vmmc-supply = <&reg_vddio_sd1>; 58 - status = "okay"; 59 - }; 60 - 61 - pinctrl@80018000 { 62 - pinctrl-names = "default"; 63 - pinctrl-0 = <&hog_pins_a>; 64 - 65 - hog_pins_a: hog@0 { 66 - reg = <0>; 67 - fsl,pinmux-ids = < 68 - MX28_PAD_SSP2_SS0__GPIO_2_19 69 - MX28_PAD_PWM4__GPIO_3_29 70 - MX28_PAD_AUART2_RX__GPIO_3_8 71 - MX28_PAD_ENET0_RX_CLK__GPIO_4_13 72 - >; 73 - fsl,drive-strength = <MXS_DRIVE_4mA>; 74 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 75 - fsl,pull-up = <MXS_PULL_DISABLE>; 76 - }; 77 - 78 - lcdif_pins_m28: lcdif-m28@0 { 79 - reg = <0>; 80 - fsl,pinmux-ids = < 81 - MX28_PAD_LCD_VSYNC__LCD_VSYNC 82 - MX28_PAD_LCD_HSYNC__LCD_HSYNC 83 - MX28_PAD_LCD_DOTCLK__LCD_DOTCLK 84 - MX28_PAD_LCD_RESET__LCD_RESET 85 - MX28_PAD_LCD_CS__LCD_ENABLE 86 - MX28_PAD_AUART1_TX__GPIO_3_5 87 - >; 88 - fsl,drive-strength = <MXS_DRIVE_4mA>; 89 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 90 - fsl,pull-up = <MXS_PULL_DISABLE>; 91 - }; 92 - 93 - led_pins_gpio: leds-m28@0 { 94 - reg = <0>; 95 - fsl,pinmux-ids = < 96 - MX28_PAD_SSP3_MISO__GPIO_2_26 97 - MX28_PAD_SSP3_SCK__GPIO_2_24 98 - >; 99 - fsl,drive-strength = <MXS_DRIVE_4mA>; 100 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 101 - fsl,pull-up = <MXS_PULL_DISABLE>; 102 - }; 103 - }; 104 - 105 - ocotp@8002c000 { 106 - status = "okay"; 107 - }; 108 - 109 - lcdif@80030000 { 110 - pinctrl-names = "default"; 111 - pinctrl-0 = <&lcdif_24bit_pins_a 112 - &lcdif_pins_m28>; 113 - display = <&display0>; 114 - status = "okay"; 115 - 116 - display0: display0 { 117 - bits-per-pixel = <32>; 118 - bus-width = <24>; 119 - 120 - display-timings { 121 - native-mode = <&timing0>; 122 - timing0: timing0 { 123 - clock-frequency = <6410256>; 124 - hactive = <320>; 125 - vactive = <240>; 126 - hback-porch = <38>; 127 - hfront-porch = <20>; 128 - vback-porch = <15>; 129 - vfront-porch = <5>; 130 - hsync-len = <30>; 131 - vsync-len = <3>; 132 - hsync-active = <0>; 133 - vsync-active = <0>; 134 - de-active = <1>; 135 - pixelclk-active = <1>; 136 - }; 137 - }; 138 - }; 139 - }; 140 - }; 141 - 142 - apbx@80040000 { 143 - duart: serial@80074000 { 144 - pinctrl-names = "default"; 145 - pinctrl-0 = <&duart_pins_b>; 146 - status = "okay"; 147 - }; 148 - 149 - usbphy1: usbphy@8007e000 { 150 - status = "okay"; 151 - }; 152 - 153 - auart0: serial@8006a000 { 154 - pinctrl-names = "default"; 155 - pinctrl-0 = <&auart0_2pins_a>; 156 - status = "okay"; 157 - }; 158 - 159 - auart3: serial@80070000 { 160 - pinctrl-names = "default"; 161 - pinctrl-0 = <&auart3_2pins_b>; 162 - status = "okay"; 163 - }; 164 - 165 - pwm: pwm@80064000 { 166 - pinctrl-names = "default"; 167 - pinctrl-0 = <&pwm3_pins_a>; 168 - status = "okay"; 169 - }; 170 - }; 171 - }; 172 - 173 - ahb@80080000 { 174 - usb1: usb@80090000 { 175 - vbus-supply = <&reg_usb1_vbus>; 176 - pinctrl-names = "default"; 177 - pinctrl-0 = <&usb1_pins_a>; 178 - disable-over-current; 179 - status = "okay"; 180 - }; 181 - 182 - mac0: ethernet@800f0000 { 183 - phy-mode = "rmii"; 184 - pinctrl-names = "default"; 185 - pinctrl-0 = <&mac0_pins_a>; 186 - phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 187 - phy-reset-duration = <100>; 188 - status = "okay"; 189 - }; 190 - 191 - mac1: ethernet@800f4000 { 192 - phy-mode = "rmii"; 193 - pinctrl-names = "default"; 194 - pinctrl-0 = <&mac1_pins_a>; 195 - status = "okay"; 196 - }; 197 - }; 198 - 199 18 backlight { 200 19 compatible = "pwm-backlight"; 201 20 pwms = <&pwm 3 5000000>; ··· 82 263 enable-active-high; 83 264 }; 84 265 }; 266 + }; 267 + 268 + &auart0 { 269 + pinctrl-names = "default"; 270 + pinctrl-0 = <&auart0_2pins_a>; 271 + status = "okay"; 272 + }; 273 + 274 + &auart3 { 275 + pinctrl-names = "default"; 276 + pinctrl-0 = <&auart3_2pins_b>; 277 + status = "okay"; 278 + }; 279 + 280 + &duart { 281 + pinctrl-names = "default"; 282 + pinctrl-0 = <&duart_pins_b>; 283 + status = "okay"; 284 + }; 285 + 286 + &gpmi { 287 + #address-cells = <1>; 288 + #size-cells = <1>; 289 + pinctrl-names = "default"; 290 + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 291 + status = "okay"; 292 + 293 + partition@0 { 294 + label = "gpmi-nfc-0-boot"; 295 + reg = <0x00000000 0x01400000>; 296 + read-only; 297 + }; 298 + 299 + partition@1 { 300 + label = "gpmi-nfc-general-use"; 301 + reg = <0x01400000 0x0ec00000>; 302 + }; 303 + }; 304 + 305 + &lcdif { 306 + pinctrl-names = "default"; 307 + pinctrl-0 = <&lcdif_24bit_pins_a 308 + &lcdif_pins_m28>; 309 + display = <&display0>; 310 + status = "okay"; 311 + 312 + display0: display0 { 313 + bits-per-pixel = <32>; 314 + bus-width = <24>; 315 + 316 + display-timings { 317 + native-mode = <&timing0>; 318 + timing0: timing0 { 319 + clock-frequency = <6410256>; 320 + hactive = <320>; 321 + vactive = <240>; 322 + hback-porch = <38>; 323 + hfront-porch = <20>; 324 + vback-porch = <15>; 325 + vfront-porch = <5>; 326 + hsync-len = <30>; 327 + vsync-len = <3>; 328 + hsync-active = <0>; 329 + vsync-active = <0>; 330 + de-active = <1>; 331 + pixelclk-active = <1>; 332 + }; 333 + }; 334 + }; 335 + }; 336 + 337 + &mac0 { 338 + phy-mode = "rmii"; 339 + pinctrl-names = "default"; 340 + pinctrl-0 = <&mac0_pins_a>; 341 + phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; 342 + phy-reset-duration = <100>; 343 + status = "okay"; 344 + }; 345 + 346 + &mac1 { 347 + phy-mode = "rmii"; 348 + pinctrl-names = "default"; 349 + pinctrl-0 = <&mac1_pins_a>; 350 + status = "okay"; 351 + }; 352 + 353 + &ocotp { 354 + status = "okay"; 355 + }; 356 + 357 + &pinctrl { 358 + pinctrl-names = "default"; 359 + pinctrl-0 = <&hog_pins_a>; 360 + 361 + hog_pins_a: hog@0 { 362 + reg = <0>; 363 + fsl,pinmux-ids = < 364 + MX28_PAD_SSP2_SS0__GPIO_2_19 365 + MX28_PAD_PWM4__GPIO_3_29 366 + MX28_PAD_AUART2_RX__GPIO_3_8 367 + MX28_PAD_ENET0_RX_CLK__GPIO_4_13 368 + >; 369 + fsl,drive-strength = <MXS_DRIVE_4mA>; 370 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 371 + fsl,pull-up = <MXS_PULL_DISABLE>; 372 + }; 373 + 374 + lcdif_pins_m28: lcdif-m28@0 { 375 + reg = <0>; 376 + fsl,pinmux-ids = < 377 + MX28_PAD_LCD_VSYNC__LCD_VSYNC 378 + MX28_PAD_LCD_HSYNC__LCD_HSYNC 379 + MX28_PAD_LCD_DOTCLK__LCD_DOTCLK 380 + MX28_PAD_LCD_RESET__LCD_RESET 381 + MX28_PAD_LCD_CS__LCD_ENABLE 382 + MX28_PAD_AUART1_TX__GPIO_3_5 383 + >; 384 + fsl,drive-strength = <MXS_DRIVE_4mA>; 385 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 386 + fsl,pull-up = <MXS_PULL_DISABLE>; 387 + }; 388 + 389 + led_pins_gpio: leds-m28@0 { 390 + reg = <0>; 391 + fsl,pinmux-ids = < 392 + MX28_PAD_SSP3_MISO__GPIO_2_26 393 + MX28_PAD_SSP3_SCK__GPIO_2_24 394 + >; 395 + fsl,drive-strength = <MXS_DRIVE_4mA>; 396 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 397 + fsl,pull-up = <MXS_PULL_DISABLE>; 398 + }; 399 + }; 400 + 401 + &pwm { 402 + pinctrl-names = "default"; 403 + pinctrl-0 = <&pwm3_pins_a>; 404 + status = "okay"; 405 + }; 406 + 407 + &ssp0 { 408 + compatible = "fsl,imx28-mmc"; 409 + pinctrl-names = "default"; 410 + pinctrl-0 = <&mmc0_4bit_pins_a 411 + &mmc0_cd_cfg 412 + &mmc0_sck_cfg>; 413 + bus-width = <4>; 414 + vmmc-supply = <&reg_vddio_sd0>; 415 + status = "okay"; 416 + }; 417 + 418 + &ssp2 { 419 + compatible = "fsl,imx28-mmc"; 420 + pinctrl-names = "default"; 421 + pinctrl-0 = <&mmc2_4bit_pins_a 422 + &mmc2_cd_cfg 423 + &mmc2_sck_cfg_a>; 424 + bus-width = <4>; 425 + vmmc-supply = <&reg_vddio_sd1>; 426 + status = "okay"; 427 + }; 428 + 429 + &usb1 { 430 + vbus-supply = <&reg_usb1_vbus>; 431 + pinctrl-names = "default"; 432 + pinctrl-0 = <&usb1_pins_a>; 433 + disable-over-current; 434 + status = "okay"; 435 + }; 436 + 437 + &usbphy1 { 438 + status = "okay"; 85 439 };
+206 -214
arch/arm/boot/dts/imx28-m28evk.dts
··· 11 11 model = "Aries/DENX M28EVK"; 12 12 compatible = "aries,m28evk", "denx,m28evk", "fsl,imx28"; 13 13 14 - apb@80000000 { 15 - apbh@80000000 { 16 - ssp0: spi@80010000 { 17 - compatible = "fsl,imx28-mmc"; 18 - pinctrl-names = "default"; 19 - pinctrl-0 = <&mmc0_8bit_pins_a 20 - &mmc0_cd_cfg 21 - &mmc0_sck_cfg>; 22 - bus-width = <8>; 23 - wp-gpios = <&gpio3 10 0>; 24 - vmmc-supply = <&reg_vddio_sd0>; 25 - status = "okay"; 26 - }; 27 - 28 - ssp2: spi@80014000 { 29 - #address-cells = <1>; 30 - #size-cells = <0>; 31 - compatible = "fsl,imx28-spi"; 32 - pinctrl-names = "default"; 33 - pinctrl-0 = <&spi2_pins_a>; 34 - status = "okay"; 35 - 36 - flash: flash@0 { 37 - #address-cells = <1>; 38 - #size-cells = <1>; 39 - compatible = "m25p80", "jedec,spi-nor"; 40 - spi-max-frequency = <40000000>; 41 - reg = <0>; 42 - }; 43 - }; 44 - 45 - pinctrl@80018000 { 46 - pinctrl-names = "default"; 47 - pinctrl-0 = <&hog_pins_a>; 48 - 49 - hog_pins_a: hog@0 { 50 - reg = <0>; 51 - fsl,pinmux-ids = < 52 - MX28_PAD_PWM3__GPIO_3_28 53 - MX28_PAD_AUART2_CTS__GPIO_3_10 54 - MX28_PAD_AUART2_RTS__GPIO_3_11 55 - MX28_PAD_AUART3_RX__GPIO_3_12 56 - MX28_PAD_AUART3_TX__GPIO_3_13 57 - >; 58 - fsl,drive-strength = <MXS_DRIVE_4mA>; 59 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 60 - fsl,pull-up = <MXS_PULL_DISABLE>; 61 - }; 62 - 63 - lcdif_pins_m28: lcdif-m28@0 { 64 - reg = <0>; 65 - fsl,pinmux-ids = < 66 - MX28_PAD_LCD_DOTCLK__LCD_DOTCLK 67 - MX28_PAD_LCD_ENABLE__LCD_ENABLE 68 - >; 69 - fsl,drive-strength = <MXS_DRIVE_4mA>; 70 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 71 - fsl,pull-up = <MXS_PULL_DISABLE>; 72 - }; 73 - }; 74 - 75 - lcdif@80030000 { 76 - pinctrl-names = "default"; 77 - pinctrl-0 = <&lcdif_24bit_pins_a 78 - &lcdif_pins_m28>; 79 - display = <&display0>; 80 - status = "okay"; 81 - 82 - display0: display0 { 83 - bits-per-pixel = <16>; 84 - bus-width = <18>; 85 - 86 - display-timings { 87 - native-mode = <&timing0>; 88 - timing0: timing0 { 89 - clock-frequency = <33260000>; 90 - hactive = <800>; 91 - vactive = <480>; 92 - hback-porch = <0>; 93 - hfront-porch = <256>; 94 - vback-porch = <0>; 95 - vfront-porch = <45>; 96 - hsync-len = <1>; 97 - vsync-len = <1>; 98 - hsync-active = <0>; 99 - vsync-active = <0>; 100 - de-active = <1>; 101 - pixelclk-active = <1>; 102 - }; 103 - }; 104 - }; 105 - }; 106 - 107 - can0: can@80032000 { 108 - pinctrl-names = "default"; 109 - pinctrl-0 = <&can0_pins_a>; 110 - status = "okay"; 111 - }; 112 - 113 - can1: can@80034000 { 114 - pinctrl-names = "default"; 115 - pinctrl-0 = <&can1_pins_a>; 116 - status = "okay"; 117 - }; 118 - }; 119 - 120 - apbx@80040000 { 121 - saif0: saif@80042000 { 122 - pinctrl-names = "default"; 123 - pinctrl-0 = <&saif0_pins_a>; 124 - status = "okay"; 125 - }; 126 - 127 - saif1: saif@80046000 { 128 - pinctrl-names = "default"; 129 - pinctrl-0 = <&saif1_pins_a>; 130 - fsl,saif-master = <&saif0>; 131 - status = "okay"; 132 - }; 133 - 134 - i2c0: i2c@80058000 { 135 - sgtl5000: codec@a { 136 - compatible = "fsl,sgtl5000"; 137 - reg = <0x0a>; 138 - #sound-dai-cells = <0>; 139 - VDDA-supply = <&reg_3p3v>; 140 - VDDIO-supply = <&reg_3p3v>; 141 - clocks = <&saif0>; 142 - }; 143 - 144 - eeprom: eeprom@51 { 145 - compatible = "atmel,24c128"; 146 - reg = <0x51>; 147 - pagesize = <32>; 148 - }; 149 - }; 150 - 151 - lradc@80050000 { 152 - status = "okay"; 153 - fsl,lradc-touchscreen-wires = <4>; 154 - }; 155 - 156 - duart: serial@80074000 { 157 - pinctrl-names = "default"; 158 - pinctrl-0 = <&duart_pins_a>; 159 - status = "okay"; 160 - }; 161 - 162 - usbphy0: usbphy@8007c000 { 163 - status = "okay"; 164 - }; 165 - 166 - usbphy1: usbphy@8007e000 { 167 - status = "okay"; 168 - }; 169 - 170 - auart0: serial@8006a000 { 171 - pinctrl-names = "default"; 172 - pinctrl-0 = <&auart0_pins_a>; 173 - status = "okay"; 174 - }; 175 - 176 - auart1: serial@8006c000 { 177 - pinctrl-names = "default"; 178 - pinctrl-0 = <&auart1_pins_a>; 179 - status = "okay"; 180 - }; 181 - 182 - auart2: serial@8006e000 { 183 - pinctrl-names = "default"; 184 - pinctrl-0 = <&auart2_2pins_b>; 185 - status = "okay"; 186 - }; 187 - 188 - pwm: pwm@80064000 { 189 - pinctrl-names = "default"; 190 - pinctrl-0 = <&pwm4_pins_a>; 191 - status = "okay"; 192 - }; 193 - }; 194 - }; 195 - 196 - ahb@80080000 { 197 - usb0: usb@80080000 { 198 - vbus-supply = <&reg_usb0_vbus>; 199 - pinctrl-names = "default"; 200 - pinctrl-0 = <&usb0_pins_a>; 201 - status = "okay"; 202 - }; 203 - 204 - usb1: usb@80090000 { 205 - vbus-supply = <&reg_usb1_vbus>; 206 - pinctrl-names = "default"; 207 - pinctrl-0 = <&usb1_pins_a>; 208 - status = "okay"; 209 - }; 210 - 211 - mac0: ethernet@800f0000 { 212 - phy-mode = "rmii"; 213 - pinctrl-names = "default"; 214 - pinctrl-0 = <&mac0_pins_a>; 215 - clocks = <&clks 57>, <&clks 57>; 216 - clock-names = "ipg", "ahb"; 217 - status = "okay"; 218 - }; 219 - 220 - mac1: ethernet@800f4000 { 221 - phy-mode = "rmii"; 222 - pinctrl-names = "default"; 223 - pinctrl-0 = <&mac1_pins_a>; 224 - status = "okay"; 225 - }; 226 - }; 227 - 228 14 backlight { 229 15 compatible = "pwm-backlight"; 230 16 pwms = <&pwm 4 5000000>; ··· 54 268 saif-controllers = <&saif0 &saif1>; 55 269 audio-codec = <&sgtl5000>; 56 270 }; 271 + }; 272 + 273 + &auart0 { 274 + pinctrl-names = "default"; 275 + pinctrl-0 = <&auart0_pins_a>; 276 + status = "okay"; 277 + }; 278 + 279 + &auart1 { 280 + pinctrl-names = "default"; 281 + pinctrl-0 = <&auart1_pins_a>; 282 + status = "okay"; 283 + }; 284 + 285 + &auart2 { 286 + pinctrl-names = "default"; 287 + pinctrl-0 = <&auart2_2pins_b>; 288 + status = "okay"; 289 + }; 290 + 291 + &duart { 292 + pinctrl-names = "default"; 293 + pinctrl-0 = <&duart_pins_a>; 294 + status = "okay"; 295 + }; 296 + 297 + &i2c0 { 298 + sgtl5000: codec@a { 299 + compatible = "fsl,sgtl5000"; 300 + reg = <0x0a>; 301 + #sound-dai-cells = <0>; 302 + VDDA-supply = <&reg_3p3v>; 303 + VDDIO-supply = <&reg_3p3v>; 304 + clocks = <&saif0>; 305 + }; 306 + 307 + eeprom: eeprom@51 { 308 + compatible = "atmel,24c128"; 309 + reg = <0x51>; 310 + pagesize = <32>; 311 + }; 312 + }; 313 + 314 + &lcdif { 315 + pinctrl-names = "default"; 316 + pinctrl-0 = <&lcdif_24bit_pins_a 317 + &lcdif_pins_m28>; 318 + display = <&display0>; 319 + status = "okay"; 320 + 321 + display0: display0 { 322 + bits-per-pixel = <16>; 323 + bus-width = <18>; 324 + 325 + display-timings { 326 + native-mode = <&timing0>; 327 + timing0: timing0 { 328 + clock-frequency = <33260000>; 329 + hactive = <800>; 330 + vactive = <480>; 331 + hback-porch = <0>; 332 + hfront-porch = <256>; 333 + vback-porch = <0>; 334 + vfront-porch = <45>; 335 + hsync-len = <1>; 336 + vsync-len = <1>; 337 + hsync-active = <0>; 338 + vsync-active = <0>; 339 + de-active = <1>; 340 + pixelclk-active = <1>; 341 + }; 342 + }; 343 + }; 344 + }; 345 + 346 + &lradc { 347 + status = "okay"; 348 + fsl,lradc-touchscreen-wires = <4>; 349 + }; 350 + 351 + &can0 { 352 + pinctrl-names = "default"; 353 + pinctrl-0 = <&can0_pins_a>; 354 + status = "okay"; 355 + }; 356 + 357 + &can1 { 358 + pinctrl-names = "default"; 359 + pinctrl-0 = <&can1_pins_a>; 360 + status = "okay"; 361 + }; 362 + 363 + &mac0 { 364 + phy-mode = "rmii"; 365 + pinctrl-names = "default"; 366 + pinctrl-0 = <&mac0_pins_a>; 367 + clocks = <&clks 57>, <&clks 57>; 368 + clock-names = "ipg", "ahb"; 369 + status = "okay"; 370 + }; 371 + 372 + &mac1 { 373 + phy-mode = "rmii"; 374 + pinctrl-names = "default"; 375 + pinctrl-0 = <&mac1_pins_a>; 376 + status = "okay"; 377 + }; 378 + 379 + &pinctrl { 380 + pinctrl-names = "default"; 381 + pinctrl-0 = <&hog_pins_a>; 382 + 383 + hog_pins_a: hog@0 { 384 + reg = <0>; 385 + fsl,pinmux-ids = < 386 + MX28_PAD_PWM3__GPIO_3_28 387 + MX28_PAD_AUART2_CTS__GPIO_3_10 388 + MX28_PAD_AUART2_RTS__GPIO_3_11 389 + MX28_PAD_AUART3_RX__GPIO_3_12 390 + MX28_PAD_AUART3_TX__GPIO_3_13 391 + >; 392 + fsl,drive-strength = <MXS_DRIVE_4mA>; 393 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 394 + fsl,pull-up = <MXS_PULL_DISABLE>; 395 + }; 396 + 397 + lcdif_pins_m28: lcdif-m28@0 { 398 + reg = <0>; 399 + fsl,pinmux-ids = < 400 + MX28_PAD_LCD_DOTCLK__LCD_DOTCLK 401 + MX28_PAD_LCD_ENABLE__LCD_ENABLE 402 + >; 403 + fsl,drive-strength = <MXS_DRIVE_4mA>; 404 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 405 + fsl,pull-up = <MXS_PULL_DISABLE>; 406 + }; 407 + }; 408 + 409 + &pwm { 410 + pinctrl-names = "default"; 411 + pinctrl-0 = <&pwm4_pins_a>; 412 + status = "okay"; 413 + }; 414 + 415 + &saif0 { 416 + pinctrl-names = "default"; 417 + pinctrl-0 = <&saif0_pins_a>; 418 + status = "okay"; 419 + }; 420 + 421 + &saif1 { 422 + pinctrl-names = "default"; 423 + pinctrl-0 = <&saif1_pins_a>; 424 + fsl,saif-master = <&saif0>; 425 + status = "okay"; 426 + }; 427 + 428 + &ssp0 { 429 + compatible = "fsl,imx28-mmc"; 430 + pinctrl-names = "default"; 431 + pinctrl-0 = <&mmc0_8bit_pins_a 432 + &mmc0_cd_cfg 433 + &mmc0_sck_cfg>; 434 + bus-width = <8>; 435 + wp-gpios = <&gpio3 10 0>; 436 + vmmc-supply = <&reg_vddio_sd0>; 437 + status = "okay"; 438 + }; 439 + 440 + &ssp2 { 441 + #address-cells = <1>; 442 + #size-cells = <0>; 443 + compatible = "fsl,imx28-spi"; 444 + pinctrl-names = "default"; 445 + pinctrl-0 = <&spi2_pins_a>; 446 + status = "okay"; 447 + 448 + flash: flash@0 { 449 + #address-cells = <1>; 450 + #size-cells = <1>; 451 + compatible = "m25p80", "jedec,spi-nor"; 452 + spi-max-frequency = <40000000>; 453 + reg = <0>; 454 + }; 455 + }; 456 + 457 + &usb0 { 458 + vbus-supply = <&reg_usb0_vbus>; 459 + pinctrl-names = "default"; 460 + pinctrl-0 = <&usb0_pins_a>; 461 + status = "okay"; 462 + }; 463 + 464 + &usb1 { 465 + vbus-supply = <&reg_usb1_vbus>; 466 + pinctrl-names = "default"; 467 + pinctrl-0 = <&usb1_pins_a>; 468 + status = "okay"; 469 + }; 470 + 471 + &usbphy0 { 472 + status = "okay"; 473 + }; 474 + 475 + &usbphy1 { 476 + status = "okay"; 57 477 };
+96 -105
arch/arm/boot/dts/imx28-sps1.dts
··· 15 15 reg = <0x40000000 0x08000000>; 16 16 }; 17 17 18 - apb@80000000 { 19 - apbh@80000000 { 20 - pinctrl@80018000 { 21 - pinctrl-names = "default"; 22 - pinctrl-0 = <&hog_pins_a>; 23 - 24 - hog_pins_a: hog-gpios@0 { 25 - reg = <0>; 26 - fsl,pinmux-ids = < 27 - MX28_PAD_GPMI_D00__GPIO_0_0 28 - MX28_PAD_GPMI_D03__GPIO_0_3 29 - MX28_PAD_GPMI_D06__GPIO_0_6 30 - >; 31 - fsl,drive-strength = <MXS_DRIVE_4mA>; 32 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 33 - fsl,pull-up = <MXS_PULL_DISABLE>; 34 - }; 35 - 36 - }; 37 - 38 - ssp0: spi@80010000 { 39 - compatible = "fsl,imx28-mmc"; 40 - pinctrl-names = "default"; 41 - pinctrl-0 = <&mmc0_4bit_pins_a>; 42 - bus-width = <4>; 43 - status = "okay"; 44 - }; 45 - 46 - ssp2: spi@80014000 { 47 - #address-cells = <1>; 48 - #size-cells = <0>; 49 - compatible = "fsl,imx28-spi"; 50 - pinctrl-names = "default"; 51 - pinctrl-0 = <&spi2_pins_a>; 52 - status = "okay"; 53 - 54 - flash: flash@0 { 55 - #address-cells = <1>; 56 - #size-cells = <1>; 57 - compatible = "everspin,mr25h256", "mr25h256"; 58 - spi-max-frequency = <40000000>; 59 - reg = <0>; 60 - }; 61 - }; 62 - }; 63 - 64 - apbx@80040000 { 65 - i2c0: i2c@80058000 { 66 - pinctrl-names = "default"; 67 - pinctrl-0 = <&i2c0_pins_a>; 68 - status = "okay"; 69 - 70 - rtc: rtc@51 { 71 - compatible = "nxp,pcf8563"; 72 - reg = <0x51>; 73 - }; 74 - 75 - eeprom: eeprom@52 { 76 - compatible = "atmel,24c64"; 77 - reg = <0x52>; 78 - pagesize = <32>; 79 - }; 80 - }; 81 - 82 - duart: serial@80074000 { 83 - pinctrl-names = "default"; 84 - pinctrl-0 = <&duart_pins_a>; 85 - status = "okay"; 86 - }; 87 - 88 - usbphy0: usbphy@8007c000 { 89 - status = "okay"; 90 - }; 91 - 92 - auart0: serial@8006a000 { 93 - pinctrl-names = "default"; 94 - pinctrl-0 = <&auart0_pins_a>; 95 - status = "okay"; 96 - }; 97 - }; 98 - }; 99 - 100 - ahb@80080000 { 101 - usb0: usb@80080000 { 102 - vbus-supply = <&reg_usb0_vbus>; 103 - pinctrl-names = "default"; 104 - pinctrl-0 = <&usb0_pins_b>; 105 - status = "okay"; 106 - }; 107 - 108 - mac0: ethernet@800f0000 { 109 - phy-mode = "rmii"; 110 - pinctrl-names = "default"; 111 - pinctrl-0 = <&mac0_pins_a>; 112 - status = "okay"; 113 - }; 114 - 115 - mac1: ethernet@800f4000 { 116 - phy-mode = "rmii"; 117 - pinctrl-names = "default"; 118 - pinctrl-0 = <&mac1_pins_a>; 119 - status = "okay"; 120 - }; 121 - }; 122 - 123 18 regulators { 124 19 compatible = "simple-bus"; 125 20 #address-cells = <1>; ··· 58 163 }; 59 164 60 165 }; 166 + }; 167 + 168 + &auart0 { 169 + pinctrl-names = "default"; 170 + pinctrl-0 = <&auart0_pins_a>; 171 + status = "okay"; 172 + }; 173 + 174 + &duart { 175 + pinctrl-names = "default"; 176 + pinctrl-0 = <&duart_pins_a>; 177 + status = "okay"; 178 + }; 179 + 180 + &i2c0 { 181 + pinctrl-names = "default"; 182 + pinctrl-0 = <&i2c0_pins_a>; 183 + status = "okay"; 184 + 185 + rtc: rtc@51 { 186 + compatible = "nxp,pcf8563"; 187 + reg = <0x51>; 188 + }; 189 + 190 + eeprom: eeprom@52 { 191 + compatible = "atmel,24c64"; 192 + reg = <0x52>; 193 + pagesize = <32>; 194 + }; 195 + }; 196 + 197 + &mac0 { 198 + phy-mode = "rmii"; 199 + pinctrl-names = "default"; 200 + pinctrl-0 = <&mac0_pins_a>; 201 + status = "okay"; 202 + }; 203 + 204 + &mac1 { 205 + phy-mode = "rmii"; 206 + pinctrl-names = "default"; 207 + pinctrl-0 = <&mac1_pins_a>; 208 + status = "okay"; 209 + }; 210 + 211 + &pinctrl { 212 + pinctrl-names = "default"; 213 + pinctrl-0 = <&hog_pins_a>; 214 + 215 + hog_pins_a: hog-gpios@0 { 216 + reg = <0>; 217 + fsl,pinmux-ids = < 218 + MX28_PAD_GPMI_D00__GPIO_0_0 219 + MX28_PAD_GPMI_D03__GPIO_0_3 220 + MX28_PAD_GPMI_D06__GPIO_0_6 221 + >; 222 + fsl,drive-strength = <MXS_DRIVE_4mA>; 223 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 224 + fsl,pull-up = <MXS_PULL_DISABLE>; 225 + }; 226 + }; 227 + 228 + &ssp0 { 229 + compatible = "fsl,imx28-mmc"; 230 + pinctrl-names = "default"; 231 + pinctrl-0 = <&mmc0_4bit_pins_a>; 232 + bus-width = <4>; 233 + status = "okay"; 234 + }; 235 + 236 + &ssp2 { 237 + #address-cells = <1>; 238 + #size-cells = <0>; 239 + compatible = "fsl,imx28-spi"; 240 + pinctrl-names = "default"; 241 + pinctrl-0 = <&spi2_pins_a>; 242 + status = "okay"; 243 + 244 + flash: flash@0 { 245 + #address-cells = <1>; 246 + #size-cells = <1>; 247 + compatible = "everspin,mr25h256", "mr25h256"; 248 + spi-max-frequency = <40000000>; 249 + reg = <0>; 250 + }; 251 + }; 252 + 253 + &usb0 { 254 + vbus-supply = <&reg_usb0_vbus>; 255 + pinctrl-names = "default"; 256 + pinctrl-0 = <&usb0_pins_b>; 257 + status = "okay"; 258 + }; 259 + 260 + &usbphy0 { 261 + status = "okay"; 61 262 };
+36 -44
arch/arm/boot/dts/imx28-ts4600.dts
··· 18 18 reg = <0x40000000 0x10000000>; /* 256MB */ 19 19 }; 20 20 21 - apb@80000000 { 22 - apbh@80000000 { 23 - ssp0: spi@80010000 { 24 - compatible = "fsl,imx28-mmc"; 25 - pinctrl-names = "default"; 26 - pinctrl-0 = <&mmc0_4bit_pins_a 27 - &mmc0_sck_cfg 28 - &en_sd_pwr>; 29 - broken-cd; 30 - bus-width = <4>; 31 - vmmc-supply = <&reg_vddio_sd0>; 32 - status = "okay"; 33 - }; 34 - 35 - pinctrl@80018000 { 36 - 37 - en_sd_pwr: en-sd-pwr@0 { 38 - reg = <0>; 39 - fsl,pinmux-ids = < 40 - MX28_PAD_PWM3__GPIO_3_28 41 - >; 42 - fsl,drive-strength = <MXS_DRIVE_4mA>; 43 - fsl,voltage = <MXS_VOLTAGE_HIGH>; 44 - fsl,pull-up = <MXS_PULL_DISABLE>; 45 - }; 46 - 47 - }; 48 - }; 49 - 50 - apbx@80040000 { 51 - pwm: pwm@80064000 { 52 - pinctrl-names = "default"; 53 - pinctrl-0 = <&pwm2_pins_a>; 54 - status = "okay"; 55 - }; 56 - 57 - duart: serial@80074000 { 58 - pinctrl-names = "default"; 59 - pinctrl-0 = <&duart_pins_a>; 60 - status = "okay"; 61 - }; 62 - }; 63 - }; 64 - 65 21 reg_vddio_sd0: regulator-vddio-sd0 { 66 22 compatible = "regulator-fixed"; 67 23 regulator-name = "vddio-sd0"; ··· 27 71 gpio = <&gpio3 28 GPIO_ACTIVE_LOW>; 28 72 }; 29 73 74 + }; 75 + 76 + &duart { 77 + pinctrl-names = "default"; 78 + pinctrl-0 = <&duart_pins_a>; 79 + status = "okay"; 80 + }; 81 + 82 + &pinctrl { 83 + en_sd_pwr: en-sd-pwr@0 { 84 + reg = <0>; 85 + fsl,pinmux-ids = < 86 + MX28_PAD_PWM3__GPIO_3_28 87 + >; 88 + fsl,drive-strength = <MXS_DRIVE_4mA>; 89 + fsl,voltage = <MXS_VOLTAGE_HIGH>; 90 + fsl,pull-up = <MXS_PULL_DISABLE>; 91 + }; 92 + }; 93 + 94 + &pwm { 95 + pinctrl-names = "default"; 96 + pinctrl-0 = <&pwm2_pins_a>; 97 + status = "okay"; 98 + }; 99 + 100 + &ssp0 { 101 + compatible = "fsl,imx28-mmc"; 102 + pinctrl-names = "default"; 103 + pinctrl-0 = <&mmc0_4bit_pins_a 104 + &mmc0_sck_cfg 105 + &en_sd_pwr>; 106 + broken-cd; 107 + bus-width = <4>; 108 + vmmc-supply = <&reg_vddio_sd0>; 109 + status = "okay"; 30 110 };
+1 -37
arch/arm/boot/dts/imx28-tx28.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 1 2 /* 2 3 * Copyright 2012 Shawn Guo <shawn.guo@linaro.org> 3 4 * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de> 4 - * 5 - * This file is dual-licensed: you can use it either under the terms 6 - * of the GPL or the X11 license, at your option. Note that this dual 7 - * licensing only applies to this file, and not this project as a 8 - * whole. 9 - * 10 - * a) This file is free software; you can redistribute it and/or 11 - * modify it under the terms of the GNU General Public License 12 - * version 2 as published by the Free Software Foundation. 13 - * 14 - * This file is distributed in the hope that it will be useful, 15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 - * GNU General Public License for more details. 18 - * 19 - * Or, alternatively, 20 - * 21 - * b) Permission is hereby granted, free of charge, to any person 22 - * obtaining a copy of this software and associated documentation 23 - * files (the "Software"), to deal in the Software without 24 - * restriction, including without limitation the rights to use, 25 - * copy, modify, merge, publish, distribute, sublicense, and/or 26 - * sell copies of the Software, and to permit persons to whom the 27 - * Software is furnished to do so, subject to the following 28 - * conditions: 29 - * 30 - * The above copyright notice and this permission notice shall be 31 - * included in all copies or substantial portions of the Software. 32 - * 33 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 - * OTHER DEALINGS IN THE SOFTWARE. 41 5 */ 42 6 43 7 /dts-v1/;
+8 -4
arch/arm/boot/dts/imx6dl-alti6p.dts
··· 22 22 compatible = "fixed-clock"; 23 23 #clock-cells = <0>; 24 24 clock-frequency = <50000000>; 25 + clock-output-names = "enet_ref_pad"; 25 26 }; 26 27 27 28 i2c2-mux { ··· 192 191 status = "okay"; 193 192 }; 194 193 194 + &clks { 195 + clocks = <&clock_ksz8081>; 196 + clock-names = "enet_ref_pad"; 197 + assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>; 198 + assigned-clock-parents = <&clock_ksz8081>; 199 + }; 200 + 195 201 &ecspi1 { 196 202 cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; 197 203 pinctrl-names = "default"; ··· 216 208 pinctrl-names = "default"; 217 209 pinctrl-0 = <&pinctrl_enet>; 218 210 phy-mode = "rmii"; 219 - clocks = <&clks IMX6QDL_CLK_ENET>, 220 - <&clks IMX6QDL_CLK_ENET>, 221 - <&clock_ksz8081>; 222 - clock-names = "ipg", "ahb", "ptp"; 223 211 status = "okay"; 224 212 225 213 mdio {
+8 -5
arch/arm/boot/dts/imx6dl-eckelmann-ci4x10.dts
··· 28 28 compatible = "fixed-clock"; 29 29 #clock-cells = <0>; 30 30 clock-frequency = <50000000>; 31 + clock-output-names = "enet_ref_pad"; 31 32 }; 32 33 33 34 reg_usb_h1_vbus: regulator-usb-h1-vbus { ··· 63 62 pinctrl-names = "default"; 64 63 pinctrl-0 = <&pinctrl_flexcan2>; 65 64 status = "okay"; 65 + }; 66 + 67 + &clks { 68 + clocks = <&rmii_clk>; 69 + clock-names = "enet_ref_pad"; 70 + assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>; 71 + assigned-clock-parents = <&rmii_clk>; 66 72 }; 67 73 68 74 &ecspi2 { ··· 305 297 phy-mode = "rmii"; 306 298 phy-reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; 307 299 phy-handle = <&phy>; 308 - clocks = <&clks IMX6QDL_CLK_ENET>, 309 - <&clks IMX6QDL_CLK_ENET>, 310 - <&rmii_clk>, 311 - <&clks IMX6QDL_CLK_ENET_REF>; 312 - clock-names = "ipg", "ahb", "ptp", "enet_out"; 313 300 status = "okay"; 314 301 315 302 mdio {
+8 -4
arch/arm/boot/dts/imx6dl-lanmcu.dts
··· 21 21 compatible = "fixed-clock"; 22 22 #clock-cells = <0>; 23 23 clock-frequency = <50000000>; 24 + clock-output-names = "enet_ref_pad"; 24 25 }; 25 26 26 27 backlight: backlight { ··· 110 109 status = "okay"; 111 110 }; 112 111 112 + &clks { 113 + clocks = <&clock_ksz8081>; 114 + clock-names = "enet_ref_pad"; 115 + assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>; 116 + assigned-clock-parents = <&clock_ksz8081>; 117 + }; 118 + 113 119 &fec { 114 120 pinctrl-names = "default"; 115 121 pinctrl-0 = <&pinctrl_enet>; 116 122 phy-mode = "rmii"; 117 - clocks = <&clks IMX6QDL_CLK_ENET>, 118 - <&clks IMX6QDL_CLK_ENET>, 119 - <&clock_ksz8081>; 120 - clock-names = "ipg", "ahb", "ptp"; 121 123 phy-handle = <&rgmii_phy>; 122 124 status = "okay"; 123 125
+8 -4
arch/arm/boot/dts/imx6dl-plybas.dts
··· 75 75 compatible = "fixed-clock"; 76 76 #clock-cells = <0>; 77 77 clock-frequency = <50000000>; 78 + clock-output-names = "enet_ref_pad"; 78 79 }; 79 80 80 81 reg_5v0: regulator-5v0 { ··· 100 99 status = "okay"; 101 100 }; 102 101 102 + &clks { 103 + clocks = <&clk50m_phy>; 104 + clock-names = "enet_ref_pad"; 105 + assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>; 106 + assigned-clock-parents = <&clk50m_phy>; 107 + }; 108 + 103 109 &ecspi1 { 104 110 cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; 105 111 pinctrl-names = "default"; ··· 124 116 pinctrl-names = "default"; 125 117 pinctrl-0 = <&pinctrl_enet>; 126 118 phy-mode = "rmii"; 127 - clocks = <&clks IMX6QDL_CLK_ENET>, 128 - <&clks IMX6QDL_CLK_ENET>, 129 - <&clk50m_phy>; 130 - clock-names = "ipg", "ahb", "ptp"; 131 119 phy-handle = <&rgmii_phy>; 132 120 status = "okay"; 133 121
+8 -4
arch/arm/boot/dts/imx6dl-plym2m.dts
··· 84 84 compatible = "fixed-clock"; 85 85 #clock-cells = <0>; 86 86 clock-frequency = <50000000>; 87 + clock-output-names = "enet_ref_pad"; 87 88 }; 88 89 89 90 reg_3v3: regulator-3v3 { ··· 174 173 status = "okay"; 175 174 }; 176 175 176 + &clks { 177 + clocks = <&clk50m_phy>; 178 + clock-names = "enet_ref_pad"; 179 + assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>; 180 + assigned-clock-parents = <&clk50m_phy>; 181 + }; 182 + 177 183 &ecspi1 { 178 184 cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; 179 185 pinctrl-names = "default"; ··· 262 254 pinctrl-names = "default"; 263 255 pinctrl-0 = <&pinctrl_enet>; 264 256 phy-mode = "rmii"; 265 - clocks = <&clks IMX6QDL_CLK_ENET>, 266 - <&clks IMX6QDL_CLK_ENET>, 267 - <&clk50m_phy>; 268 - clock-names = "ipg", "ahb", "ptp"; 269 257 phy-handle = <&rgmii_phy>; 270 258 status = "okay"; 271 259
+5 -6
arch/arm/boot/dts/imx6dl-prtmvt.dts
··· 193 193 compatible = "fixed-clock"; 194 194 #clock-cells = <0>; 195 195 clock-frequency = <50000000>; 196 + clock-output-names = "enet_ref_pad"; 196 197 }; 197 198 198 199 reg_1v8: regulator-1v8 { ··· 294 293 }; 295 294 296 295 &clks { 297 - assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>; 298 - assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>; 296 + clocks = <&clk50m_phy>; 297 + clock-names = "enet_ref_pad"; 298 + assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_ENET_REF_SEL>; 299 + assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>, <&clk50m_phy>; 299 300 }; 300 301 301 302 &ecspi1 { ··· 317 314 pinctrl-names = "default"; 318 315 pinctrl-0 = <&pinctrl_enet>; 319 316 phy-mode = "rmii"; 320 - clocks = <&clks IMX6QDL_CLK_ENET>, 321 - <&clks IMX6QDL_CLK_ENET>, 322 - <&clk50m_phy>; 323 - clock-names = "ipg", "ahb", "ptp"; 324 317 phy-handle = <&rmii_phy>; 325 318 status = "okay"; 326 319
+8 -4
arch/arm/boot/dts/imx6dl-victgo.dts
··· 54 54 compatible = "fixed-clock"; 55 55 #clock-cells = <0>; 56 56 clock-frequency = <50000000>; 57 + clock-output-names = "enet_ref_pad"; 57 58 }; 58 59 59 60 rotary-encoder { ··· 135 134 }; 136 135 }; 137 136 137 + &clks { 138 + clocks = <&clk50m_phy>; 139 + clock-names = "enet_ref_pad"; 140 + assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>; 141 + assigned-clock-parents = <&clk50m_phy>; 142 + }; 143 + 138 144 &ecspi2 { 139 145 cs-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; 140 146 pinctrl-names = "default"; ··· 190 182 pinctrl-names = "default"; 191 183 pinctrl-0 = <&pinctrl_enet>; 192 184 phy-mode = "rmii"; 193 - clocks = <&clks IMX6QDL_CLK_ENET>, 194 - <&clks IMX6QDL_CLK_ENET>, 195 - <&clk50m_phy>; 196 - clock-names = "ipg", "ahb", "ptp"; 197 185 phy-handle = <&rmii_phy>; 198 186 status = "okay"; 199 187
+3 -6
arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
··· 98 98 regulator-max-microvolt = <5000000>; 99 99 gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 100 100 enable-active-high; 101 - status = "okay"; 102 101 }; 103 102 }; 104 103 ··· 105 106 pinctrl-names = "default"; 106 107 pinctrl-0 = <&pinctrl_enet>; 107 108 phy-mode = "rgmii-id"; 108 - phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 109 - phy-reset-duration = <20>; 110 109 phy-supply = <&sw2_reg>; 111 110 status = "okay"; 112 111 ··· 128 131 switch@10 { 129 132 compatible = "qca,qca8334"; 130 133 reg = <10>; 134 + reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 131 135 132 136 switch_ports: ports { 133 137 #address-cells = <1>; ··· 268 270 compatible = "ti,lp5562"; 269 271 reg = <0x30>; 270 272 clock-mode = /bits/ 8 <1>; 271 - status = "disabled"; 272 273 #address-cells = <1>; 273 274 #size-cells = <0>; 275 + status = "disabled"; 274 276 275 277 led@0 { 276 278 chan-name = "R"; ··· 301 303 compatible = "atmel,24c128"; 302 304 reg = <0x57>; 303 305 pagesize = <64>; 304 - status = "okay"; 305 306 }; 306 307 307 308 touchscreen: touchscreen@5c { ··· 310 313 interrupt-parent = <&gpio4>; 311 314 interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 312 315 attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>; 313 - reset-gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>; 316 + reset-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; 314 317 touchscreen-size-x = <800>; 315 318 touchscreen-size-y = <480>; 316 319 status = "disabled";
+58
arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + // 3 + // Copyright (C) 2021 Y Soft Corporation, a.s. 4 + 5 + /dts-v1/; 6 + 7 + #include "imx6dl.dtsi" 8 + #include "imx6dl-yapp43-common.dtsi" 9 + 10 + / { 11 + model = "Y Soft IOTA Lynx i.MX6DualLite board"; 12 + compatible = "ysoft,imx6dl-yapp4-lynx", "fsl,imx6dl"; 13 + 14 + memory@10000000 { 15 + device_type = "memory"; 16 + reg = <0x10000000 0x40000000>; 17 + }; 18 + }; 19 + 20 + &backlight { 21 + status = "okay"; 22 + }; 23 + 24 + &lcd_display { 25 + status = "okay"; 26 + }; 27 + 28 + &leds { 29 + status = "okay"; 30 + }; 31 + 32 + &panel { 33 + status = "okay"; 34 + }; 35 + 36 + &pwm1 { 37 + status = "okay"; 38 + }; 39 + 40 + &reg_usb_h1_vbus { 41 + status = "okay"; 42 + }; 43 + 44 + &touchscreen { 45 + status = "okay"; 46 + }; 47 + 48 + &uart2 { 49 + status = "okay"; 50 + }; 51 + 52 + &usbh1 { 53 + status = "okay"; 54 + }; 55 + 56 + &usbphy2 { 57 + status = "okay"; 58 + };
+42
arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + // 3 + // Copyright (C) 2021 Y Soft Corporation, a.s. 4 + 5 + /dts-v1/; 6 + 7 + #include "imx6dl.dtsi" 8 + #include "imx6dl-yapp43-common.dtsi" 9 + 10 + / { 11 + model = "Y Soft IOTA Phoenix i.MX6DualLite board"; 12 + compatible = "ysoft,imx6dl-yapp4-phoenix", "fsl,imx6dl"; 13 + 14 + memory@10000000 { 15 + device_type = "memory"; 16 + reg = <0x10000000 0x40000000>; 17 + }; 18 + }; 19 + 20 + &aliases { 21 + /delete-property/ ethernet1; 22 + }; 23 + 24 + &gpio_keys { 25 + status = "okay"; 26 + }; 27 + 28 + &reg_usb_h1_vbus { 29 + status = "okay"; 30 + }; 31 + 32 + &switch_ports { 33 + /delete-node/ port@2; 34 + }; 35 + 36 + &usbh1 { 37 + status = "okay"; 38 + }; 39 + 40 + &usbphy2 { 41 + status = "okay"; 42 + };
+615
arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + // 3 + // Copyright (C) 2021 Y Soft Corporation, a.s. 4 + 5 + #include <dt-bindings/gpio/gpio.h> 6 + #include <dt-bindings/interrupt-controller/irq.h> 7 + #include <dt-bindings/input/input.h> 8 + #include <dt-bindings/leds/common.h> 9 + #include <dt-bindings/pwm/pwm.h> 10 + 11 + / { 12 + aliases: aliases { 13 + ethernet1 = &eth1; 14 + ethernet2 = &eth2; 15 + mmc0 = &usdhc3; 16 + mmc1 = &usdhc4; 17 + }; 18 + 19 + backlight: backlight { 20 + compatible = "pwm-backlight"; 21 + pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>; 22 + brightness-levels = <0 32 64 128 255>; 23 + default-brightness-level = <32>; 24 + num-interpolated-steps = <8>; 25 + power-supply = <&sw2_reg>; 26 + status = "disabled"; 27 + }; 28 + 29 + gpio_keys: gpio-keys { 30 + compatible = "gpio-keys"; 31 + pinctrl-names = "default"; 32 + pinctrl-0 = <&pinctrl_gpio_keys>; 33 + status = "disabled"; 34 + 35 + button { 36 + label = "Factory RESET"; 37 + linux,code = <BTN_0>; 38 + gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; 39 + }; 40 + }; 41 + 42 + lcd_display: display { 43 + compatible = "fsl,imx-parallel-display"; 44 + #address-cells = <1>; 45 + #size-cells = <0>; 46 + interface-pix-fmt = "rgb24"; 47 + pinctrl-names = "default"; 48 + pinctrl-0 = <&pinctrl_ipu1>; 49 + status = "disabled"; 50 + 51 + port@0 { 52 + reg = <0>; 53 + 54 + lcd_display_in: endpoint { 55 + remote-endpoint = <&ipu1_di0_disp0>; 56 + }; 57 + }; 58 + 59 + port@1 { 60 + reg = <1>; 61 + 62 + lcd_display_out: endpoint { 63 + remote-endpoint = <&lcd_panel_in>; 64 + }; 65 + }; 66 + }; 67 + 68 + panel: panel { 69 + compatible = "dataimage,scf0700c48ggu18"; 70 + power-supply = <&sw2_reg>; 71 + backlight = <&backlight>; 72 + enable-gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>; 73 + status = "disabled"; 74 + 75 + port { 76 + lcd_panel_in: endpoint { 77 + remote-endpoint = <&lcd_display_out>; 78 + }; 79 + }; 80 + }; 81 + 82 + reg_usb_h1_vbus: regulator-usb-h1-vbus { 83 + compatible = "regulator-fixed"; 84 + pinctrl-names = "default"; 85 + pinctrl-0 = <&pinctrl_usbh1_vbus>; 86 + regulator-name = "usb_h1_vbus"; 87 + regulator-min-microvolt = <5000000>; 88 + regulator-max-microvolt = <5000000>; 89 + gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>; 90 + enable-active-high; 91 + status = "disabled"; 92 + }; 93 + 94 + reg_usb_otg_vbus: regulator-usb-otg-vbus { 95 + compatible = "regulator-fixed"; 96 + pinctrl-names = "default"; 97 + pinctrl-0 = <&pinctrl_usbotg_vbus>; 98 + regulator-name = "usb_otg_vbus"; 99 + regulator-min-microvolt = <5000000>; 100 + regulator-max-microvolt = <5000000>; 101 + gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 102 + enable-active-high; 103 + }; 104 + }; 105 + 106 + &fec { 107 + pinctrl-names = "default"; 108 + pinctrl-0 = <&pinctrl_enet>; 109 + phy-mode = "rgmii-id"; 110 + phy-supply = <&sw2_reg>; 111 + status = "okay"; 112 + 113 + fixed-link { 114 + speed = <1000>; 115 + full-duplex; 116 + }; 117 + 118 + mdio { 119 + #address-cells = <1>; 120 + #size-cells = <0>; 121 + 122 + switch@0 { 123 + compatible = "marvell,mv88e6085"; 124 + reg = <0>; 125 + reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 126 + 127 + switch_ports: ports { 128 + #address-cells = <1>; 129 + #size-cells = <0>; 130 + 131 + ethphy0: port@0 { 132 + reg = <0>; 133 + label = "cpu"; 134 + phy-mode = "rgmii-id"; 135 + ethernet = <&fec>; 136 + 137 + fixed-link { 138 + speed = <1000>; 139 + full-duplex; 140 + }; 141 + }; 142 + 143 + eth2: port@1 { 144 + reg = <1>; 145 + label = "eth2"; 146 + phy-handle = <&phy_port1>; 147 + }; 148 + 149 + eth1: port@2 { 150 + reg = <2>; 151 + label = "eth1"; 152 + phy-handle = <&phy_port2>; 153 + }; 154 + }; 155 + 156 + mdio { 157 + #address-cells = <1>; 158 + #size-cells = <0>; 159 + 160 + phy_port1: switchphy@11 { 161 + reg = <0x11>; 162 + }; 163 + 164 + phy_port2: switchphy@12 { 165 + reg = <0x12>; 166 + }; 167 + }; 168 + }; 169 + }; 170 + }; 171 + 172 + &i2c2 { 173 + clock-frequency = <100000>; 174 + pinctrl-names = "default"; 175 + pinctrl-0 = <&pinctrl_i2c2>; 176 + status = "okay"; 177 + 178 + pmic@8 { 179 + compatible = "fsl,pfuze200"; 180 + pinctrl-names = "default"; 181 + pinctrl-0 = <&pinctrl_pmic>; 182 + reg = <0x8>; 183 + 184 + regulators { 185 + sw1a_reg: sw1ab { 186 + regulator-min-microvolt = <300000>; 187 + regulator-max-microvolt = <1875000>; 188 + regulator-boot-on; 189 + regulator-always-on; 190 + regulator-ramp-delay = <6250>; 191 + }; 192 + 193 + sw2_reg: sw2 { 194 + regulator-min-microvolt = <800000>; 195 + regulator-max-microvolt = <3300000>; 196 + regulator-boot-on; 197 + regulator-always-on; 198 + }; 199 + 200 + sw3a_reg: sw3a { 201 + regulator-min-microvolt = <400000>; 202 + regulator-max-microvolt = <1975000>; 203 + regulator-boot-on; 204 + regulator-always-on; 205 + }; 206 + 207 + sw3b_reg: sw3b { 208 + regulator-min-microvolt = <400000>; 209 + regulator-max-microvolt = <1975000>; 210 + regulator-boot-on; 211 + regulator-always-on; 212 + }; 213 + 214 + swbst_reg: swbst { 215 + regulator-min-microvolt = <5000000>; 216 + regulator-max-microvolt = <5150000>; 217 + }; 218 + 219 + vgen1_reg: vgen1 { 220 + regulator-min-microvolt = <800000>; 221 + regulator-max-microvolt = <1550000>; 222 + }; 223 + 224 + vgen2_reg: vgen2 { 225 + regulator-min-microvolt = <800000>; 226 + regulator-max-microvolt = <1550000>; 227 + }; 228 + 229 + vgen3_reg: vgen3 { 230 + regulator-min-microvolt = <1800000>; 231 + regulator-max-microvolt = <3300000>; 232 + regulator-always-on; 233 + }; 234 + 235 + vgen4_reg: vgen4 { 236 + regulator-min-microvolt = <1800000>; 237 + regulator-max-microvolt = <3300000>; 238 + regulator-always-on; 239 + }; 240 + 241 + vgen5_reg: vgen5 { 242 + regulator-min-microvolt = <1800000>; 243 + regulator-max-microvolt = <3300000>; 244 + regulator-always-on; 245 + }; 246 + 247 + vgen6_reg: vgen6 { 248 + regulator-min-microvolt = <1800000>; 249 + regulator-max-microvolt = <3300000>; 250 + regulator-always-on; 251 + }; 252 + 253 + vref_reg: vrefddr { 254 + regulator-boot-on; 255 + regulator-always-on; 256 + }; 257 + 258 + vsnvs_reg: vsnvs { 259 + regulator-min-microvolt = <1000000>; 260 + regulator-max-microvolt = <3000000>; 261 + regulator-boot-on; 262 + regulator-always-on; 263 + }; 264 + }; 265 + }; 266 + 267 + leds: led-controller@30 { 268 + compatible = "ti,lp5562"; 269 + reg = <0x30>; 270 + clock-mode = /bits/ 8 <1>; 271 + #address-cells = <1>; 272 + #size-cells = <0>; 273 + status = "disabled"; 274 + 275 + led@0 { 276 + chan-name = "R"; 277 + led-cur = /bits/ 8 <0x20>; 278 + max-cur = /bits/ 8 <0x60>; 279 + reg = <0>; 280 + color = <LED_COLOR_ID_RED>; 281 + }; 282 + 283 + led@1 { 284 + chan-name = "G"; 285 + led-cur = /bits/ 8 <0x20>; 286 + max-cur = /bits/ 8 <0x60>; 287 + reg = <1>; 288 + color = <LED_COLOR_ID_GREEN>; 289 + }; 290 + 291 + led@2 { 292 + chan-name = "B"; 293 + led-cur = /bits/ 8 <0x20>; 294 + max-cur = /bits/ 8 <0x60>; 295 + reg = <2>; 296 + color = <LED_COLOR_ID_BLUE>; 297 + }; 298 + }; 299 + 300 + eeprom@57 { 301 + compatible = "atmel,24c128"; 302 + reg = <0x57>; 303 + pagesize = <64>; 304 + }; 305 + 306 + touchscreen: touchscreen@5c { 307 + compatible = "pixcir,pixcir_tangoc"; 308 + reg = <0x5c>; 309 + pinctrl-0 = <&pinctrl_touch>; 310 + interrupt-parent = <&gpio4>; 311 + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 312 + attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>; 313 + reset-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; 314 + touchscreen-size-x = <800>; 315 + touchscreen-size-y = <480>; 316 + status = "disabled"; 317 + }; 318 + 319 + rtc: rtc@68 { 320 + compatible = "dallas,ds1341"; 321 + reg = <0x68>; 322 + }; 323 + }; 324 + 325 + &i2c3 { 326 + clock-frequency = <100000>; 327 + pinctrl-names = "default"; 328 + pinctrl-0 = <&pinctrl_i2c3>; 329 + status = "disabled"; 330 + 331 + oled_1309: oled@3c { 332 + compatible = "solomon,ssd1309fb-i2c"; 333 + reg = <0x3c>; 334 + solomon,height = <64>; 335 + solomon,width = <128>; 336 + solomon,page-offset = <0>; 337 + solomon,segment-no-remap; 338 + solomon,prechargep2 = <15>; 339 + reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>; 340 + vbat-supply = <&sw2_reg>; 341 + status = "disabled"; 342 + }; 343 + 344 + oled_1305: oled@3d { 345 + compatible = "solomon,ssd1305fb-i2c"; 346 + reg = <0x3d>; 347 + solomon,height = <64>; 348 + solomon,width = <128>; 349 + solomon,page-offset = <0>; 350 + solomon,col-offset = <4>; 351 + solomon,prechargep2 = <15>; 352 + reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>; 353 + vbat-supply = <&sw2_reg>; 354 + status = "disabled"; 355 + }; 356 + 357 + gpio_oled: gpio@41 { 358 + compatible = "nxp,pca9536"; 359 + gpio-controller; 360 + #gpio-cells = <2>; 361 + reg = <0x41>; 362 + vcc-supply = <&sw2_reg>; 363 + status = "disabled"; 364 + }; 365 + 366 + touchkeys: keys@5a { 367 + compatible = "fsl,mpr121-touchkey"; 368 + pinctrl-names = "default"; 369 + pinctrl-0 = <&pinctrl_touchkeys>; 370 + reg = <0x5a>; 371 + vdd-supply = <&sw2_reg>; 372 + autorepeat; 373 + linux,keycodes = <KEY_1>, <KEY_2>, <KEY_3>, <KEY_4>, <KEY_5>, 374 + <KEY_6>, <KEY_7>, <KEY_8>, <KEY_9>, 375 + <KEY_BACKSPACE>, <KEY_0>, <KEY_ENTER>; 376 + poll-interval = <50>; 377 + status = "disabled"; 378 + }; 379 + }; 380 + 381 + &iomuxc { 382 + pinctrl_enet: enetgrp { 383 + fsl,pins = < 384 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b020 385 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b020 386 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b020 387 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b020 388 + MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b020 389 + MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b020 390 + MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b020 391 + MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b020 392 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b020 393 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b020 394 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b020 395 + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b020 396 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b020 397 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b020 398 + MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b010 399 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x1b010 400 + MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b098 401 + >; 402 + }; 403 + 404 + pinctrl_gpio_keys: gpiokeysgrp { 405 + fsl,pins = < 406 + MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0 407 + >; 408 + }; 409 + 410 + pinctrl_i2c2: i2c2grp { 411 + fsl,pins = < 412 + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b899 413 + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b899 414 + >; 415 + }; 416 + 417 + pinctrl_i2c3: i2c3grp { 418 + fsl,pins = < 419 + MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b899 420 + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b899 421 + >; 422 + }; 423 + 424 + pinctrl_ipu1: ipu1grp { 425 + fsl,pins = < 426 + MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x1b0b0 427 + MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10 428 + MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10 429 + MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10 430 + MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10 431 + MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10 432 + MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10 433 + MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10 434 + MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10 435 + MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10 436 + MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10 437 + MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10 438 + MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10 439 + MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10 440 + MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10 441 + MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10 442 + MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10 443 + MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10 444 + MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10 445 + MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10 446 + MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10 447 + MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10 448 + MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10 449 + MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10 450 + MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10 451 + MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10 452 + MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10 453 + MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10 454 + >; 455 + }; 456 + 457 + pinctrl_pmic: pmicgrp { 458 + fsl,pins = < 459 + MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x1b098 460 + >; 461 + }; 462 + 463 + pinctrl_pwm1: pwm1grp { 464 + fsl,pins = < 465 + MX6QDL_PAD_GPIO_9__PWM1_OUT 0x8 466 + >; 467 + }; 468 + 469 + pinctrl_touch: touchgrp { 470 + fsl,pins = < 471 + MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x1b098 472 + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b098 473 + >; 474 + }; 475 + 476 + pinctrl_touchkeys: touchkeysgrp { 477 + fsl,pins = < 478 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b098 479 + MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x1b098 480 + >; 481 + }; 482 + 483 + pinctrl_uart1: uart1grp { 484 + fsl,pins = < 485 + MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0a8 486 + MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0a8 487 + >; 488 + }; 489 + 490 + pinctrl_uart2: uart2grp { 491 + fsl,pins = < 492 + MX6QDL_PAD_GPIO_7__UART2_TX_DATA 0x1b098 493 + MX6QDL_PAD_GPIO_8__UART2_RX_DATA 0x1b098 494 + >; 495 + }; 496 + 497 + pinctrl_usbh1: usbh1grp { 498 + fsl,pins = < 499 + MX6QDL_PAD_EIM_D30__USB_H1_OC 0x1b098 500 + >; 501 + }; 502 + 503 + pinctrl_usbh1_vbus: usbh1-vbus { 504 + fsl,pins = < 505 + MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x98 506 + >; 507 + }; 508 + 509 + pinctrl_usbotg: usbotggrp { 510 + fsl,pins = < 511 + MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x1b098 512 + MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x1b098 513 + >; 514 + }; 515 + 516 + pinctrl_usbotg_vbus: usbotg-vbus { 517 + fsl,pins = < 518 + MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x98 519 + >; 520 + }; 521 + 522 + pinctrl_usdhc4: usdhc4grp { 523 + fsl,pins = < 524 + MX6QDL_PAD_SD4_CMD__SD4_CMD 0x1f069 525 + MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10069 526 + MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17069 527 + MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17069 528 + MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17069 529 + MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17069 530 + MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17069 531 + MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17069 532 + MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17069 533 + MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17069 534 + >; 535 + }; 536 + 537 + pinctrl_wdog: wdoggrp { 538 + fsl,pins = < 539 + MX6QDL_PAD_GPIO_1__WDOG2_B 0x1b0b0 540 + >; 541 + }; 542 + }; 543 + 544 + &ipu1_di0_disp0 { 545 + remote-endpoint = <&lcd_display_in>; 546 + }; 547 + 548 + &pwm1 { 549 + pinctrl-names = "default"; 550 + pinctrl-0 = <&pinctrl_pwm1>; 551 + status = "disabled"; 552 + }; 553 + 554 + &uart1 { 555 + pinctrl-names = "default"; 556 + pinctrl-0 = <&pinctrl_uart1>; 557 + status = "okay"; 558 + }; 559 + 560 + &uart2 { 561 + pinctrl-names = "default"; 562 + pinctrl-0 = <&pinctrl_uart2>; 563 + status = "disabled"; 564 + }; 565 + 566 + &usbh1 { 567 + pinctrl-names = "default"; 568 + pinctrl-0 = <&pinctrl_usbh1>; 569 + vbus-supply = <&reg_usb_h1_vbus>; 570 + over-current-active-low; 571 + status = "disabled"; 572 + }; 573 + 574 + &usbotg { 575 + pinctrl-names = "default"; 576 + pinctrl-0 = <&pinctrl_usbotg>; 577 + vbus-supply = <&reg_usb_otg_vbus>; 578 + over-current-active-low; 579 + srp-disable; 580 + hnp-disable; 581 + adp-disable; 582 + status = "okay"; 583 + }; 584 + 585 + &usbphy1 { 586 + fsl,tx-d-cal = <106>; 587 + status = "okay"; 588 + }; 589 + 590 + &usbphy2 { 591 + fsl,tx-d-cal = <109>; 592 + status = "disabled"; 593 + }; 594 + 595 + &usdhc4 { 596 + pinctrl-names = "default"; 597 + pinctrl-0 = <&pinctrl_usdhc4>; 598 + bus-width = <8>; 599 + non-removable; 600 + no-1-8-v; 601 + keep-power-in-suspend; 602 + vmmc-supply = <&sw2_reg>; 603 + status = "okay"; 604 + }; 605 + 606 + &wdog1 { 607 + status = "disabled"; 608 + }; 609 + 610 + &wdog2 { 611 + pinctrl-names = "default"; 612 + pinctrl-0 = <&pinctrl_wdog>; 613 + fsl,ext-reset-output; 614 + status = "okay"; 615 + };
+14 -3
arch/arm/boot/dts/imx6q-prtwd2.dts
··· 22 22 reg = <0x80000000 0x20000000>; 23 23 }; 24 24 25 + clk50m_phy: phy-clock { 26 + compatible = "fixed-clock"; 27 + #clock-cells = <0>; 28 + clock-frequency = <50000000>; 29 + clock-output-names = "enet_ref_pad"; 30 + }; 31 + 25 32 usdhc2_wifi_pwrseq: usdhc2_wifi_pwrseq { 26 33 compatible = "mmc-pwrseq-simple"; 27 34 pinctrl-names = "default"; ··· 56 49 status = "okay"; 57 50 }; 58 51 52 + &clks { 53 + clocks = <&clk50m_phy>; 54 + clock-names = "enet_ref_pad"; 55 + assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>; 56 + assigned-clock-parents = <&clk50m_phy>; 57 + }; 58 + 59 59 &fec { 60 60 pinctrl-names = "default"; 61 61 pinctrl-0 = <&pinctrl_enet>; 62 62 phy-mode = "rmii"; 63 - clocks = <&clks IMX6QDL_CLK_ENET>, 64 - <&clks IMX6QDL_CLK_ENET>; 65 - clock-names = "ipg", "ahb"; 66 63 status = "okay"; 67 64 68 65 fixed-link {
+58
arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + // 3 + // Copyright (C) 2021 Y Soft Corporation, a.s. 4 + 5 + /dts-v1/; 6 + 7 + #include "imx6q.dtsi" 8 + #include "imx6dl-yapp43-common.dtsi" 9 + 10 + / { 11 + model = "Y Soft IOTA Pegasus i.MX6Quad board"; 12 + compatible = "ysoft,imx6q-yapp4-pegasus", "fsl,imx6q"; 13 + 14 + memory@10000000 { 15 + device_type = "memory"; 16 + reg = <0x10000000 0xf0000000>; 17 + }; 18 + }; 19 + 20 + &gpio_oled { 21 + status = "okay"; 22 + }; 23 + 24 + &i2c3 { 25 + status = "okay"; 26 + }; 27 + 28 + &leds { 29 + status = "okay"; 30 + }; 31 + 32 + &oled_1305 { 33 + status = "okay"; 34 + }; 35 + 36 + &oled_1309 { 37 + status = "okay"; 38 + }; 39 + 40 + &reg_pu { 41 + regulator-always-on; 42 + }; 43 + 44 + &reg_usb_h1_vbus { 45 + status = "okay"; 46 + }; 47 + 48 + &touchkeys { 49 + status = "okay"; 50 + }; 51 + 52 + &usbh1 { 53 + status = "okay"; 54 + }; 55 + 56 + &usbphy2 { 57 + status = "okay"; 58 + };
+8 -4
arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
··· 105 105 compatible = "fixed-clock"; 106 106 #clock-cells = <0>; 107 107 clock-frequency = <50000000>; 108 + clock-output-names = "enet_ref_pad"; 108 109 }; 109 110 110 111 reg_3v3: regulator-3v3 { ··· 233 232 }; 234 233 }; 235 234 235 + &clks { 236 + clocks = <&clk50m_phy>; 237 + clock-names = "enet_ref_pad"; 238 + assigned-clocks = <&clks IMX6QDL_CLK_ENET_REF_SEL>; 239 + assigned-clock-parents = <&clk50m_phy>; 240 + }; 241 + 236 242 &fec { 237 243 pinctrl-names = "default"; 238 244 pinctrl-0 = <&pinctrl_enet>; 239 - clocks = <&clks IMX6QDL_CLK_ENET>, 240 - <&clks IMX6QDL_CLK_ENET>, 241 - <&clk50m_phy>; 242 - clock-names = "ipg", "ahb", "ptp"; 243 245 phy-mode = "rmii"; 244 246 phy-supply = <&reg_3v3>; 245 247 status = "okay";
+2 -2
arch/arm/boot/dts/imx6qdl.dtsi
··· 1049 1049 clocks = <&clks IMX6QDL_CLK_ENET>, 1050 1050 <&clks IMX6QDL_CLK_ENET>, 1051 1051 <&clks IMX6QDL_CLK_ENET_REF>, 1052 - <&clks IMX6QDL_CLK_ENET_REF>; 1053 - clock-names = "ipg", "ahb", "ptp", "enet_out"; 1052 + <&clks IMX6QDL_CLK_ENET_REF_SEL>; 1053 + clock-names = "ipg", "ahb", "ptp", "enet_clk_ref"; 1054 1054 fsl,stop-mode = <&gpr 0x34 27>; 1055 1055 nvmem-cells = <&fec_mac_addr>; 1056 1056 nvmem-cell-names = "mac-address";
+58
arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + // 3 + // Copyright (C) 2021 Y Soft Corporation, a.s. 4 + 5 + /dts-v1/; 6 + 7 + #include "imx6qp.dtsi" 8 + #include "imx6dl-yapp43-common.dtsi" 9 + 10 + / { 11 + model = "Y Soft IOTA Pegasus+ i.MX6QuadPlus board"; 12 + compatible = "ysoft,imx6qp-yapp4-pegasus-plus", "fsl,imx6qp"; 13 + 14 + memory@10000000 { 15 + device_type = "memory"; 16 + reg = <0x10000000 0xf0000000>; 17 + }; 18 + }; 19 + 20 + &gpio_oled { 21 + status = "okay"; 22 + }; 23 + 24 + &i2c3 { 25 + status = "okay"; 26 + }; 27 + 28 + &leds { 29 + status = "okay"; 30 + }; 31 + 32 + &oled_1305 { 33 + status = "okay"; 34 + }; 35 + 36 + &oled_1309 { 37 + status = "okay"; 38 + }; 39 + 40 + &reg_pu { 41 + regulator-always-on; 42 + }; 43 + 44 + &reg_usb_h1_vbus { 45 + status = "okay"; 46 + }; 47 + 48 + &touchkeys { 49 + status = "okay"; 50 + }; 51 + 52 + &usbh1 { 53 + status = "okay"; 54 + }; 55 + 56 + &usbphy2 { 57 + status = "okay"; 58 + };
+490
arch/arm/boot/dts/imx6sl-tolino-vision.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Device tree for the Tolino Vison ebook reader 4 + * 5 + * Name on mainboard is: 37NB-E60Q30+4A3 6 + * Serials start with: 6032 7 + * 8 + * Copyright 2023 Andreas Kemnade 9 + */ 10 + 11 + /dts-v1/; 12 + 13 + #include <dt-bindings/leds/common.h> 14 + #include <dt-bindings/input/input.h> 15 + #include <dt-bindings/gpio/gpio.h> 16 + #include "imx6sl.dtsi" 17 + 18 + / { 19 + model = "Tolino Vision"; 20 + compatible = "kobo,tolino-vision", "fsl,imx6sl"; 21 + 22 + aliases { 23 + mmc0 = &usdhc4; 24 + mmc1 = &usdhc2; 25 + }; 26 + 27 + backlight { 28 + compatible = "pwm-backlight"; 29 + pwms = <&ec 0 50000>; 30 + power-supply = <&backlight_regulator>; 31 + }; 32 + 33 + backlight_regulator: regulator-backlight { 34 + compatible = "regulator-fixed"; 35 + pinctrl-names = "default"; 36 + pinctrl-0 = <&pinctrl_backlight_power>; 37 + regulator-name = "backlight"; 38 + gpio = <&gpio2 10 GPIO_ACTIVE_HIGH>; 39 + enable-active-high; 40 + }; 41 + 42 + chosen { 43 + stdout-path = &uart1; 44 + }; 45 + 46 + gpio_keys: gpio-keys { 47 + compatible = "gpio-keys"; 48 + pinctrl-names = "default"; 49 + pinctrl-0 = <&pinctrl_gpio_keys>; 50 + 51 + key-cover { 52 + /* magnetic sensor in the corner next to the uSD slot */ 53 + label = "Cover"; 54 + gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; 55 + linux,code = <SW_LID>; 56 + linux,input-type = <EV_SW>; 57 + wakeup-source; 58 + }; 59 + 60 + key-fl { 61 + label = "Frontlight"; 62 + gpios = <&gpio3 26 GPIO_ACTIVE_LOW>; 63 + linux,code = <KEY_BRIGHTNESS_CYCLE>; 64 + }; 65 + 66 + key-power { 67 + label = "Power"; 68 + gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; 69 + linux,code = <KEY_POWER>; 70 + wakeup-source; 71 + }; 72 + }; 73 + 74 + leds: leds { 75 + compatible = "gpio-leds"; 76 + pinctrl-names = "default"; 77 + pinctrl-0 = <&pinctrl_leds>; 78 + 79 + led-0 { 80 + /* LED on home button */ 81 + color = <LED_COLOR_ID_WHITE>; 82 + function = LED_FUNCTION_STATUS; 83 + gpios = <&gpio5 10 GPIO_ACTIVE_LOW>; 84 + }; 85 + 86 + led-1 { 87 + /* LED on power button */ 88 + color = <LED_COLOR_ID_WHITE>; 89 + function = LED_FUNCTION_POWER; 90 + gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; 91 + linux,default-trigger = "timer"; 92 + }; 93 + }; 94 + 95 + memory@80000000 { 96 + device_type = "memory"; 97 + reg = <0x80000000 0x20000000>; 98 + }; 99 + 100 + reg_wifi: regulator-wifi { 101 + compatible = "regulator-fixed"; 102 + pinctrl-names = "default"; 103 + pinctrl-0 = <&pinctrl_wifi_power>; 104 + regulator-name = "SD3_SPWR"; 105 + regulator-min-microvolt = <3000000>; 106 + regulator-max-microvolt = <3000000>; 107 + gpio = <&gpio4 29 GPIO_ACTIVE_LOW>; 108 + }; 109 + 110 + 111 + wifi_pwrseq: wifi_pwrseq { 112 + compatible = "mmc-pwrseq-simple"; 113 + pinctrl-names = "default"; 114 + pinctrl-0 = <&pinctrl_wifi_reset>; 115 + post-power-on-delay-ms = <20>; 116 + reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; 117 + }; 118 + }; 119 + 120 + &i2c1 { 121 + pinctrl-names = "default","sleep"; 122 + pinctrl-0 = <&pinctrl_i2c1>; 123 + pinctrl-1 = <&pinctrl_i2c1_sleep>; 124 + status = "okay"; 125 + 126 + touchscreen@15 { 127 + compatible = "elan,ektf2132"; 128 + reg = <0x15>; 129 + pinctrl-names = "default"; 130 + pinctrl-0 = <&pinctrl_ts>; 131 + power-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH>; 132 + interrupts-extended = <&gpio5 6 IRQ_TYPE_EDGE_FALLING>; 133 + }; 134 + 135 + accelerometer@1d { 136 + compatible = "fsl,mma8652"; 137 + reg = <0x1d>; 138 + }; 139 + }; 140 + 141 + &i2c2 { 142 + pinctrl-names = "default","sleep"; 143 + pinctrl-0 = <&pinctrl_i2c2>; 144 + pinctrl-1 = <&pinctrl_i2c2_sleep>; 145 + clock-frequency = <100000>; 146 + status = "okay"; 147 + }; 148 + 149 + &i2c3 { 150 + pinctrl-names = "default"; 151 + pinctrl-0 = <&pinctrl_i2c3>; 152 + clock-frequency = <100000>; 153 + status = "okay"; 154 + 155 + ec: embedded-controller@43 { 156 + compatible = "netronix,ntxec"; 157 + reg = <0x43>; 158 + #pwm-cells = <2>; 159 + pinctrl-names = "default"; 160 + pinctrl-0 = <&pinctrl_ec>; 161 + interrupts-extended = <&gpio5 11 IRQ_TYPE_EDGE_FALLING>; 162 + system-power-controller; 163 + }; 164 + }; 165 + 166 + &snvs_rtc { 167 + /* 168 + * We are using the RTC in the PMIC, but this one is not disabled 169 + * in imx6sl.dtsi. 170 + */ 171 + status = "disabled"; 172 + }; 173 + 174 + &uart1 { 175 + /* J4 */ 176 + pinctrl-names = "default"; 177 + pinctrl-0 = <&pinctrl_uart1>; 178 + status = "okay"; 179 + }; 180 + 181 + &uart4 { 182 + /* J9 */ 183 + pinctrl-names = "default"; 184 + pinctrl-0 = <&pinctrl_uart4>; 185 + status = "okay"; 186 + }; 187 + 188 + &usdhc2 { 189 + pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 190 + pinctrl-0 = <&pinctrl_usdhc2>; 191 + pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 192 + pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 193 + pinctrl-3 = <&pinctrl_usdhc2_sleep>; 194 + cd-gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; 195 + status = "okay"; 196 + 197 + /* removable uSD card */ 198 + }; 199 + 200 + &usdhc3 { 201 + pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 202 + pinctrl-0 = <&pinctrl_usdhc3>; 203 + pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 204 + pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 205 + pinctrl-3 = <&pinctrl_usdhc3_sleep>; 206 + vmmc-supply = <&reg_wifi>; 207 + mmc-pwrseq = <&wifi_pwrseq>; 208 + cap-power-off-card; 209 + non-removable; 210 + status = "okay"; 211 + 212 + /* CyberTan WC121 (BCM43362) SDIO WiFi */ 213 + }; 214 + 215 + &usdhc4 { 216 + pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 217 + pinctrl-0 = <&pinctrl_usdhc4>; 218 + pinctrl-1 = <&pinctrl_usdhc4_100mhz>; 219 + pinctrl-2 = <&pinctrl_usdhc4_200mhz>; 220 + pinctrl-3 = <&pinctrl_usdhc4_sleep>; 221 + bus-width = <8>; 222 + no-1-8-v; 223 + non-removable; 224 + status = "okay"; 225 + 226 + /* internal eMMC */ 227 + }; 228 + 229 + &usbotg1 { 230 + pinctrl-names = "default"; 231 + disable-over-current; 232 + srp-disable; 233 + hnp-disable; 234 + adp-disable; 235 + status = "okay"; 236 + }; 237 + 238 + &iomuxc { 239 + pinctrl_backlight_power: backlight-powergrp { 240 + fsl,pins = < 241 + MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x10059 242 + >; 243 + }; 244 + 245 + pinctrl_ec: ecgrp { 246 + fsl,pins = < 247 + MX6SL_PAD_SD1_DAT0__GPIO5_IO11 0x17000 248 + >; 249 + }; 250 + 251 + pinctrl_gpio_keys: gpio-keysgrp { 252 + fsl,pins = < 253 + MX6SL_PAD_SD1_DAT1__GPIO5_IO08 0x110B0 254 + MX6SL_PAD_SD1_DAT4__GPIO5_IO12 0x110B0 255 + MX6SL_PAD_KEY_COL1__GPIO3_IO26 0x11030 256 + >; 257 + }; 258 + 259 + pinctrl_i2c1: i2c1grp { 260 + fsl,pins = < 261 + MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x4001f8b1 262 + MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x4001f8b1 263 + >; 264 + }; 265 + 266 + pinctrl_i2c1_sleep: i2c1-sleepgrp { 267 + fsl,pins = < 268 + MX6SL_PAD_I2C1_SCL__I2C1_SCL 0x400108b1 269 + MX6SL_PAD_I2C1_SDA__I2C1_SDA 0x400108b1 270 + >; 271 + }; 272 + 273 + pinctrl_i2c2: i2c2grp { 274 + fsl,pins = < 275 + MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x4001f8b1 276 + MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x4001f8b1 277 + >; 278 + }; 279 + 280 + pinctrl_i2c2_sleep: i2c2-sleepgrp { 281 + fsl,pins = < 282 + MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x400108b1 283 + MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x400108b1 284 + >; 285 + }; 286 + 287 + pinctrl_i2c3: i2c3grp { 288 + fsl,pins = < 289 + MX6SL_PAD_REF_CLK_24M__I2C3_SCL 0x4001f8b1 290 + MX6SL_PAD_REF_CLK_32K__I2C3_SDA 0x4001f8b1 291 + >; 292 + }; 293 + 294 + pinctrl_leds: ledsgrp { 295 + fsl,pins = < 296 + MX6SL_PAD_SD1_DAT6__GPIO5_IO07 0x17059 297 + MX6SL_PAD_SD1_DAT7__GPIO5_IO10 0x17059 298 + MX6SL_PAD_EPDC_SDCE2__GPIO1_IO29 0x17059 299 + >; 300 + }; 301 + 302 + pinctrl_ts: tsgrp { 303 + fsl,pins = < 304 + MX6SL_PAD_SD1_DAT2__GPIO5_IO13 0x110B0 305 + MX6SL_PAD_SD1_DAT3__GPIO5_IO06 0x1B0B1 306 + >; 307 + }; 308 + 309 + pinctrl_uart1: uart1grp { 310 + fsl,pins = < 311 + MX6SL_PAD_UART1_TXD__UART1_TX_DATA 0x1b0b1 312 + MX6SL_PAD_UART1_RXD__UART1_RX_DATA 0x1b0b1 313 + >; 314 + }; 315 + 316 + pinctrl_uart4: uart4grp { 317 + fsl,pins = < 318 + MX6SL_PAD_KEY_ROW6__UART4_TX_DATA 0x1b0b1 319 + MX6SL_PAD_KEY_COL6__UART4_RX_DATA 0x1b0b1 320 + >; 321 + }; 322 + 323 + pinctrl_usbotg1: usbotg1grp { 324 + fsl,pins = < 325 + MX6SL_PAD_EPDC_PWRCOM__USB_OTG1_ID 0x17059 326 + >; 327 + }; 328 + 329 + pinctrl_usdhc2: usdhc2grp { 330 + fsl,pins = < 331 + MX6SL_PAD_SD2_CMD__SD2_CMD 0x17059 332 + MX6SL_PAD_SD2_CLK__SD2_CLK 0x13059 333 + MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x17059 334 + MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x17059 335 + MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x17059 336 + MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x17059 337 + MX6SL_PAD_SD2_DAT4__GPIO5_IO02 0x1b0b1 338 + >; 339 + }; 340 + 341 + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 342 + fsl,pins = < 343 + MX6SL_PAD_SD2_CMD__SD2_CMD 0x170b9 344 + MX6SL_PAD_SD2_CLK__SD2_CLK 0x130b9 345 + MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170b9 346 + MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170b9 347 + MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170b9 348 + MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170b9 349 + >; 350 + }; 351 + 352 + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 353 + fsl,pins = < 354 + MX6SL_PAD_SD2_CMD__SD2_CMD 0x170f9 355 + MX6SL_PAD_SD2_CLK__SD2_CLK 0x130f9 356 + MX6SL_PAD_SD2_DAT0__SD2_DATA0 0x170f9 357 + MX6SL_PAD_SD2_DAT1__SD2_DATA1 0x170f9 358 + MX6SL_PAD_SD2_DAT2__SD2_DATA2 0x170f9 359 + MX6SL_PAD_SD2_DAT3__SD2_DATA3 0x170f9 360 + >; 361 + }; 362 + 363 + pinctrl_usdhc2_sleep: usdhc2-sleepgrp { 364 + fsl,pins = < 365 + MX6SL_PAD_SD2_CMD__GPIO5_IO04 0x100f9 366 + MX6SL_PAD_SD2_CLK__GPIO5_IO05 0x100f9 367 + MX6SL_PAD_SD2_DAT0__GPIO5_IO01 0x100f9 368 + MX6SL_PAD_SD2_DAT1__GPIO4_IO30 0x100f9 369 + MX6SL_PAD_SD2_DAT2__GPIO5_IO03 0x100f9 370 + MX6SL_PAD_SD2_DAT3__GPIO4_IO28 0x100f9 371 + >; 372 + }; 373 + 374 + pinctrl_usdhc3: usdhc3grp { 375 + fsl,pins = < 376 + MX6SL_PAD_SD3_CMD__SD3_CMD 0x11059 377 + MX6SL_PAD_SD3_CLK__SD3_CLK 0x11059 378 + MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x11059 379 + MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x11059 380 + MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x11059 381 + MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x11059 382 + >; 383 + }; 384 + 385 + pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 386 + fsl,pins = < 387 + MX6SL_PAD_SD3_CMD__SD3_CMD 0x170b9 388 + MX6SL_PAD_SD3_CLK__SD3_CLK 0x170b9 389 + MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170b9 390 + MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170b9 391 + MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170b9 392 + MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170b9 393 + >; 394 + }; 395 + 396 + pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 397 + fsl,pins = < 398 + MX6SL_PAD_SD3_CMD__SD3_CMD 0x170f9 399 + MX6SL_PAD_SD3_CLK__SD3_CLK 0x170f9 400 + MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x170f9 401 + MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x170f9 402 + MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x170f9 403 + MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x170f9 404 + >; 405 + }; 406 + 407 + pinctrl_usdhc3_sleep: usdhc3-sleepgrp { 408 + fsl,pins = < 409 + MX6SL_PAD_SD3_CMD__GPIO5_IO21 0x100c1 410 + MX6SL_PAD_SD3_CLK__GPIO5_IO18 0x100c1 411 + MX6SL_PAD_SD3_DAT0__GPIO5_IO19 0x100c1 412 + MX6SL_PAD_SD3_DAT1__GPIO5_IO20 0x100c1 413 + MX6SL_PAD_SD3_DAT2__GPIO5_IO16 0x100c1 414 + MX6SL_PAD_SD3_DAT3__GPIO5_IO17 0x100c1 415 + >; 416 + }; 417 + 418 + pinctrl_usdhc4: usdhc4grp { 419 + fsl,pins = < 420 + MX6SL_PAD_FEC_TX_CLK__SD4_CMD 0x17059 421 + MX6SL_PAD_FEC_MDIO__SD4_CLK 0x13059 422 + MX6SL_PAD_FEC_RX_ER__SD4_DATA0 0x17059 423 + MX6SL_PAD_FEC_CRS_DV__SD4_DATA1 0x17059 424 + MX6SL_PAD_FEC_RXD1__SD4_DATA2 0x17059 425 + MX6SL_PAD_FEC_TXD0__SD4_DATA3 0x17059 426 + MX6SL_PAD_FEC_MDC__SD4_DATA4 0x17059 427 + MX6SL_PAD_FEC_RXD0__SD4_DATA5 0x17059 428 + MX6SL_PAD_FEC_TX_EN__SD4_DATA6 0x17059 429 + MX6SL_PAD_FEC_TXD1__SD4_DATA7 0x17059 430 + MX6SL_PAD_FEC_REF_CLK__SD4_RESET 0x17068 431 + >; 432 + }; 433 + 434 + pinctrl_usdhc4_100mhz: usdhc4-100mhzgrp { 435 + fsl,pins = < 436 + MX6SL_PAD_FEC_TX_CLK__SD4_CMD 0x170b9 437 + MX6SL_PAD_FEC_MDIO__SD4_CLK 0x130b9 438 + MX6SL_PAD_FEC_RX_ER__SD4_DATA0 0x170b9 439 + MX6SL_PAD_FEC_CRS_DV__SD4_DATA1 0x170b9 440 + MX6SL_PAD_FEC_RXD1__SD4_DATA2 0x170b9 441 + MX6SL_PAD_FEC_TXD0__SD4_DATA3 0x170b9 442 + MX6SL_PAD_FEC_MDC__SD4_DATA4 0x170b9 443 + MX6SL_PAD_FEC_RXD0__SD4_DATA5 0x170b9 444 + MX6SL_PAD_FEC_TX_EN__SD4_DATA6 0x170b9 445 + MX6SL_PAD_FEC_TXD1__SD4_DATA7 0x170b9 446 + >; 447 + }; 448 + 449 + pinctrl_usdhc4_200mhz: usdhc4-200mhzgrp { 450 + fsl,pins = < 451 + MX6SL_PAD_FEC_TX_CLK__SD4_CMD 0x170f9 452 + MX6SL_PAD_FEC_MDIO__SD4_CLK 0x130f9 453 + MX6SL_PAD_FEC_RX_ER__SD4_DATA0 0x170f9 454 + MX6SL_PAD_FEC_CRS_DV__SD4_DATA1 0x170f9 455 + MX6SL_PAD_FEC_RXD1__SD4_DATA2 0x170f9 456 + MX6SL_PAD_FEC_TXD0__SD4_DATA3 0x170f9 457 + MX6SL_PAD_FEC_MDC__SD4_DATA4 0x170f9 458 + MX6SL_PAD_FEC_RXD0__SD4_DATA5 0x170f9 459 + MX6SL_PAD_FEC_TX_EN__SD4_DATA6 0x170f9 460 + MX6SL_PAD_FEC_TXD1__SD4_DATA7 0x170f9 461 + >; 462 + }; 463 + 464 + pinctrl_usdhc4_sleep: usdhc4-sleepgrp { 465 + fsl,pins = < 466 + MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21 0x100c1 467 + MX6SL_PAD_FEC_MDIO__GPIO4_IO20 0x100c1 468 + MX6SL_PAD_FEC_RX_ER__GPIO4_IO19 0x100c1 469 + MX6SL_PAD_FEC_CRS_DV__GPIO4_IO25 0x100c1 470 + MX6SL_PAD_FEC_RXD1__GPIO4_IO18 0x100c1 471 + MX6SL_PAD_FEC_TXD0__GPIO4_IO24 0x100c1 472 + MX6SL_PAD_FEC_MDC__GPIO4_IO23 0x100c1 473 + MX6SL_PAD_FEC_RXD0__GPIO4_IO17 0x100c1 474 + MX6SL_PAD_FEC_TX_EN__GPIO4_IO22 0x100c1 475 + MX6SL_PAD_FEC_TXD1__GPIO4_IO16 0x100c1 476 + >; 477 + }; 478 + 479 + pinctrl_wifi_power: wifi-powergrp { 480 + fsl,pins = < 481 + MX6SL_PAD_SD2_DAT6__GPIO4_IO29 0x10059 /* WIFI_3V3_ON */ 482 + >; 483 + }; 484 + 485 + pinctrl_wifi_reset: wifi-resetgrp { 486 + fsl,pins = < 487 + MX6SL_PAD_SD2_DAT7__GPIO5_IO00 0x10059 /* WIFI_RST */ 488 + >; 489 + }; 490 + };
+8 -6
arch/arm/boot/dts/imx6ul-prti6g.dts
··· 26 26 compatible = "fixed-clock"; 27 27 #clock-cells = <0>; 28 28 clock-frequency = <50000000>; 29 + clock-output-names = "enet1_ref_pad"; 29 30 }; 30 31 31 32 leds { ··· 61 60 status = "okay"; 62 61 }; 63 62 63 + &clks { 64 + clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>, <&clock_ksz8081_out>; 65 + clock-names = "ckil", "osc", "ipp_di0", "ipp_di1", "enet1_ref_pad"; 66 + assigned-clocks = <&clks IMX6UL_CLK_ENET1_REF_SEL>; 67 + assigned-clock-parents = <&clock_ksz8081_out>; 68 + }; 69 + 64 70 &ecspi1 { 65 71 cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; 66 72 pinctrl-names = "default"; ··· 93 85 pinctrl-0 = <&pinctrl_eth1>; 94 86 phy-mode = "rmii"; 95 87 phy-handle = <&rmii_phy>; 96 - clocks = <&clks IMX6UL_CLK_ENET>, 97 - <&clks IMX6UL_CLK_ENET_AHB>, 98 - <&clks IMX6UL_CLK_ENET_PTP>, 99 - <&clock_ksz8081_out>; 100 - clock-names = "ipg", "ahb", "ptp", 101 - "enet_clk_ref"; 102 88 status = "okay"; 103 89 104 90 mdio {
+4 -6
arch/arm/boot/dts/imx6ul.dtsi
··· 531 531 clocks = <&clks IMX6UL_CLK_ENET>, 532 532 <&clks IMX6UL_CLK_ENET_AHB>, 533 533 <&clks IMX6UL_CLK_ENET_PTP>, 534 - <&clks IMX6UL_CLK_ENET2_REF_125M>, 535 - <&clks IMX6UL_CLK_ENET2_REF_125M>; 534 + <&clks IMX6UL_CLK_ENET2_REF_SEL>; 536 535 clock-names = "ipg", "ahb", "ptp", 537 - "enet_clk_ref", "enet_out"; 536 + "enet_clk_ref"; 538 537 fsl,num-tx-queues = <1>; 539 538 fsl,num-rx-queues = <1>; 540 539 fsl,stop-mode = <&gpr 0x10 4>; ··· 878 879 clocks = <&clks IMX6UL_CLK_ENET>, 879 880 <&clks IMX6UL_CLK_ENET_AHB>, 880 881 <&clks IMX6UL_CLK_ENET_PTP>, 881 - <&clks IMX6UL_CLK_ENET_REF>, 882 - <&clks IMX6UL_CLK_ENET_REF>; 882 + <&clks IMX6UL_CLK_ENET1_REF_SEL>; 883 883 clock-names = "ipg", "ahb", "ptp", 884 - "enet_clk_ref", "enet_out"; 884 + "enet_clk_ref"; 885 885 fsl,num-tx-queues = <1>; 886 886 fsl,num-rx-queues = <1>; 887 887 fsl,stop-mode = <&gpr 0x10 3>;
+852
arch/arm/boot/dts/imx6ull-tarragon-common.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright (C) 2023 chargebyte GmbH 4 + 5 + /dts-v1/; 6 + 7 + #include <dt-bindings/input/input.h> 8 + #include <dt-bindings/leds/common.h> 9 + #include <dt-bindings/pwm/pwm.h> 10 + #include "imx6ull.dtsi" 11 + 12 + / { 13 + aliases { 14 + mmc0 = &usdhc2; /* eMMC */ 15 + }; 16 + 17 + chosen { 18 + stdout-path = &uart4; 19 + }; 20 + 21 + memory@80000000 { 22 + device_type = "memory"; 23 + reg = <0x80000000 0x20000000>; 24 + }; 25 + 26 + emmc_pwrseq: emmc-pwrseq { 27 + compatible = "mmc-pwrseq-emmc"; 28 + pinctrl-0 = <&pinctrl_emmc_rst>; 29 + pinctrl-names = "default"; 30 + reset-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; 31 + }; 32 + 33 + reg_dcdc_3v3: regulator-dcdc-3v3 { 34 + compatible = "regulator-fixed"; 35 + regulator-name = "dcdc-3v3"; 36 + regulator-min-microvolt = <3300000>; 37 + regulator-max-microvolt = <3300000>; 38 + regulator-boot-on; 39 + regulator-always-on; 40 + }; 41 + 42 + reg_1v8: regulator-1v8 { 43 + compatible = "regulator-fixed"; 44 + regulator-name = "ldo-1v8"; 45 + regulator-min-microvolt = <1800000>; 46 + regulator-max-microvolt = <1800000>; 47 + regulator-boot-on; 48 + regulator-always-on; 49 + }; 50 + 51 + leds { 52 + compatible = "gpio-leds"; 53 + pinctrl-names = "default"; 54 + pinctrl-0 = <&pinctrl_status_leds>; 55 + 56 + led-1 { 57 + function = LED_FUNCTION_BOOT; 58 + color = <LED_COLOR_ID_GREEN>; 59 + gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 60 + linux,default-trigger = "timer"; 61 + }; 62 + 63 + led-2 { 64 + function = LED_FUNCTION_PROGRAMMING; 65 + color = <LED_COLOR_ID_YELLOW>; 66 + gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 67 + }; 68 + 69 + led-3 { 70 + function = LED_FUNCTION_HEARTBEAT; 71 + color = <LED_COLOR_ID_RED>; 72 + gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; 73 + linux,default-trigger = "heartbeat"; 74 + }; 75 + }; 76 + }; 77 + 78 + &adc1 { 79 + pinctrl-names = "default"; 80 + pinctrl-0 = <&pinctrl_adc_motor 81 + &pinctrl_adc_cp 82 + &pinctrl_adc_pp>; 83 + vref-supply = <&vgen1_reg>; 84 + status = "okay"; 85 + }; 86 + 87 + &cpu0 { 88 + clock-frequency = <792000000>; 89 + }; 90 + 91 + &ecspi2 { 92 + #address-cells = <1>; 93 + #size-cells = <0>; 94 + pinctrl-names = "default"; 95 + pinctrl-0 = <&pinctrl_ecspi2>; 96 + num-cs = <3>; 97 + cs-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH 98 + &gpio3 2 GPIO_ACTIVE_HIGH 99 + &gpio3 4 GPIO_ACTIVE_HIGH>; 100 + }; 101 + 102 + &ecspi4 { 103 + #address-cells = <1>; 104 + #size-cells = <0>; 105 + pinctrl-names = "default"; 106 + pinctrl-0 = <&pinctrl_ecspi4>; 107 + num-cs = <1>; 108 + cs-gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>; 109 + }; 110 + 111 + &fec1 { 112 + pinctrl-names = "default"; 113 + pinctrl-0 = <&pinctrl_enet1 114 + &pinctrl_enet1_phy_rst 115 + &pinctrl_enet_mdio>; 116 + phy-supply = <&reg_dcdc_3v3>; 117 + phy-mode = "rmii"; 118 + phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; 119 + phy-reset-duration = <25>; 120 + phy-handle = <&ethphy0>; 121 + 122 + mdio { 123 + #address-cells = <1>; 124 + #size-cells = <0>; 125 + 126 + ethphy0: ethernet-phy@0 { 127 + compatible = "ethernet-phy-ieee802.3-c22"; 128 + reg = <0>; 129 + pinctrl-names = "default"; 130 + pinctrl-0 = <&pinctrl_enet1_phy_int>; 131 + interrupt-parent = <&gpio2>; 132 + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 133 + interrupts-extended = <&gpio2 7 IRQ_TYPE_EDGE_FALLING>; 134 + clocks = <&clks IMX6UL_CLK_ENET_REF>; 135 + clock-names = "rmii-ref"; 136 + max-speed = <100>; 137 + smsc,disable-energy-detect; 138 + }; 139 + }; 140 + }; 141 + 142 + &gpio1 { 143 + gpio-line-names = "", /* 0 */ 144 + "", 145 + "", 146 + "", 147 + "", 148 + "", /* 5 */ 149 + "", 150 + "", 151 + "", 152 + "", 153 + "", /* 10 */ 154 + "", 155 + "", 156 + "CP_INVERT", 157 + "", 158 + "", /* 15 */ 159 + "", 160 + "", 161 + "", 162 + "MOTOR_1_FAULT_N", 163 + "", /* 20 */ 164 + "", 165 + "ROTARY_SWITCH_1_2_N", 166 + "ROTARY_SWITCH_1_4_N", 167 + "ROTARY_SWITCH_1_8_N", 168 + "MOTOR_2_FAULT_N"; /* 25 */ 169 + }; 170 + 171 + &gpio3 { 172 + gpio-line-names = "", /* 0 */ 173 + "", 174 + "", 175 + "", 176 + "", 177 + "", /* 5 */ 178 + "EXT_GPIO", 179 + "MOTOR_1_DRIVER_IN1_N", 180 + "MOTOR_1_DRIVER_IN2", 181 + "MOTOR_2_DRIVER_IN1", 182 + "STM32_BOOT0", /* 10 */ 183 + "STM32_RST_N", 184 + "RELAY_1_ENABLE", 185 + "RELAY_2_ENABLE", 186 + "", 187 + "", /* 15 */ 188 + "QCA700X_MAINS_BOOTLOADER_N", 189 + "QCA700X_CP_RST_N", 190 + "QCA700X_CP_BOOTLOADER_N", 191 + "", 192 + "DIGITAL_OUT_1", /* 20 */ 193 + "DIGITAL_OUT_2", 194 + "DIGITAL_OUT_3", 195 + "DIGITAL_OUT_4", 196 + "DIGITAL_OUT_5", 197 + "DIGITAL_OUT_6", /* 25 */ 198 + "ROTARY_SWITCH_2_8_N", 199 + "ROTARY_SWITCH_2_4_N", 200 + "ROTARY_SWITCH_2_2_N"; 201 + }; 202 + 203 + &gpio4 { 204 + pinctrl-names = "default"; 205 + pinctrl-0 = <&pinctrl_pmic>; 206 + 207 + gpio-line-names = "", /* 0 */ 208 + "", 209 + "", 210 + "", 211 + "", 212 + "", /* 5 */ 213 + "", 214 + "", 215 + "", 216 + "", 217 + "", /* 10 */ 218 + "", 219 + "", 220 + "BOARD_VARIANT_1", 221 + "BOARD_VARIANT_2", 222 + "BOARD_VARIANT_0", /* 15 */ 223 + "BOARD_VARIANT_3", 224 + "", 225 + "ROTARY_SWITCH_2_1_N", 226 + "", 227 + "DIGITAL_IN_5", /* 20 */ 228 + "", 229 + "", 230 + "DIGITAL_IN_6", 231 + "", 232 + "DIGITAL_IN_1", /* 25 */ 233 + "DIGITAL_IN_2", 234 + "DIGITAL_IN_4", 235 + "DIGITAL_IN_3"; 236 + 237 + pmic-int-hog { 238 + gpio-hog; 239 + gpios = <19 0>; 240 + input; 241 + }; 242 + }; 243 + 244 + &gpio5 { 245 + gpio-line-names = "ROTARY_SWITCH_1_1_N", /* 0 */ 246 + "", 247 + "RELAY_2_SENSE", 248 + "RELAY_1_SENSE", 249 + "", 250 + "", /* 5 */ 251 + "", 252 + "QCA700X_MAINS_RST_N", 253 + "MOTOR_2_DRIVER_IN2", 254 + "", 255 + "CP_POSITIVE_PEAK_RST", /* 10 */ 256 + "CP_NEGATIVE_PEAK_RST"; 257 + }; 258 + 259 + &i2c4 { 260 + clock-frequency = <100000>; 261 + pinctrl-names = "default", "gpio"; 262 + pinctrl-0 = <&pinctrl_i2c4>; 263 + pinctrl-1 = <&pinctrl_i2c4_gpio>; 264 + scl-gpios = <&gpio1 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 265 + sda-gpios = <&gpio1 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 266 + status = "okay"; 267 + 268 + pfuze3001: pmic@8 { 269 + compatible = "fsl,pfuze3001"; 270 + reg = <0x08>; 271 + 272 + regulators { 273 + sw1_reg: sw1 { 274 + regulator-name = "SW1"; 275 + regulator-min-microvolt = <700000>; 276 + regulator-max-microvolt = <3300000>; 277 + regulator-boot-on; 278 + regulator-always-on; 279 + }; 280 + 281 + sw2_reg: sw2 { 282 + regulator-name = "SW2"; 283 + regulator-min-microvolt = <1500000>; 284 + regulator-max-microvolt = <3300000>; 285 + regulator-boot-on; 286 + regulator-always-on; 287 + }; 288 + 289 + sw3_reg: sw3 { 290 + regulator-name = "SW3"; 291 + regulator-min-microvolt = <900000>; 292 + regulator-max-microvolt = <1650000>; 293 + regulator-boot-on; 294 + regulator-always-on; 295 + }; 296 + 297 + snvs_reg: vsnvs { 298 + regulator-name = "VSNVS"; 299 + regulator-min-microvolt = <1000000>; 300 + regulator-max-microvolt = <3000000>; 301 + regulator-boot-on; 302 + regulator-always-on; 303 + }; 304 + 305 + vgen1_reg: vldo1 { 306 + regulator-name = "VLDO1"; 307 + regulator-min-microvolt = <1800000>; 308 + regulator-max-microvolt = <3300000>; 309 + regulator-always-on; 310 + }; 311 + 312 + vgen2_reg: vldo2 { 313 + regulator-name = "VLDO2"; 314 + regulator-min-microvolt = <800000>; 315 + regulator-max-microvolt = <1550000>; 316 + regulator-always-on; 317 + }; 318 + 319 + vgen3_reg: vccsd { 320 + regulator-name = "VCCSD"; 321 + regulator-min-microvolt = <2850000>; 322 + regulator-max-microvolt = <3300000>; 323 + regulator-always-on; 324 + }; 325 + 326 + vgen4_reg: v33 { 327 + regulator-name = "V33"; 328 + regulator-min-microvolt = <2850000>; 329 + regulator-max-microvolt = <3300000>; 330 + regulator-always-on; 331 + }; 332 + 333 + vgen5_reg: vldo3 { 334 + regulator-name = "VLDO3"; 335 + regulator-min-microvolt = <1800000>; 336 + regulator-max-microvolt = <3300000>; 337 + regulator-always-on; 338 + }; 339 + 340 + vgen6_reg: vldo4 { 341 + regulator-name = "VLDO4"; 342 + regulator-min-microvolt = <1800000>; 343 + regulator-max-microvolt = <3300000>; 344 + regulator-always-on; 345 + }; 346 + }; 347 + }; 348 + 349 + onewire@18 { 350 + compatible = "maxim,ds2484"; 351 + reg = <0x18>; 352 + }; 353 + 354 + accelerometer@19 { 355 + compatible = "st,iis328dq", "st,h3lis331dl-accel"; 356 + reg = <0x19>; 357 + pinctrl-names = "default"; 358 + pinctrl-0 = <&pinctrl_accelerometer_int1_snvs>; 359 + vdd-supply = <&reg_dcdc_3v3>; 360 + vddio-supply = <&reg_dcdc_3v3>; 361 + st,drdy-int-pin = <1>; 362 + interrupt-parent = <&gpio5>; 363 + interrupts = <5 IRQ_TYPE_EDGE_RISING>; 364 + }; 365 + }; 366 + 367 + &iomuxc { 368 + pinctrl-names = "default"; 369 + pinctrl-0 = <&pinctrl_board_var 370 + &pinctrl_digital_input 371 + &pinctrl_digital_output 372 + &pinctrl_gpio_motor 373 + &pinctrl_hog_pins 374 + &pinctrl_rotary_switch1 375 + &pinctrl_rotary_switch2>; 376 + 377 + pinctrl_adc_cp: adc-cpgrp { 378 + fsl,pins = < 379 + MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0xb0 380 + MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0xb0 381 + >; 382 + }; 383 + 384 + pinctrl_adc_motor: adc-motorgrp { 385 + fsl,pins = < 386 + MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 0xb0 387 + MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0xb0 388 + MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0xb0 389 + >; 390 + }; 391 + 392 + pinctrl_adc_pp: adc-ppgrp { 393 + fsl,pins = < 394 + MX6UL_PAD_GPIO1_IO05__GPIO1_IO05 0xb0 395 + >; 396 + }; 397 + 398 + pinctrl_board_var: board-vargrp { 399 + fsl,pins = < 400 + MX6UL_PAD_NAND_CLE__GPIO4_IO15 0xb0 401 + MX6UL_PAD_NAND_CE0_B__GPIO4_IO13 0xb0 402 + MX6UL_PAD_NAND_CE1_B__GPIO4_IO14 0xb0 403 + MX6UL_PAD_NAND_DQS__GPIO4_IO16 0xb0 404 + >; 405 + }; 406 + 407 + pinctrl_digital_input: digital-inputgrp { 408 + fsl,pins = < 409 + MX6UL_PAD_CSI_DATA04__GPIO4_IO25 0xb0 410 + MX6UL_PAD_CSI_DATA05__GPIO4_IO26 0xb0 411 + MX6UL_PAD_CSI_DATA07__GPIO4_IO28 0xb0 412 + MX6UL_PAD_CSI_DATA06__GPIO4_IO27 0xb0 413 + MX6UL_PAD_CSI_HSYNC__GPIO4_IO20 0xb0 414 + MX6UL_PAD_CSI_DATA02__GPIO4_IO23 0xb0 415 + >; 416 + }; 417 + 418 + pinctrl_digital_output: digital-outputgrp { 419 + fsl,pins = < 420 + MX6UL_PAD_LCD_DATA15__GPIO3_IO20 0x400000b0 421 + MX6UL_PAD_LCD_DATA16__GPIO3_IO21 0x400000b0 422 + MX6UL_PAD_LCD_DATA17__GPIO3_IO22 0x400000b0 423 + MX6UL_PAD_LCD_DATA18__GPIO3_IO23 0x400000b0 424 + MX6UL_PAD_LCD_DATA19__GPIO3_IO24 0x400000b0 425 + MX6UL_PAD_LCD_DATA20__GPIO3_IO25 0x400000b0 426 + >; 427 + }; 428 + 429 + pinctrl_ecspi2: ecspi2grp { 430 + fsl,pins = < 431 + MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29 0x10b0 432 + MX6UL_PAD_LCD_HSYNC__GPIO3_IO02 0xb0 433 + MX6UL_PAD_LCD_RESET__GPIO3_IO04 0xb0 434 + MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK 0x10b0 435 + MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO 0x10b0 436 + MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI 0x10b0 437 + >; 438 + }; 439 + 440 + pinctrl_ecspi4: ecspi4grp { 441 + fsl,pins = < 442 + MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15 0x10b0 443 + MX6UL_PAD_ENET2_TX_DATA1__ECSPI4_SCLK 0x10b0 444 + MX6UL_PAD_ENET2_TX_CLK__ECSPI4_MISO 0x10b0 445 + MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI 0x10b0 446 + >; 447 + }; 448 + 449 + pinctrl_emmc_rst: emmc-rstgrp { 450 + fsl,pins = < 451 + MX6UL_PAD_NAND_ALE__GPIO4_IO10 0x400010b0 452 + >; 453 + }; 454 + 455 + pinctrl_enet_mdio: enet-mdiogrp { 456 + fsl,pins = < 457 + MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x10b0 458 + MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x10b0 459 + >; 460 + }; 461 + 462 + pinctrl_enet1_phy_int: enet1-phy-intgrp { 463 + fsl,pins = < 464 + MX6UL_PAD_ENET1_RX_ER__GPIO2_IO07 0x10b0 465 + >; 466 + }; 467 + 468 + pinctrl_enet1: enet1grp { 469 + fsl,pins = < 470 + MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x100b0 471 + MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x100b0 472 + MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x100b0 473 + MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x400000b1 474 + MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0xb0 475 + MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0xb0 476 + MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0xb0 477 + >; 478 + }; 479 + 480 + pinctrl_ext_uart: ext-uartgrp { 481 + fsl,pins = < 482 + MX6UL_PAD_ENET2_TX_DATA0__UART7_DCE_RX 0xb0 483 + MX6UL_PAD_ENET2_RX_EN__UART7_DCE_TX 0xb0 484 + >; 485 + }; 486 + 487 + pinctrl_fan_enable: fan-enablegrp { 488 + fsl,pins = < 489 + MX6UL_PAD_LCD_DATA00__GPIO3_IO05 0x400000b0 490 + >; 491 + }; 492 + 493 + pinctrl_gpio_motor: gpio-motorgrp { 494 + fsl,pins = < 495 + MX6UL_PAD_LCD_DATA02__GPIO3_IO07 0x400000b0 496 + MX6UL_PAD_LCD_DATA03__GPIO3_IO08 0x400000b0 497 + MX6UL_PAD_LCD_DATA04__GPIO3_IO09 0x400000b0 498 + MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0xb0 499 + MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25 0xb0 500 + >; 501 + }; 502 + 503 + pinctrl_hog_pins: hog-pinsgrp { 504 + fsl,pins = < 505 + MX6UL_PAD_LCD_DATA07__GPIO3_IO12 0x400000b0 506 + MX6UL_PAD_LCD_DATA08__GPIO3_IO13 0x400000b0 507 + MX6UL_PAD_JTAG_TDI__GPIO1_IO13 0x400070a0 508 + MX6UL_PAD_LCD_DATA05__GPIO3_IO10 0x400000b0 509 + MX6UL_PAD_LCD_DATA06__GPIO3_IO11 0x400000b0 510 + >; 511 + }; 512 + 513 + pinctrl_i2c4: i2c4grp { 514 + fsl,pins = < 515 + MX6UL_PAD_UART2_RX_DATA__I2C4_SDA 0x400008b0 516 + MX6UL_PAD_UART2_TX_DATA__I2C4_SCL 0x400008b0 517 + >; 518 + }; 519 + 520 + pinctrl_i2c4_gpio: i2c4-gpiogrp { 521 + fsl,pins = < 522 + MX6UL_PAD_UART2_RX_DATA__GPIO1_IO21 0x400008b0 523 + MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0x400008b0 524 + >; 525 + }; 526 + 527 + pinctrl_pmic: pmicgrp { 528 + fsl,pins = < 529 + MX6UL_PAD_GPIO1_IO08__USDHC2_VSELECT 0x70b1 530 + MX6UL_PAD_CSI_VSYNC__GPIO4_IO19 0xb0 531 + >; 532 + }; 533 + 534 + pinctrl_pwm_cp: pinctrl-pwm-cpgrp { 535 + fsl,pins = < 536 + MX6UL_PAD_JTAG_TRST_B__PWM8_OUT 0x60a0 537 + >; 538 + }; 539 + 540 + pinctrl_pwm_digital_input_ref: pwm-digital-input-refgrp { 541 + fsl,pins = < 542 + MX6UL_PAD_GPIO1_IO09__PWM2_OUT 0xb0 543 + >; 544 + }; 545 + 546 + pinctrl_pwm_fan: pwm-fangrp { 547 + fsl,pins = < 548 + MX6UL_PAD_JTAG_TCK__PWM7_OUT 0x60a0 549 + >; 550 + }; 551 + 552 + pinctrl_qca700x_cp_btld: qca700x-cp-btldgrp { 553 + fsl,pins = < 554 + MX6UL_PAD_LCD_DATA13__GPIO3_IO18 0x400000b0 555 + >; 556 + }; 557 + 558 + pinctrl_qca700x_cp_int: qca700x-cp-intgrp { 559 + fsl,pins = < 560 + MX6UL_PAD_SD1_DATA1__GPIO2_IO19 0x10b0 561 + >; 562 + }; 563 + 564 + pinctrl_qca700x_cp_rst: qca700x-cp-rstgrp { 565 + fsl,pins = < 566 + MX6UL_PAD_LCD_DATA12__GPIO3_IO17 0x400000b0 567 + >; 568 + }; 569 + 570 + pinctrl_qca700x_mains_btld: qca700x-mains-btldgrp { 571 + fsl,pins = < 572 + MX6UL_PAD_LCD_DATA11__GPIO3_IO16 0x400000b0 573 + >; 574 + }; 575 + 576 + pinctrl_rotary_switch1: rotary-switch1grp { 577 + fsl,pins = < 578 + MX6UL_PAD_UART2_CTS_B__GPIO1_IO22 0xb0 579 + MX6UL_PAD_UART2_RTS_B__GPIO1_IO23 0xb0 580 + MX6UL_PAD_UART3_TX_DATA__GPIO1_IO24 0xb0 581 + >; 582 + }; 583 + 584 + pinctrl_rotary_switch2: rotary-switch2grp { 585 + fsl,pins = < 586 + MX6UL_PAD_CSI_PIXCLK__GPIO4_IO18 0xb0 587 + MX6UL_PAD_LCD_DATA23__GPIO3_IO28 0xb0 588 + MX6UL_PAD_LCD_DATA22__GPIO3_IO27 0xb0 589 + MX6UL_PAD_LCD_DATA21__GPIO3_IO26 0xb0 590 + >; 591 + }; 592 + 593 + pinctrl_rs485_1: rs485-1grp { 594 + fsl,pins = < 595 + MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0xb0 596 + MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0xb0 597 + MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0xb0 598 + >; 599 + }; 600 + 601 + pinctrl_rs485_2: rs485-2grp { 602 + fsl,pins = < 603 + MX6UL_PAD_CSI_DATA03__GPIO4_IO24 0x10b0 604 + MX6UL_PAD_CSI_DATA01__UART5_DCE_RX 0x10b0 605 + MX6UL_PAD_CSI_DATA00__UART5_DCE_TX 0x10b0 606 + >; 607 + }; 608 + 609 + pinctrl_status_leds: status-ledsgrp { 610 + fsl,pins = < 611 + MX6UL_PAD_LCD_DATA09__GPIO3_IO14 0xb0 612 + MX6UL_PAD_LCD_DATA10__GPIO3_IO15 0xb0 613 + MX6UL_PAD_LCD_DATA14__GPIO3_IO19 0xb0 614 + >; 615 + }; 616 + 617 + pinctrl_stm32: stm32grp { 618 + fsl,pins = < 619 + MX6UL_PAD_ENET2_RX_DATA1__UART6_DCE_RX 0x10b0 620 + MX6UL_PAD_ENET2_RX_DATA0__UART6_DCE_TX 0x10b0 621 + >; 622 + }; 623 + 624 + pinctrl_uart4: uart4grp { 625 + fsl,pins = < 626 + MX6UL_PAD_LCD_CLK__UART4_DTE_RX 0xb0 627 + MX6UL_PAD_LCD_ENABLE__UART4_DTE_TX 0xb0 628 + >; 629 + }; 630 + 631 + pinctrl_usb: usbgrp { 632 + fsl,pins = < 633 + MX6UL_PAD_SD1_CLK__USB_OTG1_OC 0x70b0 634 + MX6UL_PAD_SD1_DATA0__ANATOP_OTG1_ID 0x70b0 635 + >; 636 + }; 637 + 638 + pinctrl_usb_pwr: usb-pwrgrp { 639 + fsl,pins = < 640 + MX6UL_PAD_SD1_CMD__USB_OTG1_PWR 0xb0 641 + >; 642 + }; 643 + 644 + pinctrl_usdhc2: usdhc2grp { 645 + fsl,pins = < 646 + MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x7071 647 + MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x7071 648 + MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x7071 649 + MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x7071 650 + MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x7071 651 + MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x7071 652 + MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x7071 653 + MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x7071 654 + MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x7071 655 + MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x7071 656 + >; 657 + }; 658 + 659 + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 660 + fsl,pins = < 661 + MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x70b1 662 + MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x70b1 663 + MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x70b1 664 + MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x70b1 665 + MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x70b1 666 + MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x70b1 667 + MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x70b1 668 + MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x70b1 669 + MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x70b1 670 + MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x70b1 671 + >; 672 + }; 673 + 674 + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 675 + fsl,pins = < 676 + MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x70f1 677 + MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x70f1 678 + MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x70f1 679 + MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x70f1 680 + MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x70f1 681 + MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x70f1 682 + MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x70f1 683 + MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x70f1 684 + MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x70f1 685 + MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x70f1 686 + >; 687 + }; 688 + 689 + pinctrl_wdog2: wdoggrp { 690 + fsl,pins = < 691 + MX6UL_PAD_LCD_VSYNC__WDOG2_WDOG_B 0x10b0 692 + >; 693 + }; 694 + }; 695 + 696 + &iomuxc_snvs { 697 + pinctrl-names = "default_snvs"; 698 + pinctrl-0 = <&pinctrl_cp_peak_snvs 699 + &pinctrl_gpio_motor_snvs 700 + &pinctrl_relay_sense_snvs 701 + &pinctrl_rotary_switch1_snvs>; 702 + 703 + pinctrl_accelerometer_int1_snvs: accelerometer-int1-snvsgrp { 704 + fsl,pins = < 705 + MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x130a0 706 + >; 707 + }; 708 + 709 + pinctrl_cp_peak_snvs: cp-peak-snvsgrp { 710 + fsl,pins = < 711 + MX6ULL_PAD_BOOT_MODE0__GPIO5_IO10 0x130a0 712 + MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11 0x130a0 713 + >; 714 + }; 715 + 716 + pinctrl_enet1_phy_rst: enet1-phy-rstgrp { 717 + fsl,pins = < 718 + MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x100a0 719 + >; 720 + }; 721 + 722 + pinctrl_fan_sense_snvs: fan-sense-snvsgrp { 723 + fsl,pins = < 724 + MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x100a0 725 + >; 726 + }; 727 + 728 + pinctrl_gpio_motor_snvs: gpio-motor-snvsgrp { 729 + fsl,pins = < 730 + MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x110a0 731 + >; 732 + }; 733 + 734 + pinctrl_qca700x_mains_int: qca700x-mains-intgrp { 735 + fsl,pins = < 736 + MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x130a0 737 + >; 738 + }; 739 + 740 + pinctrl_qca700x_mains_rst: qca700x-mains-rstgrp { 741 + fsl,pins = < 742 + MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x400100a0 743 + >; 744 + }; 745 + 746 + pinctrl_relay_sense_snvs: relay-sense-snvsgrp { 747 + fsl,pins = < 748 + MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x100a0 749 + MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x100a0 750 + >; 751 + }; 752 + 753 + pinctrl_rotary_switch1_snvs: rotary-switch1-snvsgrp { 754 + fsl,pins = < 755 + MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x110a0 756 + >; 757 + }; 758 + }; 759 + 760 + &pwm2 { 761 + pinctrl-names = "default"; 762 + pinctrl-0 = <&pinctrl_pwm_digital_input_ref>; 763 + status = "okay"; 764 + }; 765 + 766 + &pwm8 { 767 + pinctrl-names = "default"; 768 + pinctrl-0 = <&pinctrl_pwm_cp>; 769 + status = "okay"; 770 + }; 771 + 772 + &uart1 { 773 + pinctrl-names = "default"; 774 + pinctrl-0 = <&pinctrl_rs485_1>; 775 + status = "okay"; 776 + }; 777 + 778 + &uart4 { 779 + pinctrl-names = "default"; 780 + pinctrl-0 = <&pinctrl_uart4>; 781 + fsl,dte-mode; 782 + status = "okay"; 783 + }; 784 + 785 + &uart5 { 786 + pinctrl-names = "default"; 787 + pinctrl-0 = <&pinctrl_rs485_2>; 788 + }; 789 + 790 + &uart6 { 791 + pinctrl-names = "default"; 792 + pinctrl-0 = <&pinctrl_stm32>; 793 + status = "okay"; 794 + }; 795 + 796 + &uart7 { 797 + pinctrl-names = "default"; 798 + pinctrl-0 = <&pinctrl_ext_uart>; 799 + status = "okay"; 800 + }; 801 + 802 + &usbotg1 { 803 + pinctrl-names = "default"; 804 + pinctrl-0 = <&pinctrl_usb 805 + &pinctrl_usb_pwr>; 806 + dr_mode = "host"; 807 + power-active-high; 808 + disable-over-current; 809 + status = "okay"; 810 + }; 811 + 812 + &usbotg2 { 813 + dr_mode = "host"; 814 + disable-over-current; 815 + status = "okay"; 816 + }; 817 + 818 + &usbphy1 { 819 + fsl,tx-cal-45-dn-ohms = <35>; 820 + fsl,tx-cal-45-dp-ohms = <35>; 821 + }; 822 + 823 + &usbphy2 { 824 + fsl,tx-cal-45-dn-ohms = <35>; 825 + fsl,tx-cal-45-dp-ohms = <35>; 826 + }; 827 + 828 + &usdhc2 { 829 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 830 + pinctrl-0 = <&pinctrl_usdhc2>; 831 + pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 832 + pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 833 + vmmc-supply = <&sw2_reg>; 834 + vqmmc-supply = <&reg_1v8>; 835 + mmc-pwrseq = <&emmc_pwrseq>; 836 + bus-width = <8>; 837 + non-removable; 838 + no-sd; 839 + no-sdio; 840 + status = "okay"; 841 + }; 842 + 843 + &wdog1 { 844 + status = "disabled"; 845 + }; 846 + 847 + &wdog2 { 848 + pinctrl-names = "default"; 849 + pinctrl-0 = <&pinctrl_wdog2>; 850 + fsl,ext-reset-output; 851 + status = "okay"; 852 + };
+82
arch/arm/boot/dts/imx6ull-tarragon-master.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright (C) 2023 chargebyte GmbH 4 + 5 + #include "imx6ull-tarragon-common.dtsi" 6 + 7 + / { 8 + model = "chargebyte Tarragon Master"; 9 + compatible = "chargebyte,imx6ull-tarragon-master", "fsl,imx6ull"; 10 + 11 + fan0: pwm-fan { 12 + compatible = "pwm-fan"; 13 + pwms = <&pwm7 0 40000 PWM_POLARITY_INVERTED>; 14 + pinctrl-names = "default"; 15 + pinctrl-0 = <&pinctrl_fan_sense_snvs>; 16 + fan-supply = <&reg_fan>; 17 + interrupt-parent = <&gpio5>; 18 + interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 19 + }; 20 + 21 + reg_fan: regulator { 22 + compatible = "regulator-fixed"; 23 + regulator-name = "fan-supply"; 24 + pinctrl-names = "default"; 25 + pinctrl-0 = <&pinctrl_fan_enable>; 26 + regulator-min-microvolt = <12000000>; 27 + regulator-max-microvolt = <12000000>; 28 + gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>; 29 + enable-active-high; 30 + regulator-boot-on; 31 + }; 32 + }; 33 + 34 + &ecspi2 { 35 + status = "okay"; 36 + 37 + qca700x_cp: ethernet@0 { 38 + reg = <0x0>; 39 + compatible = "qca,qca7000"; 40 + pinctrl-names = "default"; 41 + pinctrl-0 = <&pinctrl_qca700x_cp_int 42 + &pinctrl_qca700x_cp_rst 43 + &pinctrl_qca700x_cp_btld>; 44 + interrupt-parent = <&gpio2>; 45 + interrupts = <19 IRQ_TYPE_EDGE_RISING>; 46 + spi-cpha; 47 + spi-cpol; 48 + spi-max-frequency = <16000000>; 49 + }; 50 + }; 51 + 52 + &ecspi4 { 53 + status = "okay"; 54 + 55 + qca700x_mains: ethernet@0 { 56 + reg = <0x0>; 57 + compatible = "qca,qca7000"; 58 + pinctrl-names = "default"; 59 + pinctrl-0 = <&pinctrl_qca700x_mains_int 60 + &pinctrl_qca700x_mains_rst 61 + &pinctrl_qca700x_mains_btld>; 62 + interrupt-parent = <&gpio5>; 63 + interrupts = <9 IRQ_TYPE_EDGE_RISING>; 64 + spi-cpha; 65 + spi-cpol; 66 + spi-max-frequency = <16000000>; 67 + }; 68 + }; 69 + 70 + &fec1 { 71 + status = "okay"; 72 + }; 73 + 74 + &pwm7 { 75 + pinctrl-names = "default"; 76 + pinctrl-0 = <&pinctrl_pwm_fan>; 77 + status = "okay"; 78 + }; 79 + 80 + &uart5 { 81 + status = "okay"; 82 + };
+10
arch/arm/boot/dts/imx6ull-tarragon-micro.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright (C) 2023 chargebyte GmbH 4 + 5 + #include "imx6ull-tarragon-common.dtsi" 6 + 7 + / { 8 + model = "chargebyte Tarragon Micro"; 9 + compatible = "chargebyte,imx6ull-tarragon-micro", "fsl,imx6ull"; 10 + };
+32
arch/arm/boot/dts/imx6ull-tarragon-slave.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright (C) 2023 chargebyte GmbH 4 + 5 + #include "imx6ull-tarragon-common.dtsi" 6 + 7 + / { 8 + model = "chargebyte Tarragon Slave"; 9 + compatible = "chargebyte,imx6ull-tarragon-slave", "fsl,imx6ull"; 10 + }; 11 + 12 + &ecspi2 { 13 + status = "okay"; 14 + 15 + qca700x_cp: ethernet@0 { 16 + reg = <0x0>; 17 + compatible = "qca,qca7000"; 18 + pinctrl-names = "default"; 19 + pinctrl-0 = <&pinctrl_qca700x_cp_int 20 + &pinctrl_qca700x_cp_rst 21 + &pinctrl_qca700x_cp_btld>; 22 + interrupt-parent = <&gpio2>; 23 + interrupts = <19 IRQ_TYPE_EDGE_RISING>; 24 + spi-cpha; 25 + spi-cpol; 26 + spi-max-frequency = <16000000>; 27 + }; 28 + }; 29 + 30 + &fec1 { 31 + status = "okay"; 32 + };
+64
arch/arm/boot/dts/imx6ull-tarragon-slavext.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright (C) 2023 chargebyte GmbH 4 + 5 + #include "imx6ull-tarragon-common.dtsi" 6 + 7 + / { 8 + model = "chargebyte Tarragon SlaveXT"; 9 + compatible = "chargebyte,imx6ull-tarragon-slavext", "fsl,imx6ull"; 10 + 11 + fan0: pwm-fan { 12 + compatible = "pwm-fan"; 13 + pwms = <&pwm7 0 40000 PWM_POLARITY_INVERTED>; 14 + pinctrl-names = "default"; 15 + pinctrl-0 = <&pinctrl_fan_sense_snvs>; 16 + fan-supply = <&reg_fan>; 17 + interrupt-parent = <&gpio5>; 18 + interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 19 + }; 20 + 21 + reg_fan: regulator { 22 + compatible = "regulator-fixed"; 23 + regulator-name = "fan-supply"; 24 + pinctrl-names = "default"; 25 + pinctrl-0 = <&pinctrl_fan_enable>; 26 + regulator-min-microvolt = <12000000>; 27 + regulator-max-microvolt = <12000000>; 28 + gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>; 29 + enable-active-high; 30 + regulator-boot-on; 31 + }; 32 + }; 33 + 34 + &ecspi2 { 35 + status = "okay"; 36 + 37 + qca700x_cp: ethernet@0 { 38 + reg = <0x0>; 39 + compatible = "qca,qca7000"; 40 + pinctrl-names = "default"; 41 + pinctrl-0 = <&pinctrl_qca700x_cp_int 42 + &pinctrl_qca700x_cp_rst 43 + &pinctrl_qca700x_cp_btld>; 44 + interrupt-parent = <&gpio2>; 45 + interrupts = <19 IRQ_TYPE_EDGE_RISING>; 46 + spi-cpha; 47 + spi-cpol; 48 + spi-max-frequency = <16000000>; 49 + }; 50 + }; 51 + 52 + &fec1 { 53 + status = "okay"; 54 + }; 55 + 56 + &pwm7 { 57 + pinctrl-names = "default"; 58 + pinctrl-0 = <&pinctrl_pwm_fan>; 59 + status = "okay"; 60 + }; 61 + 62 + &uart5 { 63 + status = "okay"; 64 + };
+239
arch/arm/boot/dts/imx7d-remarkable2.dts
··· 8 8 /dts-v1/; 9 9 10 10 #include "imx7d.dtsi" 11 + #include <dt-bindings/input/linux-event-codes.h> 11 12 12 13 / { 13 14 model = "reMarkable 2.0"; ··· 70 69 startup-delay-us = <100000>; /* 100 ms */ 71 70 }; 72 71 72 + reg_touch: regulator-touch { 73 + compatible = "regulator-fixed"; 74 + regulator-name = "VDD_3V3_TOUCH"; 75 + regulator-min-microvolt = <3300000>; 76 + regulator-max-microvolt = <3300000>; 77 + pinctrl-names = "default"; 78 + pinctrl-0 = <&pinctrl_touch_reg>; 79 + gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>; 80 + enable-active-high; 81 + }; 82 + 73 83 wifi_pwrseq: wifi_pwrseq { 74 84 compatible = "mmc-pwrseq-simple"; 75 85 pinctrl-names = "default"; ··· 89 77 clocks = <&clks IMX7D_CLKO2_ROOT_DIV>; 90 78 clock-names = "ext_clock"; 91 79 }; 80 + }; 81 + 82 + &cpu0 { 83 + cpu-supply = <&buck1>; 92 84 }; 93 85 94 86 &clks { ··· 119 103 touchscreen-inverted-x; 120 104 touchscreen-inverted-y; 121 105 vdd-supply = <&reg_digitizer>; 106 + }; 107 + }; 108 + 109 + &i2c2 { 110 + clock-frequency = <100000>; 111 + pinctrl-names = "default"; 112 + pinctrl-0 = <&pinctrl_i2c2>; 113 + status = "okay"; 114 + 115 + bd71815: pmic@4b { 116 + compatible = "rohm,bd71815"; 117 + reg = <0x4b>; 118 + pinctrl-names = "default"; 119 + pinctrl-0 = <&pinctrl_bd71815>; 120 + interrupt-parent = <&gpio6>; /* PMIC_INT_B GPIO6_IO16 */ 121 + interrupts = <16 IRQ_TYPE_LEVEL_LOW>; 122 + gpio-controller; 123 + clocks = <&clks IMX7D_CLKO2_ROOT_SRC>; 124 + clock-output-names = "bd71815-32k-out"; 125 + #clock-cells = <0>; 126 + #gpio-cells = <2>; 127 + 128 + regulators { 129 + buck1: buck1 { 130 + regulator-name = "buck1"; 131 + regulator-min-microvolt = <800000>; 132 + regulator-max-microvolt = <2000000>; 133 + regulator-boot-on; 134 + regulator-always-on; 135 + regulator-ramp-delay = <1250>; 136 + }; 137 + 138 + buck2: buck2 { 139 + regulator-name = "buck2"; 140 + regulator-min-microvolt = <800000>; 141 + regulator-max-microvolt = <2000000>; 142 + regulator-boot-on; 143 + regulator-always-on; 144 + regulator-ramp-delay = <1250>; 145 + }; 146 + 147 + buck3: buck3 { 148 + regulator-name = "buck3"; 149 + regulator-min-microvolt = <1200000>; 150 + regulator-max-microvolt = <2700000>; 151 + regulator-boot-on; 152 + regulator-always-on; 153 + }; 154 + 155 + buck4: buck4 { 156 + regulator-name = "buck4"; 157 + regulator-min-microvolt = <1100000>; 158 + regulator-max-microvolt = <1850000>; 159 + regulator-boot-on; 160 + regulator-always-on; 161 + }; 162 + 163 + buck5: buck5 { 164 + regulator-name = "buck5"; 165 + regulator-min-microvolt = <1800000>; 166 + regulator-max-microvolt = <3300000>; 167 + regulator-boot-on; 168 + regulator-always-on; 169 + }; 170 + 171 + ldo1: ldo1 { 172 + regulator-name = "ldo1"; 173 + regulator-min-microvolt = <800000>; 174 + regulator-max-microvolt = <3300000>; 175 + regulator-boot-on; 176 + regulator-always-on; 177 + }; 178 + 179 + ldo2: ldo2 { 180 + regulator-name = "ldo2"; 181 + regulator-min-microvolt = <800000>; 182 + regulator-max-microvolt = <3300000>; 183 + regulator-boot-on; 184 + regulator-always-on; 185 + }; 186 + 187 + ldo3: ldo3 { 188 + regulator-name = "ldo3"; 189 + regulator-min-microvolt = <800000>; 190 + regulator-max-microvolt = <3300000>; 191 + regulator-boot-on; 192 + regulator-always-on; 193 + }; 194 + 195 + ldo4: ldo4 { 196 + regulator-name = "ldo4"; 197 + regulator-min-microvolt = <800000>; 198 + regulator-max-microvolt = <3300000>; 199 + regulator-boot-on; 200 + regulator-always-on; 201 + }; 202 + 203 + ldo5: ldo5 { 204 + regulator-name = "ldo5"; 205 + regulator-min-microvolt = <800000>; 206 + regulator-max-microvolt = <3300000>; 207 + regulator-boot-on; 208 + regulator-always-on; 209 + }; 210 + 211 + ldo6: ldodvref { 212 + regulator-name = "ldodvref"; 213 + regulator-boot-on; 214 + regulator-always-on; 215 + }; 216 + 217 + ldo7: ldolpsr { 218 + regulator-name = "ldolpsr"; 219 + regulator-boot-on; 220 + regulator-always-on; 221 + }; 222 + 223 + boost: wled { 224 + regulator-name = "wled"; 225 + regulator-min-microamp = <10>; 226 + regulator-max-microamp = <25000>; 227 + regulator-boot-on; 228 + regulator-always-on; 229 + }; 230 + }; 231 + }; 232 + }; 233 + 234 + &i2c3 { 235 + clock-frequency = <100000>; 236 + pinctrl-names = "default"; 237 + pinctrl-0 = <&pinctrl_i2c3>; 238 + status = "okay"; 239 + 240 + touchscreen@24 { 241 + compatible = "cypress,tt21000"; 242 + reg = <0x24>; 243 + pinctrl-names = "default"; 244 + pinctrl-0 = <&pinctrl_touch>; 245 + interrupt-parent = <&gpio1>; 246 + interrupts = <14 IRQ_TYPE_EDGE_FALLING>; 247 + reset-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; 248 + vdd-supply = <&reg_touch>; 249 + touchscreen-size-x = <880>; 250 + touchscreen-size-y = <1280>; 251 + #address-cells = <1>; 252 + #size-cells = <0>; 253 + 254 + button@0 { 255 + reg = <0>; 256 + linux,keycodes = <KEY_HOMEPAGE>; 257 + }; 258 + 259 + button@1 { 260 + reg = <1>; 261 + linux,keycodes = <KEY_MENU>; 262 + }; 263 + 264 + button@2 { 265 + reg = <2>; 266 + linux,keycodes = <KEY_BACK>; 267 + }; 268 + 269 + button@3 { 270 + reg = <3>; 271 + linux,keycodes = <KEY_SEARCH>; 272 + }; 273 + 274 + button@4 { 275 + reg = <4>; 276 + linux,keycodes = <KEY_VOLUMEDOWN>; 277 + }; 278 + 279 + button@5 { 280 + reg = <5>; 281 + linux,keycodes = <KEY_VOLUMEUP>; 282 + }; 283 + 284 + button@6 { 285 + reg = <6>; 286 + linux,keycodes = <KEY_CAMERA>; 287 + }; 288 + 289 + button@7 { 290 + reg = <7>; 291 + linux,keycodes = <KEY_POWER>; 292 + }; 122 293 }; 123 294 }; 124 295 ··· 421 218 }; 422 219 423 220 &iomuxc { 221 + pinctrl_bd71815: bd71815grp { 222 + fsl,pins = < 223 + MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16 0x59 224 + >; 225 + }; 226 + 424 227 pinctrl_brcm_reg: brcmreggrp { 425 228 fsl,pins = < 426 229 /* WIFI_PWR_EN */ ··· 441 232 >; 442 233 }; 443 234 235 + pinctrl_touch: touchgrp { 236 + fsl,pins = < 237 + /* CYTTSP interrupt */ 238 + MX7D_PAD_GPIO1_IO14__GPIO1_IO14 0x54 239 + /* CYTTSP reset */ 240 + MX7D_PAD_GPIO1_IO13__GPIO1_IO13 0x04 241 + >; 242 + }; 243 + 444 244 pinctrl_i2c1: i2c1grp { 445 245 fsl,pins = < 446 246 MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f ··· 457 239 >; 458 240 }; 459 241 242 + pinctrl_i2c2: i2c2grp { 243 + fsl,pins = < 244 + MX7D_PAD_I2C2_SDA__I2C2_SDA 0x4000007f 245 + MX7D_PAD_I2C2_SCL__I2C2_SCL 0x4000007f 246 + >; 247 + }; 248 + 249 + pinctrl_i2c3: i2c3grp { 250 + fsl,pins = < 251 + MX7D_PAD_I2C3_SDA__I2C3_SDA 0x4000007f 252 + MX7D_PAD_I2C3_SCL__I2C3_SCL 0x4000007f 253 + >; 254 + }; 255 + 460 256 pinctrl_i2c4: i2c4grp { 461 257 fsl,pins = < 462 258 MX7D_PAD_I2C4_SDA__I2C4_SDA 0x4000007f 463 259 MX7D_PAD_I2C4_SCL__I2C4_SCL 0x4000007f 260 + >; 261 + }; 262 + 263 + pinctrl_touch_reg: touchreggrp { 264 + fsl,pins = < 265 + /* TOUCH_PWR_EN */ 266 + MX7D_PAD_GPIO1_IO11__GPIO1_IO11 0x14 464 267 >; 465 268 }; 466 269
+9
arch/arm/boot/dts/imx7d.dtsi
··· 165 165 reg = <0x306d0000 0x10000>; 166 166 status = "disabled"; 167 167 }; 168 + 169 + pxp: pxp@30700000 { 170 + compatible = "fsl,imx7d-pxp"; 171 + reg = <0x30700000 0x10000>; 172 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 173 + <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 174 + clocks = <&clks IMX7D_PXP_CLK>; 175 + clock-names = "axi"; 176 + }; 168 177 }; 169 178 170 179 &aips3 {