All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model.
@ 2021-07-30  3:02 Tony Dinh
  2021-07-30  3:02 ` [PATCH 1/3] arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM SATA configs Tony Dinh
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Tony Dinh @ 2021-07-30  3:02 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese, Suriyan Ramasami
  Cc: Chris Packham, Tom Rini, Tony Dinh, Simon Glass


- Enable DM SATA and SATA MV driver
- Enable DM Ethernet.
- Use Ethernet PHY names from device tree.
- Replace the old Ethernet PHY addr lookup with a device tree parsing
lookup function.


Tony Dinh (3):
  arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM
    SATA configs
  arm: kirkwood: GoFlex Home: Add DM SATA configs
  arm: kirkwood: GoFlex Home: Use Ethernet PHY name and address from
    device tree

 board/Seagate/goflexhome/goflexhome.c | 57 +++++++++++++++++++++------
 configs/goflexhome_defconfig          |  5 ++-
 include/configs/goflexhome.h          |  6 +++
 3 files changed, 55 insertions(+), 13 deletions(-)

-- 
2.20.1


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

* [PATCH 1/3] arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM SATA configs
  2021-07-30  3:02 [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model Tony Dinh
@ 2021-07-30  3:02 ` Tony Dinh
  2021-08-11  6:36   ` Stefan Roese
  2021-07-30  3:02 ` [PATCH 2/3] arm: kirkwood: GoFlex Home: Add " Tony Dinh
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Tony Dinh @ 2021-07-30  3:02 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese, Suriyan Ramasami
  Cc: Chris Packham, Tom Rini, Tony Dinh

Add DM_ETH, SATA_MV and associated configs to goflexhome_defconfig.

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

 configs/goflexhome_defconfig | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/configs/goflexhome_defconfig b/configs/goflexhome_defconfig
index 7207fa27e0..17adeca92f 100644
--- a/configs/goflexhome_defconfig
+++ b/configs/goflexhome_defconfig
@@ -16,7 +16,6 @@ CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SYS_PROMPT="GoFlexHome> "
 # CONFIG_CMD_FLASH is not set
-CONFIG_CMD_IDE=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
@@ -48,3 +47,7 @@ CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
+CONFIG_CMD_SATA=y
+CONFIG_SATA_MV=y
+CONFIG_DM_ETH=y
+CONFIG_NET_RANDOM_ETHADDR=y
-- 
2.20.1


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

