All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4
@ 2021-12-18  4:23 Tony Dinh
  2021-12-18  4:23 ` [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files Tony Dinh
                   ` (7 more replies)
  0 siblings, 8 replies; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r,
	Tony Dinh, Andre Przywara, Christian Hewitt, Fabio Estevam,
	Jagan Teki, Lokesh Vutla, Neil Armstrong, Peter Robinson,
	Tim Harvey


Pogoplug V4 specifications:

Kirkwood 88F6192 SoC
800 MHz CPU
1Gbs Ethernet
128 MB RAM
128 MB NAND
1x USB 2.0
2x USB 3.0 (on PCIe bus)
1 SDHC slot
1x External SATA port (USM enclosure form factor slot)


Tony Dinh (8):
  arm: kirkwood: Pogoplug-V4 : Add DTS files
  arm: kirkwood: Pogoplug V4 : Add board defconfig file
  arm: kirkwood: Pogoplug-V4 : Add Kconfig files
  arm: kirkwood: Pogoplug-V4 : Add board include configs file
  arm: kirkwood: Pogoplug-V4 : Add board kwbimage file
  arm: kirkwood: Pogoplug-V4 : Add board implementation header
  arm: kirkwood: Pogoplug-V4 : Add board implementation
  arm: kirkwood: Pogoplug-V4 : Add board maintainer

 arch/arm/dts/Makefile                   |   1 +
 arch/arm/dts/kirkwood-pogoplug_v4.dts   | 145 +++++++++++++++++
 arch/arm/mach-kirkwood/Kconfig          |   4 +
 board/cloudengines/pogo_v4/Kconfig      |  16 ++
 board/cloudengines/pogo_v4/MAINTAINERS  |   6 +
 board/cloudengines/pogo_v4/Makefile     |  10 ++
 board/cloudengines/pogo_v4/kwbimage.cfg | 148 +++++++++++++++++
 board/cloudengines/pogo_v4/pogo_v4.c    | 204 ++++++++++++++++++++++++
 board/cloudengines/pogo_v4/pogo_v4.h    |  36 +++++
 configs/pogo_v4_defconfig               |  97 +++++++++++
 include/configs/pogo_v4.h               |  94 +++++++++++
 11 files changed, 761 insertions(+)
 create mode 100644 arch/arm/dts/kirkwood-pogoplug_v4.dts
 create mode 100644 board/cloudengines/pogo_v4/Kconfig
 create mode 100644 board/cloudengines/pogo_v4/MAINTAINERS
 create mode 100644 board/cloudengines/pogo_v4/Makefile
 create mode 100644 board/cloudengines/pogo_v4/kwbimage.cfg
 create mode 100644 board/cloudengines/pogo_v4/pogo_v4.c
 create mode 100644 board/cloudengines/pogo_v4/pogo_v4.h
 create mode 100644 configs/pogo_v4_defconfig
 create mode 100644 include/configs/pogo_v4.h

-- 
2.20.1


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files
  2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
@ 2021-12-18  4:23 ` Tony Dinh
  2021-12-18 16:38   ` Andre Przywara
  2021-12-18  4:23 ` [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file Tony Dinh
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r,
	Tony Dinh, Andre Przywara, Christian Hewitt, Fabio Estevam,
	Jagan Teki, Lokesh Vutla, Neil Armstrong, Peter Robinson,
	Tim Harvey

Add DTS files for Pogoplug V4 board

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
---

 arch/arm/dts/Makefile                 |   1 +
 arch/arm/dts/kirkwood-pogoplug_v4.dts | 145 ++++++++++++++++++++++++++
 2 files changed, 146 insertions(+)
 create mode 100644 arch/arm/dts/kirkwood-pogoplug_v4.dts

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 7f622fedbd..716c6c0ed2 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -68,6 +68,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += \
 	kirkwood-openrd-client.dtb \
 	kirkwood-openrd-ultimate.dtb \
 	kirkwood-pogo_e02.dtb \
+	kirkwood-pogoplug_v4.dtb \
 	kirkwood-sheevaplug.dtb
 
 dtb-$(CONFIG_MACH_S900) += \
diff --git a/arch/arm/dts/kirkwood-pogoplug_v4.dts b/arch/arm/dts/kirkwood-pogoplug_v4.dts
new file mode 100644
index 0000000000..b4754f600e
--- /dev/null
+++ b/arch/arm/dts/kirkwood-pogoplug_v4.dts
@@ -0,0 +1,145 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
+ *
+ * Device tree file for the Pogoplug V4/Mobile
+ *
+ */
+
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6192.dtsi"
+
+/ {
+	model = "Pogoplug v4";
+	compatible = "cloudengines,pogoplug-v4", "cloudengines,pogoplug-mobile",
+		"marvell,kirkwood-88f6192", "marvell,kirkwood";
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x8000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200";
+		stdout-path = &uart0;
+	};
+
+	ocp@f1000000 {
+		pinctrl: pin-controller@10000 {
+			pmx_led_green: pmx-led-green {
+				marvell,pins = "mpp22";
+				marvell,function = "gpio";
+			};
+			pmx_led_red: pmx-led-red {
+				marvell,pins = "mpp24";
+				marvell,function = "gpio";
+			};
+			pmx_button_eject: pmx-button-eject {
+				marvell,pins = "mpp29";
+				marvell,function = "gpio";
+			};
+		};
+
+		serial@12000 {
+			status = "ok";
+		};
+
+		sata@80000 {
+			status = "okay";
+			nr-ports = <2>;
+		};
+
+		mvsdio@90000 {
+			pinctrl-0 = <&pmx_sdio>;
+			pinctrl-names = "default";
+			status = "okay";
+			cd-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
+			/* No WP GPIO */
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		pinctrl-0 = <&pmx_led_red &pmx_led_green>;
+		pinctrl-names = "default";
+
+		health {
+			label = "status:green:health";
+			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+		};
+		fault {
+			label = "status:red:fault";
+			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pmx_button_eject>;
+		pinctrl-names = "default";
+
+		button@1 {
+			label = "Eject Button";
+			linux,code = <KEY_EJECTCD>;
+			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+};
+
+&nand {
+	status = "okay";
+
+	partition@0 {
+		label = "u-boot";
+		reg = <0x0000000 0x200000>;
+	};
+
+	partition@200000 {
+		label = "uImage";
+		reg = <0x200000 0x300000>;
+	};
+
+	partition@500000 {
+		label = "uImage2";
+		reg = <0x500000 0x300000>;
+	};
+
+	partition@800000 {
+		label = "failsafe";
+		reg = <0x800000 0x800000>;
+	};
+
+	partition@1000000 {
+		label = "root";
+		reg = <0x1000000 0x7000000>;
+	};
+};
+
+&mdio {
+	status = "okay";
+
+	ethphy0: ethernet-phy@0 {
+		reg = <0>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+	ethernet0-port@0 {
+		phy-handle = <&ethphy0>;
+	};
+};
+
+&pciec {
+	status = "okay";
+};
+
+&pcie0 {
+	status = "okay";
+};
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file
  2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
  2021-12-18  4:23 ` [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files Tony Dinh
@ 2021-12-18  4:23 ` Tony Dinh
  2021-12-18 13:17   ` Pali Rohár
  2021-12-18  4:23 ` [PATCH 3/8] arm: kirkwood: Pogoplug-V4 : Add Kconfig files Tony Dinh
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r, Tony Dinh

Add board defconfig file for Pogoplug V4 board

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
---

 configs/pogo_v4_defconfig | 97 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)
 create mode 100644 configs/pogo_v4_defconfig

diff --git a/configs/pogo_v4_defconfig b/configs/pogo_v4_defconfig
new file mode 100644
index 0000000000..b183c9c46f
--- /dev/null
+++ b/configs/pogo_v4_defconfig
@@ -0,0 +1,97 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# (C) Copyright 2017-2021 Tony Dinh <mibodhi@gmail.com>
+#
+CONFIG_ARM=y
+CONFIG_SKIP_LOWLEVEL_INIT=y
+CONFIG_SYS_DCACHE_OFF=y
+CONFIG_ARCH_CPU_INIT=y
+CONFIG_SYS_THUMB_BUILD=y
+CONFIG_ARCH_KIRKWOOD=y
+CONFIG_SYS_TEXT_BASE=0x600000
+CONFIG_TARGET_POGO_V4=y
+CONFIG_ENV_SIZE=0x20000
+CONFIG_ENV_OFFSET=0xC0000
+CONFIG_DEFAULT_DEVICE_TREE="kirkwood-pogoplug_v4"
+CONFIG_BOOTDELAY=10
+CONFIG_BOOTSTAGE=y
+CONFIG_SHOW_BOOT_PROGRESS=y
+CONFIG_USE_PREBOOT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="Pogo_V4> "
+CONFIG_IDENT_STRING="\nPogoplug V4"
+CONFIG_SYS_LOAD_ADDR=0x800000
+CONFIG_VERSION_VARIABLE=y
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SETEXPR=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_JFFS2=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_CMD_MTDPARTS=y
+CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)"
+CONFIG_MTDIDS_DEFAULT="nand0=orion_nand"
+CONFIG_CMD_UBI=y
+CONFIG_ISO_PARTITION=y
+CONFIG_EFI_PARTITION=y
+CONFIG_PARTITION_UUIDS=y
+CONFIG_PARTITION_TYPE_GUID=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_IS_IN_NAND=y
+CONFIG_SYS_NS16550=y
+CONFIG_USB=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_OF_LIBFDT=y
+CONFIG_CMD_FDT=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_NETCONSOLE=y
+CONFIG_MTD=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_CMD_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_DEVICE=y
+CONFIG_NET=y
+CONFIG_NETDEVICES=y
+CONFIG_MVGBE=y
+CONFIG_MII=y
+CONFIG_DM=y
+CONFIG_DM_USB=y
+CONFIG_OF_CONTROL=y
+CONFIG_DM_ETH=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_BLK=y
+CONFIG_CMD_SATA=y
+CONFIG_SATA_MV=y
+CONFIG_DM_MMC=y
+CONFIG_MVEBU_MMC=y
+CONFIG_CMD_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_MVEBU=y
+CONFIG_PCI_PNP=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_PCI=y
+CONFIG_BOARD_LATE_INIT=y
+#
+# RTC emulation
+#
+CONFIG_CMD_DATE=y
+CONFIG_PROT_UDP=y
+CONFIG_CMD_SNTP=y
+CONFIG_CMD_DNS=y
+CONFIG_DM_RTC=y
+CONFIG_RTC_EMULATION=y
+#
+# Turn off unused capabilities to save space
+#
+# CONFIG_BOOTM_PLAN9 is not set
+# CONFIG_BOOTM_RTEMS is not set
+# CONFIG_BOOTM_VXWORKS is not set
+# CONFIG_MMC_HW_PARTITIONING is not set
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 3/8] arm: kirkwood: Pogoplug-V4 : Add Kconfig files
  2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
  2021-12-18  4:23 ` [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files Tony Dinh
  2021-12-18  4:23 ` [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file Tony Dinh
@ 2021-12-18  4:23 ` Tony Dinh
  2021-12-18  4:23 ` [PATCH 4/8] arm: kirkwood: Pogoplug-V4 : Add board include configs file Tony Dinh
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r, Tony Dinh

Add Kconfig files for Pogoplug V4 board

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
---

 arch/arm/mach-kirkwood/Kconfig     |  4 ++++
 board/cloudengines/pogo_v4/Kconfig | 16 ++++++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 board/cloudengines/pogo_v4/Kconfig

diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index cb4e9f29ef..e8ea4a9956 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -25,6 +25,9 @@ config TARGET_LSXL
 config TARGET_POGO_E02
 	bool "pogo_e02 Board"
 
+config TARGET_POGO_V4
+	bool "Pogoplug V4 Board"
+
 config TARGET_DNS325
 	bool "dns325 Board"
 
@@ -74,6 +77,7 @@ source "board/Marvell/guruplug/Kconfig"
 source "board/Marvell/sheevaplug/Kconfig"
 source "board/buffalo/lsxl/Kconfig"
 source "board/cloudengines/pogo_e02/Kconfig"
+source "board/cloudengines/pogo_v4/Kconfig"
 source "board/d-link/dns325/Kconfig"
 source "board/iomega/iconnect/Kconfig"
 source "board/keymile/Kconfig"
diff --git a/board/cloudengines/pogo_v4/Kconfig b/board/cloudengines/pogo_v4/Kconfig
new file mode 100644
index 0000000000..db3b76b4d4
--- /dev/null
+++ b/board/cloudengines/pogo_v4/Kconfig
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# (C) Copyright 2014-2021 Tony Dinh <mibodhi@gmail.com>
+#
+if TARGET_POGO_V4
+
+config SYS_BOARD
+	default "pogo_v4"
+
+config SYS_VENDOR
+	default "cloudengines"
+
+config SYS_CONFIG_NAME
+	default "pogo_v4"
+
+endif
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 4/8] arm: kirkwood: Pogoplug-V4 : Add board include configs file
  2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
                   ` (2 preceding siblings ...)
  2021-12-18  4:23 ` [PATCH 3/8] arm: kirkwood: Pogoplug-V4 : Add Kconfig files Tony Dinh
@ 2021-12-18  4:23 ` Tony Dinh
  2021-12-18 13:12   ` Pali Rohár
  2021-12-18  4:23 ` [PATCH 5/8] arm: kirkwood: Pogoplug-V4 : Add board kwbimage file Tony Dinh
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r, Tony Dinh

Add include configs file for Pogoplug V4 board

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
---

 include/configs/pogo_v4.h | 94 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)
 create mode 100644 include/configs/pogo_v4.h

diff --git a/include/configs/pogo_v4.h b/include/configs/pogo_v4.h
new file mode 100644
index 0000000000..b449986e8c
--- /dev/null
+++ b/include/configs/pogo_v4.h
@@ -0,0 +1,94 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
+ *
+ * Based on
+ * Copyright (C) 2012
+ * David Purdy <david.c.purdy@gmail.com>
+ *
+ * Based on Kirkwood support:
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
+ */
+
+#ifndef _CONFIG_POGO_V4_H
+#define _CONFIG_POGO_V4_H
+
+/*
+ * Machine type definition and ID
+ */
+#define MACH_TYPE_POGO_V4		3960
+#define CONFIG_MACH_TYPE		MACH_TYPE_POGO_V4
+
+/*
+ * High Level Configuration Options (easy to change)
+ */
+#define CONFIG_FEROCEON_88FR131		/* #define CPU Core subversion */
+#define CONFIG_KW88F6192		/* SOC Name */
+
+/*
+ * Commands configuration
+ */
+#define CONFIG_SYS_NO_FLASH		/* Declare no flash (NOR/SPI) */
+#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
+
+/*
+ * mv-common.h should be defined after CMD configs since it used them
+ * to enable certain macros
+ */
+#include "mv-common.h"
+
+/*
+ * Default environment variables
+ */
+#define CONFIG_BOOTCOMMAND \
+	"setenv bootargs $(bootargs_console); " \
+	"run bootcmd_usb; " \
+	"bootm 0x00800000 0x01100000 0x2c00000"
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	"dtb_file=/boot/dts/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
+	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0"\
+	"mtdids=nand0=orion_nand\0"\
+	"bootargs_console=console=ttyS0,115200\0" \
+	"bootcmd_usb=usb start; load usb 0:1 0x00800000 /boot/uImage; " \
+	"load usb 0:1 0x01100000 /boot/uInitrd; " \
+	"load usb 0:1 0x2c00000 $dtb_file\0"
+
+/*
+ * Ethernet Driver configuration
+ */
+#ifdef CONFIG_CMD_NET
+#define CONFIG_FEATURE_COMMAND_EDITING	/* for netconsole */
+#define CONFIG_MVGBE_PORTS	{1, 0}	/* enable port 0 only */
+#define CONFIG_PHY_BASE_ADR	0
+#endif /* CONFIG_CMD_NET */
+
+/*
+ * File system
+ */
+#ifdef CONFIG_CMD_JFFS2
+#define CONFIG_JFFS2_NAND
+#define CONFIG_JFFS2_LZO
+#endif /* CONFIG_CMD_JFFS2 */
+
+/*
+ *  SATA Driver configuration
+ */
+#ifdef CONFIG_SATA
+#define CONFIG_SYS_SATA_MAX_DEVICE	1
+#endif /* CONFIG_SATA */
+
+/*
+ * Support large disk for SATA and USB
+ */
+#define CONFIG_SYS_64BIT_LBA
+#define CONFIG_LBA48
+
+/*
+ * Kirkwood GPIO
+ */
+#define CONFIG_KIRKWOOD_GPIO
+
+#endif /* _CONFIG_POGO_V4_H */
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 5/8] arm: kirkwood: Pogoplug-V4 : Add board kwbimage file
  2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
                   ` (3 preceding siblings ...)
  2021-12-18  4:23 ` [PATCH 4/8] arm: kirkwood: Pogoplug-V4 : Add board include configs file Tony Dinh
