1 // SPDX-License-Identifier: (GPL-2.0-or-later 1 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 /* 2 /* 3 * Copyright 2020-2021 TQ-Systems GmbH 3 * Copyright 2020-2021 TQ-Systems GmbH 4 */ 4 */ 5 5 6 #include <dt-bindings/net/ti-dp83867.h> 6 #include <dt-bindings/net/ti-dp83867.h> 7 7 8 /* TQ-Systems GmbH MBa8Mx baseboard */ 8 /* TQ-Systems GmbH MBa8Mx baseboard */ 9 9 10 / { 10 / { 11 backlight_lvds: backlight { << 12 compatible = "pwm-backlight"; << 13 pwms = <&pwm3 0 5000000 0>; << 14 brightness-levels = <0 4 8 16 << 15 default-brightness-level = <7> << 16 power-supply = <®_12v>; << 17 enable-gpios = <&expander2 2 G << 18 status = "disabled"; << 19 }; << 20 << 21 beeper { 11 beeper { 22 compatible = "pwm-beeper"; 12 compatible = "pwm-beeper"; 23 pwms = <&pwm4 0 250000 0>; 13 pwms = <&pwm4 0 250000 0>; 24 beeper-hz = <4000>; 14 beeper-hz = <4000>; 25 amp-supply = <®_vcc_3v3>; 15 amp-supply = <®_vcc_3v3>; 26 }; 16 }; 27 17 28 chosen { 18 chosen { 29 stdout-path = &uart3; 19 stdout-path = &uart3; 30 }; 20 }; 31 21 32 clk_xtal25: clk-xtal25 { << 33 compatible = "fixed-clock"; << 34 #clock-cells = <0>; << 35 clock-frequency = <25000000>; << 36 }; << 37 << 38 gpio-keys { 22 gpio-keys { 39 compatible = "gpio-keys"; 23 compatible = "gpio-keys"; 40 pinctrl-names = "default"; 24 pinctrl-names = "default"; 41 pinctrl-0 = <&pinctrl_gpiobutt 25 pinctrl-0 = <&pinctrl_gpiobutton>; 42 autorepeat; 26 autorepeat; 43 27 44 switch-1 { 28 switch-1 { 45 label = "switch1"; 29 label = "switch1"; 46 linux,code = <BTN_0>; 30 linux,code = <BTN_0>; 47 gpios = <&gpio1 5 GPIO 31 gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; 48 wakeup-source; 32 wakeup-source; 49 }; 33 }; 50 34 51 btn2: switch-2 { 35 btn2: switch-2 { 52 label = "switch2"; 36 label = "switch2"; 53 linux,code = <BTN_1>; 37 linux,code = <BTN_1>; 54 gpios = <&gpio2 0 GPIO 38 gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; 55 wakeup-source; 39 wakeup-source; 56 }; 40 }; 57 41 58 switch-3 { 42 switch-3 { 59 label = "switch3"; 43 label = "switch3"; 60 linux,code = <BTN_2>; 44 linux,code = <BTN_2>; 61 gpios = <&gpio1 7 GPIO 45 gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; 62 wakeup-source; 46 wakeup-source; 63 }; 47 }; 64 }; 48 }; 65 49 66 gpio_leds: gpio-leds { 50 gpio_leds: gpio-leds { 67 compatible = "gpio-leds"; 51 compatible = "gpio-leds"; 68 pinctrl-names = "default"; 52 pinctrl-names = "default"; 69 pinctrl-0 = <&pinctrl_gpioled> 53 pinctrl-0 = <&pinctrl_gpioled>; 70 54 71 led1 { 55 led1 { 72 label = "led1"; 56 label = "led1"; 73 gpios = <&gpio1 0 GPIO 57 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; 74 linux,default-trigger 58 linux,default-trigger = "default-on"; 75 }; 59 }; 76 60 77 led2: led2 { 61 led2: led2 { 78 label = "led2"; 62 label = "led2"; 79 gpios = <&gpio3 14 GPI 63 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 80 linux,default-trigger 64 linux,default-trigger = "heartbeat"; 81 }; 65 }; 82 }; 66 }; 83 67 84 gpio_delays: gpio-delays { !! 68 pcie0_refclk: pcie0-refclk { 85 compatible = "gpio-delay"; !! 69 compatible = "fixed-clock"; 86 #gpio-cells = <3>; !! 70 #clock-cells = <0>; 87 gpio-controller; !! 71 clock-frequency = <100000000>; 88 gpios = <&expander0 6 GPIO_ACT << 89 gpio-line-names = "LVDS_BRIDGE << 90 }; << 91 << 92 panel: panel-lvds { << 93 /* << 94 * Display is not fixed, so co << 95 * DT overlay << 96 */ << 97 backlight = <&backlight_lvds>; << 98 power-supply = <®_vcc_3v3>; << 99 status = "disabled"; << 100 << 101 port { << 102 panel_in_lvds: endpoin << 103 data-lanes = < << 104 remote-endpoin << 105 }; << 106 }; << 107 }; << 108 << 109 reg_12v: regulator-12v { << 110 compatible = "regulator-fixed" << 111 regulator-name = "MBA8MX_12V"; << 112 regulator-min-microvolt = <120 << 113 regulator-max-microvolt = <120 << 114 regulator-always-on; << 115 }; 72 }; 116 73 117 reg_hub_vbus: regulator-hub-vbus { 74 reg_hub_vbus: regulator-hub-vbus { 118 compatible = "regulator-fixed" 75 compatible = "regulator-fixed"; 119 regulator-name = "MBA8MX_HUB_V 76 regulator-name = "MBA8MX_HUB_VBUS"; 120 regulator-min-microvolt = <500 77 regulator-min-microvolt = <5000000>; 121 regulator-max-microvolt = <500 78 regulator-max-microvolt = <5000000>; 122 }; 79 }; 123 80 124 reg_sn65dsi83_1v8: regulator-sn65dsi83 81 reg_sn65dsi83_1v8: regulator-sn65dsi83-1v8 { 125 compatible = "regulator-fixed" 82 compatible = "regulator-fixed"; 126 regulator-name = "SN65DSI83_1V 83 regulator-name = "SN65DSI83_1V8"; 127 regulator-min-microvolt = <180 84 regulator-min-microvolt = <1800000>; 128 regulator-max-microvolt = <180 85 regulator-max-microvolt = <1800000>; 129 gpio = <&expander0 5 GPIO_ACTI 86 gpio = <&expander0 5 GPIO_ACTIVE_HIGH>; 130 enable-active-high; 87 enable-active-high; 131 }; 88 }; 132 89 133 reg_vcc_3v3: regulator-3v3 { 90 reg_vcc_3v3: regulator-3v3 { 134 compatible = "regulator-fixed" 91 compatible = "regulator-fixed"; 135 regulator-name = "MBA8MX_3V3"; 92 regulator-name = "MBA8MX_3V3"; 136 regulator-min-microvolt = <330 93 regulator-min-microvolt = <3300000>; 137 regulator-max-microvolt = <330 94 regulator-max-microvolt = <3300000>; 138 }; 95 }; 139 96 140 sound { 97 sound { 141 compatible = "fsl,imx-audio-tl 98 compatible = "fsl,imx-audio-tlv320aic32x4"; 142 model = "imx-audio-tlv320aic32 99 model = "imx-audio-tlv320aic32x4"; 143 ssi-controller = <&sai3>; 100 ssi-controller = <&sai3>; 144 audio-codec = <&tlv320aic3x04> 101 audio-codec = <&tlv320aic3x04>; 145 }; 102 }; 146 }; 103 }; 147 104 148 &ecspi1 { 105 &ecspi1 { 149 pinctrl-names = "default"; 106 pinctrl-names = "default"; 150 pinctrl-0 = <&pinctrl_ecspi1>; 107 pinctrl-0 = <&pinctrl_ecspi1>; 151 cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; 108 cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; 152 status = "okay"; 109 status = "okay"; 153 }; 110 }; 154 111 155 &ecspi2 { 112 &ecspi2 { 156 pinctrl-names = "default"; 113 pinctrl-names = "default"; 157 pinctrl-0 = <&pinctrl_ecspi2>; 114 pinctrl-0 = <&pinctrl_ecspi2>; 158 cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW> 115 cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 159 status = "okay"; 116 status = "okay"; 160 }; 117 }; 161 118 162 &fec1 { 119 &fec1 { 163 pinctrl-names = "default"; 120 pinctrl-names = "default"; 164 pinctrl-0 = <&pinctrl_fec1>; 121 pinctrl-0 = <&pinctrl_fec1>; 165 phy-mode = "rgmii-id"; 122 phy-mode = "rgmii-id"; 166 phy-handle = <ðphy0>; 123 phy-handle = <ðphy0>; 167 phy-supply = <®_vcc_3v3>; 124 phy-supply = <®_vcc_3v3>; 168 fsl,magic-packet; 125 fsl,magic-packet; 169 mac-address = [ 00 00 00 00 00 00 ]; 126 mac-address = [ 00 00 00 00 00 00 ]; 170 status = "okay"; 127 status = "okay"; 171 128 172 mdio { 129 mdio { 173 #address-cells = <1>; 130 #address-cells = <1>; 174 #size-cells = <0>; 131 #size-cells = <0>; 175 132 176 ethphy0: ethernet-phy@e { 133 ethphy0: ethernet-phy@e { 177 compatible = "ethernet 134 compatible = "ethernet-phy-ieee802.3-c22"; 178 reg = <0xe>; 135 reg = <0xe>; 179 ti,rx-internal-delay = 136 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>; 180 ti,tx-internal-delay = 137 ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>; 181 ti,fifo-depth = <DP838 138 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 182 ti,dp83867-rxctrl-stra 139 ti,dp83867-rxctrl-strap-quirk; 183 ti,clk-output-sel = <D 140 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 184 enet-phy-lane-no-swap; 141 enet-phy-lane-no-swap; 185 reset-gpios = <&expand 142 reset-gpios = <&expander2 7 GPIO_ACTIVE_LOW>; 186 reset-assert-us = <500 143 reset-assert-us = <500000>; 187 reset-deassert-us = <5 144 reset-deassert-us = <500>; 188 interrupt-parent = <&e << 189 interrupts = <6 IRQ_TY << 190 }; 145 }; 191 }; 146 }; 192 }; 147 }; 193 148 194 &i2c1 { 149 &i2c1 { 195 expander0: gpio@23 { 150 expander0: gpio@23 { 196 compatible = "nxp,pca9555"; 151 compatible = "nxp,pca9555"; 197 reg = <0x23>; 152 reg = <0x23>; 198 gpio-controller; 153 gpio-controller; 199 #gpio-cells = <2>; 154 #gpio-cells = <2>; 200 vcc-supply = <®_vcc_3v3>; 155 vcc-supply = <®_vcc_3v3>; 201 interrupt-parent = <&gpio1>; 156 interrupt-parent = <&gpio1>; 202 interrupts = <9 IRQ_TYPE_EDGE_ 157 interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 203 interrupt-controller; 158 interrupt-controller; 204 #interrupt-cells = <2>; 159 #interrupt-cells = <2>; 205 gpio-line-names = "", "", "", << 206 "", "", "LVD << 207 "", "", "", << 208 "", "", "", << 209 160 210 sd-mux-oe-hog { 161 sd-mux-oe-hog { 211 gpio-hog; 162 gpio-hog; 212 gpios = <8 0>; 163 gpios = <8 0>; 213 output-low; 164 output-low; 214 line-name = "SD_MUX_EN 165 line-name = "SD_MUX_EN#"; 215 }; 166 }; 216 167 217 boot-cfg-oe-hog { 168 boot-cfg-oe-hog { 218 gpio-hog; 169 gpio-hog; 219 gpios = <12 0>; 170 gpios = <12 0>; 220 output-high; 171 output-high; 221 line-name = "BOOT_CFG_ 172 line-name = "BOOT_CFG_OE#"; 222 }; 173 }; 223 174 224 rst_usb_hub_hog: rst-usb-hub-h !! 175 rst-usb-hub-hog { 225 gpio-hog; 176 gpio-hog; 226 gpios = <13 0>; 177 gpios = <13 0>; 227 output-high; 178 output-high; 228 line-name = "RST_USB_H 179 line-name = "RST_USB_HUB#"; 229 }; 180 }; 230 }; 181 }; 231 182 232 expander1: gpio@24 { 183 expander1: gpio@24 { 233 compatible = "nxp,pca9555"; 184 compatible = "nxp,pca9555"; 234 reg = <0x24>; 185 reg = <0x24>; 235 gpio-controller; 186 gpio-controller; 236 #gpio-cells = <2>; 187 #gpio-cells = <2>; 237 vcc-supply = <®_vcc_3v3>; 188 vcc-supply = <®_vcc_3v3>; 238 }; 189 }; 239 }; 190 }; 240 191 241 &i2c2 { 192 &i2c2 { >> 193 clock-frequency = <100000>; 242 pinctrl-names = "default", "gpio"; 194 pinctrl-names = "default", "gpio"; 243 pinctrl-0 = <&pinctrl_i2c2>; 195 pinctrl-0 = <&pinctrl_i2c2>; 244 pinctrl-1 = <&pinctrl_i2c2_gpio>; 196 pinctrl-1 = <&pinctrl_i2c2_gpio>; 245 scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HI 197 scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 246 sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HI 198 sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 247 status = "okay"; 199 status = "okay"; 248 200 249 tlv320aic3x04: audio-codec@18 { 201 tlv320aic3x04: audio-codec@18 { 250 compatible = "ti,tlv320aic32x4 202 compatible = "ti,tlv320aic32x4"; 251 reg = <0x18>; 203 reg = <0x18>; 252 reset-gpios = <&expander2 0 GP 204 reset-gpios = <&expander2 0 GPIO_ACTIVE_LOW>; 253 iov-supply = <®_vcc_3v3>; 205 iov-supply = <®_vcc_3v3>; 254 ldoin-supply = <®_vcc_3v3>; 206 ldoin-supply = <®_vcc_3v3>; 255 }; 207 }; 256 208 257 sensor1: temperator-sensor@1f { 209 sensor1: temperator-sensor@1f { 258 compatible = "nxp,se97b", "jed 210 compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 259 reg = <0x1f>; 211 reg = <0x1f>; 260 }; 212 }; 261 213 262 /* << 263 * TUSB8041 is at 0x41, but not connec << 264 * Note: TUSB8041 only supports 100 kH << 265 */ << 266 << 267 eeprom3: eeprom@57 { 214 eeprom3: eeprom@57 { 268 compatible = "nxp,se97b", "atm 215 compatible = "nxp,se97b", "atmel,24c02"; 269 reg = <0x57>; 216 reg = <0x57>; 270 pagesize = <16>; 217 pagesize = <16>; 271 vcc-supply = <®_vcc_3v3>; 218 vcc-supply = <®_vcc_3v3>; 272 }; 219 }; 273 << 274 pcieclk: clk@68 { << 275 compatible = "renesas,9fgv0441 << 276 reg = <0x68>; << 277 clocks = <&clk_xtal25>; << 278 #clock-cells = <1>; << 279 }; << 280 }; 220 }; 281 221 282 &i2c3 { 222 &i2c3 { >> 223 clock-frequency = <100000>; 283 pinctrl-names = "default", "gpio"; 224 pinctrl-names = "default", "gpio"; 284 pinctrl-0 = <&pinctrl_i2c3>; 225 pinctrl-0 = <&pinctrl_i2c3>; 285 pinctrl-1 = <&pinctrl_i2c3_gpio>; 226 pinctrl-1 = <&pinctrl_i2c3_gpio>; 286 scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HI 227 scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 287 sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HI 228 sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 288 status = "okay"; 229 status = "okay"; 289 << 290 dsi_lvds_bridge: bridge@2d { << 291 compatible = "ti,sn65dsi84"; << 292 reg = <0x2d>; << 293 enable-gpios = <&gpio_delays 0 << 294 vcc-supply = <®_sn65dsi83_1 << 295 status = "disabled"; << 296 << 297 ports { << 298 #address-cells = <1>; << 299 #size-cells = <0>; << 300 << 301 port@0 { << 302 reg = <0>; << 303 << 304 lvds_bridge_in << 305 data-l << 306 remote << 307 }; << 308 }; << 309 << 310 port@2 { << 311 reg = <2>; << 312 << 313 lvds_bridge_ou << 314 remote << 315 }; << 316 }; << 317 }; << 318 }; << 319 }; << 320 << 321 &mipi_dsi { << 322 samsung,burst-clock-frequency = <89100 << 323 samsung,esc-clock-frequency = <2000000 << 324 }; << 325 << 326 &mipi_dsi_out { << 327 data-lanes = <1 2 3 4>; << 328 remote-endpoint = <&lvds_bridge_in>; << 329 }; 230 }; 330 231 331 &pwm3 { 232 &pwm3 { 332 pinctrl-names = "default"; 233 pinctrl-names = "default"; 333 pinctrl-0 = <&pinctrl_pwm3>; 234 pinctrl-0 = <&pinctrl_pwm3>; 334 status = "okay"; 235 status = "okay"; 335 }; 236 }; 336 237 337 &pwm4 { 238 &pwm4 { 338 pinctrl-names = "default"; 239 pinctrl-names = "default"; 339 pinctrl-0 = <&pinctrl_pwm4>; 240 pinctrl-0 = <&pinctrl_pwm4>; 340 status = "okay"; 241 status = "okay"; 341 }; 242 }; 342 243 343 &sai3 { 244 &sai3 { 344 pinctrl-names = "default"; 245 pinctrl-names = "default"; 345 pinctrl-0 = <&pinctrl_sai3>; 246 pinctrl-0 = <&pinctrl_sai3>; 346 #sound-dai-cells = <0>; 247 #sound-dai-cells = <0>; 347 assigned-clock-rates = <49152000>; 248 assigned-clock-rates = <49152000>; 348 status = "okay"; 249 status = "okay"; 349 }; 250 }; 350 251 351 &snvs_pwrkey { 252 &snvs_pwrkey { 352 status = "okay"; 253 status = "okay"; 353 }; 254 }; 354 255 355 &uart1 { 256 &uart1 { 356 pinctrl-names = "default"; 257 pinctrl-names = "default"; 357 pinctrl-0 = <&pinctrl_uart1>; 258 pinctrl-0 = <&pinctrl_uart1>; 358 status = "okay"; 259 status = "okay"; 359 }; 260 }; 360 261 361 &uart2 { 262 &uart2 { 362 pinctrl-names = "default"; 263 pinctrl-names = "default"; 363 pinctrl-0 = <&pinctrl_uart2>; 264 pinctrl-0 = <&pinctrl_uart2>; 364 status = "okay"; 265 status = "okay"; 365 }; 266 }; 366 267 367 /* console */ 268 /* console */ 368 &uart3 { 269 &uart3 { 369 pinctrl-names = "default"; 270 pinctrl-names = "default"; 370 pinctrl-0 = <&pinctrl_uart3>; 271 pinctrl-0 = <&pinctrl_uart3>; 371 status = "okay"; 272 status = "okay"; 372 }; 273 }; 373 274 374 &usdhc2 { 275 &usdhc2 { 375 pinctrl-names = "default", "state_100m 276 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 376 pinctrl-0 = <&pinctrl_usdhc2>, <&pinct 277 pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 377 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, 278 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 378 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, 279 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 379 bus-width = <4>; 280 bus-width = <4>; 380 cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW> 281 cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 381 disable-wp; 282 disable-wp; 382 no-mmc; 283 no-mmc; 383 no-sdio; 284 no-sdio; 384 vmmc-supply = <®_usdhc2_vmmc>; 285 vmmc-supply = <®_usdhc2_vmmc>; 385 status = "okay"; 286 status = "okay"; 386 }; 287 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.