* [PATCH 2/3] arm: kirkwood: GoFlex Home: Add DM SATA configs
  2021-07-30  3:02 [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model Tony Dinh
  2021-07-30  3:02 ` [PATCH 1/3] arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM SATA configs Tony Dinh
@ 2021-07-30  3:02 ` Tony Dinh
  2021-08-11  6:36   ` Stefan Roese
  2021-07-30  3:02 ` [PATCH 3/3] arm: kirkwood: GoFlex Home: Use Ethernet PHY name and address from device tree Tony Dinh
  2021-08-11  8:26 ` [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model Stefan Roese
  3 siblings, 1 reply; 8+ messages in thread
From: Tony Dinh @ 2021-07-30  3:02 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese, Suriyan Ramasami
  Cc: Chris Packham, Tom Rini, Tony Dinh

Enable DM SATA in board file.

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

 include/configs/goflexhome.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/include/configs/goflexhome.h b/include/configs/goflexhome.h
index a18e7869b0..2e89d72285 100644
--- a/include/configs/goflexhome.h
+++ b/include/configs/goflexhome.h
@@ -72,4 +72,10 @@
 #define CONFIG_PHY_BASE_ADR	0
 #endif /* CONFIG_CMD_NET */
 
+/* SATA driver configuration */
+#ifdef CONFIG_SATA
+#define CONFIG_SYS_SATA_MAX_DEVICE	1
+#define CONFIG_LBA48
+#endif /* CONFIG_SATA */
+
 #endif /* _CONFIG_GOFLEXHOME_H */
-- 
2.20.1


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

* [PATCH 3/3] arm: kirkwood: GoFlex Home: Use Ethernet PHY name and address from device tree
  2021-07-30  3:02 [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model Tony Dinh
  2021-07-30  3:02 ` [PATCH 1/3] arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM SATA configs Tony Dinh
  2021-07-30  3:02 ` [PATCH 2/3] arm: kirkwood: GoFlex Home: Add " Tony Dinh
@ 2021-07-30  3:02 ` Tony Dinh
  2021-08-11  6:36   ` Stefan Roese
  2021-08-11  8:26 ` [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model Stefan Roese
  3 siblings, 1 reply; 8+ messages in thread
From: Tony Dinh @ 2021-07-30  3:02 UTC (permalink / raw)
  To: U-Boot Mailing List, Stefan Roese, Suriyan Ramasami
  Cc: Chris Packham, Tom Rini, Tony Dinh, Simon Glass

In DM Ethernet, the old "egiga0" name is no longer valid,
so replace these with Ethernet PHY names from device tree. Also, read
Ethernet PHY address from device tree.

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

 board/Seagate/goflexhome/goflexhome.c | 57 +++++++++++++++++++++------
 1 file changed, 45 insertions(+), 12 deletions(-)

diff --git a/board/Seagate/goflexhome/goflexhome.c b/board/Seagate/goflexhome/goflexhome.c
index af8cab7bdc..52be64fb8c 100644
--- a/board/Seagate/goflexhome/goflexhome.c
+++ b/board/Seagate/goflexhome/goflexhome.c
@@ -1,5 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
+ * Copyright (C) 2021
+ * Tony Dinh <mibodhi@gmail.com>
+ * Suriyan Ramasami <suriyan.r@gmail.com>
+ *
  * Copyright (C) 2013 Suriyan Ramasami <suriyan.r@gmail.com>
  *
  * Based on dockstar.c originally written by
@@ -107,36 +111,65 @@ int board_init(void)
 	return 0;
 }
 
+static 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) {
+			phandle = fdt32_to_cpu(*val);
+			if (!phandle)
+				return -1;
+			/* 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 -1;
+}
+
 #ifdef CONFIG_RESET_PHY_R
 /* Configure and enable MV88E1116 PHY */
 void reset_phy(void)
 {
 	u16 reg;
-	u16 devadr;
-	char *name = "egiga0";
+	int phyaddr;
+	char *name = "ethernet-controller@72000";
+	char *eth0_path = "/ocp@f1000000/ethernet-controller@72000/ethernet0-port@0";
 
 	if (miiphy_set_current_dev(name))
 		return;
 
-	/* command to read PHY dev address */
-	if (miiphy_read(name, 0xEE, 0xEE, (u16 *)&devadr)) {
-		printf("Err..%s could not read PHY dev address\n",
-		       __func__);
+	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, devadr, MV88E1116_PGADR_REG, 2);
-	miiphy_read(name, devadr, MV88E1116_MAC_CTRL_REG, &reg);
+	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, devadr, MV88E1116_MAC_CTRL_REG, reg);
-	miiphy_write(name, devadr, MV88E1116_PGADR_REG, 0);
+	miiphy_write(name, phyaddr, MV88E1116_MAC_CTRL_REG, reg);
+	miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 0);
 
 	/* reset the phy */
-	miiphy_reset(name, devadr);
+	miiphy_reset(name, phyaddr);
 
 	printf("88E1116 Initialized on %s\n", name);
 }
-- 
2.20.1


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

* Re: [PATCH 1/3] arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM SATA configs
  2021-07-30  3:02 ` [PATCH 1/3] arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM SATA configs Tony Dinh
@ 2021-08-11  6:36   ` Stefan Roese
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Roese @ 2021-08-11  6:36 UTC (permalink / raw)
  To: Tony Dinh, U-Boot Mailing List, Suriyan Ramasami; +Cc: Chris Packham, Tom Rini

On 30.07.21 05:02, Tony Dinh wrote:
> Add DM_ETH, SATA_MV and associated configs to goflexhome_defconfig.
> 
> Signed-off-by: Tony Dinh <mibodhi@gmail.com>

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

Thanks,
Stefan