@ 2021-12-18  4:23 ` Tony Dinh
  2021-12-18  4:23 ` [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header Tony Dinh
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r, Tony Dinh

Add board kwbimage file for Pogoplug V4 board

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
---

 board/cloudengines/pogo_v4/kwbimage.cfg | 148 ++++++++++++++++++++++++
 1 file changed, 148 insertions(+)
 create mode 100644 board/cloudengines/pogo_v4/kwbimage.cfg

diff --git a/board/cloudengines/pogo_v4/kwbimage.cfg b/board/cloudengines/pogo_v4/kwbimage.cfg
new file mode 100644
index 0000000000..f6294fe313
--- /dev/null
+++ b/board/cloudengines/pogo_v4/kwbimage.cfg
@@ -0,0 +1,148 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (C) 2012
+# David Purdy <david.c.purdy@gmail.com>
+#
+# Based on Kirkwood support:
+# (C) Copyright 2009
+# Marvell Semiconductor <www.marvell.com>
+# Written-by: Prafulla Wadaskar <prafulla <at> marvell.com>
+
+# Boot Media configurations   (DONE)
+BOOT_FROM	nand
+NAND_ECC_MODE	default
+NAND_PAGE_SIZE	0x0800
+
+# SOC registers configuration using bootrom header extension
+# Maximum KWBIMAGE_MAX_CONFIG configurations allowed
+
+# Configure RGMII-0 interface pad voltage to 1.8V (SHOULD BE SAME)
+DATA 0xffd100e0 0x1b1b1b9b
+
+#Dram initalization for SINGLE x16 CL=3 @ 200MHz   (need CL=3 @ 200MHz?)
+DATA 0xffd01400 0x43000618	# DDR Configuration register
+# bit13-0:  0x200 (200 DDR2 clks refresh rate)
+# bit23-14: zero
+# bit24: 1= enable exit self refresh mode on DDR access
+# bit25: 1 required
+# bit29-26: zero
+# bit31-30: 01
+
+DATA 0xffd01404 0x34143000	# DDR Controller Control Low
+# bit 4:    0=addr/cmd in smame cycle
+# bit 5:    0=clk is driven during self refresh, we don't care for APX
+# bit 6:    0=use recommended falling edge of clk for addr/cmd
+# bit14:    0=input buffer always powered up
+# bit18:    1=cpu lock transaction enabled
+# bit23-20: 3=recommended value for CL=3 and STARTBURST_DEL disabled bit31=0
+# bit27-24: 6= CL+3, STARTBURST sample stages, for freqs 400MHz, unbuffered DIMM
+# bit30-28: 3 required
+# bit31:    0=no additional STARTBURST delay
+
+DATA 0xffd01408 0x11012227	# DDR Timing (Low) (active cycles value +1)
+# bit3-0:   TRAS lsbs
+# bit7-4:   TRCD
+# bit11- 8: TRP
+# bit15-12: TWR
+# bit19-16: TWTR
+# bit20:    TRAS msb
+# bit23-21: 0x0
+# bit27-24: TRRD
+# bit31-28: TRTP
+
+DATA 0xffd0140c 0x00000819	#  DDR Timing (High)
+# bit6-0:   TRFC
+# bit8-7:   TR2R
+# bit10-9:  TR2W
+# bit12-11: TW2W
+# bit31-13: zero required
+
+DATA 0xffd01410 0x00000001	#  DDR Address Control  (changed to Dockstar vals)
+# bit1-0:   00, Cs0width=x16
+# bit3-2:   10, Cs0size=512Mb
+# bit5-4:   00, Cs2width=nonexistent
+# bit7-6:   00, Cs1size =nonexistent
+# bit9-8:   00, Cs2width=nonexistent
+# bit11-10: 00, Cs2size =nonexistent
+# bit13-12: 00, Cs3width=nonexistent
+# bit15-14: 00, Cs3size =nonexistent
+# bit16:    0,  Cs0AddrSel
+# bit17:    0,  Cs1AddrSel
+# bit18:    0,  Cs2AddrSel
+# bit19:    0,  Cs3AddrSel
+# bit31-20: 0 required
+
+DATA 0xffd01414 0x00000000	#  DDR Open Pages Control
+# bit0:    0,  OpenPage enabled
+# bit31-1: 0 required
+
+DATA 0xffd01418 0x00000000	#  DDR Operation
+# bit3-0:   0x0, DDR cmd
+# bit31-4:  0 required
+
+DATA 0xffd0141c 0x00000632	#  DDR Mode
+# bit2-0:   2, BurstLen=2 required
+# bit3:     0, BurstType=0 required
+# bit6-4:   4, CL=5				(<===== change to CL=3 ?)
+# bit7:     0, TestMode=0 normal
+# bit8:     0, DLL reset=0 normal
+# bit11-9:  6, auto-precharge write recovery ????????????
+# bit12:    0, PD must be zero
+# bit31-13: 0 required
+
+DATA 0xffd01420 0x00000040	#  DDR Extended Mode
+# bit0:    0,  DDR DLL enabled
+# bit1:    0,  DDR drive strenght normal
+# bit2:    0,  DDR ODT control lsd (disabled)
+# bit5-3:  000, required
+# bit6:    1,  DDR ODT control msb, (disabled)
+# bit9-7:  000, required
+# bit10:   0,  differential DQS enabled
+# bit11:   0, required
+# bit12:   0, DDR output buffer enabled
+# bit31-13: 0 required
+
+DATA 0xffd01424 0x0000F07F	#  DDR Controller Control High
+# bit2-0:  111, required
+# bit3  :  1  , MBUS Burst Chop disabled
+# bit6-4:  111, required
+# bit7  :  0
+# bit8  :  0  , no sample stage
+# bit9  :  0  , no half clock cycle addition to dataout
+# bit10 :  0  , 1/4 clock cycle skew enabled for addr/ctl signals
+# bit11 :  0  , 1/4 clock cycle skew disabled for write mesh
+# bit15-12: 1111 required
+# bit31-16: 0    required
+
+DATA 0xffd01428 0x00085520	# DDR2 ODT Read Timing (default values)
+DATA 0xffd0147c 0x00008552	# DDR2 ODT Write Timing (default values)
+
+DATA 0xFFD01500 0x00000000	# CS[0]n Base address to 0x0
+DATA 0xFFD01504 0x07FFFFF1	# CS[0]n Size
+# bit0:    1,  Window enabled
+# bit1:    0,  Write Protect disabled
+# bit3-2:  00, CS0 hit selected
+# bit23-4: ones, required
+# bit31-24: 0x07, Size (i.e. 128MB)
+
+DATA 0xFFD0150C 0x00000000	# CS[1]n Size, window disabled
+DATA 0xFFD01514 0x00000000	# CS[2]n Size, window disabled
+DATA 0xFFD0151C 0x00000000	# CS[3]n Size, window disabled
+
+DATA 0xffd01494 0x00030000	#  DDR ODT Control (Low)		 (DONE)
+# bit3-0:  2, ODT0Rd, MODT[0] asserted during read from DRAM CS1
+# bit7-4:  1, ODT0Rd, MODT[0] asserted during read from DRAM CS0
+# bit19-16:2, ODT0Wr, MODT[0] asserted during write to DRAM CS1
+# bit23-20:1, ODT0Wr, MODT[0] asserted during write to DRAM CS0
+
+DATA 0xffd01498 0x00000000	#  DDR ODT Control (High)  (DONE)
+# bit1-0:  00, ODT0 controlled by ODT Control (low) register above
+# bit3-2:  01, ODT1 active NEVER!
+# bit31-4: zero, required
+
+DATA 0xffd0149c 0x0000e803	# CPU ODT Control	 (DONE)
+DATA 0xffd01480 0x00000001	# DDR Initialization Control	 (DONE)
+#bit0=1, enable DDR init upon this register write
+
+# End of Header extension
+DATA 0x0 0x0
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header
  2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
                   ` (4 preceding siblings ...)
  2021-12-18  4:23 ` [PATCH 5/8] arm: kirkwood: Pogoplug-V4 : Add board kwbimage file Tony Dinh
@ 2021-12-18  4:23 ` Tony Dinh
  2021-12-18 13:09   ` Pali Rohár
  2021-12-18  4:23 ` [PATCH 7/8] arm: kirkwood: Pogoplug-V4 : Add board implementation Tony Dinh
  2021-12-18  4:23 ` [PATCH 8/8] arm: kirkwood: Pogoplug-V4 : Add board maintainer Tony Dinh
  7 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r, Tony Dinh

Add board implementation header and Makefile for Pogoplug V4

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
---

 board/cloudengines/pogo_v4/Makefile  | 10 ++++++++
 board/cloudengines/pogo_v4/pogo_v4.h | 36 ++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 board/cloudengines/pogo_v4/Makefile
 create mode 100644 board/cloudengines/pogo_v4/pogo_v4.h

diff --git a/board/cloudengines/pogo_v4/Makefile b/board/cloudengines/pogo_v4/Makefile
new file mode 100644
index 0000000000..511bf5ff7e
--- /dev/null
+++ b/board/cloudengines/pogo_v4/Makefile
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# (C) Copyright 2014-2021 Tony Dinh <mibodhi@gmail.com>
+#
+# Based on
+# Marvell Semiconductor <www.marvell.com>
+# Written-by: Prafulla Wadaskar <prafulla@marvell.com>
+#
+
+obj-y	:= pogo_v4.o
diff --git a/board/cloudengines/pogo_v4/pogo_v4.h b/board/cloudengines/pogo_v4/pogo_v4.h
new file mode 100644
index 0000000000..bf3060de60
--- /dev/null
+++ b/board/cloudengines/pogo_v4/pogo_v4.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
+ *
+ * Based on
+ * Copyright (C) 2012 David Purdy <david.c.purdy@gmail.com>
+ *
+ * Based on Kirkwood support:
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
+ */
+
+#ifndef __POGO_V4_H
+#define __POGO_V4_H
+
+#include <linux/bitops.h>
+
+/* GPIO configuration */
+#define POGO_V4_OE_LOW				(~(0))
+#define POGO_V4_OE_HIGH				(~(0))
+#define POGO_V4_OE_VAL_LOW			BIT(29)
+#define POGO_V4_OE_VAL_HIGH			0
+
+/* PHY related */
+#define MV88E1116_LED_FCTRL_REG			10
+#define MV88E1116_CPRSP_CR3_REG			21
+#define MV88E1116_MAC_CTRL_REG			21
+#define MV88E1116_PGADR_REG			22
+#define MV88E1116_RGMII_TXTM_CTRL		BIT(4)
+#define MV88E1116_RGMII_RXTM_CTRL		BIT(5)
+
+/* button */
+#define BTN_EJECT				29
+
+#endif /* __POGO_V4_H */
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 7/8] arm: kirkwood: Pogoplug-V4 : Add board implementation
  2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
                   ` (5 preceding siblings ...)
  2021-12-18  4:23 ` [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header Tony Dinh
@ 2021-12-18  4:23 ` Tony Dinh
  2021-12-18 22:59   ` Marek Behún
  2021-12-18  4:23 ` [PATCH 8/8] arm: kirkwood: Pogoplug-V4 : Add board maintainer Tony Dinh
  7 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r, Tony Dinh

Add board implementation for Pogoplug V4

Note: currently the fdt_get_phy_addr function in this file is
duplicate in this board and many other Kirkwood boards
(eg. Sheevaplug, GoFlex Home, etc.). This function is being
factored out into common area by another patch. And because it
was written for flattree only, the patch is being rewritten to
use livetree calls.

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
---

 board/cloudengines/pogo_v4/pogo_v4.c | 204 +++++++++++++++++++++++++++
 1 file changed, 204 insertions(+)
 create mode 100644 board/cloudengines/pogo_v4/pogo_v4.c

diff --git a/board/cloudengines/pogo_v4/pogo_v4.c b/board/cloudengines/pogo_v4/pogo_v4.c
new file mode 100644
index 0000000000..55fc9d69e4
--- /dev/null
+++ b/board/cloudengines/pogo_v4/pogo_v4.c
@@ -0,0 +1,204 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
+ *
+ * Based on
+ * Copyright (C) 2012 David Purdy <david.c.purdy@gmail.com>
+ *
+ * Based on Kirkwood support:
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
+ */
+
+#include <common.h>
+#include <miiphy.h>
+#include <asm/arch/cpu.h>
+#include <asm/arch/soc.h>
+#include <asm/arch/mpp.h>
+#include <asm/io.h>
+#include "pogo_v4.h"
+#include <asm/arch/gpio.h>
+#include <asm/mach-types.h>
+#include <bootstage.h>
+#include <command.h>
+#include <init.h>
+#include "pogo_v4.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int board_early_init_f(void)
+{
+	/*
+	 * default gpio configuration
+	 * There are maximum 64 gpios controlled through 2 sets of registers
+	 * the  below configuration configures mainly initial LED status
+	 */
+	mvebu_config_gpio(POGO_V4_OE_VAL_LOW,
+			  POGO_V4_OE_VAL_HIGH,
+			  POGO_V4_OE_LOW, POGO_V4_OE_HIGH);
+
+	/* Multi-Purpose Pins Functionality configuration */
+	u32 kwmpp_config[] = {
+		MPP0_NF_IO2,
+		MPP1_NF_IO3,
+		MPP2_NF_IO4,
+		MPP3_NF_IO5,
+		MPP4_NF_IO6,
+		MPP5_NF_IO7,
+		MPP6_SYSRST_OUTn,
+		MPP7_GPO,
+		MPP8_TW_SDA,
+		MPP9_TW_SCK,
+		MPP10_UART0_TXD,
+		MPP11_UART0_RXD,
+		MPP12_SD_CLK,
+		MPP13_SD_CMD,
+		MPP14_SD_D0,
+		MPP15_SD_D1,
+		MPP16_SD_D2,
+		MPP17_SD_D3,
+		MPP18_NF_IO0,
+		MPP19_NF_IO1,
+		MPP20_SATA1_ACTn,
+		MPP21_SATA0_ACTn,
+		MPP22_GPIO,	/* Green LED */
+		MPP23_GPIO,
+		MPP24_GPIO,	/* Red LED */
+		MPP25_GPIO,
+		MPP26_GPIO,
+		MPP27_GPIO,
+		MPP28_GPIO,
+		MPP29_GPIO,	/* Eject button */
+		MPP30_GPIO,
+		MPP31_GPIO,
+		MPP32_GPIO,
+		MPP33_GPIO,
+		MPP34_GPIO,
+		MPP35_GPIO,	/* FR6192 has only 36 GPIOs */
+		0
+	};
+	kirkwood_mpp_conf(kwmpp_config, NULL);
+
+	return 0;
+}
+
+int board_late_init(void)
+{
+	/* Do late init to ensure successful enumeration of XHCI devices */
+	pci_init();
+	return 0;
+}
+
+int board_init(void)
+{
+	/* Boot parameters address */
+	gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100;
+
+	return 0;
+}
+
+int fdt_get_phy_addr(const char *path)
+{
+	const void *fdt = gd->fdt_blob;
+	const u32 *reg;
+	const u32 *val;
+	int node, phandle, addr;
+
+	/* Find the node by its full path */
+	node = fdt_path_offset(fdt, path);
+	if (node >= 0) {
+		/* Look up phy-handle */
+		val = fdt_getprop(fdt, node, "phy-handle", NULL);
+		if (!val) {
+			/* Look up phy (deprecated property for phy handle) */
+			val = fdt_getprop(fdt, node, "phy", NULL);
+		}
+		if (val) {
+			phandle = fdt32_to_cpu(*val);
+			if (!phandle)
+				return -FDT_ERR_NOTFOUND;
+
+			/* Follow it to its node */
+			node = fdt_node_offset_by_phandle(fdt, phandle);
+			if (node) {
+				/* Look up reg */
+				reg = fdt_getprop(fdt, node, "reg", NULL);
+				if (reg) {
+					addr = fdt32_to_cpu(*reg);
+					return addr;
+				}
+			}
+		}
+	}
+	return -FDT_ERR_NOTFOUND;
+}
+
+#if defined(CONFIG_RESET_PHY_R)
+/* Configure and initialize PHY */
+void reset_phy(void)
+{
+	u16 reg;
+	int phyaddr;
+	char *name = "ethernet-controller@72000";
+	char *eth0_path = "/ocp@f1000000/ethernet-controller@72000";
+
+	if (miiphy_set_current_dev(name))
+		return;
+
+	phyaddr = fdt_get_phy_addr(eth0_path);
+	if (phyaddr < 0)
+		return;
+
+	/*
+	 * Enable RGMII delay on Tx and Rx for CPU port
+	 * Ref: sec 4.7.2 of chip datasheet
+	 */
+	miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 2);
+	miiphy_read(name, phyaddr, MV88E1116_MAC_CTRL_REG, &reg);
+	reg |= (MV88E1116_RGMII_RXTM_CTRL | MV88E1116_RGMII_TXTM_CTRL);
+	miiphy_write(name, phyaddr, MV88E1116_MAC_CTRL_REG, reg);
+	miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 0);
+
+	/* reset the phy */
+	miiphy_reset(name, phyaddr);
+
+	printf("88E1116 Initialized on %s\n", name);
+}
+#endif /* CONFIG_RESET_PHY_R */
+
+#if CONFIG_IS_ENABLED(BOOTSTAGE)
+#define GREEN_LED	BIT(22)
+#define RED_LED		BIT(24)
+#define BOTH_LEDS	(GREEN_LED | RED_LED)
+#define NEITHER_LED	0
+
+static void set_leds(u32 leds, u32 blinking)
+{
+	struct kwgpio_registers *r;
+	u32 oe;
+	u32 bl;
+
+	r = (struct kwgpio_registers *)MVEBU_GPIO0_BASE;
+	oe = readl(&r->oe) | BOTH_LEDS;
+	writel(oe & ~leds, &r->oe);	/* active low */
+	bl = readl(&r->blink_en) & ~BOTH_LEDS;
+	writel(bl | blinking, &r->blink_en);
+}
+
+void show_boot_progress(int val)
+{
+	switch (val) {
+	case BOOTSTAGE_ID_RUN_OS:		/* booting Linux */
+		set_leds(BOTH_LEDS, NEITHER_LED);
+		break;
+	case BOOTSTAGE_ID_NET_ETH_START:	/* Ethernet initialization */
+		set_leds(GREEN_LED, GREEN_LED);
+		break;
+	default:
+		if (val < 0)	/* error */
+			set_leds(RED_LED, RED_LED);
+		break;
+	}
+}
+#endif
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 8/8] arm: kirkwood: Pogoplug-V4 : Add board maintainer
  2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
                   ` (6 preceding siblings ...)
  2021-12-18  4:23 ` [PATCH 7/8] arm: kirkwood: Pogoplug-V4 : Add board implementation Tony Dinh
@ 2021-12-18  4:23 ` Tony Dinh
  7 siblings, 0 replies; 26+ messages in thread
From: Tony Dinh @ 2021-12-18  4:23 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese
  Cc: David Purdy, Tom Rini, Marek Beh�n, Pali Roh�r, Tony Dinh

Add board maintainer for Pogoplug V4 board

Signed-off-by: Tony Dinh <mibodhi@gmail.com>
---

 board/cloudengines/pogo_v4/MAINTAINERS | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100644 board/cloudengines/pogo_v4/MAINTAINERS

diff --git a/board/cloudengines/pogo_v4/MAINTAINERS b/board/cloudengines/pogo_v4/MAINTAINERS
new file mode 100644
index 0000000000..35fd7858b7
--- /dev/null
+++ b/board/cloudengines/pogo_v4/MAINTAINERS
@@ -0,0 +1,6 @@
+POGO_V4 BOARD
+M:	Tony Dinh <mibodhi@gmail.com>
+S:	Maintained
+F:	board/cloudengines/pogo_v4/
+F:	include/configs/pogo_v4.h
+F:	configs/pogo_v4_defconfig
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header
  2021-12-18  4:23 ` [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header Tony Dinh
@ 2021-12-18 13:09   ` Pali Rohár
  2021-12-18 21:47     ` Tony Dinh
  0 siblings, 1 reply; 26+ messages in thread
From: Pali Rohár @ 2021-12-18 13:09 UTC (permalink / raw)
  To: Tony Dinh
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh�n

On Friday 17 December 2021 20:23:32 Tony Dinh wrote:
> Add board implementation header and Makefile for Pogoplug V4
> 
> Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> ---
> 
>  board/cloudengines/pogo_v4/Makefile  | 10 ++++++++
>  board/cloudengines/pogo_v4/pogo_v4.h | 36 ++++++++++++++++++++++++++++
>  2 files changed, 46 insertions(+)
>  create mode 100644 board/cloudengines/pogo_v4/Makefile
>  create mode 100644 board/cloudengines/pogo_v4/pogo_v4.h
> 
> diff --git a/board/cloudengines/pogo_v4/Makefile b/board/cloudengines/pogo_v4/Makefile
> new file mode 100644
> index 0000000000..511bf5ff7e
> --- /dev/null
> +++ b/board/cloudengines/pogo_v4/Makefile
> @@ -0,0 +1,10 @@
> +# SPDX-License-Identifier: GPL-2.0+
> +#
> +# (C) Copyright 2014-2021 Tony Dinh <mibodhi@gmail.com>
> +#
> +# Based on
> +# Marvell Semiconductor <www.marvell.com>
> +# Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> +#
> +
> +obj-y	:= pogo_v4.o
> diff --git a/board/cloudengines/pogo_v4/pogo_v4.h b/board/cloudengines/pogo_v4/pogo_v4.h
> new file mode 100644
> index 0000000000..bf3060de60
> --- /dev/null
> +++ b/board/cloudengines/pogo_v4/pogo_v4.h
> @@ -0,0 +1,36 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> + *
> + * Based on
> + * Copyright (C) 2012 David Purdy <david.c.purdy@gmail.com>
> + *
> + * Based on Kirkwood support:
> + * (C) Copyright 2009
> + * Marvell Semiconductor <www.marvell.com>
> + * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> + */
> +
> +#ifndef __POGO_V4_H
> +#define __POGO_V4_H
> +
> +#include <linux/bitops.h>
> +
> +/* GPIO configuration */
> +#define POGO_V4_OE_LOW				(~(0))
> +#define POGO_V4_OE_HIGH				(~(0))
> +#define POGO_V4_OE_VAL_LOW			BIT(29)
> +#define POGO_V4_OE_VAL_HIGH			0
> +
> +/* PHY related */
> +#define MV88E1116_LED_FCTRL_REG			10
> +#define MV88E1116_CPRSP_CR3_REG			21
> +#define MV88E1116_MAC_CTRL_REG			21
> +#define MV88E1116_PGADR_REG			22
> +#define MV88E1116_RGMII_TXTM_CTRL		BIT(4)
> +#define MV88E1116_RGMII_RXTM_CTRL		BIT(5)
> +
> +/* button */
> +#define BTN_EJECT				29
> +
> +#endif /* __POGO_V4_H */

Hello! As this pogo_v4.h include file is used only in pogo_v4.c source
file and contains only few defines, you can move all these defines
directly into pogo_v4.c source file. There is no need to export these
constants if they are not used by other files or modules.

> -- 
> 2.20.1
> 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 4/8] arm: kirkwood: Pogoplug-V4 : Add board include configs file
  2021-12-18  4:23 ` [PATCH 4/8] arm: kirkwood: Pogoplug-V4 : Add board include configs file Tony Dinh
@ 2021-12-18 13:12   ` Pali Rohár
  2021-12-18 21:27     ` Tony Dinh
  0 siblings, 1 reply; 26+ messages in thread
From: Pali Rohár @ 2021-12-18 13:12 UTC (permalink / raw)
  To: Tony Dinh
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh�n

On Friday 17 December 2021 20:23:30 Tony Dinh wrote:
> Add include configs file for Pogoplug V4 board
> 
> Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> ---
> 
>  include/configs/pogo_v4.h | 94 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 94 insertions(+)
>  create mode 100644 include/configs/pogo_v4.h
> 
> diff --git a/include/configs/pogo_v4.h b/include/configs/pogo_v4.h
> new file mode 100644
> index 0000000000..b449986e8c
> --- /dev/null
> +++ b/include/configs/pogo_v4.h
> @@ -0,0 +1,94 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> + *
> + * Based on
> + * Copyright (C) 2012
> + * David Purdy <david.c.purdy@gmail.com>
> + *
> + * Based on Kirkwood support:
> + * (C) Copyright 2009
> + * Marvell Semiconductor <www.marvell.com>
> + * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> + */
> +
> +#ifndef _CONFIG_POGO_V4_H
> +#define _CONFIG_POGO_V4_H
> +
> +/*
> + * Machine type definition and ID
> + */
> +#define MACH_TYPE_POGO_V4		3960
> +#define CONFIG_MACH_TYPE		MACH_TYPE_POGO_V4
> +
> +/*
> + * High Level Configuration Options (easy to change)
> + */
> +#define CONFIG_FEROCEON_88FR131		/* #define CPU Core subversion */
> +#define CONFIG_KW88F6192		/* SOC Name */
> +
> +/*
> + * Commands configuration
> + */
> +#define CONFIG_SYS_NO_FLASH		/* Declare no flash (NOR/SPI) */
> +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
> +
> +/*
> + * mv-common.h should be defined after CMD configs since it used them
> + * to enable certain macros
> + */
> +#include "mv-common.h"
> +
> +/*
> + * Default environment variables
> + */
> +#define CONFIG_BOOTCOMMAND \
> +	"setenv bootargs $(bootargs_console); " \
> +	"run bootcmd_usb; " \
> +	"bootm 0x00800000 0x01100000 0x2c00000"
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> +	"dtb_file=/boot/dts/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
> +	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0"\
> +	"mtdids=nand0=orion_nand\0"\
> +	"bootargs_console=console=ttyS0,115200\0" \
> +	"bootcmd_usb=usb start; load usb 0:1 0x00800000 /boot/uImage; " \
> +	"load usb 0:1 0x01100000 /boot/uInitrd; " \
> +	"load usb 0:1 0x2c00000 $dtb_file\0"

Have you tried to use new standard distroboot? It generates standard
boot commands, so there is no need to specify them manually with
hardcoded addresses.

> +
> +/*
> + * Ethernet Driver configuration
> + */
> +#ifdef CONFIG_CMD_NET
> +#define CONFIG_FEATURE_COMMAND_EDITING	/* for netconsole */
> +#define CONFIG_MVGBE_PORTS	{1, 0}	/* enable port 0 only */
> +#define CONFIG_PHY_BASE_ADR	0
> +#endif /* CONFIG_CMD_NET */
> +
> +/*
> + * File system
> + */
> +#ifdef CONFIG_CMD_JFFS2
> +#define CONFIG_JFFS2_NAND
> +#define CONFIG_JFFS2_LZO
> +#endif /* CONFIG_CMD_JFFS2 */
> +
> +/*
> + *  SATA Driver configuration
> + */
> +#ifdef CONFIG_SATA
> +#define CONFIG_SYS_SATA_MAX_DEVICE	1
> +#endif /* CONFIG_SATA */
> +
> +/*
> + * Support large disk for SATA and USB
> + */
> +#define CONFIG_SYS_64BIT_LBA
> +#define CONFIG_LBA48
> +
> +/*
> + * Kirkwood GPIO
> + */
> +#define CONFIG_KIRKWOOD_GPIO
> +
> +#endif /* _CONFIG_POGO_V4_H */
> -- 
> 2.20.1
> 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file
  2021-12-18  4:23 ` [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file Tony Dinh
@ 2021-12-18 13:17   ` Pali Rohár
  2021-12-18 21:41     ` Tony Dinh
  0 siblings, 1 reply; 26+ messages in thread
From: Pali Rohár @ 2021-12-18 13:17 UTC (permalink / raw)
  To: Tony Dinh
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh�n

On Friday 17 December 2021 20:23:28 Tony Dinh wrote:
> Add board defconfig file for Pogoplug V4 board
> 
> Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> ---
> 
>  configs/pogo_v4_defconfig | 97 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 97 insertions(+)
>  create mode 100644 configs/pogo_v4_defconfig
> 
> diff --git a/configs/pogo_v4_defconfig b/configs/pogo_v4_defconfig
> new file mode 100644
> index 0000000000..b183c9c46f
> --- /dev/null
> +++ b/configs/pogo_v4_defconfig
> @@ -0,0 +1,97 @@
> +# SPDX-License-Identifier: GPL-2.0+
> +#
> +# (C) Copyright 2017-2021 Tony Dinh <mibodhi@gmail.com>
> +#
> +CONFIG_ARM=y
> +CONFIG_SKIP_LOWLEVEL_INIT=y
> +CONFIG_SYS_DCACHE_OFF=y
> +CONFIG_ARCH_CPU_INIT=y
> +CONFIG_SYS_THUMB_BUILD=y
> +CONFIG_ARCH_KIRKWOOD=y
> +CONFIG_SYS_TEXT_BASE=0x600000
> +CONFIG_TARGET_POGO_V4=y
> +CONFIG_ENV_SIZE=0x20000
> +CONFIG_ENV_OFFSET=0xC0000
> +CONFIG_DEFAULT_DEVICE_TREE="kirkwood-pogoplug_v4"
> +CONFIG_BOOTDELAY=10
> +CONFIG_BOOTSTAGE=y
> +CONFIG_SHOW_BOOT_PROGRESS=y
> +CONFIG_USE_PREBOOT=y
> +CONFIG_HUSH_PARSER=y
> +CONFIG_SYS_PROMPT="Pogo_V4> "
> +CONFIG_IDENT_STRING="\nPogoplug V4"
> +CONFIG_SYS_LOAD_ADDR=0x800000
> +CONFIG_VERSION_VARIABLE=y
> +# CONFIG_CMD_FLASH is not set
> +CONFIG_CMD_SETEXPR=y
> +CONFIG_CMD_NAND=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_DHCP=y
> +CONFIG_CMD_MII=y
> +CONFIG_CMD_PING=y
> +CONFIG_CMD_EXT2=y
> +CONFIG_CMD_EXT4=y
> +CONFIG_CMD_FAT=y
> +CONFIG_CMD_JFFS2=y
> +CONFIG_CMD_FS_GENERIC=y
> +CONFIG_CMD_MTDPARTS=y
> +CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)"
> +CONFIG_MTDIDS_DEFAULT="nand0=orion_nand"
> +CONFIG_CMD_UBI=y
> +CONFIG_ISO_PARTITION=y
> +CONFIG_EFI_PARTITION=y
> +CONFIG_PARTITION_UUIDS=y
> +CONFIG_PARTITION_TYPE_GUID=y
> +CONFIG_ENV_OVERWRITE=y
> +CONFIG_ENV_IS_IN_NAND=y
> +CONFIG_SYS_NS16550=y
> +CONFIG_USB=y
> +CONFIG_USB_STORAGE=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_OF_LIBFDT=y
> +CONFIG_CMD_FDT=y
> +CONFIG_CMD_BOOTZ=y
> +CONFIG_NETCONSOLE=y
> +CONFIG_MTD=y
> +CONFIG_MTD_RAW_NAND=y
> +CONFIG_CMD_MTD=y
> +CONFIG_MTD_PARTITIONS=y
> +CONFIG_MTD_DEVICE=y
> +CONFIG_NET=y
> +CONFIG_NETDEVICES=y
> +CONFIG_MVGBE=y
> +CONFIG_MII=y
> +CONFIG_DM=y
> +CONFIG_DM_USB=y
> +CONFIG_OF_CONTROL=y
> +CONFIG_DM_ETH=y
> +CONFIG_NET_RANDOM_ETHADDR=y
> +CONFIG_BLK=y
> +CONFIG_CMD_SATA=y
> +CONFIG_SATA_MV=y
> +CONFIG_DM_MMC=y
> +CONFIG_MVEBU_MMC=y
> +CONFIG_CMD_PCI=y
> +CONFIG_PCI=y
> +CONFIG_PCI_MVEBU=y
> +CONFIG_PCI_PNP=y
> +CONFIG_USB_XHCI_HCD=y
> +CONFIG_USB_XHCI_PCI=y
> +CONFIG_BOARD_LATE_INIT=y
> +#
> +# RTC emulation
> +#
> +CONFIG_CMD_DATE=y
> +CONFIG_PROT_UDP=y
> +CONFIG_CMD_SNTP=y
> +CONFIG_CMD_DNS=y
> +CONFIG_DM_RTC=y
> +CONFIG_RTC_EMULATION=y
> +#
> +# Turn off unused capabilities to save space
> +#
> +# CONFIG_BOOTM_PLAN9 is not set
> +# CONFIG_BOOTM_RTEMS is not set
> +# CONFIG_BOOTM_VXWORKS is not set
> +# CONFIG_MMC_HW_PARTITIONING is not set
> -- 
> 2.20.1
> 

Hello! Please regenerate this defconfig file to its canonical form. You
can do it by commands:

  make pogo_v4_defconfig
  make savedefconfig
  mv defconfig configs/pogo_v4_defconfig

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files
  2021-12-18  4:23 ` [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files Tony Dinh
@ 2021-12-18 16:38   ` Andre Przywara
  2021-12-18 22:05     ` Tony Dinh
  0 siblings, 1 reply; 26+ messages in thread
From: Andre Przywara @ 2021-12-18 16:38 UTC (permalink / raw)
  To: Tony Dinh
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh_n, Pali Roh_r, Christian Hewitt, Fabio Estevam,
	Jagan Teki, Lokesh Vutla, Neil Armstrong, Peter Robinson,
	Tim Harvey

On Fri, 17 Dec 2021 20:23:27 -0800
Tony Dinh <mibodhi@gmail.com> wrote:

Hi,

> Add DTS files for Pogoplug V4 board

is there any reason you didn't take the kirkwood-pogoplug-series-4.dts
file from the Linux tree? That is the same device, isn't it?

Tom will ask you about the upstream status anyway...

Cheers,
Andre

> 
> Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> ---
> 
>  arch/arm/dts/Makefile                 |   1 +
>  arch/arm/dts/kirkwood-pogoplug_v4.dts | 145 ++++++++++++++++++++++++++
>  2 files changed, 146 insertions(+)
>  create mode 100644 arch/arm/dts/kirkwood-pogoplug_v4.dts
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 7f622fedbd..716c6c0ed2 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -68,6 +68,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += \
>  	kirkwood-openrd-client.dtb \
>  	kirkwood-openrd-ultimate.dtb \
>  	kirkwood-pogo_e02.dtb \
> +	kirkwood-pogoplug_v4.dtb \
>  	kirkwood-sheevaplug.dtb
>  
>  dtb-$(CONFIG_MACH_S900) += \
> diff --git a/arch/arm/dts/kirkwood-pogoplug_v4.dts b/arch/arm/dts/kirkwood-pogoplug_v4.dts
> new file mode 100644
> index 0000000000..b4754f600e
> --- /dev/null
> +++ b/arch/arm/dts/kirkwood-pogoplug_v4.dts
> @@ -0,0 +1,145 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> + *
> + * Device tree file for the Pogoplug V4/Mobile
> + *
> + */
> +
> +/dts-v1/;
> +
> +#include "kirkwood.dtsi"
> +#include "kirkwood-6192.dtsi"
> +
> +/ {
> +	model = "Pogoplug v4";
> +	compatible = "cloudengines,pogoplug-v4", "cloudengines,pogoplug-mobile",
> +		"marvell,kirkwood-88f6192", "marvell,kirkwood";
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0x00000000 0x8000000>;
> +	};
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200";
> +		stdout-path = &uart0;
> +	};
> +
> +	ocp@f1000000 {
> +		pinctrl: pin-controller@10000 {
> +			pmx_led_green: pmx-led-green {
> +				marvell,pins = "mpp22";
> +				marvell,function = "gpio";
> +			};
> +			pmx_led_red: pmx-led-red {
> +				marvell,pins = "mpp24";
> +				marvell,function = "gpio";
> +			};
> +			pmx_button_eject: pmx-button-eject {
> +				marvell,pins = "mpp29";
> +				marvell,function = "gpio";
> +			};
> +		};
> +
> +		serial@12000 {
> +			status = "ok";
> +		};
> +
> +		sata@80000 {
> +			status = "okay";
> +			nr-ports = <2>;
> +		};
> +
> +		mvsdio@90000 {
> +			pinctrl-0 = <&pmx_sdio>;
> +			pinctrl-names = "default";
> +			status = "okay";
> +			cd-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
> +			/* No WP GPIO */
> +		};
> +	};
> +
> +	gpio-leds {
> +		compatible = "gpio-leds";
> +		pinctrl-0 = <&pmx_led_red &pmx_led_green>;
> +		pinctrl-names = "default";
> +
> +		health {
> +			label = "status:green:health";
> +			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
> +			default-state = "keep";
> +		};
> +		fault {
> +			label = "status:red:fault";
> +			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	gpio_keys {
> +		compatible = "gpio-keys";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		pinctrl-0 = <&pmx_button_eject>;
> +		pinctrl-names = "default";
> +
> +		button@1 {
> +			label = "Eject Button";
> +			linux,code = <KEY_EJECTCD>;
> +			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +};
> +
> +&nand {
> +	status = "okay";
> +
> +	partition@0 {
> +		label = "u-boot";
> +		reg = <0x0000000 0x200000>;
> +	};
> +
> +	partition@200000 {
> +		label = "uImage";
> +		reg = <0x200000 0x300000>;
> +	};
> +
> +	partition@500000 {
> +		label = "uImage2";
> +		reg = <0x500000 0x300000>;
> +	};
> +
> +	partition@800000 {
> +		label = "failsafe";
> +		reg = <0x800000 0x800000>;
> +	};
> +
> +	partition@1000000 {
> +		label = "root";
> +		reg = <0x1000000 0x7000000>;
> +	};
> +};
> +
> +&mdio {
> +	status = "okay";
> +
> +	ethphy0: ethernet-phy@0 {
> +		reg = <0>;
> +	};
> +};
> +
> +&eth0 {
> +	status = "okay";
> +	ethernet0-port@0 {
> +		phy-handle = <&ethphy0>;
> +	};
> +};
> +
> +&pciec {
> +	status = "okay";
> +};
> +
> +&pcie0 {
> +	status = "okay";
> +};


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 4/8] arm: kirkwood: Pogoplug-V4 : Add board include configs file
  2021-12-18 13:12   ` Pali Rohár
@ 2021-12-18 21:27     ` Tony Dinh
  0 siblings, 0 replies; 26+ messages in thread
From: Tony Dinh @ 2021-12-18 21:27 UTC (permalink / raw)
  To: Pali Rohár
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh�n

Hi Pali,

On Sat, Dec 18, 2021 at 5:12 AM Pali Rohár <pali@kernel.org> wrote:
>
> On Friday 17 December 2021 20:23:30 Tony Dinh wrote:
> > Add include configs file for Pogoplug V4 board
> >
> > Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> > ---
> >
> >  include/configs/pogo_v4.h | 94 +++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 94 insertions(+)
> >  create mode 100644 include/configs/pogo_v4.h
> >
> > diff --git a/include/configs/pogo_v4.h b/include/configs/pogo_v4.h
> > new file mode 100644
> > index 0000000000..b449986e8c
> > --- /dev/null
> > +++ b/include/configs/pogo_v4.h
> > @@ -0,0 +1,94 @@
> > +/* SPDX-License-Identifier: GPL-2.0+ */
> > +/*
> > + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> > + *
> > + * Based on
> > + * Copyright (C) 2012
> > + * David Purdy <david.c.purdy@gmail.com>
> > + *
> > + * Based on Kirkwood support:
> > + * (C) Copyright 2009
> > + * Marvell Semiconductor <www.marvell.com>
> > + * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> > + */
> > +
> > +#ifndef _CONFIG_POGO_V4_H
> > +#define _CONFIG_POGO_V4_H
> > +
> > +/*
> > + * Machine type definition and ID
> > + */
> > +#define MACH_TYPE_POGO_V4            3960
> > +#define CONFIG_MACH_TYPE             MACH_TYPE_POGO_V4
> > +
> > +/*
> > + * High Level Configuration Options (easy to change)
> > + */
> > +#define CONFIG_FEROCEON_88FR131              /* #define CPU Core subversion */
> > +#define CONFIG_KW88F6192             /* SOC Name */
> > +
> > +/*
> > + * Commands configuration
> > + */
> > +#define CONFIG_SYS_NO_FLASH          /* Declare no flash (NOR/SPI) */
> > +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
> > +
> > +/*
> > + * mv-common.h should be defined after CMD configs since it used them
> > + * to enable certain macros
> > + */
> > +#include "mv-common.h"
> > +
> > +/*
> > + * Default environment variables
> > + */
> > +#define CONFIG_BOOTCOMMAND \
> > +     "setenv bootargs $(bootargs_console); " \
> > +     "run bootcmd_usb; " \
> > +     "bootm 0x00800000 0x01100000 0x2c00000"
> > +
> > +#define CONFIG_EXTRA_ENV_SETTINGS \
> > +     "dtb_file=/boot/dts/" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
> > +     "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0"\
> > +     "mtdids=nand0=orion_nand\0"\
> > +     "bootargs_console=console=ttyS0,115200\0" \
> > +     "bootcmd_usb=usb start; load usb 0:1 0x00800000 /boot/uImage; " \
> > +     "load usb 0:1 0x01100000 /boot/uInitrd; " \
> > +     "load usb 0:1 0x2c00000 $dtb_file\0"
>
> Have you tried to use new standard distroboot? It generates standard
> boot commands, so there is no need to specify them manually with
> hardcoded addresses.

This was the old style that we've been using for many years. Since
Simon has introduced the approach of using board envs text file, I'd
prefer to keep the default envs the same for now, because it will be
moved out to text file and revised anyway.

Thanks,
Tony
>
> > +
> > +/*
> > + * Ethernet Driver configuration
> > + */
> > +#ifdef CONFIG_CMD_NET
> > +#define CONFIG_FEATURE_COMMAND_EDITING       /* for netconsole */
> > +#define CONFIG_MVGBE_PORTS   {1, 0}  /* enable port 0 only */
> > +#define CONFIG_PHY_BASE_ADR  0
> > +#endif /* CONFIG_CMD_NET */
> > +
> > +/*
> > + * File system
> > + */
> > +#ifdef CONFIG_CMD_JFFS2
> > +#define CONFIG_JFFS2_NAND
> > +#define CONFIG_JFFS2_LZO
> > +#endif /* CONFIG_CMD_JFFS2 */
> > +
> > +/*
> > + *  SATA Driver configuration
> > + */
> > +#ifdef CONFIG_SATA
> > +#define CONFIG_SYS_SATA_MAX_DEVICE   1
> > +#endif /* CONFIG_SATA */
> > +
> > +/*
> > + * Support large disk for SATA and USB
> > + */
> > +#define CONFIG_SYS_64BIT_LBA
> > +#define CONFIG_LBA48
> > +
> > +/*
> > + * Kirkwood GPIO
> > + */
> > +#define CONFIG_KIRKWOOD_GPIO
> > +
> > +#endif /* _CONFIG_POGO_V4_H */
> > --
> > 2.20.1
> >

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file
  2021-12-18 13:17   ` Pali Rohár
@ 2021-12-18 21:41     ` Tony Dinh
  2021-12-20  7:18       ` Stefan Roese
  0 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18 21:41 UTC (permalink / raw)
  To: Pali Rohár
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh�n

Hi Pali,

On Sat, Dec 18, 2021 at 5:17 AM Pali Rohár <pali@kernel.org> wrote:
>
> On Friday 17 December 2021 20:23:28 Tony Dinh wrote:
> > Add board defconfig file for Pogoplug V4 board
> >
> > Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> > ---
> >
> >  configs/pogo_v4_defconfig | 97 +++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 97 insertions(+)
> >  create mode 100644 configs/pogo_v4_defconfig
> >
> > diff --git a/configs/pogo_v4_defconfig b/configs/pogo_v4_defconfig
> > new file mode 100644
> > index 0000000000..b183c9c46f
> > --- /dev/null
> > +++ b/configs/pogo_v4_defconfig
> > @@ -0,0 +1,97 @@
> > +# SPDX-License-Identifier: GPL-2.0+
> > +#
> > +# (C) Copyright 2017-2021 Tony Dinh <mibodhi@gmail.com>
> > +#
> > +CONFIG_ARM=y
> > +CONFIG_SKIP_LOWLEVEL_INIT=y
> > +CONFIG_SYS_DCACHE_OFF=y
> > +CONFIG_ARCH_CPU_INIT=y
> > +CONFIG_SYS_THUMB_BUILD=y
> > +CONFIG_ARCH_KIRKWOOD=y
> > +CONFIG_SYS_TEXT_BASE=0x600000
> > +CONFIG_TARGET_POGO_V4=y
> > +CONFIG_ENV_SIZE=0x20000
> > +CONFIG_ENV_OFFSET=0xC0000
> > +CONFIG_DEFAULT_DEVICE_TREE="kirkwood-pogoplug_v4"
> > +CONFIG_BOOTDELAY=10
> > +CONFIG_BOOTSTAGE=y
> > +CONFIG_SHOW_BOOT_PROGRESS=y
> > +CONFIG_USE_PREBOOT=y
> > +CONFIG_HUSH_PARSER=y
> > +CONFIG_SYS_PROMPT="Pogo_V4> "
> > +CONFIG_IDENT_STRING="\nPogoplug V4"
> > +CONFIG_SYS_LOAD_ADDR=0x800000
> > +CONFIG_VERSION_VARIABLE=y
> > +# CONFIG_CMD_FLASH is not set
> > +CONFIG_CMD_SETEXPR=y
> > +CONFIG_CMD_NAND=y
> > +CONFIG_CMD_MMC=y
> > +CONFIG_CMD_USB=y
> > +CONFIG_CMD_DHCP=y
> > +CONFIG_CMD_MII=y
> > +CONFIG_CMD_PING=y
> > +CONFIG_CMD_EXT2=y
> > +CONFIG_CMD_EXT4=y
> > +CONFIG_CMD_FAT=y
> > +CONFIG_CMD_JFFS2=y
> > +CONFIG_CMD_FS_GENERIC=y
> > +CONFIG_CMD_MTDPARTS=y
> > +CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)"
> > +CONFIG_MTDIDS_DEFAULT="nand0=orion_nand"
> > +CONFIG_CMD_UBI=y
> > +CONFIG_ISO_PARTITION=y
> > +CONFIG_EFI_PARTITION=y
> > +CONFIG_PARTITION_UUIDS=y
> > +CONFIG_PARTITION_TYPE_GUID=y
> > +CONFIG_ENV_OVERWRITE=y
> > +CONFIG_ENV_IS_IN_NAND=y
> > +CONFIG_SYS_NS16550=y
> > +CONFIG_USB=y
> > +CONFIG_USB_STORAGE=y
> > +CONFIG_USB_EHCI_HCD=y
> > +CONFIG_OF_LIBFDT=y
> > +CONFIG_CMD_FDT=y
> > +CONFIG_CMD_BOOTZ=y
> > +CONFIG_NETCONSOLE=y
> > +CONFIG_MTD=y
> > +CONFIG_MTD_RAW_NAND=y
> > +CONFIG_CMD_MTD=y
> > +CONFIG_MTD_PARTITIONS=y
> > +CONFIG_MTD_DEVICE=y
> > +CONFIG_NET=y
> > +CONFIG_NETDEVICES=y
> > +CONFIG_MVGBE=y
> > +CONFIG_MII=y
> > +CONFIG_DM=y
> > +CONFIG_DM_USB=y
> > +CONFIG_OF_CONTROL=y
> > +CONFIG_DM_ETH=y
> > +CONFIG_NET_RANDOM_ETHADDR=y
> > +CONFIG_BLK=y
> > +CONFIG_CMD_SATA=y
> > +CONFIG_SATA_MV=y
> > +CONFIG_DM_MMC=y
> > +CONFIG_MVEBU_MMC=y
> > +CONFIG_CMD_PCI=y
> > +CONFIG_PCI=y
> > +CONFIG_PCI_MVEBU=y
> > +CONFIG_PCI_PNP=y
> > +CONFIG_USB_XHCI_HCD=y
> > +CONFIG_USB_XHCI_PCI=y
> > +CONFIG_BOARD_LATE_INIT=y
> > +#
> > +# RTC emulation
> > +#
> > +CONFIG_CMD_DATE=y
> > +CONFIG_PROT_UDP=y
> > +CONFIG_CMD_SNTP=y
> > +CONFIG_CMD_DNS=y
> > +CONFIG_DM_RTC=y
> > +CONFIG_RTC_EMULATION=y
> > +#
> > +# Turn off unused capabilities to save space
> > +#
> > +# CONFIG_BOOTM_PLAN9 is not set
> > +# CONFIG_BOOTM_RTEMS is not set
> > +# CONFIG_BOOTM_VXWORKS is not set
> > +# CONFIG_MMC_HW_PARTITIONING is not set
> > --
> > 2.20.1
> >
>
> Hello! Please regenerate this defconfig file to its canonical form. You
> can do it by commands:
>
>   make pogo_v4_defconfig
>   make savedefconfig
>   mv defconfig configs/pogo_v4_defconfig

Yes, it's a bit harder to read, but it should be done.

Thanks,
Tony

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header
  2021-12-18 13:09   ` Pali Rohár
@ 2021-12-18 21:47     ` Tony Dinh
  2021-12-20  7:23       ` Stefan Roese
  0 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18 21:47 UTC (permalink / raw)
  To: Pali Rohár
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh�n

Hi Pali,

On Sat, Dec 18, 2021 at 5:09 AM Pali Rohár <pali@kernel.org> wrote:
>
> On Friday 17 December 2021 20:23:32 Tony Dinh wrote:
> > Add board implementation header and Makefile for Pogoplug V4
> >
> > Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> > ---
> >
> >  board/cloudengines/pogo_v4/Makefile  | 10 ++++++++
> >  board/cloudengines/pogo_v4/pogo_v4.h | 36 ++++++++++++++++++++++++++++
> >  2 files changed, 46 insertions(+)
> >  create mode 100644 board/cloudengines/pogo_v4/Makefile
> >  create mode 100644 board/cloudengines/pogo_v4/pogo_v4.h
> >
> > diff --git a/board/cloudengines/pogo_v4/Makefile b/board/cloudengines/pogo_v4/Makefile
> > new file mode 100644
> > index 0000000000..511bf5ff7e
> > --- /dev/null
> > +++ b/board/cloudengines/pogo_v4/Makefile
> > @@ -0,0 +1,10 @@
> > +# SPDX-License-Identifier: GPL-2.0+
> > +#
> > +# (C) Copyright 2014-2021 Tony Dinh <mibodhi@gmail.com>
> > +#
> > +# Based on
> > +# Marvell Semiconductor <www.marvell.com>
> > +# Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> > +#
> > +
> > +obj-y        := pogo_v4.o
> > diff --git a/board/cloudengines/pogo_v4/pogo_v4.h b/board/cloudengines/pogo_v4/pogo_v4.h
> > new file mode 100644
> > index 0000000000..bf3060de60
> > --- /dev/null
> > +++ b/board/cloudengines/pogo_v4/pogo_v4.h
> > @@ -0,0 +1,36 @@
> > +/* SPDX-License-Identifier: GPL-2.0+ */
> > +/*
> > + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> > + *
> > + * Based on
> > + * Copyright (C) 2012 David Purdy <david.c.purdy@gmail.com>
> > + *
> > + * Based on Kirkwood support:
> > + * (C) Copyright 2009
> > + * Marvell Semiconductor <www.marvell.com>
> > + * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> > + */
> > +
> > +#ifndef __POGO_V4_H
> > +#define __POGO_V4_H
> > +
> > +#include <linux/bitops.h>
> > +
> > +/* GPIO configuration */
> > +#define POGO_V4_OE_LOW                               (~(0))
> > +#define POGO_V4_OE_HIGH                              (~(0))
> > +#define POGO_V4_OE_VAL_LOW                   BIT(29)
> > +#define POGO_V4_OE_VAL_HIGH                  0
> > +
> > +/* PHY related */
> > +#define MV88E1116_LED_FCTRL_REG                      10
> > +#define MV88E1116_CPRSP_CR3_REG                      21
> > +#define MV88E1116_MAC_CTRL_REG                       21
> > +#define MV88E1116_PGADR_REG                  22
> > +#define MV88E1116_RGMII_TXTM_CTRL            BIT(4)
> > +#define MV88E1116_RGMII_RXTM_CTRL            BIT(5)
> > +
> > +/* button */
> > +#define BTN_EJECT                            29
> > +
> > +#endif /* __POGO_V4_H */
>
> Hello! As this pogo_v4.h include file is used only in pogo_v4.c source
> file and contains only few defines, you can move all these defines
> directly into pogo_v4.c source file. There is no need to export these
> constants if they are not used by other files or modules.

Sure, but that'll make the .c file harder to read? We've been using
the .h file since the old days, I think mostly for readability. This
is a small header file, but for some other boards, the header file is
quite large.

Thanks,
Tony

> > --
> > 2.20.1
> >

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files
  2021-12-18 16:38   ` Andre Przywara
@ 2021-12-18 22:05     ` Tony Dinh
  2021-12-19  0:03       ` Andre Przywara
  0 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18 22:05 UTC (permalink / raw)
  To: Andre Przywara
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh_n, Pali Roh_r, Christian Hewitt, Fabio Estevam,
	Jagan Teki, Lokesh Vutla, Neil Armstrong, Peter Robinson,
	Tim Harvey

HI Andre,

On Sat, Dec 18, 2021 at 8:38 AM Andre Przywara <andre.przywara@arm.com> wrote:
>
> On Fri, 17 Dec 2021 20:23:27 -0800
> Tony Dinh <mibodhi@gmail.com> wrote:
>
> Hi,
>
> > Add DTS files for Pogoplug V4 board
>
> is there any reason you didn't take the kirkwood-pogoplug-series-4.dts
> file from the Linux tree? That is the same device, isn't it?
>
> Tom will ask you about the upstream status anyway...

There were some differences that I dislike about the Linux tree
version. Such as the NAND mtd0 is read-only, but we store the envs in
mtd0 (a few blocks after the u-boot image). It seems we both created
this DTS about the same time back then in early 2010's using the same
source as a base. Both versions are identical in substance, but the
node placements are different.

I'm not familiar with the thinking here. If we take the Linux upstream
version, are we allowed to modify it? please advise.

Thanks,
Tony

> Cheers,
> Andre
>
> >
> > Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> > ---
> >
> >  arch/arm/dts/Makefile                 |   1 +
> >  arch/arm/dts/kirkwood-pogoplug_v4.dts | 145 ++++++++++++++++++++++++++
> >  2 files changed, 146 insertions(+)
> >  create mode 100644 arch/arm/dts/kirkwood-pogoplug_v4.dts
> >
> > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > index 7f622fedbd..716c6c0ed2 100644
> > --- a/arch/arm/dts/Makefile
> > +++ b/arch/arm/dts/Makefile
> > @@ -68,6 +68,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += \
> >       kirkwood-openrd-client.dtb \
> >       kirkwood-openrd-ultimate.dtb \
> >       kirkwood-pogo_e02.dtb \
> > +     kirkwood-pogoplug_v4.dtb \
> >       kirkwood-sheevaplug.dtb
> >
> >  dtb-$(CONFIG_MACH_S900) += \
> > diff --git a/arch/arm/dts/kirkwood-pogoplug_v4.dts b/arch/arm/dts/kirkwood-pogoplug_v4.dts
> > new file mode 100644
> > index 0000000000..b4754f600e
> > --- /dev/null
> > +++ b/arch/arm/dts/kirkwood-pogoplug_v4.dts
> > @@ -0,0 +1,145 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> > + *
> > + * Device tree file for the Pogoplug V4/Mobile
> > + *
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "kirkwood.dtsi"
> > +#include "kirkwood-6192.dtsi"
> > +
> > +/ {
> > +     model = "Pogoplug v4";
> > +     compatible = "cloudengines,pogoplug-v4", "cloudengines,pogoplug-mobile",
> > +             "marvell,kirkwood-88f6192", "marvell,kirkwood";
> > +
> > +     memory {
> > +             device_type = "memory";
> > +             reg = <0x00000000 0x8000000>;
> > +     };
> > +
> > +     chosen {
> > +             bootargs = "console=ttyS0,115200";
> > +             stdout-path = &uart0;
> > +     };
> > +
> > +     ocp@f1000000 {
> > +             pinctrl: pin-controller@10000 {
> > +                     pmx_led_green: pmx-led-green {
> > +                             marvell,pins = "mpp22";
> > +                             marvell,function = "gpio";
> > +                     };
> > +                     pmx_led_red: pmx-led-red {
> > +                             marvell,pins = "mpp24";
> > +                             marvell,function = "gpio";
> > +                     };
> > +                     pmx_button_eject: pmx-button-eject {
> > +                             marvell,pins = "mpp29";
> > +                             marvell,function = "gpio";
> > +                     };
> > +             };
> > +
> > +             serial@12000 {
> > +                     status = "ok";
> > +             };
> > +
> > +             sata@80000 {
> > +                     status = "okay";
> > +                     nr-ports = <2>;
> > +             };
> > +
> > +             mvsdio@90000 {
> > +                     pinctrl-0 = <&pmx_sdio>;
> > +                     pinctrl-names = "default";
> > +                     status = "okay";
> > +                     cd-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
> > +                     /* No WP GPIO */
> > +             };
> > +     };
> > +
> > +     gpio-leds {
> > +             compatible = "gpio-leds";
> > +             pinctrl-0 = <&pmx_led_red &pmx_led_green>;
> > +             pinctrl-names = "default";
> > +
> > +             health {
> > +                     label = "status:green:health";
> > +                     gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
> > +                     default-state = "keep";
> > +             };
> > +             fault {
> > +                     label = "status:red:fault";
> > +                     gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
> > +             };
> > +     };
> > +
> > +     gpio_keys {
> > +             compatible = "gpio-keys";
> > +             #address-cells = <1>;
> > +             #size-cells = <0>;
> > +             pinctrl-0 = <&pmx_button_eject>;
> > +             pinctrl-names = "default";
> > +
> > +             button@1 {
> > +                     label = "Eject Button";
> > +                     linux,code = <KEY_EJECTCD>;
> > +                     gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
> > +             };
> > +     };
> > +
> > +};
> > +
> > +&nand {
> > +     status = "okay";
> > +
> > +     partition@0 {
> > +             label = "u-boot";
> > +             reg = <0x0000000 0x200000>;
> > +     };
> > +
> > +     partition@200000 {
> > +             label = "uImage";
> > +             reg = <0x200000 0x300000>;
> > +     };
> > +
> > +     partition@500000 {
> > +             label = "uImage2";
> > +             reg = <0x500000 0x300000>;
> > +     };
> > +
> > +     partition@800000 {
> > +             label = "failsafe";
> > +             reg = <0x800000 0x800000>;
> > +     };
> > +
> > +     partition@1000000 {
> > +             label = "root";
> > +             reg = <0x1000000 0x7000000>;
> > +     };
> > +};
> > +
> > +&mdio {
> > +     status = "okay";
> > +
> > +     ethphy0: ethernet-phy@0 {
> > +             reg = <0>;
> > +     };
> > +};
> > +
> > +&eth0 {
> > +     status = "okay";
> > +     ethernet0-port@0 {
> > +             phy-handle = <&ethphy0>;
> > +     };
> > +};
> > +
> > +&pciec {
> > +     status = "okay";
> > +};
> > +
> > +&pcie0 {
> > +     status = "okay";
> > +};
>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 7/8] arm: kirkwood: Pogoplug-V4 : Add board implementation
  2021-12-18  4:23 ` [PATCH 7/8] arm: kirkwood: Pogoplug-V4 : Add board implementation Tony Dinh
@ 2021-12-18 22:59   ` Marek Behún
  2021-12-18 23:28     ` Tony Dinh
  0 siblings, 1 reply; 26+ messages in thread
From: Marek Behún @ 2021-12-18 22:59 UTC (permalink / raw)
  To: Tony Dinh
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini, Pali Roh_r

> +#if defined(CONFIG_RESET_PHY_R)
> +/* Configure and initialize PHY */
> +void reset_phy(void)
> +{
> +	u16 reg;
> +	int phyaddr;
> +	char *name = "ethernet-controller@72000";
> +	char *eth0_path = "/ocp@f1000000/ethernet-controller@72000";
> +
> +	if (miiphy_set_current_dev(name))
> +		return;
> +
> +	phyaddr = fdt_get_phy_addr(eth0_path);
> +	if (phyaddr < 0)
> +		return;
> +
> +	/*
> +	 * Enable RGMII delay on Tx and Rx for CPU port
> +	 * Ref: sec 4.7.2 of chip datasheet
> +	 */
> +	miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 2);
> +	miiphy_read(name, phyaddr, MV88E1116_MAC_CTRL_REG, &reg);
> +	reg |= (MV88E1116_RGMII_RXTM_CTRL | MV88E1116_RGMII_TXTM_CTRL);
> +	miiphy_write(name, phyaddr, MV88E1116_MAC_CTRL_REG, reg);
> +	miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 0);
> +
> +	/* reset the phy */
> +	miiphy_reset(name, phyaddr);
> +
> +	printf("88E1116 Initialized on %s\n", name);
> +}

This PHY has a driver in U-Boot, drivers/net/phy/marvell.c,
structure M88E1118_driver.

There the m88e1118_config() method already does one thing of what you
are doing here: enabling rgmii delays. It also sets LED config, but
does not reset the PHY. You can add call to phy_reset() there...

Marek

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 7/8] arm: kirkwood: Pogoplug-V4 : Add board implementation
  2021-12-18 22:59   ` Marek Behún
@ 2021-12-18 23:28     ` Tony Dinh
  2021-12-18 23:42       ` Marek Behún
  0 siblings, 1 reply; 26+ messages in thread
From: Tony Dinh @ 2021-12-18 23:28 UTC (permalink / raw)
  To: Marek Behún
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini, Pali Roh_r

Hi Marek,

On Sat, Dec 18, 2021 at 2:59 PM Marek Behún <marek.behun@nic.cz> wrote:
>
> > +#if defined(CONFIG_RESET_PHY_R)
> > +/* Configure and initialize PHY */
> > +void reset_phy(void)
> > +{
> > +     u16 reg;
> > +     int phyaddr;
> > +     char *name = "ethernet-controller@72000";
> > +     char *eth0_path = "/ocp@f1000000/ethernet-controller@72000";
> > +
> > +     if (miiphy_set_current_dev(name))
> > +             return;
> > +
> > +     phyaddr = fdt_get_phy_addr(eth0_path);
> > +     if (phyaddr < 0)
> > +             return;
> > +
> > +     /*
> > +      * Enable RGMII delay on Tx and Rx for CPU port
> > +      * Ref: sec 4.7.2 of chip datasheet
> > +      */
> > +     miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 2);
> > +     miiphy_read(name, phyaddr, MV88E1116_MAC_CTRL_REG, &reg);
> > +     reg |= (MV88E1116_RGMII_RXTM_CTRL | MV88E1116_RGMII_TXTM_CTRL);
> > +     miiphy_write(name, phyaddr, MV88E1116_MAC_CTRL_REG, reg);
> > +     miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 0);
> > +
> > +     /* reset the phy */
> > +     miiphy_reset(name, phyaddr);
> > +
> > +     printf("88E1116 Initialized on %s\n", name);
> > +}
>
> This PHY has a driver in U-Boot, drivers/net/phy/marvell.c,
> structure M88E1118_driver.
>
> There the m88e1118_config() method already does one thing of what you
> are doing here: enabling rgmii delays. It also sets LED config, but
> does not reset the PHY. You can add call to phy_reset() there...

Thanks for the advice! That would be best.

Will look into this for another separate patch, to see if it is
possible to factor out similar code in other Kirkwood boards too.

Thanks,
Tony

>
> Marek

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 7/8] arm: kirkwood: Pogoplug-V4 : Add board implementation
  2021-12-18 23:28     ` Tony Dinh
