Re: [U-Boot] [PATCH 1/1 v3] arm: mvebu: Add CRS305-1G-4S board
On 06.05.19 18:35, Luka Kovacic wrote: CRS305-1G-4S has a switch chip with an integrated CPU (98DX3236) and like some of the other similar boards requires bin_hdr. bin_hdr (DDR3 init stage) is currently retrieved from the stock bootloader and compiled into the kwb image. Adds support for U-Boot, enable UART, SPI, Winbond SPI flash chip support and writing env to SPI flash. Signed-off-by: Luka Kovacic --- v1: - arch/arm/dts: Remove unused parameters in DTS for crs305-1g-4s - arch/arm/mach-mvebu: Set the proper processor for crs305-1g-4s (98DX3236) Changes for v2: - board/mikrotik/crs305-1g-4s: Enable CONFIG_DISPLAY_BOARDINFO Changes for v3: - board/mikrotik/crs305-1g-4s: Remove GPIO1 (Reset Button) Thanks, nearly ready to go in. checkpatch reports a few minor issues though: WARNING: line over 80 characters #341: FILE: board/mikrotik/crs305-1g-4s/crs305-1g-4s.c:20: +#define DB_DX_AC3_GPP_OUT_ENA_LOW (~(BIT(0) | BIT(2) | BIT(3) | BIT(4) | BIT(6) | BIT(12) \ WARNING: line over 80 characters #342: FILE: board/mikrotik/crs305-1g-4s/crs305-1g-4s.c:21: + | BIT(13) | BIT(16) | BIT(17) | BIT(20) | BIT(29) | BIT(30))) WARNING: line over 80 characters #344: FILE: board/mikrotik/crs305-1g-4s/crs305-1g-4s.c:23: +#define DB_DX_AC3_GPP_OUT_VAL_LOW (BIT(0) | BIT(2) | BIT(3) | BIT(4) | BIT(6) | BIT(12) \ WARNING: line over 80 characters #345: FILE: board/mikrotik/crs305-1g-4s/crs305-1g-4s.c:24: + | BIT(13) | BIT(16) | BIT(17) | BIT(20) | BIT(29) | BIT(30)) WARNING: Block comments should align the * on each line #360: FILE: board/mikrotik/crs305-1g-4s/crs305-1g-4s.c:39: + /* + * MVEBU_GPIO0_BASE is the User LED Please fix these issues in the next version. Thanks, Stefan arch/arm/dts/Makefile | 3 +- .../dts/armada-xp-crs305-1g-4s-u-boot.dtsi| 13 +++ arch/arm/dts/armada-xp-crs305-1g-4s.dts | 110 ++ arch/arm/mach-mvebu/Kconfig | 7 ++ board/mikrotik/crs305-1g-4s/.gitignore| 1 + board/mikrotik/crs305-1g-4s/MAINTAINERS | 7 ++ board/mikrotik/crs305-1g-4s/Makefile | 14 +++ board/mikrotik/crs305-1g-4s/README| 23 board/mikrotik/crs305-1g-4s/binary.0 | 11 ++ board/mikrotik/crs305-1g-4s/crs305-1g-4s.c| 71 +++ board/mikrotik/crs305-1g-4s/kwbimage.cfg.in | 12 ++ configs/crs305-1g-4s_defconfig| 52 + include/configs/crs305-1g-4s.h| 37 ++ 13 files changed, 360 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/armada-xp-crs305-1g-4s-u-boot.dtsi create mode 100644 arch/arm/dts/armada-xp-crs305-1g-4s.dts create mode 100644 board/mikrotik/crs305-1g-4s/.gitignore create mode 100644 board/mikrotik/crs305-1g-4s/MAINTAINERS create mode 100644 board/mikrotik/crs305-1g-4s/Makefile create mode 100644 board/mikrotik/crs305-1g-4s/README create mode 100644 board/mikrotik/crs305-1g-4s/binary.0 create mode 100644 board/mikrotik/crs305-1g-4s/crs305-1g-4s.c create mode 100644 board/mikrotik/crs305-1g-4s/kwbimage.cfg.in create mode 100644 configs/crs305-1g-4s_defconfig create mode 100644 include/configs/crs305-1g-4s.h diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 8e082f2840..8d73bcb57f 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -162,7 +162,8 @@ dtb-$(CONFIG_ARCH_MVEBU) += \ armada-38x-controlcenterdc.dtb \ armada-385-atl-x530.dtb \ armada-385-atl-x530DP.dtb \ - armada-xp-db-xc3-24g4xg.dtb + armada-xp-db-xc3-24g4xg.dtb \ + armada-xp-crs305-1g-4s.dtb dtb-$(CONFIG_ARCH_UNIPHIER_LD11) += \ uniphier-ld11-global.dtb \ diff --git a/arch/arm/dts/armada-xp-crs305-1g-4s-u-boot.dtsi b/arch/arm/dts/armada-xp-crs305-1g-4s-u-boot.dtsi new file mode 100644 index 00..8576a02730 --- /dev/null +++ b/arch/arm/dts/armada-xp-crs305-1g-4s-u-boot.dtsi @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + + { + u-boot,dm-pre-reloc; +}; + + { + u-boot,dm-pre-reloc; + + spi-flash@0 { + u-boot,dm-pre-reloc; + }; +}; diff --git a/arch/arm/dts/armada-xp-crs305-1g-4s.dts b/arch/arm/dts/armada-xp-crs305-1g-4s.dts new file mode 100644 index 00..1116f5c96c --- /dev/null +++ b/arch/arm/dts/armada-xp-crs305-1g-4s.dts @@ -0,0 +1,110 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for CRS305-1G-4S board + * + * Copyright (C) 2016 Allied Telesis Labs + * + * Based on armada-xp-db.dts + * + * Note: this Device Tree assumes that the bootloader has remapped the + * internal registers to 0xf100 (instead of the default + * 0xd000). The 0xf100 is the default used by the recent, + * DT-capable, U-Boot bootloaders provided by Marvell. Some
[U-Boot] [PATCH 1/1 v3] arm: mvebu: Add CRS305-1G-4S board
CRS305-1G-4S has a switch chip with an integrated CPU (98DX3236) and like some of the other similar boards requires bin_hdr. bin_hdr (DDR3 init stage) is currently retrieved from the stock bootloader and compiled into the kwb image. Adds support for U-Boot, enable UART, SPI, Winbond SPI flash chip support and writing env to SPI flash. Signed-off-by: Luka Kovacic --- v1: - arch/arm/dts: Remove unused parameters in DTS for crs305-1g-4s - arch/arm/mach-mvebu: Set the proper processor for crs305-1g-4s (98DX3236) Changes for v2: - board/mikrotik/crs305-1g-4s: Enable CONFIG_DISPLAY_BOARDINFO Changes for v3: - board/mikrotik/crs305-1g-4s: Remove GPIO1 (Reset Button) arch/arm/dts/Makefile | 3 +- .../dts/armada-xp-crs305-1g-4s-u-boot.dtsi| 13 +++ arch/arm/dts/armada-xp-crs305-1g-4s.dts | 110 ++ arch/arm/mach-mvebu/Kconfig | 7 ++ board/mikrotik/crs305-1g-4s/.gitignore| 1 + board/mikrotik/crs305-1g-4s/MAINTAINERS | 7 ++ board/mikrotik/crs305-1g-4s/Makefile | 14 +++ board/mikrotik/crs305-1g-4s/README| 23 board/mikrotik/crs305-1g-4s/binary.0 | 11 ++ board/mikrotik/crs305-1g-4s/crs305-1g-4s.c| 71 +++ board/mikrotik/crs305-1g-4s/kwbimage.cfg.in | 12 ++ configs/crs305-1g-4s_defconfig| 52 + include/configs/crs305-1g-4s.h| 37 ++ 13 files changed, 360 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/armada-xp-crs305-1g-4s-u-boot.dtsi create mode 100644 arch/arm/dts/armada-xp-crs305-1g-4s.dts create mode 100644 board/mikrotik/crs305-1g-4s/.gitignore create mode 100644 board/mikrotik/crs305-1g-4s/MAINTAINERS create mode 100644 board/mikrotik/crs305-1g-4s/Makefile create mode 100644 board/mikrotik/crs305-1g-4s/README create mode 100644 board/mikrotik/crs305-1g-4s/binary.0 create mode 100644 board/mikrotik/crs305-1g-4s/crs305-1g-4s.c create mode 100644 board/mikrotik/crs305-1g-4s/kwbimage.cfg.in create mode 100644 configs/crs305-1g-4s_defconfig create mode 100644 include/configs/crs305-1g-4s.h diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 8e082f2840..8d73bcb57f 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -162,7 +162,8 @@ dtb-$(CONFIG_ARCH_MVEBU) += \ armada-38x-controlcenterdc.dtb \ armada-385-atl-x530.dtb \ armada-385-atl-x530DP.dtb \ - armada-xp-db-xc3-24g4xg.dtb + armada-xp-db-xc3-24g4xg.dtb \ + armada-xp-crs305-1g-4s.dtb dtb-$(CONFIG_ARCH_UNIPHIER_LD11) += \ uniphier-ld11-global.dtb \ diff --git a/arch/arm/dts/armada-xp-crs305-1g-4s-u-boot.dtsi b/arch/arm/dts/armada-xp-crs305-1g-4s-u-boot.dtsi new file mode 100644 index 00..8576a02730 --- /dev/null +++ b/arch/arm/dts/armada-xp-crs305-1g-4s-u-boot.dtsi @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + + { + u-boot,dm-pre-reloc; +}; + + { + u-boot,dm-pre-reloc; + + spi-flash@0 { + u-boot,dm-pre-reloc; + }; +}; diff --git a/arch/arm/dts/armada-xp-crs305-1g-4s.dts b/arch/arm/dts/armada-xp-crs305-1g-4s.dts new file mode 100644 index 00..1116f5c96c --- /dev/null +++ b/arch/arm/dts/armada-xp-crs305-1g-4s.dts @@ -0,0 +1,110 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for CRS305-1G-4S board + * + * Copyright (C) 2016 Allied Telesis Labs + * + * Based on armada-xp-db.dts + * + * Note: this Device Tree assumes that the bootloader has remapped the + * internal registers to 0xf100 (instead of the default + * 0xd000). The 0xf100 is the default used by the recent, + * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier + * boards were delivered with an older version of the bootloader that + * left internal registers mapped at 0xd000. If you are in this + * situation, you should either update your bootloader (preferred + * solution) or the below Device Tree should be adjusted. + */ + +/dts-v1/; +#include "armada-xp-98dx3236.dtsi" +#include "armada-xp-crs305-1g-4s-u-boot.dtsi" + +/ { + model = "CRS305-1G-4S"; + compatible = "marvell,armadaxp-98dx3236", "marvell,armadaxp-mv78260", "marvell,armadaxp", "marvell,armada-370-xp"; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs = "console=ttyS0,115200 earlyprintk"; + }; + + aliases { + spi0 = + }; + + memory { + device_type = "memory"; + reg = <0 0x 0 0x2000>; /* 512 MB */ + }; +}; + + { + arm,parity-enable; + marvell,ecc-enable; +}; + +_bootcs { + status = "okay"; + + /* Device Bus parameters are required */ + + /* Read parameters */ + devbus,bus-width= <16>; + devbus,turn-off-ps = <6>; + devbus,badr-skew-ps =