1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2/* 3 * Copyright (C) 2025 Grinn sp. z o.o. 4 * Author: Mateusz Koza <mateusz.koza@grinn-global.com> 5 */ 6 7#include <dt-bindings/gpio/gpio.h> 8 9/ { 10 chassis-type = "embedded"; 11 12 aliases { 13 ethernet0 = ð 14 i2c0 = &i2c0; 15 i2c2 = &i2c2; 16 i2c3 = &i2c3; 17 i2c5 = &i2c5; 18 i2c6 = &i2c6; 19 serial0 = &uart0; 20 }; 21 22 chosen { 23 stdout-path = "serial0:921600n8"; 24 }; 25 26 firmware { 27 optee { 28 compatible = "linaro,optee-tz"; 29 method = "smc"; 30 }; 31 }; 32 33 reserved-memory { 34 #address-cells = <2>; 35 #size-cells = <2>; 36 ranges; 37 38 /* 39 * 12 MiB reserved for OP-TEE (BL32) 40 * +-----------------------+ 0x43e0_0000 41 * | SHMEM 2MiB | 42 * +-----------------------+ 0x43c0_0000 43 * | | TA_RAM 8MiB | 44 * + TZDRAM +--------------+ 0x4340_0000 45 * | | TEE_RAM 2MiB | 46 * +-----------------------+ 0x4320_0000 47 */ 48 optee_reserved: optee@43200000 { 49 no-map; 50 reg = <0 0x43200000 0 0x00c00000>; 51 }; 52 53 scp_mem: memory@50000000 { 54 compatible = "shared-dma-pool"; 55 reg = <0 0x50000000 0 0x2900000>; 56 no-map; 57 }; 58 59 /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ 60 bl31_secmon_reserved: memory@54600000 { 61 no-map; 62 reg = <0 0x54600000 0x0 0x200000>; 63 }; 64 65 apu_mem: memory@55000000 { 66 compatible = "shared-dma-pool"; 67 reg = <0 0x55000000 0 0x1400000>; /* 20 MB */ 68 }; 69 70 vpu_mem: memory@57000000 { 71 compatible = "shared-dma-pool"; 72 reg = <0 0x57000000 0 0x1400000>; /* 20 MB */ 73 }; 74 75 adsp_mem: memory@60000000 { 76 compatible = "shared-dma-pool"; 77 reg = <0 0x60000000 0 0xf00000>; 78 no-map; 79 }; 80 81 afe_dma_mem: memory@60f00000 { 82 compatible = "shared-dma-pool"; 83 reg = <0 0x60f00000 0 0x100000>; 84 no-map; 85 }; 86 87 adsp_dma_mem: memory@61000000 { 88 compatible = "shared-dma-pool"; 89 reg = <0 0x61000000 0 0x100000>; 90 no-map; 91 }; 92 }; 93 94 reg_sbc_vsys: regulator-vsys { 95 compatible = "regulator-fixed"; 96 regulator-name = "vsys"; 97 regulator-always-on; 98 regulator-boot-on; 99 }; 100 101 reg_fixed_5v: regulator-0 { 102 compatible = "regulator-fixed"; 103 regulator-name = "fixed-5v0"; 104 regulator-min-microvolt = <5000000>; 105 regulator-max-microvolt = <5000000>; 106 enable-active-high; 107 regulator-always-on; 108 vin-supply = <®_sbc_vsys>; 109 }; 110 111 reg_fixed_4v2: regulator-1 { 112 compatible = "regulator-fixed"; 113 regulator-name = "fixed-4v2"; 114 regulator-min-microvolt = <4200000>; 115 regulator-max-microvolt = <4200000>; 116 enable-active-high; 117 regulator-always-on; 118 vin-supply = <®_sbc_vsys>; 119 }; 120 121 reg_fixed_3v3: regulator-2 { 122 compatible = "regulator-fixed"; 123 regulator-name = "fixed-3v3"; 124 regulator-min-microvolt = <3300000>; 125 regulator-max-microvolt = <3300000>; 126 enable-active-high; 127 regulator-always-on; 128 vin-supply = <®_sbc_vsys>; 129 }; 130}; 131 132&pio { 133 gpio-line-names = 134 /* 0 - 4 */ "RPI_GPIO0", "RPI_GPIO1", "", "", "RPI_GPIO4", 135 /* 5 - 9 */ "", "RPI_GPIO6", "", "", "RPI_GPIO9", 136 /* 10 - 14 */ "RPI_GPIO10", "RPI_GPIO11", "", "", "", 137 /* 15 - 19 */ "", "", "", "", "", 138 /* 20 - 24 */ "", "RPI_GPIO21", "", "RPI_GPIO23", "", 139 /* 25 - 29 */ "", "", "", "", "", 140 /* 30 - 34 */ "RPI_GPIO30", "", "", "", "", 141 /* 35 - 39 */ "RPI_GPIO35", "RPI_GPIO36", "", "", "", 142 /* 40 - 44 */ "", "", "", "", "", 143 /* 45 - 49 */ "", "", "", "", "", 144 /* 50 - 54 */ "", "", "", "", "", 145 /* 55 - 59 */ "RPI_GPIO55", "RPI_GPIO56", "", "", "RPI_GPIO59", 146 /* 60 - 64 */ "RPI_GPIO60", "", "", "", "", 147 /* 65 - 69 */ "", "", "", "", "RPI_GPIO69", 148 /* 70 - 74 */ "", "", "RPI_GPIO72", "RPI_GPIO73", "RPI_GPIO74", 149 /* 75 - 79 */ "", "", "", "", "RPI_GPIO79", 150 /* 80 - 84 */ "RPI_GPIO80", "RPI_GPIO81", "RPI_GPIO82", "", "", 151 /* 85 - 89 */ "", "", "", "", "", 152 /* 90 - 94 */ "", "", "", "", "", 153 /* 95 - 99 */ "", "", "", "", "", 154 /*100 - 104 */ "", "", "", "", "", 155 /*105 - 109 */ "", "", "", "", "", 156 /*110 - 114 */ "", "", "", "", "", 157 /*115 - 119 */ "", "", "", "", "", 158 /*120 - 124 */ "", "RPI_GPIO121", "RPI_GPIO122", "RPI_GPIO123", "RPI_GPIO124"; 159 160 i2c0_pins: i2c0-pins { 161 pins { 162 pinmux = <PINMUX_GPIO56__FUNC_B1_SDA0>, 163 <PINMUX_GPIO55__FUNC_B1_SCL0>; 164 bias-pull-up = <MTK_PULL_SET_RSEL_011>; 165 drive-strength-microamp = <1000>; 166 }; 167 }; 168 169 i2c2_pins: i2c2-pins { 170 pins { 171 pinmux = <PINMUX_GPIO60__FUNC_B1_SDA2>, 172 <PINMUX_GPIO59__FUNC_B1_SCL2>; 173 bias-pull-up = <MTK_PULL_SET_RSEL_011>; 174 drive-strength-microamp = <1000>; 175 }; 176 }; 177 178 i2c3_pins: i2c3-pins { 179 pins { 180 pinmux = <PINMUX_GPIO62__FUNC_B1_SDA3>, 181 <PINMUX_GPIO61__FUNC_B1_SCL3>; 182 bias-pull-up = <MTK_PULL_SET_RSEL_011>; 183 drive-strength-microamp = <1000>; 184 }; 185 }; 186 187 i2c5_pins: i2c5-pins { 188 pins { 189 pinmux = <PINMUX_GPIO66__FUNC_B1_SDA5>, 190 <PINMUX_GPIO65__FUNC_B1_SCL5>; 191 bias-pull-up = <MTK_PULL_SET_RSEL_011>; 192 drive-strength-microamp = <1000>; 193 }; 194 }; 195 196 i2c6_pins: i2c6-pins { 197 pins { 198 pinmux = <PINMUX_GPIO68__FUNC_B1_SDA6>, 199 <PINMUX_GPIO67__FUNC_B1_SCL6>; 200 bias-pull-up = <MTK_PULL_SET_RSEL_011>; 201 drive-strength-microamp = <1000>; 202 }; 203 }; 204 205 uart0_pins: uart0-pins { 206 pins { 207 pinmux = <PINMUX_GPIO31__FUNC_O_UTXD0>, 208 <PINMUX_GPIO32__FUNC_I1_URXD0>; 209 bias-pull-up; 210 }; 211 }; 212 213 uart1_pins: uart1-pins { 214 pins { 215 pinmux = <PINMUX_GPIO86__FUNC_O_UTXD1>, 216 <PINMUX_GPIO87__FUNC_I1_URXD1>; 217 bias-pull-up; 218 }; 219 }; 220 221 uart2_pins: uart2-pins { 222 pins { 223 pinmux = <PINMUX_GPIO35__FUNC_O_UTXD2>, 224 <PINMUX_GPIO36__FUNC_I1_URXD2>; 225 bias-pull-up; 226 }; 227 }; 228 229 pcie_pins_default: pcie-default { 230 mux { 231 pinmux = <PINMUX_GPIO47__FUNC_I1_WAKEN>, 232 <PINMUX_GPIO48__FUNC_O_PERSTN>, 233 <PINMUX_GPIO49__FUNC_B1_CLKREQN>; 234 bias-pull-up; 235 }; 236 }; 237 238 eth_default_pins: eth-default-pins { 239 pins-cc { 240 pinmux = <PINMUX_GPIO139__FUNC_B0_GBE_TXC>, 241 <PINMUX_GPIO140__FUNC_I0_GBE_RXC>, 242 <PINMUX_GPIO141__FUNC_I0_GBE_RXDV>, 243 <PINMUX_GPIO142__FUNC_O_GBE_TXEN>; 244 drive-strength = <8>; 245 }; 246 247 pins-mdio { 248 pinmux = <PINMUX_GPIO143__FUNC_O_GBE_MDC>, 249 <PINMUX_GPIO144__FUNC_B1_GBE_MDIO>; 250 drive-strength = <8>; 251 input-enable; 252 }; 253 254 pins-power { 255 pinmux = <PINMUX_GPIO145__FUNC_B_GPIO145>, 256 <PINMUX_GPIO146__FUNC_B_GPIO146>; 257 output-high; 258 }; 259 260 pins-rxd { 261 pinmux = <PINMUX_GPIO135__FUNC_I0_GBE_RXD3>, 262 <PINMUX_GPIO136__FUNC_I0_GBE_RXD2>, 263 <PINMUX_GPIO137__FUNC_I0_GBE_RXD1>, 264 <PINMUX_GPIO138__FUNC_I0_GBE_RXD0>; 265 drive-strength = <8>; 266 }; 267 268 pins-txd { 269 pinmux = <PINMUX_GPIO131__FUNC_O_GBE_TXD3>, 270 <PINMUX_GPIO132__FUNC_O_GBE_TXD2>, 271 <PINMUX_GPIO133__FUNC_O_GBE_TXD1>, 272 <PINMUX_GPIO134__FUNC_O_GBE_TXD0>; 273 drive-strength = <8>; 274 }; 275 }; 276 277 eth_sleep_pins: eth-sleep-pins { 278 pins-cc { 279 pinmux = <PINMUX_GPIO139__FUNC_B_GPIO139>, 280 <PINMUX_GPIO140__FUNC_B_GPIO140>, 281 <PINMUX_GPIO141__FUNC_B_GPIO141>, 282 <PINMUX_GPIO142__FUNC_B_GPIO142>; 283 }; 284 285 pins-mdio { 286 pinmux = <PINMUX_GPIO143__FUNC_B_GPIO143>, 287 <PINMUX_GPIO144__FUNC_B_GPIO144>; 288 input-disable; 289 bias-disable; 290 }; 291 292 pins-rxd { 293 pinmux = <PINMUX_GPIO135__FUNC_B_GPIO135>, 294 <PINMUX_GPIO136__FUNC_B_GPIO136>, 295 <PINMUX_GPIO137__FUNC_B_GPIO137>, 296 <PINMUX_GPIO138__FUNC_B_GPIO138>; 297 }; 298 299 pins-txd { 300 pinmux = <PINMUX_GPIO131__FUNC_B_GPIO131>, 301 <PINMUX_GPIO132__FUNC_B_GPIO132>, 302 <PINMUX_GPIO133__FUNC_B_GPIO133>, 303 <PINMUX_GPIO134__FUNC_B_GPIO134>; 304 }; 305 }; 306 307 spi2_pins: spi2-pins { 308 pins-spi { 309 pinmux = <PINMUX_GPIO79__FUNC_O_SPIM2_CSB>, 310 <PINMUX_GPIO80__FUNC_O_SPIM2_CLK>, 311 <PINMUX_GPIO81__FUNC_B0_SPIM2_MOSI>, 312 <PINMUX_GPIO82__FUNC_B0_SPIM2_MISO>; 313 bias-disable; 314 }; 315 }; 316 317 audio_default_pins: audio-default-pins { 318 pins-cmd-dat { 319 pinmux = <PINMUX_GPIO121__FUNC_B0_PCM_CLK>, 320 <PINMUX_GPIO122__FUNC_B0_PCM_SYNC>, 321 <PINMUX_GPIO123__FUNC_O_PCM_DO>, 322 <PINMUX_GPIO124__FUNC_I0_PCM_DI>; 323 }; 324 }; 325 326 usb_default_pins: usb-default-pins { 327 pins-valid { 328 pinmux = <PINMUX_GPIO85__FUNC_I0_VBUSVALID>; 329 input-enable; 330 }; 331 }; 332}; 333 334ð { 335 phy-mode = "rgmii-id"; 336 phy-handle = <ðernet_phy0>; 337 pinctrl-names = "default", "sleep"; 338 pinctrl-0 = <ð_default_pins>; 339 pinctrl-1 = <ð_sleep_pins>; 340 mediatek,mac-wol; 341 mediatek,tx-delay-ps = <30>; 342 snps,reset-active-low; 343 snps,reset-delays-us = <0 11000 200000>; 344 snps,reset-gpio = <&pio 147 GPIO_ACTIVE_LOW>; 345 status = "okay"; 346}; 347 348ð_mdio { 349 ethernet_phy0: ethernet-phy@3 { 350 compatible = "ethernet-phy-ieee802.3-c22"; 351 reg = <3>; 352 interrupts-extended = <&pio 148 IRQ_TYPE_LEVEL_LOW>; 353 eee-broken-1000t; 354 }; 355}; 356 357&i2c0 { 358 pinctrl-names = "default"; 359 pinctrl-0 = <&i2c0_pins>; 360 clock-frequency = <400000>; 361 status = "okay"; 362}; 363 364&i2c2 { 365 pinctrl-names = "default"; 366 pinctrl-0 = <&i2c2_pins>; 367 clock-frequency = <400000>; 368 status = "okay"; 369}; 370 371&i2c3 { 372 pinctrl-names = "default"; 373 pinctrl-0 = <&i2c3_pins>; 374 clock-frequency = <400000>; 375 status = "okay"; 376}; 377 378&i2c5 { 379 pinctrl-names = "default"; 380 pinctrl-0 = <&i2c5_pins>; 381 clock-frequency = <400000>; 382 status = "okay"; 383}; 384 385&i2c6 { 386 pinctrl-names = "default"; 387 pinctrl-0 = <&i2c6_pins>; 388 clock-frequency = <400000>; 389 status = "okay"; 390}; 391 392&uart0 { 393 pinctrl-names = "default"; 394 pinctrl-0 = <&uart0_pins>; 395 status = "okay"; 396}; 397 398&uart1 { 399 pinctrl-names = "default"; 400 pinctrl-0 = <&uart1_pins>; 401 status = "okay"; 402}; 403 404&uart2 { 405 pinctrl-names = "default"; 406 pinctrl-0 = <&uart2_pins>; 407 status = "okay"; 408}; 409 410&pcie { 411 pinctrl-names = "default"; 412 pinctrl-0 = <&pcie_pins_default>; 413 status = "okay"; 414}; 415 416&pciephy { 417 status = "okay"; 418}; 419 420&spi2 { 421 pinctrl-names = "default"; 422 pinctrl-0 = <&spi2_pins>; 423 mediatek,pad-select = <0>; 424 #address-cells = <1>; 425 #size-cells = <0>; 426 status = "okay"; 427}; 428 429&u3phy0 { 430 status = "okay"; 431}; 432 433&u3phy1 { 434 status = "okay"; 435}; 436 437&u3phy2 { 438 status = "okay"; 439}; 440 441&xhci1 { 442 #address-cells = <1>; 443 #size-cells = <0>; 444 vusb33-supply = <&mt6359_vusb_ldo_reg>; 445 status = "okay"; 446 447 hub_2_0: hub@1 { 448 compatible = "usb451,8027"; 449 reg = <1>; 450 peer-hub = <&hub_3_0>; 451 reset-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; 452 vdd-supply = <®_fixed_3v3>; 453 }; 454 455 hub_3_0: hub@2 { 456 compatible = "usb451,8025"; 457 reg = <2>; 458 peer-hub = <&hub_2_0>; 459 reset-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; 460 vdd-supply = <®_fixed_3v3>; 461 }; 462}; 463 464&xhci2 { 465 #address-cells = <1>; 466 #size-cells = <0>; 467 vusb33-supply = <&mt6359_vusb_ldo_reg>; 468 status = "okay"; 469 470 hub@1 { 471 compatible = "microchip,usb2513bi"; 472 reg = <1>; 473 vdd-supply = <®_fixed_3v3>; 474 }; 475}; 476 477&ssusb0 { 478 dr_mode = "peripheral"; 479 pinctrl-names = "default"; 480 pinctrl-0 = <&usb_default_pins>; 481 vusb33-supply = <&mt6359_vusb_ldo_reg>; 482 status = "okay"; 483}; 484 485&ssusb1 { 486 dr_mode = "host"; 487 maximum-speed = "super-speed"; 488 vusb33-supply = <&mt6359_vusb_ldo_reg>; 489 status = "okay"; 490}; 491 492&ssusb2 { 493 dr_mode = "host"; 494 maximum-speed = "high-speed"; 495 vusb33-supply = <&mt6359_vusb_ldo_reg>; 496 status = "okay"; 497}; 498 499&scp_cluster { 500 status = "okay"; 501}; 502 503&scp_c0 { 504 memory-region = <&scp_mem>; 505 status = "okay"; 506}; 507 508&gpu { 509 mali-supply = <&mt6359_vproc2_buck_reg>; 510 status = "okay"; 511}; 512 513&adsp { 514 memory-region = <&adsp_dma_mem>, <&adsp_mem>; 515 status = "okay"; 516}; 517 518&afe { 519 memory-region = <&afe_dma_mem>; 520 status = "okay"; 521}; 522 523&sound { 524 compatible = "mediatek,mt8390-mt6359-evk", "mediatek,mt8188-mt6359-evb"; 525 model = "mt8390-evk"; 526 pinctrl-names = "default"; 527 pinctrl-0 = <&audio_default_pins>; 528 audio-routing = 529 "Headphone", "Headphone L", 530 "Headphone", "Headphone R", 531 "AP DMIC", "AUDGLB", 532 "AP DMIC", "MIC_BIAS_0", 533 "AP DMIC", "MIC_BIAS_2", 534 "DMIC_INPUT", "AP DMIC"; 535 536 mediatek,adsp = <&adsp>; 537 status = "okay"; 538}; 539