@ 2021-12-18 23:42       ` Marek Behún
  0 siblings, 0 replies; 26+ messages in thread
From: Marek Behún @ 2021-12-18 23:42 UTC (permalink / raw)
  To: Tony Dinh
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini, Pali Roh_r

On Sat, 18 Dec 2021 15:28:49 -0800
Tony Dinh <mibodhi@gmail.com> wrote:

> Hi Marek,
> 
> On Sat, Dec 18, 2021 at 2:59 PM Marek Behún <marek.behun@nic.cz> wrote:
> >  
> > > +#if defined(CONFIG_RESET_PHY_R)
> > > +/* Configure and initialize PHY */
> > > +void reset_phy(void)
> > > +{
> > > +     u16 reg;
> > > +     int phyaddr;
> > > +     char *name = "ethernet-controller@72000";
> > > +     char *eth0_path = "/ocp@f1000000/ethernet-controller@72000";
> > > +
> > > +     if (miiphy_set_current_dev(name))
> > > +             return;
> > > +
> > > +     phyaddr = fdt_get_phy_addr(eth0_path);
> > > +     if (phyaddr < 0)
> > > +             return;
> > > +
> > > +     /*
> > > +      * Enable RGMII delay on Tx and Rx for CPU port
> > > +      * Ref: sec 4.7.2 of chip datasheet
> > > +      */
> > > +     miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 2);
> > > +     miiphy_read(name, phyaddr, MV88E1116_MAC_CTRL_REG, &reg);
> > > +     reg |= (MV88E1116_RGMII_RXTM_CTRL | MV88E1116_RGMII_TXTM_CTRL);
> > > +     miiphy_write(name, phyaddr, MV88E1116_MAC_CTRL_REG, reg);
> > > +     miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 0);
> > > +
> > > +     /* reset the phy */
> > > +     miiphy_reset(name, phyaddr);
> > > +
> > > +     printf("88E1116 Initialized on %s\n", name);
> > > +}  
> >
> > This PHY has a driver in U-Boot, drivers/net/phy/marvell.c,
> > structure M88E1118_driver.
> >
> > There the m88e1118_config() method already does one thing of what you
> > are doing here: enabling rgmii delays. It also sets LED config, but
> > does not reset the PHY. You can add call to phy_reset() there...  
> 
> Thanks for the advice! That would be best.
> 
> Will look into this for another separate patch, to see if it is
> possible to factor out similar code in other Kirkwood boards too.

Also implement the .readext and .writeext methods as M88E151x_driver
and you won't need to alwyas change page by hand.

Marek

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files
  2021-12-18 22:05     ` Tony Dinh
