[PATCH v2] ARM: dts: mvebu: Add device tree for ATL-x530 Board

Gregory CLEMENT gregory.clement at bootlin.com
Wed Apr 7 21:40:47 BST 2021


Hello Aryan,

> Add device tree file for x530 board. This has an Armada 385 SoC. Has
> NAND-flash for user storage and SPI for booting. Covers majority of x530
> and GS980MX variants.
>
> Signed-off-by: Aryan Srivastava <aryan.srivastava at alliedtelesis.co.nz>
> Reviewed-by: Chris Packham <chris.packham at alliedtelesis.co.nz>

I don't know why I missed this one but I've finally applied it on
mvebu/dt and sent a pull request for 5.13.

Sorry for this delay.

Thanks,

Gregory


> ---
> Notes:
> 	Changes in v2:
> 	-Adding to Makefile
>
>  arch/arm/boot/dts/Makefile                |   1 +
>  arch/arm/boot/dts/armada-385-atl-x530.dts | 235 ++++++++++++++++++++++
>  2 files changed, 236 insertions(+)
>  create mode 100644 arch/arm/boot/dts/armada-385-atl-x530.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index a60407ad7347..d65d84e9bf9c 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1320,6 +1320,7 @@ dtb-$(CONFIG_MACH_ARMADA_375) += \
>  	armada-375-db.dtb
>  dtb-$(CONFIG_MACH_ARMADA_38X) += \
>  	armada-382-rd-ac3x-48g4x2xl.dtb \
> +	armada-385-atl-x530.dtb\
>  	armada-385-clearfog-gtr-s4.dtb \
>  	armada-385-clearfog-gtr-l8.dtb \
>  	armada-385-db-88f6820-amc.dtb \
> diff --git a/arch/arm/boot/dts/armada-385-atl-x530.dts b/arch/arm/boot/dts/armada-385-atl-x530.dts
> new file mode 100644
> index 000000000000..2041bf09c578
> --- /dev/null
> +++ b/arch/arm/boot/dts/armada-385-atl-x530.dts
> @@ -0,0 +1,235 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +/*
> + * Device Tree file for Armada 385 Allied Telesis x530/GS980MX Board.
> + (x530/AT-GS980MX)
> + *
> + Copyright (C) 2020 Allied Telesis Labs
> + */
> +
> +/dts-v1/;
> +#include "armada-385.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +/ {
> +	model = "x530/AT-GS980MX";
> +	compatible = "alliedtelesis,gs980mx", "alliedtelesis,x530", "marvell,armada385", "marvell,armada380";
> +
> +	chosen {
> +		stdout-path = "serial1:115200n8";
> +	};
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0x00000000 0x40000000>; /* 1GB */
> +	};
> +
> +	soc {
> +		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
> +			  MBUS_ID(0x01, 0x3d) 0 0xf4800000 0x80000
> +			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000>;
> +
> +		internal-regs {
> +			i2c0: i2c at 11000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&i2c0_pins>;
> +				status = "okay";
> +			};
> +
> +			uart0: serial at 12000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&uart0_pins>;
> +				status = "okay";
> +			};
> +		};
> +	};
> +};
> +
> +&pciec {
> +	status = "okay";
> +};
> +
> +&pcie1 {
> +	status = "okay";
> +	reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
> +	reset-delay-us = <400000>;
> +};
> +
> +&pcie2 {
> +	status = "okay";
> +};
> +
> +&devbus_cs1 {
> +	compatible = "marvell,mvebu-devbus";
> +	status = "okay";
> +
> +	devbus,bus-width    = <8>;
> +	devbus,turn-off-ps  = <60000>;
> +	devbus,badr-skew-ps = <0>;
> +	devbus,acc-first-ps = <124000>;
> +	devbus,acc-next-ps  = <248000>;
> +	devbus,rd-setup-ps  = <0>;
> +	devbus,rd-hold-ps   = <0>;
> +
> +	/* Write parameters */
> +	devbus,sync-enable = <0>;
> +	devbus,wr-high-ps  = <60000>;
> +	devbus,wr-low-ps   = <60000>;
> +	devbus,ale-wr-ps   = <60000>;
> +
> +	nvs at 0 {
> +		status = "okay";
> +
> +		compatible = "mtd-ram";
> +		reg = <0 0x00080000>;
> +		bank-width = <1>;
> +		label = "nvs";
> +	};
> +};
> +
> +&pinctrl {
> +	i2c0_gpio_pins: i2c-gpio-pins-0 {
> +		marvell,pins = "mpp2", "mpp3";
> +		marvell,function = "gpio";
> +	};
> +};
> +
> +&i2c0 {
> +	clock-frequency = <100000>;
> +	status = "okay";
> +
> +	pinctrl-names = "default", "gpio";
> +	pinctrl-0 = <&i2c0_pins>;
> +	pinctrl-1 = <&i2c0_gpio_pins>;
> +	scl-gpio = <&gpio0 2 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> +	sda-gpio = <&gpio0 3 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> +
> +	i2c0mux: mux at 71 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		compatible = "nxp,pca9544";
> +		reg = <0x71>;
> +		i2c-mux-idle-disconnect;
> +
> +		i2c at 0 { /* POE devices MUX */
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0>;
> +		};
> +
> +		i2c at 1 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <1>;
> +
> +			adt7476_2e: hwmon at 2e {
> +				compatible = "adi,adt7476";
> +				reg = <0x2e>;
> +			};
> +
> +			adt7476_2d: hwmon at 2d {
> +				compatible = "adi,adt7476";
> +				reg = <0x2d>;
> +			};
> +		};
> +
> +		i2c at 2 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <2>;
> +
> +			rtc at 68 {
> +				compatible = "dallas,ds1340";
> +				reg = <0x68>;
> +			};
> +		};
> +
> +		i2c at 3 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <3>;
> +
> +			gpio at 20 {
> +				compatible = "nxp,pca9554";
> +				gpio-controller;
> +				#gpio-cells = <2>;
> +				reg = <0x20>;
> +			};
> +		};
> +	};
> +};
> +
> +&usb0 {
> +	status = "okay";
> +};
> +
> +&spi1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&spi1_pins>;
> +	status = "okay";
> +
> +	spi-flash at 0 {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "jedec,spi-nor";
> +		reg = <1>; /* Chip select 1 */
> +		spi-max-frequency = <54000000>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			partition at u-boot {
> +				reg = <0x00000000 0x00100000>;
> +				label = "u-boot";
> +			};
> +			partition at u-boot-env {
> +				reg = <0x00100000 0x00040000>;
> +				label = "u-boot-env";
> +			};
> +			partition at unused {
> +				reg = <0x00140000 0x00e80000>;
> +				label = "unused";
> +			};
> +			partition at idprom {
> +				reg = <0x00fc0000 0x00040000>;
> +				label = "idprom";
> +			};
> +		};
> +	};
> +};
> +
> +&nand_controller {
> +	status = "okay";
> +
> +	nand at 0 {
> +		reg = <0>;
> +		label = "pxa3xx_nand-0";
> +		nand-rb = <0>;
> +		nand-on-flash-bbt;
> +		nand-ecc-strength = <4>;
> +		nand-ecc-step-size = <512>;
> +
> +		marvell,nand-enable-arbiter;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			partition at user {
> +				reg = <0x00000000 0x0f000000>;
> +				label = "user";
> +			};
> +			partition at errlog {
> +				/* Maximum mtdoops size is 8MB, so set to that. */
> +				reg = <0x0f000000 0x00800000>;
> +				label = "errlog";
> +			};
> +			partition at nand-bbt {
> +				reg = <0x0f800000 0x00800000>;
> +				label = "nand-bbt";
> +			};
> +		};
> +	};
> +};
> +
> -- 
> 2.29.2
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com



More information about the linux-arm-kernel mailing list