1 // SPDX-License-Identifier: GPL-2.0 << 2 /* 1 /* 3 * Device Tree Source for the Kingfisher (ULCB 2 * Device Tree Source for the Kingfisher (ULCB extension) board 4 * 3 * 5 * Copyright (C) 2017 Renesas Electronics Corp 4 * Copyright (C) 2017 Renesas Electronics Corp. 6 * Copyright (C) 2017 Cogent Embedded, Inc. 5 * Copyright (C) 2017 Cogent Embedded, Inc. >> 6 * >> 7 * This file is licensed under the terms of the GNU General Public License >> 8 * version 2. This program is licensed "as is" without any warranty of any >> 9 * kind, whether express or implied. 7 */ 10 */ 8 11 9 / { 12 / { 10 aliases { 13 aliases { 11 serial1 = &hscif0; 14 serial1 = &hscif0; 12 serial2 = &scif1; 15 serial2 = &scif1; 13 serial3 = &hscif1; << 14 mmc2 = &sdhi3; << 15 }; << 16 << 17 clksndsel: clksndsel { << 18 #clock-cells = <0>; << 19 compatible = "gpio-mux-clock"; << 20 clocks = <&cs2000>, <&audio_cl << 21 select-gpios = <&gpio_exp_75 1 << 22 }; << 23 << 24 hdmi1-out { << 25 compatible = "hdmi-connector"; << 26 type = "a"; << 27 << 28 port { << 29 hdmi1_con: endpoint { << 30 remote-endpoin << 31 }; << 32 }; << 33 }; << 34 << 35 reg_t1p8v: regulator-t1p8v { << 36 compatible = "regulator-fixed" << 37 regulator-name = "T1.8V"; << 38 regulator-min-microvolt = <180 << 39 regulator-max-microvolt = <180 << 40 regulator-boot-on; << 41 regulator-always-on; << 42 }; << 43 << 44 pcie_1v5: regulator-pcie-1v5 { << 45 compatible = "regulator-fixed" << 46 regulator-name = "pcie-1v5"; << 47 regulator-min-microvolt = <150 << 48 regulator-max-microvolt = <150 << 49 gpio = <&gpio_exp_77 15 GPIO_A << 50 enable-active-high; << 51 }; << 52 << 53 pcie_3v3: regulator-pcie-3v3 { << 54 compatible = "regulator-fixed" << 55 regulator-name = "pcie-3v3"; << 56 regulator-min-microvolt = <330 << 57 regulator-max-microvolt = <330 << 58 gpio = <&gpio_exp_77 14 GPIO_A << 59 enable-active-high; << 60 }; << 61 << 62 reg_5v: regulator-5v { << 63 compatible = "regulator-fixed" << 64 regulator-name = "fixed-5V"; << 65 regulator-min-microvolt = <500 << 66 regulator-max-microvolt = <500 << 67 regulator-boot-on; << 68 regulator-always-on; << 69 }; << 70 << 71 wlan_en: regulator-wlan_en { << 72 compatible = "regulator-fixed" << 73 regulator-name = "wlan-en-regu << 74 << 75 regulator-min-microvolt = <330 << 76 regulator-max-microvolt = <330 << 77 << 78 gpio = <&gpio_exp_74 4 GPIO_AC << 79 startup-delay-us = <70000>; << 80 enable-active-high; << 81 }; 16 }; 82 }; 17 }; 83 18 84 &can0 { 19 &can0 { 85 pinctrl-0 = <&can0_pins>; 20 pinctrl-0 = <&can0_pins>; 86 pinctrl-names = "default"; 21 pinctrl-names = "default"; 87 status = "okay"; 22 status = "okay"; 88 }; 23 }; 89 24 90 &can1 { 25 &can1 { 91 pinctrl-0 = <&can1_pins>; 26 pinctrl-0 = <&can1_pins>; 92 pinctrl-names = "default"; 27 pinctrl-names = "default"; 93 status = "okay"; 28 status = "okay"; 94 }; 29 }; 95 30 96 &du { << 97 ports { << 98 port@0 { << 99 du_out_rgb: endpoint { << 100 remote-endpoin << 101 }; << 102 }; << 103 }; << 104 }; << 105 << 106 &ehci0 { 31 &ehci0 { 107 dr_mode = "otg"; << 108 status = "okay"; 32 status = "okay"; 109 }; 33 }; 110 34 111 &hscif0 { 35 &hscif0 { 112 pinctrl-0 = <&hscif0_pins>; 36 pinctrl-0 = <&hscif0_pins>; 113 pinctrl-names = "default"; 37 pinctrl-names = "default"; 114 uart-has-rtscts; 38 uart-has-rtscts; 115 39 116 status = "okay"; 40 status = "okay"; 117 }; 41 }; 118 42 119 &hscif1 { << 120 pinctrl-0 = <&hscif1_pins>; << 121 pinctrl-names = "default"; << 122 uart-has-rtscts; << 123 << 124 status = "okay"; << 125 }; << 126 << 127 &hsusb { 43 &hsusb { 128 dr_mode = "otg"; << 129 status = "okay"; 44 status = "okay"; 130 }; 45 }; 131 46 132 &i2c2 { 47 &i2c2 { 133 i2cmux2: i2c-mux@71 { << 134 compatible = "nxp,pca9548"; << 135 #address-cells = <1>; << 136 #size-cells = <0>; << 137 reg = <0x71>; << 138 reset-gpios = <&gpio5 3 GPIO_A << 139 << 140 /* HDMIoSDA, HDMIoSCL */ << 141 i2c@4 { << 142 #address-cells = <1>; << 143 #size-cells = <0>; << 144 reg = <4>; << 145 << 146 hdmi@3d { << 147 compatible = " << 148 reg = <0x3d>; << 149 << 150 pinctrl-0 = <& << 151 pinctrl-names << 152 << 153 interrupt-pare << 154 interrupts = < << 155 << 156 clocks = <&cs2 << 157 clock-names = << 158 << 159 pd-gpios = <&g << 160 << 161 avdd-supply = << 162 dvdd-supply = << 163 pvdd-supply = << 164 dvdd-3v-supply << 165 bgvdd-supply = << 166 << 167 adi,input-dept << 168 adi,input-colo << 169 adi,input-cloc << 170 << 171 ports { << 172 #addre << 173 #size- << 174 << 175 port@0 << 176 << 177 << 178 << 179 << 180 }; << 181 << 182 port@1 << 183 << 184 << 185 << 186 << 187 }; << 188 }; << 189 }; << 190 }; << 191 << 192 /* Audio_SDA, Audio_SCL */ << 193 i2c@7 { << 194 #address-cells = <1>; << 195 #size-cells = <0>; << 196 reg = <7>; << 197 << 198 accelerometer@1d { << 199 compatible = " << 200 reg = <0x1d>; << 201 << 202 vdd-supply = < << 203 vddio-supply = << 204 }; << 205 << 206 pcm3168a: audio-codec@ << 207 #sound-dai-cel << 208 compatible = " << 209 reg = <0x44>; << 210 clocks = <&clk << 211 clock-names = << 212 << 213 VDD1-supply = << 214 VDD2-supply = << 215 VCCAD1-supply << 216 VCCAD2-supply << 217 VCCDA1-supply << 218 VCCDA2-supply << 219 }; << 220 << 221 gyroscope@6b { << 222 compatible = " << 223 reg = <0x6b>; << 224 << 225 vdd-supply = < << 226 vddio-supply = << 227 }; << 228 }; << 229 }; << 230 << 231 /* U11 */ << 232 gpio_exp_74: gpio@74 { 48 gpio_exp_74: gpio@74 { 233 compatible = "ti,tca9539"; 49 compatible = "ti,tca9539"; 234 reg = <0x74>; 50 reg = <0x74>; 235 gpio-controller; 51 gpio-controller; 236 #gpio-cells = <2>; 52 #gpio-cells = <2>; 237 interrupt-controller; 53 interrupt-controller; 238 #interrupt-cells = <2>; << 239 interrupt-parent = <&gpio6>; 54 interrupt-parent = <&gpio6>; 240 interrupts = <8 IRQ_TYPE_EDGE_ 55 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 241 56 242 audio-out-off-hog { !! 57 hub_pwen { 243 gpio-hog; << 244 gpios = <0 GPIO_ACTIVE << 245 output-high; << 246 line-name = "Audio_Out << 247 }; << 248 << 249 hub-pwen-hog { << 250 gpio-hog; 58 gpio-hog; 251 gpios = <6 GPIO_ACTIVE 59 gpios = <6 GPIO_ACTIVE_HIGH>; 252 output-high; 60 output-high; 253 line-name = "HUB pwen" 61 line-name = "HUB pwen"; 254 }; 62 }; 255 63 256 hub-rst-hog { !! 64 hub_rst { 257 gpio-hog; 65 gpio-hog; 258 gpios = <7 GPIO_ACTIVE 66 gpios = <7 GPIO_ACTIVE_HIGH>; 259 output-high; 67 output-high; 260 line-name = "HUB rst"; 68 line-name = "HUB rst"; 261 }; 69 }; 262 << 263 otg-extlpn-hog { << 264 gpio-hog; << 265 gpios = <9 GPIO_ACTIVE << 266 output-high; << 267 line-name = "OTG EXTLP << 268 }; << 269 << 270 otg-offvbusn-hog { << 271 gpio-hog; << 272 gpios = <8 GPIO_ACTIVE << 273 output-low; << 274 line-name = "OTG OFFVB << 275 }; << 276 << 277 sd-wifi-mux-hog { << 278 gpio-hog; << 279 gpios = <5 GPIO_ACTIVE << 280 output-low; /* Con << 281 line-name = "SD WiFi m << 282 }; << 283 << 284 snd-rst-hog { << 285 gpio-hog; << 286 gpios = <15 GPIO_ACTIV << 287 output-high; << 288 line-name = "SND_RST"; << 289 }; << 290 }; 70 }; 291 71 292 /* U5 */ << 293 gpio_exp_75: gpio@75 { 72 gpio_exp_75: gpio@75 { 294 compatible = "ti,tca9539"; 73 compatible = "ti,tca9539"; 295 reg = <0x75>; 74 reg = <0x75>; 296 gpio-controller; 75 gpio-controller; 297 #gpio-cells = <2>; 76 #gpio-cells = <2>; 298 interrupt-controller; 77 interrupt-controller; 299 #interrupt-cells = <2>; << 300 interrupt-parent = <&gpio6>; 78 interrupt-parent = <&gpio6>; 301 interrupts = <4 IRQ_TYPE_EDGE_ 79 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 302 }; 80 }; 303 }; << 304 81 305 &i2c4 { !! 82 i2cswitch2: i2c-switch@71 { 306 i2cmux4: i2c-mux@71 { << 307 compatible = "nxp,pca9548"; 83 compatible = "nxp,pca9548"; 308 #address-cells = <1>; 84 #address-cells = <1>; 309 #size-cells = <0>; 85 #size-cells = <0>; 310 reg = <0x71>; 86 reg = <0x71>; 311 reset-gpios = <&gpio3 15 GPIO_ !! 87 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>; 312 }; 88 }; >> 89 }; 313 90 >> 91 &i2c4 { 314 gpio_exp_76: gpio@76 { 92 gpio_exp_76: gpio@76 { 315 compatible = "ti,tca9539"; 93 compatible = "ti,tca9539"; 316 reg = <0x76>; 94 reg = <0x76>; 317 gpio-controller; 95 gpio-controller; 318 #gpio-cells = <2>; 96 #gpio-cells = <2>; 319 interrupt-controller; 97 interrupt-controller; 320 #interrupt-cells = <2>; << 321 interrupt-parent = <&gpio7>; 98 interrupt-parent = <&gpio7>; 322 interrupts = <3 IRQ_TYPE_EDGE_ 99 interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 323 }; 100 }; 324 101 325 gpio_exp_77: gpio@77 { 102 gpio_exp_77: gpio@77 { 326 compatible = "ti,tca9539"; 103 compatible = "ti,tca9539"; 327 reg = <0x77>; 104 reg = <0x77>; 328 gpio-controller; 105 gpio-controller; 329 #gpio-cells = <2>; 106 #gpio-cells = <2>; 330 interrupt-controller; 107 interrupt-controller; 331 #interrupt-cells = <2>; << 332 interrupt-parent = <&gpio5>; 108 interrupt-parent = <&gpio5>; 333 interrupts = <9 IRQ_TYPE_EDGE_ 109 interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 334 }; 110 }; >> 111 >> 112 i2cswitch4: i2c-switch@71 { >> 113 compatible = "nxp,pca9548"; >> 114 #address-cells = <1>; >> 115 #size-cells = <0>; >> 116 reg = <0x71>; >> 117 reset-gpios= <&gpio3 15 GPIO_ACTIVE_LOW>; >> 118 }; 335 }; 119 }; 336 120 337 &ohci0 { 121 &ohci0 { 338 dr_mode = "otg"; << 339 status = "okay"; 122 status = "okay"; 340 }; 123 }; 341 124 342 &pcie_bus_clk { 125 &pcie_bus_clk { 343 clock-frequency = <100000000>; 126 clock-frequency = <100000000>; 344 }; 127 }; 345 128 346 &pciec0 { 129 &pciec0 { 347 status = "okay"; 130 status = "okay"; 348 }; 131 }; 349 132 350 &pciec1 { 133 &pciec1 { 351 status = "okay"; 134 status = "okay"; 352 << 353 vpcie1v5-supply = <&pcie_1v5>; << 354 vpcie3v3-supply = <&pcie_3v3>; << 355 }; 135 }; 356 136 357 &pfc { 137 &pfc { 358 can0_pins: can0 { 138 can0_pins: can0 { 359 groups = "can0_data_a"; 139 groups = "can0_data_a"; 360 function = "can0"; 140 function = "can0"; 361 }; 141 }; 362 142 363 can1_pins: can1 { 143 can1_pins: can1 { 364 groups = "can1_data"; 144 groups = "can1_data"; 365 function = "can1"; 145 function = "can1"; 366 }; 146 }; 367 147 368 hdmi1_pins: hdmi1 { << 369 adv7513-interrupt { << 370 pins = "GP_2_14"; << 371 bias-pull-up; << 372 }; << 373 << 374 du { << 375 groups = "du_rgb888", << 376 "du_disp"; << 377 function = "du"; << 378 }; << 379 }; << 380 << 381 hscif0_pins: hscif0 { 148 hscif0_pins: hscif0 { 382 groups = "hscif0_data", "hscif 149 groups = "hscif0_data", "hscif0_ctrl"; 383 function = "hscif0"; 150 function = "hscif0"; 384 }; 151 }; 385 152 386 hscif1_pins: hscif1 { << 387 groups = "hscif1_data_a", "hsc << 388 function = "hscif1"; << 389 }; << 390 << 391 scif1_pins: scif1 { 153 scif1_pins: scif1 { 392 groups = "scif1_data_b"; !! 154 groups = "scif1_data_b", "scif1_ctrl"; 393 function = "scif1"; 155 function = "scif1"; 394 }; 156 }; 395 << 396 sdhi3_pins: sdhi3 { << 397 groups = "sdhi3_data4", "sdhi3 << 398 function = "sdhi3"; << 399 power-source = <3300>; << 400 }; << 401 << 402 sound_pcm_pins: sound-pcm { << 403 groups = "ssi349_ctrl", "ssi3_ << 404 function = "ssi"; << 405 }; << 406 << 407 usb0_pins: usb0 { << 408 groups = "usb0"; << 409 function = "usb0"; << 410 }; << 411 }; << 412 << 413 &rcar_sound { << 414 pinctrl-0 = <&sound_pins << 415 &sound_clk_pins << 416 &sound_pcm_pins>; << 417 }; 157 }; 418 158 419 &scif1 { 159 &scif1 { 420 pinctrl-0 = <&scif1_pins>; 160 pinctrl-0 = <&scif1_pins>; 421 pinctrl-names = "default"; 161 pinctrl-names = "default"; 422 !! 162 uart-has-rtscts; 423 status = "okay"; << 424 << 425 gnss { << 426 compatible = "u-blox,neo-m8"; << 427 reset-gpios = <&gpio_exp_75 6 << 428 vcc-supply = <®_3p3v>; << 429 current-speed = <9600>; << 430 }; << 431 }; << 432 << 433 &sdhi3 { << 434 pinctrl-0 = <&sdhi3_pins>; << 435 pinctrl-names = "default"; << 436 << 437 vmmc-supply = <&wlan_en>; << 438 vqmmc-supply = <&wlan_en>; << 439 bus-width = <4>; << 440 no-1-8-v; << 441 non-removable; << 442 cap-power-off-card; << 443 keep-power-in-suspend; << 444 max-frequency = <26000000>; << 445 status = "okay"; << 446 << 447 #address-cells = <1>; << 448 #size-cells = <0>; << 449 wlcore: wlcore@2 { << 450 compatible = "ti,wl1837"; << 451 reg = <2>; << 452 interrupt-parent = <&gpio1>; << 453 interrupts = <25 IRQ_TYPE_EDGE << 454 }; << 455 }; << 456 << 457 &ssi4 { << 458 shared-pin; << 459 }; << 460 << 461 &usb2_phy0 { << 462 pinctrl-0 = <&usb0_pins>; << 463 pinctrl-names = "default"; << 464 163 465 status = "okay"; 164 status = "okay"; 466 }; 165 }; 467 166 468 &xhci0 { 167 &xhci0 { 469 status = "okay"; 168 status = "okay"; 470 }; 169 }; 471 << 472 /* << 473 * For sound-test. << 474 * << 475 * We can switch Audio Card for testing << 476 * see also ulcb.dtsi << 477 * << 478 * #include "ulcb-kf-simple-audio-card.dtsi" << 479 * #include "ulcb-kf-simple-audio-card-mix+spl << 480 * #include "ulcb-kf-audio-graph-card.dtsi" << 481 * #include "ulcb-kf-audio-graph-card-mix+spli << 482 * #include "ulcb-kf-audio-graph-card2-mix+spl << 483 */ << 484 #include "ulcb-kf-audio-graph-card2.dtsi" <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.