@ 2021-12-19  0:03       ` Andre Przywara
  2021-12-19  1:23         ` Tony Dinh
  0 siblings, 1 reply; 26+ messages in thread
From: Andre Przywara @ 2021-12-19  0:03 UTC (permalink / raw)
  To: Tony Dinh
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh_n, Pali Roh_r, Christian Hewitt, Fabio Estevam,
	Jagan Teki, Lokesh Vutla, Neil Armstrong, Peter Robinson,
	Tim Harvey

On Sat, 18 Dec 2021 14:05:39 -0800
Tony Dinh <mibodhi@gmail.com> wrote:

Hi Tony,

> On Sat, Dec 18, 2021 at 8:38 AM Andre Przywara <andre.przywara@arm.com> wrote:
> >
> > On Fri, 17 Dec 2021 20:23:27 -0800
> > Tony Dinh <mibodhi@gmail.com> wrote:
> >
> > Hi,
> >  
> > > Add DTS files for Pogoplug V4 board  
> >
> > is there any reason you didn't take the kirkwood-pogoplug-series-4.dts
> > file from the Linux tree? That is the same device, isn't it?
> >
> > Tom will ask you about the upstream status anyway...  
> 
> There were some differences that I dislike about the Linux tree
> version. Such as the NAND mtd0 is read-only, but we store the envs in
> mtd0 (a few blocks after the u-boot image). It seems we both created
> this DTS about the same time back then in early 2010's using the same
> source as a base. Both versions are identical in substance, but the
> node placements are different.
> 
> I'm not familiar with the thinking here. If we take the Linux upstream
> version, are we allowed to modify it? please advise.

