Hi Chris, What we have in Linux mainline is Zyxel NSA310 (Marvell 88f6281). The Zyxel NSA310S (Marvell 88f6702) is actually a different box, which has not been mainlined yet.
By the way, there are 3 variations of the Zyxel NSA310 box. This box has some combination of: red USB Led, lm85 sensor, adt7476 sensor that make them slighly different. The mainlined NSA310 DTS is for the one with adt7476 sensor. Regards bodhi On Tue, May 8, 2018 at 3:34 AM, Chris Packham <judge.pack...@gmail.com> wrote: > Import the dts files from Linux 4.17 and enable CONFIG_OF_CONTROL. > > Signed-off-by: Chris Packham <judge.pack...@gmail.com> > --- > > arch/arm/dts/kirkwood-nsa310.dts | 139 ++++++++++++++++++++ > arch/arm/dts/kirkwood-nsa3x0-common.dtsi | 158 +++++++++++++++++++++++ > configs/nsa310s_defconfig | 3 +- > 3 files changed, 299 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/dts/kirkwood-nsa310.dts > create mode 100644 arch/arm/dts/kirkwood-nsa3x0-common.dtsi > > diff --git a/arch/arm/dts/kirkwood-nsa310.dts b/arch/arm/dts/kirkwood- > nsa310.dts > new file mode 100644 > index 000000000000..9b861c2e76c5 > --- /dev/null > +++ b/arch/arm/dts/kirkwood-nsa310.dts > @@ -0,0 +1,139 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/dts-v1/; > + > +#include "kirkwood-nsa3x0-common.dtsi" > + > +/ { > + compatible = "zyxel,nsa310", "marvell,kirkwood-88f6281", > "marvell,kirkwood"; > + > + memory { > + device_type = "memory"; > + reg = <0x00000000 0x10000000>; > + }; > + > + chosen { > + bootargs = "console=ttyS0,115200"; > + stdout-path = &uart0; > + }; > + > + ocp@f1000000 { > + pinctrl: pin-controller@10000 { > + pinctrl-0 = <&pmx_unknown>; > + pinctrl-names = "default"; > + > + pmx_led_esata_green: pmx-led-esata-green { > + marvell,pins = "mpp12"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_esata_red: pmx-led-esata-red { > + marvell,pins = "mpp13"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_usb_green: pmx-led-usb-green { > + marvell,pins = "mpp15"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_usb_red: pmx-led-usb-red { > + marvell,pins = "mpp16"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_sys_green: pmx-led-sys-green { > + marvell,pins = "mpp28"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_sys_red: pmx-led-sys-red { > + marvell,pins = "mpp29"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_hdd_green: pmx-led-hdd-green { > + marvell,pins = "mpp41"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_hdd_red: pmx-led-hdd-red { > + marvell,pins = "mpp42"; > + marvell,function = "gpio"; > + }; > + > + pmx_unknown: pmx-unknown { > + marvell,pins = "mpp44"; > + marvell,function = "gpio"; > + }; > + > + }; > + > + i2c@11000 { > + status = "okay"; > + > + adt7476: adt7476a@2e { > + compatible = "adi,adt7476"; > + reg = <0x2e>; > + }; > + }; > + }; > + > + gpio-leds { > + compatible = "gpio-leds"; > + pinctrl-0 = <&pmx_led_esata_green &pmx_led_esata_red > + &pmx_led_usb_green &pmx_led_usb_red > + &pmx_led_sys_green &pmx_led_sys_red > + &pmx_led_copy_green &pmx_led_copy_red > + &pmx_led_hdd_green &pmx_led_hdd_red>; > + pinctrl-names = "default"; > + > + green-sys { > + label = "nsa310:green:sys"; > + gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; > + }; > + red-sys { > + label = "nsa310:red:sys"; > + gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; > + }; > + green-hdd { > + label = "nsa310:green:hdd"; > + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; > + }; > + red-hdd { > + label = "nsa310:red:hdd"; > + gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; > + }; > + green-esata { > + label = "nsa310:green:esata"; > + gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; > + }; > + red-esata { > + label = "nsa310:red:esata"; > + gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; > + }; > + green-usb { > + label = "nsa310:green:usb"; > + gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; > + }; > + red-usb { > + label = "nsa310:red:usb"; > + gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; > + }; > + green-copy { > + label = "nsa310:green:copy"; > + gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; > + }; > + red-copy { > + label = "nsa310:red:copy"; > + gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; > + }; > + }; > +}; > + > +&pciec { > + status = "okay"; > +}; > + > +&pcie0 { > + status = "okay"; > +}; > diff --git a/arch/arm/dts/kirkwood-nsa3x0-common.dtsi > b/arch/arm/dts/kirkwood-nsa3x0-common.dtsi > new file mode 100644 > index 000000000000..2c4037b07282 > --- /dev/null > +++ b/arch/arm/dts/kirkwood-nsa3x0-common.dtsi > @@ -0,0 +1,158 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include "kirkwood.dtsi" > +#include "kirkwood-6281.dtsi" > + > +/ { > + model = "ZyXEL NSA310"; > + > + ocp@f1000000 { > + pinctrl: pin-controller@10000 { > + > + pmx_usb_power: pmx-usb-power { > + marvell,pins = "mpp21"; > + marvell,function = "gpio"; > + }; > + > + pmx_pwr_off: pmx-pwr-off { > + marvell,pins = "mpp48"; > + marvell,function = "gpio"; > + }; > + > + pmx_btn_reset: pmx-btn-reset { > + marvell,pins = "mpp36"; > + marvell,function = "gpio"; > + }; > + > + pmx_btn_copy: pmx-btn-copy { > + marvell,pins = "mpp37"; > + marvell,function = "gpio"; > + }; > + > + pmx_btn_power: pmx-btn-power { > + marvell,pins = "mpp46"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_copy_green: pmx-led-copy-green { > + marvell,pins = "mpp39"; > + marvell,function = "gpio"; > + }; > + > + pmx_led_copy_red: pmx-led-copy-red { > + marvell,pins = "mpp40"; > + marvell,function = "gpio"; > + }; > + }; > + > + serial@12000 { > + status = "ok"; > + }; > + > + sata@80000 { > + status = "okay"; > + nr-ports = <2>; > + }; > + }; > + > + gpio_poweroff { > + compatible = "gpio-poweroff"; > + pinctrl-0 = <&pmx_pwr_off>; > + pinctrl-names = "default"; > + gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>; > + }; > + > + gpio_keys { > + compatible = "gpio-keys"; > + #address-cells = <1>; > + #size-cells = <0>; > + pinctrl-0 = <&pmx_btn_reset &pmx_btn_copy &pmx_btn_power>; > + pinctrl-names = "default"; > + > + power { > + label = "Power Button"; > + linux,code = <KEY_POWER>; > + gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; > + }; > + copy { > + label = "Copy Button"; > + linux,code = <KEY_COPY>; > + gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; > + }; > + reset { > + label = "Reset Button"; > + linux,code = <KEY_RESTART>; > + gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; > + }; > + }; > + > + > + regulators { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <0>; > + pinctrl-0 = <&pmx_usb_power>; > + pinctrl-names = "default"; > + > + usb0_power: regulator@1 { > + compatible = "regulator-fixed"; > + reg = <1>; > + regulator-name = "USB Power"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + regulator-always-on; > + regulator-boot-on; > + gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>; > + }; > + }; > +}; > + > +&nand { > + status = "okay"; > + chip-delay = <35>; > + > + partition@0 { > + label = "uboot"; > + reg = <0x0000000 0x0100000>; > + read-only; > + }; > + partition@100000 { > + label = "uboot_env"; > + reg = <0x0100000 0x0080000>; > + }; > + partition@180000 { > + label = "key_store"; > + reg = <0x0180000 0x0080000>; > + }; > + partition@200000 { > + label = "info"; > + reg = <0x0200000 0x0080000>; > + }; > + partition@280000 { > + label = "etc"; > + reg = <0x0280000 0x0a00000>; > + }; > + partition@c80000 { > + label = "kernel_1"; > + reg = <0x0c80000 0x0a00000>; > + }; > + partition@1680000 { > + label = "rootfs1"; > + reg = <0x1680000 0x2fc0000>; > + }; > + partition@4640000 { > + label = "kernel_2"; > + reg = <0x4640000 0x0a00000>; > + }; > + partition@5040000 { > + label = "rootfs2"; > + reg = <0x5040000 0x2fc0000>; > + }; > +}; > + > +&pciec { > + status = "okay"; > +}; > + > +&pcie0 { > + status = "okay"; > +}; > diff --git a/configs/nsa310s_defconfig b/configs/nsa310s_defconfig > index 2529687414fa..d3ea933d378b 100644 > --- a/configs/nsa310s_defconfig > +++ b/configs/nsa310s_defconfig > @@ -2,6 +2,7 @@ CONFIG_ARM=y > CONFIG_KIRKWOOD=y > CONFIG_SYS_TEXT_BASE=0x600000 > CONFIG_TARGET_NSA310S=y > +CONFIG_DEFAULT_DEVICE_TREE="kirkwood-nsa310" > CONFIG_BOOTDELAY=3 > # CONFIG_DISPLAY_BOARDINFO is not set > CONFIG_HUSH_PARSER=y > @@ -21,6 +22,7 @@ CONFIG_CMD_JFFS2=y > CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:0xe0000@ > 0x0(uboot),0x20000@0xe0000(uboot_env),0x100000@0x100000( > second_stage_uboot),-@0x200000(root)" > CONFIG_CMD_UBI=y > CONFIG_ISO_PARTITION=y > +CONFIG_OF_CONTROL=y > CONFIG_ENV_IS_IN_NAND=y > CONFIG_MVSATA_IDE=y > # CONFIG_MMC is not set > @@ -29,4 +31,3 @@ CONFIG_USB=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_STORAGE=y > CONFIG_LZMA=y > -CONFIG_OF_LIBFDT=y > -- > 2.17.0 > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot