[PATCH] arm: dts: mvebu: Migrate to upstream DT for Synology DS116 (Armada 385) board

Stefan Roese sr at denx.de
Wed Jul 10 08:24:01 CEST 2024


Hi Tony,

On 7/9/24 22:27, Tony Dinh wrote:
> Hi Stefan,
> 
> On Thu, May 23, 2024 at 12:27 AM Sumit Garg <sumit.garg at linaro.org> wrote:
>>
>> On Thu, 23 May 2024 at 03:22, Tony Dinh <mibodhi at gmail.com> wrote:
>>>
>>> Enable OF_UPSTREAM to use upstream DT and add marvell/ prefix to the
>>> DEFAULT_DEVICE_TREE in DS116 defconfig. Remove current DTS in
>>> arch/arm/dts/ directory.
>>>
>>> Signed-off-by: Tony Dinh <mibodhi at gmail.com>
>>> ---
>>>
>>>   arch/arm/dts/Makefile                      |   1 -
>>>   arch/arm/dts/armada-385-synology-ds116.dts | 291 ---------------------
>>>   configs/ds116_defconfig                    |   3 +-
>>>   3 files changed, 2 insertions(+), 293 deletions(-)
>>>   delete mode 100644 arch/arm/dts/armada-385-synology-ds116.dts
>>>
>>
>> Acked-by: Sumit Garg <sumit.garg at linaro.org>
>>
>> -Sumit
> 
> Is this OK to be merged to next?