In general the rule is to only take verbatim copies from the Linux
tree. The DT describes the hardware, so there should be no change
needed between U-Boot and Linux. The kernel has more reviewers for DT
changes, so their DTs are of better quality.

So if you think the DT in the kernel tree is wrong or missing out, you
should try to send a patch to Linux to get this fixed, then sync the
change into the U-Boot tree.

There is a way to make small changes to the DT that U-Boot sees: You
create a file with the same stub name, but add "-u-boot.dtsi", and put
your changes in there. Look into arch/arm/dts, there are plenty of
examples. However you should have a good reason for doing that, and
ideally would not need that at all.

Your case is somewhat interesting: the partition isn't technically
write-protected, I guess, it's probably just some Linux safe guarding
measure to prevent accidental overwrites of the firmware.
So read-only in there is strictly speaking not correct, so you should
try to get this fixed in Linux. Ideally U-Boot would add the read-only
property, after it consumed the node, so that the kernel does not stomp
over it (unless you want U-Boot environment access from Linux).

So in your case you should copy the existing kernel DT, and then
put: "/delete-property/ read-only;" in *-u-boot.dtsi.
What DT do you typically give to the kernel? Something loaded along
with the kernel? Or just the U-Boot DT, using $fdtcontroladdr?

Cheers,
Andre

