// SPDX-License-Identifier: (GPL-2.0 OR MIT) /* * Device Tree file for Thecus N2350 board * * Copyright (C) 2018-2023 Tony Dinh * Copyright (C) 2018 Manuel Jung */ /dts-v1/; #include #include #include "armada-385.dtsi" / { model = "Thecus N2350"; compatible = "thecus,n2350", "marvell,armada385"; aliases { ethernet0 = ð0; }; chosen { stdout-path = "serial0:115200n8"; }; memory { device_type = "memory"; reg = <0x00000000 0x40000000>; /* 1GB */ }; soc { ranges = ; }; usb3_0_phy: usb3_0_phy { compatible = "usb-nop-xceiv"; vcc-supply = <&usb3_0_power>; }; usb3_1_phy: usb3_1_phy { compatible = "usb-nop-xceiv"; vcc-supply = <&usb3_1_power>; }; gpio-keys { compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&pmx_power_button &pmx_copy_button &pmx_reset_button>; pinctrl-names = "default"; button@1 { label = "Power Button"; linux,code = ; gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; }; button@2 { label = "Copy Button"; linux,code = ; gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>; }; button@3 { label = "Reset Button"; linux,code = ; gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>; }; }; gpio-leds { compatible = "gpio-leds"; pinctrl-0 = <&pmx_sata1_white_led &pmx_sata1_red_led &pmx_sata2_white_led &pmx_sata2_red_led &pmx_sys_white_led &pmx_sys_red_led &pmx_pwr_blue_led &pmx_pwr_red_led &pmx_usb_white_led &pmx_usb_red_led>; pinctrl-names = "default"; white_sata1 { label = "n2350:white:sata1"; gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>; linux,default-trigger = "ide-disk1"; }; red_sata1 { label = "n2350:red:sata1"; gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; }; white-sata2 { label = "n2350:white:sata2"; gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>; }; red-sata2 { label = "n2350:red:sata2"; gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; }; white-sys { label = "n2350:white:sys"; gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; linux,default-trigger = "default-on"; }; red-sys { label = "n2350:red:sys"; gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; }; blue-pwr { label = "n2350:blue:pwr"; gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; }; red-pwr { label = "n2350:red:pwr"; gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>; }; white-usb { label = "n2350:white:usb"; gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; }; red-usb { label = "n2350:red:usb"; gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>; }; }; regulators { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <0>; usb3_0_power: regulator@1 { compatible = "regulator-fixed"; reg = <1>; regulator-name = "USB3_0_Power"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; regulator-always-on; regulator-boot-on; gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>; }; usb3_1_power: regulator@2 { compatible = "regulator-fixed"; reg = <1>; regulator-name = "USB3_1_Power"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; regulator-always-on; regulator-boot-on; gpio = <&gpio0 24 GPIO_ACTIVE_HIGH>; }; reg_sata0: regulator@3 { compatible = "regulator-fixed"; regulator-name = "pwr_en_sata0"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; regulator-always-on; regulator-boot-on; gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; }; reg_5v_sata0: v5-sata0 { compatible = "regulator-fixed"; regulator-name = "v5.0-sata0"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <®_sata0>; }; reg_12v_sata0: v12-sata0 { compatible = "regulator-fixed"; regulator-name = "v12.0-sata0"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; vin-supply = <®_sata0>; }; reg_sata1: regulator@4 { regulator-name = "pwr_en_sata1"; compatible = "regulator-fixed"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; enable-active-high; regulator-always-on; regulator-boot-on; gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>; }; reg_5v_sata1: v5-sata1 { compatible = "regulator-fixed"; regulator-name = "v5.0-sata1"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <®_sata1>; }; reg_12v_sata1: v12-sata1 { compatible = "regulator-fixed"; regulator-name = "v12.0-sata1"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; vin-supply = <®_sata1>; }; }; gpio-poweroff { compatible = "gpio-poweroff"; pinctrl-0 = <&pmx_pwr_off>; pinctrl-names = "default"; gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; }; }; &ahci0 { status = "okay"; }; &bm { status = "okay"; }; &bm_bppi { status = "okay"; }; ð0 { status = "okay"; phy = <&phy0>; phy-mode = "sgmii"; buffer-manager = <&bm>; bm,pool-long = <0>; bm,pool-short = <1>; }; &i2c0 { status = "okay"; clock-frequency = <100000>; }; &i2c1 { status = "okay"; clock-frequency = <100000>; }; &mdio { phy0: ethernet-phy@0 { reg = <1>; }; }; &nand_controller { status = "okay"; nand@0 { status = "okay"; reg = <0>; label = "pxa3xx_nand-0"; nand-rb = <0>; marvell,nand-keep-config; nand-on-flash-bbt; nand-ecc-strength = <4>; nand-ecc-step-size = <512>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "rootfs"; reg = <0x00000000 0x20000000>; }; }; }; }; &pciec { status = "okay"; /* * The two PCIe units are accessible through * standard PCIe slots on the board. */ pcie@1,0 { /* Port 0, Lane 0 */ status = "okay"; }; pcie@2,0 { /* Port 1, Lane 0 */ status = "okay"; }; }; &pinctrl { pinctrl-names = "default"; pmx_power_button: pmx-power-button { marvell,pins = "mpp49"; marvell,function = "gpio"; }; pmx_copy_button: pmx-copy-button { marvell,pins = "mpp52"; marvell,function = "gpio"; }; pmx_reset_button: pmx-reset-button { marvell,pins = "mpp50"; marvell,function = "gpio"; }; pmx_sata1_white_led: pmx-sata1-white-led { marvell,pins = "mpp20"; marvell,function = "gpio"; }; pmx_sata1_red_led: pmx-sata1-red-led { marvell,pins = "mpp46"; marvell,function = "gpio"; }; pmx_sata2_white_led: pmx-sata2-white-led { marvell,pins = "mpp19"; marvell,function = "gpio"; }; pmx_sata2_red_led: pmx-sata2-red-led { marvell,pins = "mpp47"; marvell,function = "gpio"; }; pmx_sys_white_led: pmx-sys-white-led { marvell,pins = "mpp14"; marvell,function = "gpio"; }; pmx_sys_red_led: pmx-sys-red-led { marvell,pins = "mpp15"; marvell,function = "gpio"; }; pmx_buzzer: pmx-buzzer { marvell,pins = "mpp51"; marvell,function = "gpio"; }; pmx_pwr_off: pmx-pwr-off { marvell,pins = "mpp54"; marvell,function = "gpio"; }; pmx_pwr_blue_led: pmx-pwr-blue-led { marvell,pins = "mpp43"; marvell,function = "gpio"; }; pmx_pwr_red_led: pmx-pwr-red-led { marvell,pins = "mpp18"; marvell,function = "gpio"; }; pmx_usb_white_led: pmx-usb-white-led { marvell,pins = "mpp16"; marvell,function = "gpio"; }; pmx_usb_red_led: pmx-usb-red-led { marvell,pins = "mpp17"; marvell,function = "gpio"; }; }; &sdhci { broken-cd; wp-inverted; bus-width = <8>; status = "okay"; no-1-8-v; }; &spi1 { pinctrl-names = "default"; pinctrl-0 = <&spi1_pins>; status = "okay"; /* spi: 4M Flash Macronix MX25L3205D */ spi-flash@0 { #address-cells = <1>; #size-cells = <0>; compatible = "macronix,mx25l3205d", "jedec,spi-nor"; reg = <0>; spi-max-frequency = <108000000>; spi-cpha; partition@0 { label = "u-boot"; reg = <0x00000000 0x00100000>; }; partition@100000 { label = "u-boot-env"; reg = <0x00100000 0x00010000>; }; }; }; &uart0 { status = "okay"; }; &usb0 { status = "okay"; }; &usb3_0 { status = "okay"; }; &usb3_1 { status = "okay"; };