> ---
> 
>   configs/goflexhome_defconfig | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/configs/goflexhome_defconfig b/configs/goflexhome_defconfig
> index 7207fa27e0..17adeca92f 100644
> --- a/configs/goflexhome_defconfig
> +++ b/configs/goflexhome_defconfig
> @@ -16,7 +16,6 @@ CONFIG_CONSOLE_MUX=y
>   # CONFIG_DISPLAY_BOARDINFO is not set
>   CONFIG_SYS_PROMPT="GoFlexHome> "
>   # CONFIG_CMD_FLASH is not set
> -CONFIG_CMD_IDE=y
>   CONFIG_CMD_NAND=y
>   CONFIG_CMD_USB=y
>   # CONFIG_CMD_SETEXPR is not set
> @@ -48,3 +47,7 @@ CONFIG_SYS_NS16550=y
>   CONFIG_USB=y
>   CONFIG_USB_EHCI_HCD=y
>   CONFIG_USB_STORAGE=y
> +CONFIG_CMD_SATA=y
> +CONFIG_SATA_MV=y
> +CONFIG_DM_ETH=y
> +CONFIG_NET_RANDOM_ETHADDR=y
> 


Viele Grüße,
Stefan

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

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

* Re: [PATCH 2/3] arm: kirkwood: GoFlex Home: Add DM SATA configs
  2021-07-30  3:02 ` [PATCH 2/3] arm: kirkwood: GoFlex Home: Add " Tony Dinh
@ 2021-08-11  6:36   ` Stefan Roese
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Roese @ 2021-08-11  6:36 UTC (permalink / raw)
  To: Tony Dinh, U-Boot Mailing List, Suriyan Ramasami; +Cc: Chris Packham, Tom Rini

On 30.07.21 05:02, Tony Dinh wrote:
> Enable DM SATA in board file.
> 
> Signed-off-by: Tony Dinh <mibodhi@gmail.com>

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

Thanks,
Stefan

> ---
> 
>   include/configs/goflexhome.h | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/include/configs/goflexhome.h b/include/configs/goflexhome.h
> index a18e7869b0..2e89d72285 100644
> --- a/include/configs/goflexhome.h
> +++ b/include/configs/goflexhome.h
> @@ -72,4 +72,10 @@
>   #define CONFIG_PHY_BASE_ADR	0
>   #endif /* CONFIG_CMD_NET */
>   
> +/* SATA driver configuration */
> +#ifdef CONFIG_SATA
> +#define CONFIG_SYS_SATA_MAX_DEVICE	1
> +#define CONFIG_LBA48
> +#endif /* CONFIG_SATA */
> +
>   #endif /* _CONFIG_GOFLEXHOME_H */
> 


Viele Grüße,
Stefan

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

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

* Re: [PATCH 3/3] arm: kirkwood: GoFlex Home: Use Ethernet PHY name and address from device tree
  2021-07-30  3:02 ` [PATCH 3/3] arm: kirkwood: GoFlex Home: Use Ethernet PHY name and address from device tree Tony Dinh
@ 2021-08-11  6:36   ` Stefan Roese
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Roese @ 2021-08-11  6:36 UTC (permalink / raw)
  To: Tony Dinh, U-Boot Mailing List, Suriyan Ramasami
  Cc: Chris Packham, Tom Rini, Simon Glass

On 30.07.21 05:02, Tony Dinh wrote:
> In DM Ethernet, the old "egiga0" name is no longer valid,
> so replace these with Ethernet PHY names from device tree. Also, read
> Ethernet PHY address from device tree.
> 
> Signed-off-by: Tony Dinh <mibodhi@gmail.com>

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

Thanks,
Stefan