> > >
> > > Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> > > ---
> > >
> > >  arch/arm/dts/Makefile                 |   1 +
> > >  arch/arm/dts/kirkwood-pogoplug_v4.dts | 145 ++++++++++++++++++++++++++
> > >  2 files changed, 146 insertions(+)
> > >  create mode 100644 arch/arm/dts/kirkwood-pogoplug_v4.dts
> > >
> > > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > > index 7f622fedbd..716c6c0ed2 100644
> > > --- a/arch/arm/dts/Makefile
> > > +++ b/arch/arm/dts/Makefile
> > > @@ -68,6 +68,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += \
> > >       kirkwood-openrd-client.dtb \
> > >       kirkwood-openrd-ultimate.dtb \
> > >       kirkwood-pogo_e02.dtb \
> > > +     kirkwood-pogoplug_v4.dtb \
> > >       kirkwood-sheevaplug.dtb
> > >
> > >  dtb-$(CONFIG_MACH_S900) += \
> > > diff --git a/arch/arm/dts/kirkwood-pogoplug_v4.dts b/arch/arm/dts/kirkwood-pogoplug_v4.dts
> > > new file mode 100644
> > > index 0000000000..b4754f600e
> > > --- /dev/null
> > > +++ b/arch/arm/dts/kirkwood-pogoplug_v4.dts
> > > @@ -0,0 +1,145 @@
> > > +// SPDX-License-Identifier: GPL-2.0+
> > > +/*
> > > + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> > > + *
> > > + * Device tree file for the Pogoplug V4/Mobile
> > > + *
> > > + */
> > > +
> > > +/dts-v1/;
> > > +
> > > +#include "kirkwood.dtsi"
> > > +#include "kirkwood-6192.dtsi"
> > > +
> > > +/ {
> > > +     model = "Pogoplug v4";
> > > +     compatible = "cloudengines,pogoplug-v4", "cloudengines,pogoplug-mobile",
> > > +             "marvell,kirkwood-88f6192", "marvell,kirkwood";
> > > +
> > > +     memory {
> > > +             device_type = "memory";
> > > +             reg = <0x00000000 0x8000000>;
> > > +     };
> > > +
> > > +     chosen {
> > > +             bootargs = "console=ttyS0,115200";
> > > +             stdout-path = &uart0;
> > > +     };
> > > +
> > > +     ocp@f1000000 {
> > > +             pinctrl: pin-controller@10000 {
> > > +                     pmx_led_green: pmx-led-green {
> > > +                             marvell,pins = "mpp22";
> > > +                             marvell,function = "gpio";
> > > +                     };
> > > +                     pmx_led_red: pmx-led-red {
> > > +                             marvell,pins = "mpp24";
> > > +                             marvell,function = "gpio";
> > > +                     };
> > > +                     pmx_button_eject: pmx-button-eject {
> > > +                             marvell,pins = "mpp29";
> > > +                             marvell,function = "gpio";
> > > +                     };
> > > +             };
> > > +
> > > +             serial@12000 {
> > > +                     status = "ok";
> > > +             };
> > > +
> > > +             sata@80000 {
> > > +                     status = "okay";
> > > +                     nr-ports = <2>;
> > > +             };
> > > +
> > > +             mvsdio@90000 {
> > > +                     pinctrl-0 = <&pmx_sdio>;
> > > +                     pinctrl-names = "default";
> > > +                     status = "okay";
> > > +                     cd-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
> > > +                     /* No WP GPIO */
> > > +             };
> > > +     };
> > > +
> > > +     gpio-leds {
> > > +             compatible = "gpio-leds";
> > > +             pinctrl-0 = <&pmx_led_red &pmx_led_green>;
> > > +             pinctrl-names = "default";
> > > +
> > > +             health {
> > > +                     label = "status:green:health";
> > > +                     gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
> > > +                     default-state = "keep";
> > > +             };
> > > +             fault {
> > > +                     label = "status:red:fault";
> > > +                     gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
> > > +             };
> > > +     };
> > > +
> > > +     gpio_keys {
> > > +             compatible = "gpio-keys";
> > > +             #address-cells = <1>;
> > > +             #size-cells = <0>;
> > > +             pinctrl-0 = <&pmx_button_eject>;
> > > +             pinctrl-names = "default";
> > > +
> > > +             button@1 {
> > > +                     label = "Eject Button";
> > > +                     linux,code = <KEY_EJECTCD>;
> > > +                     gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
> > > +             };
> > > +     };
> > > +
> > > +};
> > > +
> > > +&nand {
> > > +     status = "okay";
> > > +
> > > +     partition@0 {
> > > +             label = "u-boot";
> > > +             reg = <0x0000000 0x200000>;
> > > +     };
> > > +
> > > +     partition@200000 {
> > > +             label = "uImage";
> > > +             reg = <0x200000 0x300000>;
> > > +     };
> > > +
> > > +     partition@500000 {
> > > +             label = "uImage2";
> > > +             reg = <0x500000 0x300000>;
> > > +     };
> > > +
> > > +     partition@800000 {
> > > +             label = "failsafe";
> > > +             reg = <0x800000 0x800000>;
> > > +     };
> > > +
> > > +     partition@1000000 {
> > > +             label = "root";
> > > +             reg = <0x1000000 0x7000000>;
> > > +     };
> > > +};
> > > +
> > > +&mdio {
> > > +     status = "okay";
> > > +
> > > +     ethphy0: ethernet-phy@0 {
> > > +             reg = <0>;
> > > +     };
> > > +};
> > > +
> > > +&eth0 {
> > > +     status = "okay";
> > > +     ethernet0-port@0 {
> > > +             phy-handle = <&ethphy0>;
> > > +     };
> > > +};
> > > +
> > > +&pciec {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&pcie0 {
> > > +     status = "okay";
> > > +};  
> >  


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files
  2021-12-19  0:03       ` Andre Przywara
@ 2021-12-19  1:23         ` Tony Dinh
  0 siblings, 0 replies; 26+ messages in thread
From: Tony Dinh @ 2021-12-19  1:23 UTC (permalink / raw)
  To: Andre Przywara
  Cc: U-Boot Mailing List, Stefan Roese, David Purdy, Tom Rini,
	Marek Beh_n, Pali Roh_r, Christian Hewitt, Fabio Estevam,
	Jagan Teki, Lokesh Vutla, Neil Armstrong, Peter Robinson,
	Tim Harvey

Hi Andre,

On Sat, Dec 18, 2021 at 4:03 PM Andre Przywara <andre.przywara@arm.com> wrote:
>
> On Sat, 18 Dec 2021 14:05:39 -0800
> Tony Dinh <mibodhi@gmail.com> wrote:
>
> Hi Tony,
>
> > On Sat, Dec 18, 2021 at 8:38 AM Andre Przywara <andre.przywara@arm.com> wrote:
> > >
> > > On Fri, 17 Dec 2021 20:23:27 -0800
> > > Tony Dinh <mibodhi@gmail.com> wrote:
> > >
> > > Hi,
> > >
> > > > Add DTS files for Pogoplug V4 board
> > >
> > > is there any reason you didn't take the kirkwood-pogoplug-series-4.dts
> > > file from the Linux tree? That is the same device, isn't it?
> > >
> > > Tom will ask you about the upstream status anyway...
> >
> > There were some differences that I dislike about the Linux tree
> > version. Such as the NAND mtd0 is read-only, but we store the envs in
> > mtd0 (a few blocks after the u-boot image). It seems we both created
> > this DTS about the same time back then in early 2010's using the same
> > source as a base. Both versions are identical in substance, but the
> > node placements are different.
> >
> > I'm not familiar with the thinking here. If we take the Linux upstream
> > version, are we allowed to modify it? please advise.
>
> In general the rule is to only take verbatim copies from the Linux
> tree. The DT describes the hardware, so there should be no change
> needed between U-Boot and Linux. The kernel has more reviewers for DT
> changes, so their DTs are of better quality.

Definitely, I've also noticed now that the author's name is Linus Walleij.

> So if you think the DT in the kernel tree is wrong or missing out, you
> should try to send a patch to Linux to get this fixed, then sync the
> change into the U-Boot tree.
> There is a way to make small changes to the DT that U-Boot sees: You
> create a file with the same stub name, but add "-u-boot.dtsi", and put
> your changes in there. Look into arch/arm/dts, there are plenty of
> examples. However you should have a good reason for doing that, and
> ideally would not need that at all.

Cool! But I hope we are keeping this approach? I recalled there are
some discussions about the FDT and "-u-boot.dtsi" might go away.

> Your case is somewhat interesting: the partition isn't technically
> write-protected, I guess, it's probably just some Linux safe guarding
> measure to prevent accidental overwrites of the firmware.
> So read-only in there is strictly speaking not correct, so you should
> try to get this fixed in Linux. Ideally U-Boot would add the read-only
> property, after it consumed the node, so that the kernel does not stomp
> over it (unless you want U-Boot environment access from Linux).
>
> So in your case you should copy the existing kernel DT, and then
> put: "/delete-property/ read-only;" in *-u-boot.dtsi.

Sounds like the best way to do it.

> What DT do you typically give to the kernel? Something loaded along
> with the kernel? Or just the U-Boot DT, using $fdtcontroladdr?

(A little bit of history: I've been maintaining the Kirkwood u-boots
and Linux kernel for a hobbyist community for many years). The
approach we take is to load the kernel uImage, uInitrd, and DTB
separately from the rootfs. And also let users access the u-boot envs
with fw_setenv and fw_printenv in Debian. Basically, we want users to
have maximum flexibility about how u-boot starts the kernel. For
example, for whatever reason, the users can also choose to load uImage
with appended DTB, then the mtd0 in NAND must be writable, i.e. to
allow flashing new u-boot and/or envs image in Linux shell.

Thanks,
Tony

> Cheers,
> Andre
>
> > > >
> > > > Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> > > > ---
> > > >
> > > >  arch/arm/dts/Makefile                 |   1 +
> > > >  arch/arm/dts/kirkwood-pogoplug_v4.dts | 145 ++++++++++++++++++++++++++
> > > >  2 files changed, 146 insertions(+)
> > > >  create mode 100644 arch/arm/dts/kirkwood-pogoplug_v4.dts
> > > >
> > > > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > > > index 7f622fedbd..716c6c0ed2 100644
> > > > --- a/arch/arm/dts/Makefile
> > > > +++ b/arch/arm/dts/Makefile
> > > > @@ -68,6 +68,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += \
> > > >       kirkwood-openrd-client.dtb \
> > > >       kirkwood-openrd-ultimate.dtb \
> > > >       kirkwood-pogo_e02.dtb \
> > > > +     kirkwood-pogoplug_v4.dtb \
> > > >       kirkwood-sheevaplug.dtb
> > > >
> > > >  dtb-$(CONFIG_MACH_S900) += \
> > > > diff --git a/arch/arm/dts/kirkwood-pogoplug_v4.dts b/arch/arm/dts/kirkwood-pogoplug_v4.dts
> > > > new file mode 100644
> > > > index 0000000000..b4754f600e
> > > > --- /dev/null
> > > > +++ b/arch/arm/dts/kirkwood-pogoplug_v4.dts
> > > > @@ -0,0 +1,145 @@
> > > > +// SPDX-License-Identifier: GPL-2.0+
> > > > +/*
> > > > + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> > > > + *
> > > > + * Device tree file for the Pogoplug V4/Mobile
> > > > + *
> > > > + */
> > > > +
> > > > +/dts-v1/;
> > > > +
> > > > +#include "kirkwood.dtsi"
> > > > +#include "kirkwood-6192.dtsi"
> > > > +
> > > > +/ {
> > > > +     model = "Pogoplug v4";
> > > > +     compatible = "cloudengines,pogoplug-v4", "cloudengines,pogoplug-mobile",
> > > > +             "marvell,kirkwood-88f6192", "marvell,kirkwood";
> > > > +
> > > > +     memory {
> > > > +             device_type = "memory";
> > > > +             reg = <0x00000000 0x8000000>;
> > > > +     };
> > > > +
> > > > +     chosen {
> > > > +             bootargs = "console=ttyS0,115200";
> > > > +             stdout-path = &uart0;
> > > > +     };
> > > > +
> > > > +     ocp@f1000000 {
> > > > +             pinctrl: pin-controller@10000 {
> > > > +                     pmx_led_green: pmx-led-green {
> > > > +                             marvell,pins = "mpp22";
> > > > +                             marvell,function = "gpio";
> > > > +                     };
> > > > +                     pmx_led_red: pmx-led-red {
> > > > +                             marvell,pins = "mpp24";
> > > > +                             marvell,function = "gpio";
> > > > +                     };
> > > > +                     pmx_button_eject: pmx-button-eject {
> > > > +                             marvell,pins = "mpp29";
> > > > +                             marvell,function = "gpio";
> > > > +                     };
> > > > +             };
> > > > +
> > > > +             serial@12000 {
> > > > +                     status = "ok";
> > > > +             };
> > > > +
> > > > +             sata@80000 {
> > > > +                     status = "okay";
> > > > +                     nr-ports = <2>;
> > > > +             };
> > > > +
> > > > +             mvsdio@90000 {
> > > > +                     pinctrl-0 = <&pmx_sdio>;
> > > > +                     pinctrl-names = "default";
> > > > +                     status = "okay";
> > > > +                     cd-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
> > > > +                     /* No WP GPIO */
> > > > +             };
> > > > +     };
> > > > +
> > > > +     gpio-leds {
> > > > +             compatible = "gpio-leds";
> > > > +             pinctrl-0 = <&pmx_led_red &pmx_led_green>;
> > > > +             pinctrl-names = "default";
> > > > +
> > > > +             health {
> > > > +                     label = "status:green:health";
> > > > +                     gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
> > > > +                     default-state = "keep";
> > > > +             };
> > > > +             fault {
> > > > +                     label = "status:red:fault";
> > > > +                     gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
> > > > +             };
> > > > +     };
> > > > +
> > > > +     gpio_keys {
> > > > +             compatible = "gpio-keys";
> > > > +             #address-cells = <1>;
> > > > +             #size-cells = <0>;
> > > > +             pinctrl-0 = <&pmx_button_eject>;
> > > > +             pinctrl-names = "default";
> > > > +
> > > > +             button@1 {
> > > > +                     label = "Eject Button";
> > > > +                     linux,code = <KEY_EJECTCD>;
> > > > +                     gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
> > > > +             };
> > > > +     };
> > > > +
> > > > +};
> > > > +
> > > > +&nand {
> > > > +     status = "okay";
> > > > +
> > > > +     partition@0 {
> > > > +             label = "u-boot";
> > > > +             reg = <0x0000000 0x200000>;
> > > > +     };
> > > > +
> > > > +     partition@200000 {
> > > > +             label = "uImage";
> > > > +             reg = <0x200000 0x300000>;
> > > > +     };
> > > > +
> > > > +     partition@500000 {
> > > > +             label = "uImage2";
> > > > +             reg = <0x500000 0x300000>;
> > > > +     };
> > > > +
> > > > +     partition@800000 {
> > > > +             label = "failsafe";
> > > > +             reg = <0x800000 0x800000>;
> > > > +     };
> > > > +
> > > > +     partition@1000000 {
> > > > +             label = "root";
> > > > +             reg = <0x1000000 0x7000000>;
> > > > +     };
> > > > +};
> > > > +
> > > > +&mdio {
> > > > +     status = "okay";
> > > > +
> > > > +     ethphy0: ethernet-phy@0 {
> > > > +             reg = <0>;
> > > > +     };
> > > > +};
> > > > +
> > > > +&eth0 {
> > > > +     status = "okay";
> > > > +     ethernet0-port@0 {
> > > > +             phy-handle = <&ethphy0>;
> > > > +     };
> > > > +};
> > > > +
> > > > +&pciec {
> > > > +     status = "okay";
> > > > +};
> > > > +
> > > > +&pcie0 {
> > > > +     status = "okay";
> > > > +};
> > >
>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file
  2021-12-18 21:41     ` Tony Dinh
@ 2021-12-20  7:18       ` Stefan Roese
  2021-12-20 21:09         ` Tony Dinh
  0 siblings, 1 reply; 26+ messages in thread
From: Stefan Roese @ 2021-12-20  7:18 UTC (permalink / raw)
  To: Tony Dinh, Pali Rohár
  Cc: U-Boot Mailing List, David Purdy, Tom Rini, Marek Beh�n

Hi Tony,

On 12/18/21 22:41, Tony Dinh wrote:
> Hi Pali,
> 
> On Sat, Dec 18, 2021 at 5:17 AM Pali Rohár <pali@kernel.org> wrote:
>>
>> On Friday 17 December 2021 20:23:28 Tony Dinh wrote:
>>> Add board defconfig file for Pogoplug V4 board
>>>
>>> Signed-off-by: Tony Dinh <mibodhi@gmail.com>
>>> ---
>>>
>>>   configs/pogo_v4_defconfig | 97 +++++++++++++++++++++++++++++++++++++++
>>>   1 file changed, 97 insertions(+)
>>>   create mode 100644 configs/pogo_v4_defconfig
>>>
>>> diff --git a/configs/pogo_v4_defconfig b/configs/pogo_v4_defconfig
>>> new file mode 100644
>>> index 0000000000..b183c9c46f
>>> --- /dev/null
>>> +++ b/configs/pogo_v4_defconfig
>>> @@ -0,0 +1,97 @@
>>> +# SPDX-License-Identifier: GPL-2.0+
>>> +#
>>> +# (C) Copyright 2017-2021 Tony Dinh <mibodhi@gmail.com>
>>> +#
>>> +CONFIG_ARM=y
>>> +CONFIG_SKIP_LOWLEVEL_INIT=y
>>> +CONFIG_SYS_DCACHE_OFF=y
>>> +CONFIG_ARCH_CPU_INIT=y
>>> +CONFIG_SYS_THUMB_BUILD=y
>>> +CONFIG_ARCH_KIRKWOOD=y
>>> +CONFIG_SYS_TEXT_BASE=0x600000
>>> +CONFIG_TARGET_POGO_V4=y
>>> +CONFIG_ENV_SIZE=0x20000
>>> +CONFIG_ENV_OFFSET=0xC0000
>>> +CONFIG_DEFAULT_DEVICE_TREE="kirkwood-pogoplug_v4"
>>> +CONFIG_BOOTDELAY=10
>>> +CONFIG_BOOTSTAGE=y
>>> +CONFIG_SHOW_BOOT_PROGRESS=y
>>> +CONFIG_USE_PREBOOT=y
>>> +CONFIG_HUSH_PARSER=y
>>> +CONFIG_SYS_PROMPT="Pogo_V4> "
>>> +CONFIG_IDENT_STRING="\nPogoplug V4"
>>> +CONFIG_SYS_LOAD_ADDR=0x800000
>>> +CONFIG_VERSION_VARIABLE=y
>>> +# CONFIG_CMD_FLASH is not set
>>> +CONFIG_CMD_SETEXPR=y
>>> +CONFIG_CMD_NAND=y
>>> +CONFIG_CMD_MMC=y
>>> +CONFIG_CMD_USB=y
>>> +CONFIG_CMD_DHCP=y
>>> +CONFIG_CMD_MII=y
>>> +CONFIG_CMD_PING=y
>>> +CONFIG_CMD_EXT2=y
>>> +CONFIG_CMD_EXT4=y
>>> +CONFIG_CMD_FAT=y
>>> +CONFIG_CMD_JFFS2=y
>>> +CONFIG_CMD_FS_GENERIC=y
>>> +CONFIG_CMD_MTDPARTS=y
>>> +CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)"
>>> +CONFIG_MTDIDS_DEFAULT="nand0=orion_nand"
>>> +CONFIG_CMD_UBI=y
>>> +CONFIG_ISO_PARTITION=y
>>> +CONFIG_EFI_PARTITION=y
>>> +CONFIG_PARTITION_UUIDS=y
>>> +CONFIG_PARTITION_TYPE_GUID=y
>>> +CONFIG_ENV_OVERWRITE=y
>>> +CONFIG_ENV_IS_IN_NAND=y
>>> +CONFIG_SYS_NS16550=y
>>> +CONFIG_USB=y
>>> +CONFIG_USB_STORAGE=y
>>> +CONFIG_USB_EHCI_HCD=y
>>> +CONFIG_OF_LIBFDT=y
>>> +CONFIG_CMD_FDT=y
>>> +CONFIG_CMD_BOOTZ=y
>>> +CONFIG_NETCONSOLE=y
>>> +CONFIG_MTD=y
>>> +CONFIG_MTD_RAW_NAND=y
>>> +CONFIG_CMD_MTD=y
>>> +CONFIG_MTD_PARTITIONS=y
>>> +CONFIG_MTD_DEVICE=y
>>> +CONFIG_NET=y
>>> +CONFIG_NETDEVICES=y
>>> +CONFIG_MVGBE=y
>>> +CONFIG_MII=y
>>> +CONFIG_DM=y
>>> +CONFIG_DM_USB=y
>>> +CONFIG_OF_CONTROL=y
>>> +CONFIG_DM_ETH=y
>>> +CONFIG_NET_RANDOM_ETHADDR=y
>>> +CONFIG_BLK=y
>>> +CONFIG_CMD_SATA=y
>>> +CONFIG_SATA_MV=y
>>> +CONFIG_DM_MMC=y
>>> +CONFIG_MVEBU_MMC=y
>>> +CONFIG_CMD_PCI=y
>>> +CONFIG_PCI=y
>>> +CONFIG_PCI_MVEBU=y
>>> +CONFIG_PCI_PNP=y
>>> +CONFIG_USB_XHCI_HCD=y
>>> +CONFIG_USB_XHCI_PCI=y
>>> +CONFIG_BOARD_LATE_INIT=y
>>> +#
>>> +# RTC emulation
>>> +#
>>> +CONFIG_CMD_DATE=y
>>> +CONFIG_PROT_UDP=y
>>> +CONFIG_CMD_SNTP=y
>>> +CONFIG_CMD_DNS=y
>>> +CONFIG_DM_RTC=y
>>> +CONFIG_RTC_EMULATION=y
>>> +#
>>> +# Turn off unused capabilities to save space
>>> +#
>>> +# CONFIG_BOOTM_PLAN9 is not set
>>> +# CONFIG_BOOTM_RTEMS is not set
>>> +# CONFIG_BOOTM_VXWORKS is not set
>>> +# CONFIG_MMC_HW_PARTITIONING is not set
>>> --
>>> 2.20.1
>>>
>>
>> Hello! Please regenerate this defconfig file to its canonical form. You
>> can do it by commands:
>>
>>    make pogo_v4_defconfig
>>    make savedefconfig
>>    mv defconfig configs/pogo_v4_defconfig
> 
> Yes, it's a bit harder to read, but it should be done.

It's not a matter of "harder to read". It's the only way, this file
should be generated. Otherwise this will very likely generate merge
problems when other changes might get introduced to the config files
(e.g. by using moveconfig.py).

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header
  2021-12-18 21:47     ` Tony Dinh
@ 2021-12-20  7:23       ` Stefan Roese
  2021-12-20 21:14         ` Tony Dinh
  0 siblings, 1 reply; 26+ messages in thread
From: Stefan Roese @ 2021-12-20  7:23 UTC (permalink / raw)
  To: Tony Dinh, Pali Rohár
  Cc: U-Boot Mailing List, David Purdy, Tom Rini, Marek Beh�n

Hi Tony,

On 12/18/21 22:47, Tony Dinh wrote:
> Hi Pali,
> 
> On Sat, Dec 18, 2021 at 5:09 AM Pali Rohár <pali@kernel.org> wrote:
>>
>> On Friday 17 December 2021 20:23:32 Tony Dinh wrote:
>>> Add board implementation header and Makefile for Pogoplug V4
>>>
>>> Signed-off-by: Tony Dinh <mibodhi@gmail.com>
>>> ---
>>>
>>>   board/cloudengines/pogo_v4/Makefile  | 10 ++++++++
>>>   board/cloudengines/pogo_v4/pogo_v4.h | 36 ++++++++++++++++++++++++++++
>>>   2 files changed, 46 insertions(+)
>>>   create mode 100644 board/cloudengines/pogo_v4/Makefile
>>>   create mode 100644 board/cloudengines/pogo_v4/pogo_v4.h
>>>
>>> diff --git a/board/cloudengines/pogo_v4/Makefile b/board/cloudengines/pogo_v4/Makefile
>>> new file mode 100644
>>> index 0000000000..511bf5ff7e
>>> --- /dev/null
>>> +++ b/board/cloudengines/pogo_v4/Makefile
>>> @@ -0,0 +1,10 @@
>>> +# SPDX-License-Identifier: GPL-2.0+
>>> +#
>>> +# (C) Copyright 2014-2021 Tony Dinh <mibodhi@gmail.com>
>>> +#
>>> +# Based on
>>> +# Marvell Semiconductor <www.marvell.com>
>>> +# Written-by: Prafulla Wadaskar <prafulla@marvell.com>
>>> +#
>>> +
>>> +obj-y        := pogo_v4.o
>>> diff --git a/board/cloudengines/pogo_v4/pogo_v4.h b/board/cloudengines/pogo_v4/pogo_v4.h
>>> new file mode 100644
>>> index 0000000000..bf3060de60
>>> --- /dev/null
>>> +++ b/board/cloudengines/pogo_v4/pogo_v4.h
>>> @@ -0,0 +1,36 @@
>>> +/* SPDX-License-Identifier: GPL-2.0+ */
>>> +/*
>>> + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
>>> + *
>>> + * Based on
>>> + * Copyright (C) 2012 David Purdy <david.c.purdy@gmail.com>
>>> + *
>>> + * Based on Kirkwood support:
>>> + * (C) Copyright 2009
>>> + * Marvell Semiconductor <www.marvell.com>
>>> + * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
>>> + */
>>> +
>>> +#ifndef __POGO_V4_H
>>> +#define __POGO_V4_H
>>> +
>>> +#include <linux/bitops.h>
>>> +
>>> +/* GPIO configuration */
>>> +#define POGO_V4_OE_LOW                               (~(0))
>>> +#define POGO_V4_OE_HIGH                              (~(0))
>>> +#define POGO_V4_OE_VAL_LOW                   BIT(29)
>>> +#define POGO_V4_OE_VAL_HIGH                  0
>>> +
>>> +/* PHY related */
>>> +#define MV88E1116_LED_FCTRL_REG                      10
>>> +#define MV88E1116_CPRSP_CR3_REG                      21
>>> +#define MV88E1116_MAC_CTRL_REG                       21
>>> +#define MV88E1116_PGADR_REG                  22
>>> +#define MV88E1116_RGMII_TXTM_CTRL            BIT(4)
>>> +#define MV88E1116_RGMII_RXTM_CTRL            BIT(5)
>>> +
>>> +/* button */
>>> +#define BTN_EJECT                            29
>>> +
>>> +#endif /* __POGO_V4_H */
>>
>> Hello! As this pogo_v4.h include file is used only in pogo_v4.c source
>> file and contains only few defines, you can move all these defines
>> directly into pogo_v4.c source file. There is no need to export these
>> constants if they are not used by other files or modules.
> 
> Sure, but that'll make the .c file harder to read? We've been using
> the .h file since the old days, I think mostly for readability. This
> is a small header file, but for some other boards, the header file is
> quite large.

I fail to see why moving these few lines from the header to the .c file
makes the code harder to read. Especially if the macros / defines are
only used in one specific file, it makes sense to place them in this
file IMHO.

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file
  2021-12-20  7:18       ` Stefan Roese
@ 2021-12-20 21:09         ` Tony Dinh
  0 siblings, 0 replies; 26+ messages in thread
From: Tony Dinh @ 2021-12-20 21:09 UTC (permalink / raw)
  To: Stefan Roese
  Cc: Pali Rohár, U-Boot Mailing List, David Purdy, Tom Rini,
	Marek Beh�n

On Sun, Dec 19, 2021 at 11:18 PM Stefan Roese <sr@denx.de> wrote:
>
> Hi Tony,
>
> On 12/18/21 22:41, Tony Dinh wrote:
> > Hi Pali,
> >
> > On Sat, Dec 18, 2021 at 5:17 AM Pali Rohár <pali@kernel.org> wrote:
> >>
> >> On Friday 17 December 2021 20:23:28 Tony Dinh wrote:
> >>> Add board defconfig file for Pogoplug V4 board
> >>>
> >>> Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> >>> ---
> >>>
> >>>   configs/pogo_v4_defconfig | 97 +++++++++++++++++++++++++++++++++++++++
> >>>   1 file changed, 97 insertions(+)
> >>>   create mode 100644 configs/pogo_v4_defconfig
> >>>
> >>> diff --git a/configs/pogo_v4_defconfig b/configs/pogo_v4_defconfig
> >>> new file mode 100644
> >>> index 0000000000..b183c9c46f
> >>> --- /dev/null
> >>> +++ b/configs/pogo_v4_defconfig
> >>> @@ -0,0 +1,97 @@
> >>> +# SPDX-License-Identifier: GPL-2.0+
> >>> +#
> >>> +# (C) Copyright 2017-2021 Tony Dinh <mibodhi@gmail.com>
> >>> +#
> >>> +CONFIG_ARM=y
> >>> +CONFIG_SKIP_LOWLEVEL_INIT=y
> >>> +CONFIG_SYS_DCACHE_OFF=y
> >>> +CONFIG_ARCH_CPU_INIT=y
> >>> +CONFIG_SYS_THUMB_BUILD=y
> >>> +CONFIG_ARCH_KIRKWOOD=y
> >>> +CONFIG_SYS_TEXT_BASE=0x600000
> >>> +CONFIG_TARGET_POGO_V4=y
> >>> +CONFIG_ENV_SIZE=0x20000
> >>> +CONFIG_ENV_OFFSET=0xC0000
> >>> +CONFIG_DEFAULT_DEVICE_TREE="kirkwood-pogoplug_v4"
> >>> +CONFIG_BOOTDELAY=10
> >>> +CONFIG_BOOTSTAGE=y
> >>> +CONFIG_SHOW_BOOT_PROGRESS=y
> >>> +CONFIG_USE_PREBOOT=y
> >>> +CONFIG_HUSH_PARSER=y
> >>> +CONFIG_SYS_PROMPT="Pogo_V4> "
> >>> +CONFIG_IDENT_STRING="\nPogoplug V4"
> >>> +CONFIG_SYS_LOAD_ADDR=0x800000
> >>> +CONFIG_VERSION_VARIABLE=y
> >>> +# CONFIG_CMD_FLASH is not set
> >>> +CONFIG_CMD_SETEXPR=y
> >>> +CONFIG_CMD_NAND=y
> >>> +CONFIG_CMD_MMC=y
> >>> +CONFIG_CMD_USB=y
> >>> +CONFIG_CMD_DHCP=y
> >>> +CONFIG_CMD_MII=y
> >>> +CONFIG_CMD_PING=y
> >>> +CONFIG_CMD_EXT2=y
> >>> +CONFIG_CMD_EXT4=y
> >>> +CONFIG_CMD_FAT=y
> >>> +CONFIG_CMD_JFFS2=y
> >>> +CONFIG_CMD_FS_GENERIC=y
> >>> +CONFIG_CMD_MTDPARTS=y
> >>> +CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)"
> >>> +CONFIG_MTDIDS_DEFAULT="nand0=orion_nand"
> >>> +CONFIG_CMD_UBI=y
> >>> +CONFIG_ISO_PARTITION=y
> >>> +CONFIG_EFI_PARTITION=y
> >>> +CONFIG_PARTITION_UUIDS=y
> >>> +CONFIG_PARTITION_TYPE_GUID=y
> >>> +CONFIG_ENV_OVERWRITE=y
> >>> +CONFIG_ENV_IS_IN_NAND=y
> >>> +CONFIG_SYS_NS16550=y
> >>> +CONFIG_USB=y
> >>> +CONFIG_USB_STORAGE=y
> >>> +CONFIG_USB_EHCI_HCD=y
> >>> +CONFIG_OF_LIBFDT=y
> >>> +CONFIG_CMD_FDT=y
> >>> +CONFIG_CMD_BOOTZ=y
> >>> +CONFIG_NETCONSOLE=y
> >>> +CONFIG_MTD=y
> >>> +CONFIG_MTD_RAW_NAND=y
> >>> +CONFIG_CMD_MTD=y
> >>> +CONFIG_MTD_PARTITIONS=y
> >>> +CONFIG_MTD_DEVICE=y
> >>> +CONFIG_NET=y
> >>> +CONFIG_NETDEVICES=y
> >>> +CONFIG_MVGBE=y
> >>> +CONFIG_MII=y
> >>> +CONFIG_DM=y
> >>> +CONFIG_DM_USB=y
> >>> +CONFIG_OF_CONTROL=y
> >>> +CONFIG_DM_ETH=y
> >>> +CONFIG_NET_RANDOM_ETHADDR=y
> >>> +CONFIG_BLK=y
> >>> +CONFIG_CMD_SATA=y
> >>> +CONFIG_SATA_MV=y
> >>> +CONFIG_DM_MMC=y
> >>> +CONFIG_MVEBU_MMC=y
> >>> +CONFIG_CMD_PCI=y
> >>> +CONFIG_PCI=y
> >>> +CONFIG_PCI_MVEBU=y
> >>> +CONFIG_PCI_PNP=y
> >>> +CONFIG_USB_XHCI_HCD=y
> >>> +CONFIG_USB_XHCI_PCI=y
> >>> +CONFIG_BOARD_LATE_INIT=y
> >>> +#
> >>> +# RTC emulation
> >>> +#
> >>> +CONFIG_CMD_DATE=y
> >>> +CONFIG_PROT_UDP=y
> >>> +CONFIG_CMD_SNTP=y
> >>> +CONFIG_CMD_DNS=y
> >>> +CONFIG_DM_RTC=y
> >>> +CONFIG_RTC_EMULATION=y
> >>> +#
> >>> +# Turn off unused capabilities to save space
> >>> +#
> >>> +# CONFIG_BOOTM_PLAN9 is not set
> >>> +# CONFIG_BOOTM_RTEMS is not set
> >>> +# CONFIG_BOOTM_VXWORKS is not set
> >>> +# CONFIG_MMC_HW_PARTITIONING is not set
> >>> --
> >>> 2.20.1
> >>>
> >>
> >> Hello! Please regenerate this defconfig file to its canonical form. You
> >> can do it by commands:
> >>
> >>    make pogo_v4_defconfig
> >>    make savedefconfig
> >>    mv defconfig configs/pogo_v4_defconfig
> >
> > Yes, it's a bit harder to read, but it should be done.
>
> It's not a matter of "harder to read". It's the only way, this file
> should be generated. Otherwise this will very likely generate merge
> problems when other changes might get introduced to the config files
> (e.g. by using moveconfig.py).

