// SPDX-License-Identifier: GPL-2.0 // Copyright (c) 2021 Nuvoton Technology tomer.maimon@nuvoton.com /dts-v1/; #include "nuvoton-npcm845.dtsi" #include "nuvoton-npcm845-pincfg.dtsi" / { model = "Nuvoton npcm845 Development Board (Device Tree)"; compatible = "nuvoton,npcm845-evb", "nuvoton,npcm845"; aliases { serial0 = &serial0; ethernet0 = &gmac0; ethernet1 = &gmac1; ethernet2 = &gmac2; ethernet3 = &gmac3; i2c0 = &i2c0; i2c1 = &i2c1; i2c2 = &i2c2; i2c3 = &i2c3; i2c4 = &i2c4; i2c5 = &i2c5; i2c6 = &i2c6; i2c7 = &i2c7; i2c8 = &i2c8; i2c9 = &i2c9; i2c10 = &i2c10; i2c11 = &i2c11; i2c12 = &i2c12; i2c13 = &i2c13; i2c14 = &i2c14; i2c15 = &i2c15; i2c16 = &i2c16; i2c17 = &i2c17; i2c18 = &i2c18; i2c19 = &i2c19; i2c20 = &i2c20; i2c21 = &i2c21; i2c22 = &i2c22; i2c23 = &i2c23; i2c24 = &i2c24; i2c25 = &i2c25; i2c26 = &i2c26; spi0 = &fiu0; spi1 = &fiu1; spi3 = &fiu3; spi4 = &fiux; spi5 = &spi1; usb0 = &udc0; usb1 = &ehci1; usb2 = &ehci2; }; chosen { stdout-path = &serial0; }; memory { reg = <0x0 0x0 0x0 0x40000000>; }; vsbr2: vsbr2 { compatible = "regulator-npcm845"; regulator-name = "vr2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vsbv8: vsbv8 { compatible = "regulator-npcm845"; regulator-name = "v8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vsbv5: vsbv5 { compatible = "regulator-npcm845"; regulator-name = "v5"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; &serial0 { status = "okay"; }; &watchdog1 { status = "okay"; }; &fiu0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&spi0cs1_pins>; spi-nor@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <25000000>; }; spi_flash@1 { compatible = "jedec,spi-nor"; reg = <1>; spi-max-frequency = <25000000>; }; }; &fiu1 { status = "okay"; spi-nor@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <25000000>; }; }; &fiu3 { pinctrl-0 = <&spi3_pins>, <&spi3quad_pins>; status = "okay"; vqspi-supply = <&vsbv5>; vqspi-microvolt = <3300000>; spi-nor@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <25000000>; }; }; &fiux { nuvoton,spix-mode; status = "okay"; }; &gmac0 { phy-mode = "sgmii"; snps,reset-active-low; snps,reset-delays-us = <0 10000 1000000>; snps,reset-gpio = <&gpio5 30 GPIO_ACTIVE_LOW>; /* gpio190 */ status = "okay"; }; &gmac1 { phy-mode = "rgmii-id"; snps,reset-active-low; snps,reset-delays-us = <0 10000 1000000>; snps,reset-gpio = <&gpio5 2 GPIO_ACTIVE_LOW>; /* gpio162 */ status = "okay"; }; &gmac2 { phy-mode = "NC-SI"; max-speed = <100>; use-ncsi; pinctrl-0 = <&r1_pins &r1en_pins &r1oen_pins>; status = "disabled"; }; &gmac3 { phy-mode = "rmii"; pinctrl-names = "default"; pinctrl-0 = <&r2_pins &r2oen_pins &r2en_pins &gpio91o_pins &gpio92o_pins>; snps,bitbang-mii; snps,mdc-gpio = <&gpio2 27 GPIO_ACTIVE_HIGH>; /* gpio91 */ snps,mdio-gpio = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* gpio92 */ snps,reset-active-low; snps,reset-delays-us = <0 10000 1000000>; snps,reset-gpio = <&gpio2 29 GPIO_ACTIVE_LOW>; /* gpio93 */ status = "okay"; }; &spi1 { status = "okay"; }; &usbphy1 { status = "okay"; }; &usbphy2 { status = "okay"; }; &usbphy3 { status = "okay"; }; &udc0 { status = "okay"; phys = <&usbphy1 0>; }; &sdhci0 { bus-width = <0x8>; status = "okay"; }; &ehci1 { status = "okay"; phys = <&usbphy2 3>; }; &ehci2 { status = "okay"; phys = <&usbphy3 4>; }; &rng { status = "okay"; }; &aes { status = "okay"; }; &sha { status = "okay"; }; &otp { status = "okay"; }; &i2c0 { status = "okay"; }; &i2c1 { status = "okay"; }; &i2c2 { status = "okay"; }; &i2c3 { status = "okay"; }; &i2c4 { status = "okay"; }; &i2c5 { status = "okay"; }; &i2c6 { status = "okay"; tmp100@48 { compatible = "tmp100"; reg = <0x48>; status = "okay"; }; }; &i2c7 { status = "okay"; }; &i2c8 { status = "okay"; }; &i2c9 { status = "okay"; }; &i2c10 { status = "okay"; }; &i2c11 { status = "okay"; }; &i2c12 { status = "okay"; }; &i2c13 { status = "okay"; }; &i2c14 { status = "okay"; }; &i2c15 { status = "okay"; }; &i2c16 { status = "okay"; }; &i2c17 { status = "okay"; }; &i2c18 { status = "okay"; }; &i2c19 { status = "okay"; }; &i2c20 { status = "okay"; }; &i2c21 { status = "okay"; }; &i2c22 { status = "okay"; }; &i2c23 { status = "okay"; }; &i2c24 { status = "okay"; }; &i2c25 { status = "okay"; }; &i2c26 { status = "okay"; }; &pinctrl { pinctrl-names = "default"; pinctrl-0 = < &gspi_pins &vgadig_pins &spix_pins &r1_pins &r1en_pins &r1oen_pins >; };