Re: [U-Boot] [PATCH 1/1 v3] arm: mvebu: Add CRS305-1G-4S board

2019-05-06 Thread Stefan Roese



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

2019-05-06 Thread Luka Kovacic
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 =