I see. Thanks for the explanation!

Tony

> Thanks,
> Stefan

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header
  2021-12-20  7:23       ` Stefan Roese
@ 2021-12-20 21:14         ` Tony Dinh
  0 siblings, 0 replies; 26+ messages in thread
From: Tony Dinh @ 2021-12-20 21:14 UTC (permalink / raw)
  To: Stefan Roese
  Cc: Pali Rohár, U-Boot Mailing List, David Purdy, Tom Rini,
	Marek Beh�n

On Sun, Dec 19, 2021 at 11:23 PM Stefan Roese <sr@denx.de> wrote:
>
> Hi Tony,
>
> On 12/18/21 22:47, Tony Dinh wrote:
> > Hi Pali,
> >
> > On Sat, Dec 18, 2021 at 5:09 AM Pali Rohár <pali@kernel.org> wrote:
> >>
> >> On Friday 17 December 2021 20:23:32 Tony Dinh wrote:
> >>> Add board implementation header and Makefile for Pogoplug V4
> >>>
> >>> Signed-off-by: Tony Dinh <mibodhi@gmail.com>
> >>> ---
> >>>
> >>>   board/cloudengines/pogo_v4/Makefile  | 10 ++++++++
> >>>   board/cloudengines/pogo_v4/pogo_v4.h | 36 ++++++++++++++++++++++++++++
> >>>   2 files changed, 46 insertions(+)
> >>>   create mode 100644 board/cloudengines/pogo_v4/Makefile
> >>>   create mode 100644 board/cloudengines/pogo_v4/pogo_v4.h
> >>>
> >>> diff --git a/board/cloudengines/pogo_v4/Makefile b/board/cloudengines/pogo_v4/Makefile
> >>> new file mode 100644
> >>> index 0000000000..511bf5ff7e
> >>> --- /dev/null
> >>> +++ b/board/cloudengines/pogo_v4/Makefile
> >>> @@ -0,0 +1,10 @@
> >>> +# SPDX-License-Identifier: GPL-2.0+
> >>> +#
> >>> +# (C) Copyright 2014-2021 Tony Dinh <mibodhi@gmail.com>
> >>> +#
> >>> +# Based on
> >>> +# Marvell Semiconductor <www.marvell.com>
> >>> +# Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> >>> +#
> >>> +
> >>> +obj-y        := pogo_v4.o
> >>> diff --git a/board/cloudengines/pogo_v4/pogo_v4.h b/board/cloudengines/pogo_v4/pogo_v4.h
> >>> new file mode 100644
> >>> index 0000000000..bf3060de60
> >>> --- /dev/null
> >>> +++ b/board/cloudengines/pogo_v4/pogo_v4.h
> >>> @@ -0,0 +1,36 @@
> >>> +/* SPDX-License-Identifier: GPL-2.0+ */
> >>> +/*
> >>> + * Copyright (C) 2014-2021 Tony Dinh <mibodhi@gmail.com>
> >>> + *
> >>> + * Based on
> >>> + * Copyright (C) 2012 David Purdy <david.c.purdy@gmail.com>
> >>> + *
> >>> + * Based on Kirkwood support:
> >>> + * (C) Copyright 2009
> >>> + * Marvell Semiconductor <www.marvell.com>
> >>> + * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> >>> + */
> >>> +
> >>> +#ifndef __POGO_V4_H
> >>> +#define __POGO_V4_H
> >>> +
> >>> +#include <linux/bitops.h>
> >>> +
> >>> +/* GPIO configuration */
> >>> +#define POGO_V4_OE_LOW                               (~(0))
> >>> +#define POGO_V4_OE_HIGH                              (~(0))
> >>> +#define POGO_V4_OE_VAL_LOW                   BIT(29)
> >>> +#define POGO_V4_OE_VAL_HIGH                  0
> >>> +
> >>> +/* PHY related */
> >>> +#define MV88E1116_LED_FCTRL_REG                      10
> >>> +#define MV88E1116_CPRSP_CR3_REG                      21
> >>> +#define MV88E1116_MAC_CTRL_REG                       21
> >>> +#define MV88E1116_PGADR_REG                  22
> >>> +#define MV88E1116_RGMII_TXTM_CTRL            BIT(4)
> >>> +#define MV88E1116_RGMII_RXTM_CTRL            BIT(5)
> >>> +
> >>> +/* button */
> >>> +#define BTN_EJECT                            29
> >>> +
> >>> +#endif /* __POGO_V4_H */
> >>
> >> Hello! As this pogo_v4.h include file is used only in pogo_v4.c source
> >> file and contains only few defines, you can move all these defines
> >> directly into pogo_v4.c source file. There is no need to export these
> >> constants if they are not used by other files or modules.
> >
> > Sure, but that'll make the .c file harder to read? We've been using
> > the .h file since the old days, I think mostly for readability. This
> > is a small header file, but for some other boards, the header file is
> > quite large.
>
> I fail to see why moving these few lines from the header to the .c file
> makes the code harder to read. Especially if the macros / defines are
> only used in one specific file, it makes sense to place them in this
> file IMHO.

