Re: [U-Boot] [PATCH v6 1/7] drivers: net: cpsw: Add reading of DT phy-handle node
On Wed, Apr 27, 2016 at 10:44 AM, Dan Murphywrote: > Joe > > On 04/26/2016 04:42 PM, Joe Hershberger wrote: >> On Mon, Apr 25, 2016 at 4:32 PM, Joe Hershberger >> wrote: >>> On Fri, Apr 15, 2016 at 7:27 AM, Dan Murphy wrote: Add the ability to read the phy-handle node of the cpsw slave. Upon reading this handle the phy-id can be stored based on the reg node in the DT. >>> It would be great if the phy could be handled generically. >>> Unfortunately there is no uniform description so far, so having each >>> driver parse it is the best we can do for now. >>> The phy-handle also needs to be stored and passed to the phy to access any phy data that is available. Signed-off-by: Dan Murphy >>> Acked-by: Joe Hershberger >> This patch is not checkpatch.pl clean. Please resubmit. >> >> >> 610946.mbox:57: WARNING: line over 80 characters >> 610946.mbox:59: WARNING: line over 80 characters >> 610946.mbox:62: WARNING: line over 80 characters >> 610946.mbox:62: CHECK: Alignment should match open parenthesis >> 610946.mbox:65: WARNING: line over 80 characters >> 610946.mbox:66: WARNING: line over 80 characters >> total: 0 errors, 5 warnings, 1 checks, 39 lines checked > I can only fix a few there will still be at least 2 LTL warnings on this file > and fixing > it will break readability > > I don't see how to fix this. > > WARNING: line over 80 characters > #46: FILE: drivers/net/cpsw.c:1230: > +if (priv->data.slave_data[slave_index].phy_of_handle >= 0) { > > WARNING: line over 80 characters > #49: FILE: drivers/net/cpsw.c:1233: > + > priv->data.slave_data[slave_index].phy_of_handle, If you plan to have a patch that you feel can't be clean, please comment after the patch log with the reasoning. I had enough failures in the patches this release that I have not investigated each one on my own. Thanks, -Joe ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v6 1/7] drivers: net: cpsw: Add reading of DT phy-handle node
Joe On 04/26/2016 04:42 PM, Joe Hershberger wrote: > On Mon, Apr 25, 2016 at 4:32 PM, Joe Hershberger >wrote: >> On Fri, Apr 15, 2016 at 7:27 AM, Dan Murphy wrote: >>> Add the ability to read the phy-handle node of the >>> cpsw slave. Upon reading this handle the phy-id >>> can be stored based on the reg node in the DT. >> It would be great if the phy could be handled generically. >> Unfortunately there is no uniform description so far, so having each >> driver parse it is the best we can do for now. >> >>> The phy-handle also needs to be stored and passed >>> to the phy to access any phy data that is available. >>> >>> Signed-off-by: Dan Murphy >> Acked-by: Joe Hershberger > This patch is not checkpatch.pl clean. Please resubmit. > > > 610946.mbox:57: WARNING: line over 80 characters > 610946.mbox:59: WARNING: line over 80 characters > 610946.mbox:62: WARNING: line over 80 characters > 610946.mbox:62: CHECK: Alignment should match open parenthesis > 610946.mbox:65: WARNING: line over 80 characters > 610946.mbox:66: WARNING: line over 80 characters > total: 0 errors, 5 warnings, 1 checks, 39 lines checked I can only fix a few there will still be at least 2 LTL warnings on this file and fixing it will break readability I don't see how to fix this. WARNING: line over 80 characters #46: FILE: drivers/net/cpsw.c:1230: +if (priv->data.slave_data[slave_index].phy_of_handle >= 0) { WARNING: line over 80 characters #49: FILE: drivers/net/cpsw.c:1233: + priv->data.slave_data[slave_index].phy_of_handle, Dan -- -- Dan Murphy ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v6 1/7] drivers: net: cpsw: Add reading of DT phy-handle node
On Mon, Apr 25, 2016 at 4:32 PM, Joe Hershbergerwrote: > On Fri, Apr 15, 2016 at 7:27 AM, Dan Murphy wrote: >> Add the ability to read the phy-handle node of the >> cpsw slave. Upon reading this handle the phy-id >> can be stored based on the reg node in the DT. > > It would be great if the phy could be handled generically. > Unfortunately there is no uniform description so far, so having each > driver parse it is the best we can do for now. > >> The phy-handle also needs to be stored and passed >> to the phy to access any phy data that is available. >> >> Signed-off-by: Dan Murphy > > Acked-by: Joe Hershberger This patch is not checkpatch.pl clean. Please resubmit. 610946.mbox:57: WARNING: line over 80 characters 610946.mbox:59: WARNING: line over 80 characters 610946.mbox:62: WARNING: line over 80 characters 610946.mbox:62: CHECK: Alignment should match open parenthesis 610946.mbox:65: WARNING: line over 80 characters 610946.mbox:66: WARNING: line over 80 characters total: 0 errors, 5 warnings, 1 checks, 39 lines checked ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v6 1/7] drivers: net: cpsw: Add reading of DT phy-handle node
On Fri, Apr 15, 2016 at 7:27 AM, Dan Murphywrote: > Add the ability to read the phy-handle node of the > cpsw slave. Upon reading this handle the phy-id > can be stored based on the reg node in the DT. It would be great if the phy could be handled generically. Unfortunately there is no uniform description so far, so having each driver parse it is the best we can do for now. > The phy-handle also needs to be stored and passed > to the phy to access any phy data that is available. > > Signed-off-by: Dan Murphy Acked-by: Joe Hershberger ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v6 1/7] drivers: net: cpsw: Add reading of DT phy-handle node
On Friday 15 April 2016 05:57 PM, Dan Murphy wrote: > Add the ability to read the phy-handle node of the > cpsw slave. Upon reading this handle the phy-id > can be stored based on the reg node in the DT. > > The phy-handle also needs to be stored and passed > to the phy to access any phy data that is available. > > Signed-off-by: Dan MurphyTested this on dra72 rev C evm Tested-by: Mugunthan V N Regards Mugutnhan V N ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v6 1/7] drivers: net: cpsw: Add reading of DT phy-handle node
Bump? On 04/15/2016 07:27 AM, Dan Murphy wrote: > Add the ability to read the phy-handle node of the > cpsw slave. Upon reading this handle the phy-id > can be stored based on the reg node in the DT. > > The phy-handle also needs to be stored and passed > to the phy to access any phy data that is available. > > Signed-off-by: Dan Murphy> --- > > v6 - Fix build error when DM_ETH is not defined and updated phy_handle error > handling - https://patchwork.ozlabs.org/patch/608763/ > > drivers/net/cpsw.c | 20 ++-- > include/cpsw.h | 1 + > 2 files changed, 19 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c > index 7104754..3d6f0ce 100644 > --- a/drivers/net/cpsw.c > +++ b/drivers/net/cpsw.c > @@ -965,6 +965,11 @@ static int cpsw_phy_init(struct cpsw_priv *priv, struct > cpsw_slave *slave) > phydev->supported &= supported; > phydev->advertising = phydev->supported; > > +#ifdef CONFIG_DM_ETH > + if (slave->data->phy_of_handle) > + phydev->dev->of_offset = slave->data->phy_of_handle; > +#endif > + > priv->phydev = phydev; > phy_config(phydev); > > @@ -1217,8 +1222,19 @@ static int cpsw_eth_ofdata_to_platdata(struct udevice > *dev) > if (phy_mode) > priv->data.slave_data[slave_index].phy_if = > phy_get_interface_by_name(phy_mode); > - fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2); > - priv->data.slave_data[slave_index].phy_addr = phy_id[1]; > + > + priv->data.slave_data[slave_index].phy_of_handle = > + fdtdec_lookup_phandle(fdt, subnode, > "phy-handle"); > + > + if (priv->data.slave_data[slave_index].phy_of_handle >= > 0) { > + priv->data.slave_data[slave_index].phy_addr = > + fdtdec_get_int(gd->fdt_blob, > + > priv->data.slave_data[slave_index].phy_of_handle, > + "reg", -1); > + } else { > + fdtdec_get_int_array(fdt, subnode, "phy_id", > phy_id, 2); > + priv->data.slave_data[slave_index].phy_addr = > phy_id[1]; > + } > slave_index++; > } > > diff --git a/include/cpsw.h b/include/cpsw.h > index cf1d30b..ff95cd8 100644 > --- a/include/cpsw.h > +++ b/include/cpsw.h > @@ -21,6 +21,7 @@ struct cpsw_slave_data { > u32 sliver_reg_ofs; > int phy_addr; > int phy_if; > + int phy_of_handle; > }; > > enum { -- -- Dan Murphy ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v6 1/7] drivers: net: cpsw: Add reading of DT phy-handle node
Add the ability to read the phy-handle node of the cpsw slave. Upon reading this handle the phy-id can be stored based on the reg node in the DT. The phy-handle also needs to be stored and passed to the phy to access any phy data that is available. Signed-off-by: Dan Murphy--- v6 - Fix build error when DM_ETH is not defined and updated phy_handle error handling - https://patchwork.ozlabs.org/patch/608763/ drivers/net/cpsw.c | 20 ++-- include/cpsw.h | 1 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c index 7104754..3d6f0ce 100644 --- a/drivers/net/cpsw.c +++ b/drivers/net/cpsw.c @@ -965,6 +965,11 @@ static int cpsw_phy_init(struct cpsw_priv *priv, struct cpsw_slave *slave) phydev->supported &= supported; phydev->advertising = phydev->supported; +#ifdef CONFIG_DM_ETH + if (slave->data->phy_of_handle) + phydev->dev->of_offset = slave->data->phy_of_handle; +#endif + priv->phydev = phydev; phy_config(phydev); @@ -1217,8 +1222,19 @@ static int cpsw_eth_ofdata_to_platdata(struct udevice *dev) if (phy_mode) priv->data.slave_data[slave_index].phy_if = phy_get_interface_by_name(phy_mode); - fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2); - priv->data.slave_data[slave_index].phy_addr = phy_id[1]; + + priv->data.slave_data[slave_index].phy_of_handle = + fdtdec_lookup_phandle(fdt, subnode, "phy-handle"); + + if (priv->data.slave_data[slave_index].phy_of_handle >= 0) { + priv->data.slave_data[slave_index].phy_addr = + fdtdec_get_int(gd->fdt_blob, + priv->data.slave_data[slave_index].phy_of_handle, + "reg", -1); + } else { + fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2); + priv->data.slave_data[slave_index].phy_addr = phy_id[1]; + } slave_index++; } diff --git a/include/cpsw.h b/include/cpsw.h index cf1d30b..ff95cd8 100644 --- a/include/cpsw.h +++ b/include/cpsw.h @@ -21,6 +21,7 @@ struct cpsw_slave_data { u32 sliver_reg_ofs; int phy_addr; int phy_if; + int phy_of_handle; }; enum { -- 2.8.1.116.g7b0d47b ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot