]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mvebu: mvebu_armada-8k: Add support for initializing iEi Puzzle-M801 networking
authorLuka Kovacic <luka.kovacic@sartura.hr>
Fri, 28 Aug 2020 22:35:51 +0000 (00:35 +0200)
committerStefan Roese <sr@denx.de>
Wed, 14 Oct 2020 05:55:56 +0000 (07:55 +0200)
Add support for the marvell,armada8040-puzzle-m801 compatible string
in the board/Marvell/mvebu_armada-8k/board.c file to initialize the
networking on iEi Puzzle-M801 board (2x CP1 1 Gb ports).

Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Reviewed-by: Stefan Roese <sr@denx.de>
board/Marvell/mvebu_armada-8k/board.c

index 60b00246307888d3e64440a1ee9510614470a52b..bf8a929ec1e6d2f4c14f41552d72eac4d2bc15aa 100644 (file)
@@ -34,6 +34,17 @@ DECLARE_GLOBAL_DATA_PTR;
 #define I2C_IO_REG_CL          ((1 << I2C_IO_REG_0_USB_H0_CL) | \
                                 (1 << I2C_IO_REG_0_USB_H1_CL))
 
+/*
+ * Information specific to the iEi Puzzle-M801 board.
+ */
+
+/* Internal configuration registers */
+#define CP1_CONF_REG_BASE 0xf4440000
+#define CONF_REG_MPP0 0x0
+#define CONF_REG_MPP1 0x4
+#define CONF_REG_MPP2 0x8
+#define CONF_REG_MPP3 0xC
+
 static int usb_enabled = 0;
 
 /* Board specific xHCI dis-/enable code */
@@ -141,7 +152,14 @@ int board_xhci_enable(fdt_addr_t base)
 
 int board_early_init_f(void)
 {
-       /* Nothing to do (yet), perhaps later some pin-muxing etc */
+       /* Initialize some platform specific memory locations */
+       if (of_machine_is_compatible("marvell,armada8040-puzzle-m801")) {
+               /* MPP setup */
+               writel(0x00444444, CP1_CONF_REG_BASE + CONF_REG_MPP0);
+               writel(0x00000000, CP1_CONF_REG_BASE + CONF_REG_MPP1);
+               writel(0x00000000, CP1_CONF_REG_BASE + CONF_REG_MPP2);
+               writel(0x08888000, CP1_CONF_REG_BASE + CONF_REG_MPP3);
+       }
 
        return 0;
 }