Concur with you and Pali! Will merge the constants to .c file.

Thanks,
Tony

>
> Thanks,
> Stefan

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2021-12-20 21:15 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-18  4:23 [PATCH 0/8] arm: kirkwood: Add support for Pogoplug V4 Tony Dinh
2021-12-18  4:23 ` [PATCH 1/8] arm: kirkwood: Pogoplug-V4 : Add DTS files Tony Dinh
2021-12-18 16:38   ` Andre Przywara
2021-12-18 22:05     ` Tony Dinh
2021-12-19  0:03       ` Andre Przywara
2021-12-19  1:23         ` Tony Dinh
2021-12-18  4:23 ` [PATCH 2/8] arm: kirkwood: Pogoplug V4 : Add board defconfig file Tony Dinh
2021-12-18 13:17   ` Pali Rohár
2021-12-18 21:41     ` Tony Dinh
2021-12-20  7:18       ` Stefan Roese
2021-12-20 21:09         ` Tony Dinh
2021-12-18  4:23 ` [PATCH 3/8] arm: kirkwood: Pogoplug-V4 : Add Kconfig files Tony Dinh
2021-12-18  4:23 ` [PATCH 4/8] arm: kirkwood: Pogoplug-V4 : Add board include configs file Tony Dinh
2021-12-18 13:12   ` Pali Rohár
2021-12-18 21:27     ` Tony Dinh
2021-12-18  4:23 ` [PATCH 5/8] arm: kirkwood: Pogoplug-V4 : Add board kwbimage file Tony Dinh
2021-12-18  4:23 ` [PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header Tony Dinh
2021-12-18 13:09   ` Pali Rohár
2021-12-18 21:47     ` Tony Dinh
2021-12-20  7:23       ` Stefan Roese
2021-12-20 21:14         ` Tony Dinh
2021-12-18  4:23 ` [PATCH 7/8] arm: kirkwood: Pogoplug-V4 : Add board implementation Tony Dinh
2021-12-18 22:59   ` Marek Behún
2021-12-18 23:28     ` Tony Dinh
2021-12-18 23:42       ` Marek Behún
2021-12-18  4:23 ` [PATCH 8/8] arm: kirkwood: Pogoplug-V4 : Add board maintainer Tony Dinh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.