> ---
> 
>   board/Seagate/goflexhome/goflexhome.c | 57 +++++++++++++++++++++------
>   1 file changed, 45 insertions(+), 12 deletions(-)
> 
> diff --git a/board/Seagate/goflexhome/goflexhome.c b/board/Seagate/goflexhome/goflexhome.c
> index af8cab7bdc..52be64fb8c 100644
> --- a/board/Seagate/goflexhome/goflexhome.c
> +++ b/board/Seagate/goflexhome/goflexhome.c
> @@ -1,5 +1,9 @@
>   // SPDX-License-Identifier: GPL-2.0+
>   /*
> + * Copyright (C) 2021
> + * Tony Dinh <mibodhi@gmail.com>
> + * Suriyan Ramasami <suriyan.r@gmail.com>
> + *
>    * Copyright (C) 2013 Suriyan Ramasami <suriyan.r@gmail.com>
>    *
>    * Based on dockstar.c originally written by
> @@ -107,36 +111,65 @@ int board_init(void)
>   	return 0;
>   }
>   
> +static 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) {
> +			phandle = fdt32_to_cpu(*val);
> +			if (!phandle)
> +				return -1;
> +			/* 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 -1;
> +}
> +
>   #ifdef CONFIG_RESET_PHY_R
>   /* Configure and enable MV88E1116 PHY */
>   void reset_phy(void)
>   {
>   	u16 reg;
> -	u16 devadr;
> -	char *name = "egiga0";
> +	int phyaddr;
> +	char *name = "ethernet-controller@72000";
> +	char *eth0_path = "/ocp@f1000000/ethernet-controller@72000/ethernet0-port@0";
>   
>   	if (miiphy_set_current_dev(name))
>   		return;
>   
> -	/* command to read PHY dev address */
> -	if (miiphy_read(name, 0xEE, 0xEE, (u16 *)&devadr)) {
> -		printf("Err..%s could not read PHY dev address\n",
> -		       __func__);
> +	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, devadr, MV88E1116_PGADR_REG, 2);
> -	miiphy_read(name, devadr, MV88E1116_MAC_CTRL_REG, &reg);
> +	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, devadr, MV88E1116_MAC_CTRL_REG, reg);
> -	miiphy_write(name, devadr, MV88E1116_PGADR_REG, 0);
> +	miiphy_write(name, phyaddr, MV88E1116_MAC_CTRL_REG, reg);
> +	miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 0);
>   
>   	/* reset the phy */
> -	miiphy_reset(name, devadr);
> +	miiphy_reset(name, phyaddr);
>   
>   	printf("88E1116 Initialized on %s\n", name);
>   }
> 


Viele Grüße,
Stefan

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

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

* Re: [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model.
  2021-07-30  3:02 [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model Tony Dinh
                   ` (2 preceding siblings ...)
  2021-07-30  3:02 ` [PATCH 3/3] arm: kirkwood: GoFlex Home: Use Ethernet PHY name and address from device tree Tony Dinh
@ 2021-08-11  8:26 ` Stefan Roese
  3 siblings, 0 replies; 8+ messages in thread
From: Stefan Roese @ 2021-08-11  8:26 UTC (permalink / raw)
  To: Tony Dinh, U-Boot Mailing List, Suriyan Ramasami
  Cc: Chris Packham, Tom Rini, Simon Glass

On 30.07.21 05:02, Tony Dinh wrote:
> 
> - Enable DM SATA and SATA MV driver
> - Enable DM Ethernet.
> - Use Ethernet PHY names from device tree.
> - Replace the old Ethernet PHY addr lookup with a device tree parsing
> lookup function.
> 
> 
> Tony Dinh (3):
>    arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM
>      SATA configs
>    arm: kirkwood: GoFlex Home: Add DM SATA configs
>    arm: kirkwood: GoFlex Home: Use Ethernet PHY name and address from
>      device tree
> 
>   board/Seagate/goflexhome/goflexhome.c | 57 +++++++++++++++++++++------
>   configs/goflexhome_defconfig          |  5 ++-
>   include/configs/goflexhome.h          |  6 +++
>   3 files changed, 55 insertions(+), 13 deletions(-)

Applied to u-boot-marvell/master

Thanks,
Stefan

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

end of thread, other threads:[~2021-08-11  8:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-30  3:02 [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model Tony Dinh
2021-07-30  3:02 ` [PATCH 1/3] arm: kirkwood: GoFlex Home: Add DM Ethernet, remove IDE, and add DM SATA configs Tony Dinh
2021-08-11  6:36   ` Stefan Roese
2021-07-30  3:02 ` [PATCH 2/3] arm: kirkwood: GoFlex Home: Add " Tony Dinh
2021-08-11  6:36   ` Stefan Roese
2021-07-30  3:02 ` [PATCH 3/3] arm: kirkwood: GoFlex Home: Use Ethernet PHY name and address from device tree Tony Dinh
2021-08-11  6:36   ` Stefan Roese
2021-08-11  8:26 ` [PATCH 0/3] arm: kirkwood: Convert the GoFlex Home board Ethernet and SATA to Driver Model Stefan Roese

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.