I think so:

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> All the best,
> Tony
> 
>>
>>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
>>> index a5c82ebf7a..75f7e616b4 100644
>>> --- a/arch/arm/dts/Makefile
>>> +++ b/arch/arm/dts/Makefile
>>> @@ -155,7 +155,6 @@ dtb-$(CONFIG_ARCH_MVEBU) +=                 \
>>>          armada-385-atl-x530.dtb                 \
>>>          armada-385-atl-x530DP.dtb               \
>>>          armada-385-db-88f6820-amc.dtb           \
>>> -       armada-385-synology-ds116.dtb           \
>>>          armada-385-thecus-n2350.dtb             \
>>>          armada-385-turris-omnia.dtb             \
>>>          armada-388-clearfog.dtb                 \
>>> diff --git a/arch/arm/dts/armada-385-synology-ds116.dts b/arch/arm/dts/armada-385-synology-ds116.dts
>>> deleted file mode 100644
>>> index 82a0373f7f..0000000000
>>> --- a/arch/arm/dts/armada-385-synology-ds116.dts
>>> +++ /dev/null
>>> @@ -1,291 +0,0 @@
>>> -// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>>> -/*
>>> - * Device Tree file for Synology DS116 NAS
>>> - *
>>> - * Copyright (C) 2017 Willy Tarreau <w at 1wt.eu>
>>> - */
>>> -
>>> -/dts-v1/;
>>> -#include "armada-385.dtsi"
>>> -#include <dt-bindings/gpio/gpio.h>
>>> -
>>> -/ {
>>> -       model = "Synology DS116";
>>> -       compatible = "marvell,a385-gp", "marvell,armada385", "marvell,armada380";
>>> -
>>> -       chosen {
>>> -               stdout-path = "serial0:115200n8";
>>> -       };
>>> -
>>> -       memory {
>>> -               device_type = "memory";
>>> -               reg = <0x00000000 0x40000000>; /* 1 GB */
>>> -       };
>>> -
>>> -       soc {
>>> -               ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
>>> -                         MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
>>> -                         MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
>>> -                         MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
>>> -                         MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
>>> -
>>> -               internal-regs {
>>> -                       i2c at 11000 {
>>> -                               pinctrl-names = "default";
>>> -                               pinctrl-0 = <&i2c0_pins>;
>>> -                               status = "okay";
>>> -                               clock-frequency = <100000>;
>>> -
>>> -                               eeprom at 57 {
>>> -                                       compatible = "atmel,24c64";
>>> -                                       reg = <0x57>;
>>> -                               };
>>> -                       };
>>> -
>>> -                       serial at 12000 {
>>> -                               pinctrl-names = "default";
>>> -                               pinctrl-0 = <&uart0_pins>;
>>> -                               status = "okay";
>>> -                       };
>>> -
>>> -                       serial at 12100 {
>>> -                               /* A PIC16F1829 is connected to uart1 at 9600 bps,
>>> -                                * and takes single-character orders :
>>> -                                *   "1" : power off // already handled by the poweroff node
>>> -                                *   "2" : short beep
>>> -                                *   "3" : long beep
>>> -                                *   "4" : turn the power LED ON
>>> -                                *   "5" : flash the power LED
>>> -                                *   "6" : turn the power LED OFF
>>> -                                *   "7" : turn the status LED OFF
>>> -                                *   "8" : turn the status LED ON
>>> -                                *   "9" : flash the status LED
>>> -                                *   "A" : flash the motherboard LED (D8)
>>> -                                *   "B" : turn the motherboard LED OFF
>>> -                                *   "C" : hard reset
>>> -                                */
>>> -                               pinctrl-names = "default";
>>> -                               pinctrl-0 = <&uart1_pins>;
>>> -                               status = "okay";
>>> -                       };
>>> -
>>> -                       poweroff at 12100 {
>>> -                               compatible = "synology,power-off";
>>> -                               reg = <0x12100 0x100>;
>>> -                               clocks = <&coreclk 0>;
>>> -                       };
>>> -
>>> -                       ethernet at 70000 {
>>> -                               pinctrl-names = "default";
>>> -                               phy = <&phy0>;
>>> -                               phy-mode = "sgmii";
>>> -                               buffer-manager = <&bm>;
>>> -                               bm,pool-long = <0>;
>>> -                               status = "okay";
>>> -                       };
>>> -
>>> -                       mdio at 72004 {
>>> -                               pinctrl-names = "default";
>>> -                               pinctrl-0 = <&mdio_pins>;
>>> -
>>> -                               phy0: ethernet-phy at 1 {
>>> -                                       reg = <1>;
>>> -                               };
>>> -                       };
>>> -
>>> -                       sata at a8000 {
>>> -                               pinctrl-names = "default";
>>> -                               pinctrl-0 = <&sata0_pins>;
>>> -                               status = "okay";
>>> -                               #address-cells = <1>;
>>> -                               #size-cells = <0>;
>>> -
>>> -                               sata0: sata-port at 0 {
>>> -                                       reg = <0>;
>>> -                                       target-supply = <&reg_5v_sata0>;
>>> -                               };
>>> -                       };
>>> -
>>> -                       bm at c8000 {
>>> -                               status = "okay";
>>> -                       };
>>> -
>>> -                       usb3 at f0000 {
>>> -                               usb-phy = <&usb3_0_phy>;
>>> -                               status = "okay";
>>> -                       };
>>> -
>>> -                       usb3 at f8000 {
>>> -                               usb-phy = <&usb3_1_phy>;
>>> -                               status = "okay";
>>> -                       };
>>> -               };
>>> -
>>> -               bm-bppi {
>>> -                       status = "okay";
>>> -               };
>>> -
>>> -               gpio-fan {
>>> -                       compatible = "gpio-fan";
>>> -                       gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>,
>>> -                               <&gpio1 17 GPIO_ACTIVE_HIGH>,
>>> -                               <&gpio1 16 GPIO_ACTIVE_HIGH>;
>>> -                       gpio-fan,speed-map = <   0 0
>>> -                                             1500 1
>>> -                                             2500 2
>>> -                                             3000 3
>>> -                                             3400 4
>>> -                                             3700 5
>>> -                                             3900 6
>>> -                                             4000 7>;
>>> -                       #cooling-cells = <2>;
>>> -               };
>>> -
>>> -               gpio-leds {
>>> -                       compatible = "gpio-leds";
>>> -
>>> -                       /* The green part is on gpio0.20 which is also used by
>>> -                        * sata0, and accesses to SATA disk 0 make it blink so it
>>> -                        * doesn't need to be declared here.
>>> -                        */
>>> -                       orange {
>>> -                               gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
>>> -                               label = "ds116:orange:disk";
>>> -                               default-state = "off";
>>> -                       };
>>> -               };
>>> -       };
>>> -
>>> -       usb3_0_phy: usb3_0_phy {
>>> -               compatible = "usb-nop-xceiv";
>>> -               vcc-supply = <&reg_usb3_0_vbus>;
>>> -               #phy-cells = <0>;
>>> -       };
>>> -
>>> -       usb3_1_phy: usb3_1_phy {
>>> -               compatible = "usb-nop-xceiv";
>>> -               vcc-supply = <&reg_usb3_1_vbus>;
>>> -               #phy-cells = <0>;
>>> -       };
>>> -
>>> -       reg_usb3_0_vbus: usb3-vbus0 {
>>> -               compatible = "regulator-fixed";
>>> -               regulator-name = "usb3-vbus0";
>>> -               pinctrl-names = "default";
>>> -               pinctrl-0 = <&xhci0_vbus_pins>;
>>> -               regulator-min-microvolt = <5000000>;
>>> -               regulator-max-microvolt = <5000000>;
>>> -               enable-active-high;
>>> -               gpio = <&gpio1 26 GPIO_ACTIVE_HIGH>;
>>> -       };
>>> -
>>> -       reg_usb3_1_vbus: usb3-vbus1 {
>>> -               compatible = "regulator-fixed";
>>> -               regulator-name = "usb3-vbus1";
>>> -               pinctrl-names = "default";
>>> -               pinctrl-0 = <&xhci1_vbus_pins>;
>>> -               regulator-min-microvolt = <5000000>;
>>> -               regulator-max-microvolt = <5000000>;
>>> -               enable-active-high;
>>> -               gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
>>> -       };
>>> -
>>> -       reg_sata0: pwr-sata0 {
>>> -               compatible = "regulator-fixed";
>>> -               regulator-name = "pwr_en_sata0";
>>> -               regulator-min-microvolt = <12000000>;
>>> -               regulator-max-microvolt = <12000000>;
>>> -               enable-active-high;
>>> -               regulator-boot-on;
>>> -               gpio = <&gpio0 15 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 = <&reg_sata0>;
>>> -       };
>>> -
>>> -       reg_12v_sata0: v12-sata0 {
>>> -               compatible = "regulator-fixed";
>>> -               regulator-name = "v12.0-sata0";
>>> -               regulator-min-microvolt = <12000000>;
>>> -               regulator-max-microvolt = <12000000>;
>>> -               vin-supply = <&reg_sata0>;
>>> -       };
>>> -};
>>> -
>>> -&spi0 {
>>> -       pinctrl-names = "default";
>>> -       pinctrl-0 = <&spi0_pins>;
>>> -       status = "okay";
>>> -
>>> -       spi-flash at 0 {
>>> -               #address-cells = <1>;
>>> -               #size-cells = <1>;
>>> -               compatible = "macronix,mx25l6405d", "jedec,spi-nor";
>>> -               reg = <0>; /* Chip select 0 */
>>> -               spi-max-frequency = <50000000>;
>>> -               m25p,fast-read;
>>> -
>>> -               /* Note: there is a redboot partition table despite u-boot
>>> -                * being used. The names presented here are the same as those
>>> -                * found in the FIS directory. There is also a small device
>>> -                * tree in the last 64kB of the RedBoot partition which is not
>>> -                * enumerated. The MAC address and the serial number are listed
>>> -                * in the "vendor" partition.
>>> -                */
>>> -               partition at 0 {
>>> -                       label = "RedBoot";
>>> -                       reg = <0x00000000 0x000f0000>;
>>> -                       read-only;
>>> -               };
>>> -
>>> -               partition at c0000 {
>>> -                       label = "zImage";
>>> -                       reg = <0x000f0000 0x002d0000>;
>>> -               };
>>> -
>>> -               partition at 390000 {
>>> -                       label = "rd.gz";
>>> -                       reg = <0x003c0000 0x00410000>;
>>> -               };
>>> -
>>> -               partition at 7d0000 {
>>> -                       label = "vendor";
>>> -                       reg = <0x007d0000 0x00010000>;
>>> -                       read-only;
>>> -               };
>>> -
>>> -               partition at 7e0000 {
>>> -                       label = "RedBoot config";
>>> -                       reg = <0x007e0000 0x00010000>;
>>> -                       read-only;
>>> -               };
>>> -
>>> -               partition at 7f0000 {
>>> -                       label = "FIS directory";
>>> -                       reg = <0x007f0000 0x00010000>;
>>> -                       read-only;
>>> -               };
>>> -       };
>>> -};
>>> -
>>> -&pinctrl {
>>> -       /* use only one pin for UART1, as mpp20 is used by sata0 */
>>> -       uart1_pins: uart-pins-1 {
>>> -               marvell,pins = "mpp19";
>>> -               marvell,function = "ua1";
>>> -       };
>>> -
>>> -       xhci0_vbus_pins: xhci0_vbus_pins {
>>> -               marvell,pins = "mpp58";
>>> -               marvell,function = "gpio";
>>> -       };
>>> -       xhci1_vbus_pins: xhci1_vbus_pins {
>>> -               marvell,pins = "mpp59";
>>> -               marvell,function = "gpio";
>>> -       };
>>> -};
>>> diff --git a/configs/ds116_defconfig b/configs/ds116_defconfig
>>> index 1fc7380216..bcc5f00fe5 100644
>>> --- a/configs/ds116_defconfig
>>> +++ b/configs/ds116_defconfig
>>> @@ -16,7 +16,7 @@ CONFIG_SF_DEFAULT_SPEED=50000000
>>>   CONFIG_ENV_SIZE=0x10000
>>>   CONFIG_ENV_OFFSET=0x7E0000
>>>   CONFIG_ENV_SECT_SIZE=0x10000
>>> -CONFIG_DEFAULT_DEVICE_TREE="armada-385-synology-ds116"
>>> +CONFIG_DEFAULT_DEVICE_TREE="marvell/armada-385-synology-ds116"
>>>   CONFIG_SPL_TEXT_BASE=0x40000030
>>>   CONFIG_SPL_SERIAL=y
>>>   CONFIG_SPL_STACK=0x4002c000
>>> @@ -56,6 +56,7 @@ CONFIG_CMD_CACHE=y
>>>   CONFIG_CMD_TIME=y
>>>   CONFIG_CMD_MTDPARTS=y
>>>   CONFIG_MTDPARTS_DEFAULT="mtdparts=spi0.0:1m(u-boot),7040k(kernel),64k(u-boot-env),-(data)"
>>> +CONFIG_OF_UPSTREAM=y
>>>   CONFIG_ENV_OVERWRITE=y
>>>   CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>>>   CONFIG_VERSION_VARIABLE=y
>>> --
>>> 2.39.2
>>>

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list