mbox series

[0/6] nvmem: add "cell-type" property to support mac-address

Message ID 20210908100257.17833-1-qiangqing.zhang@nxp.com
Headers show
Series nvmem: add "cell-type" property to support mac-address | expand

Message

Joakim Zhang Sept. 8, 2021, 10:02 a.m. UTC
This patch set adds "cell-type" property to parse mac address, take i.MX
as an example, which need reverse byte for mac address.

Joakim Zhang (2):
  arm64: dts: imx8mm: add "cell-type" property for mac-address
  arm64: dts: imx8m: remove unused "nvmem_macaddr_swap" property for FEC

Srinivas Kandagatla (4):
  dt-bindings: nvmem: add cell-type to nvmem cells
  nvmem: core: parse nvmem cell-type from device tree
  nvmem: core: add nvmem cell post processing callback
  nvmem: imx-ocotp: add support for post porcessing.

 .../devicetree/bindings/nvmem/nvmem.yaml      | 11 +++++++
 arch/arm64/boot/dts/freescale/imx8mm.dtsi     |  3 +-
 arch/arm64/boot/dts/freescale/imx8mn.dtsi     |  3 +-
 arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 10 ++++++-
 arch/arm64/boot/dts/freescale/imx8mq.dtsi     |  3 +-
 drivers/nvmem/core.c                          | 12 ++++++++
 drivers/nvmem/imx-ocotp.c                     | 30 +++++++++++++++++++
 include/dt-bindings/nvmem/nvmem.h             |  8 +++++
 include/linux/nvmem-provider.h                |  5 ++++
 9 files changed, 81 insertions(+), 4 deletions(-)
 create mode 100644 include/dt-bindings/nvmem/nvmem.h

Comments

Joakim Zhang Sept. 22, 2021, 10:46 a.m. UTC | #1
Gentle Ping...

Best Regards,
Joakim Zhang

> -----Original Message-----

> From: Joakim Zhang <qiangqing.zhang@nxp.com>

> Sent: 2021年9月8日 18:03

> To: srinivas.kandagatla@linaro.org; robh+dt@kernel.org;

> shawnguo@kernel.org

> Cc: dl-linux-imx <linux-imx@nxp.com>; kernel@pengutronix.de;

> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org

> Subject: [PATCH 0/6] nvmem: add "cell-type" property to support mac-address

> 

> This patch set adds "cell-type" property to parse mac address, take i.MX as an

> example, which need reverse byte for mac address.

> 

> Joakim Zhang (2):

>   arm64: dts: imx8mm: add "cell-type" property for mac-address

>   arm64: dts: imx8m: remove unused "nvmem_macaddr_swap" property for

> FEC

> 

> Srinivas Kandagatla (4):

>   dt-bindings: nvmem: add cell-type to nvmem cells

>   nvmem: core: parse nvmem cell-type from device tree

>   nvmem: core: add nvmem cell post processing callback

>   nvmem: imx-ocotp: add support for post porcessing.

> 

>  .../devicetree/bindings/nvmem/nvmem.yaml      | 11 +++++++

>  arch/arm64/boot/dts/freescale/imx8mm.dtsi     |  3 +-

>  arch/arm64/boot/dts/freescale/imx8mn.dtsi     |  3 +-

>  arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 10 ++++++-

>  arch/arm64/boot/dts/freescale/imx8mq.dtsi     |  3 +-

>  drivers/nvmem/core.c                          | 12 ++++++++

>  drivers/nvmem/imx-ocotp.c                     | 30

> +++++++++++++++++++

>  include/dt-bindings/nvmem/nvmem.h             |  8 +++++

>  include/linux/nvmem-provider.h                |  5 ++++

>  9 files changed, 81 insertions(+), 4 deletions(-)  create mode 100644

> include/dt-bindings/nvmem/nvmem.h

> 

> --

> 2.17.1
Ahmad Fatoum Sept. 22, 2021, 11:40 a.m. UTC | #2
On 08.09.21 12:02, Joakim Zhang wrote:
> Add "cell-type" property for mac-address nvmem cell to supporting mac

> address reverse byte.


s/imx8mm/imx8m/ in commit message title.
Do you intend to do this for older i.MX as well?

> 

> Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>

> ---

>  arch/arm64/boot/dts/freescale/imx8mm.dtsi | 2 ++

>  arch/arm64/boot/dts/freescale/imx8mn.dtsi | 2 ++

>  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 9 +++++++++

>  arch/arm64/boot/dts/freescale/imx8mq.dtsi | 2 ++

>  4 files changed, 15 insertions(+)

> 

> diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi

> index e7648c3b8390..fb14be932386 100644

> --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi

> +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi

> @@ -7,6 +7,7 @@

>  #include <dt-bindings/gpio/gpio.h>

>  #include <dt-bindings/input/input.h>

>  #include <dt-bindings/interrupt-controller/arm-gic.h>

> +#include <dt-bindings/nvmem/nvmem.h>

>  #include <dt-bindings/thermal/thermal.h>

>  

>  #include "imx8mm-pinfunc.h"

> @@ -539,6 +540,7 @@

>  

>  				fec_mac_address: mac-address@90 {

>  					reg = <0x90 6>;

> +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

>  				};

>  			};

>  

> diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi

> index d4231e061403..0a994e6edc0b 100644

> --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi

> +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi

> @@ -7,6 +7,7 @@

>  #include <dt-bindings/gpio/gpio.h>

>  #include <dt-bindings/input/input.h>

>  #include <dt-bindings/interrupt-controller/arm-gic.h>

> +#include <dt-bindings/nvmem/nvmem.h>

>  #include <dt-bindings/thermal/thermal.h>

>  

>  #include "imx8mn-pinfunc.h"

> @@ -544,6 +545,7 @@

>  

>  				fec_mac_address: mac-address@90 {

>  					reg = <0x90 6>;

> +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

>  				};

>  			};

>  

> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi

> index 9f7c7f587d38..37188ff07f21 100644

> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi

> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi

> @@ -7,6 +7,7 @@

>  #include <dt-bindings/gpio/gpio.h>

>  #include <dt-bindings/input/input.h>

>  #include <dt-bindings/interrupt-controller/arm-gic.h>

> +#include <dt-bindings/nvmem/nvmem.h>

>  #include <dt-bindings/thermal/thermal.h>

>  

>  #include "imx8mp-pinfunc.h"

> @@ -358,6 +359,12 @@

>  

>  				eth_mac1: mac-address@90 {

>  					reg = <0x90 6>;

> +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

> +				};

> +

> +				eth_mac2: mac-address@96 {

> +					reg = <0x96 6>;

> +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

>  				};

>  			};

>  

> @@ -836,6 +843,8 @@

>  							 <&clk IMX8MP_SYS_PLL2_100M>,

>  							 <&clk IMX8MP_SYS_PLL2_125M>;

>  				assigned-clock-rates = <0>, <100000000>, <125000000>;

> +				nvmem-cells = <&eth_mac2>;

> +				nvmem-cell-names = "mac-address";

>  				intf_mode = <&gpr 0x4>;

>  				status = "disabled";

>  			};

> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi

> index 91df9c5350ae..1cb211e470ae 100644

> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi

> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi

> @@ -10,6 +10,7 @@

>  #include <dt-bindings/gpio/gpio.h>

>  #include "dt-bindings/input/input.h"

>  #include <dt-bindings/interrupt-controller/arm-gic.h>

> +#include <dt-bindings/nvmem/nvmem.h>

>  #include <dt-bindings/thermal/thermal.h>

>  #include <dt-bindings/interconnect/imx8mq.h>

>  #include "imx8mq-pinfunc.h"

> @@ -570,6 +571,7 @@

>  

>  				fec_mac_address: mac-address@90 {

>  					reg = <0x90 6>;

> +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

>  				};

>  			};

>  

> 



-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
Joakim Zhang Sept. 23, 2021, 2:52 a.m. UTC | #3
Hi Ahmad,

> -----Original Message-----

> From: Ahmad Fatoum <a.fatoum@pengutronix.de>

> Sent: 2021年9月22日 19:40

> To: Joakim Zhang <qiangqing.zhang@nxp.com>;

> srinivas.kandagatla@linaro.org; robh+dt@kernel.org; shawnguo@kernel.org

> Cc: devicetree@vger.kernel.org; dl-linux-imx <linux-imx@nxp.com>;

> kernel@pengutronix.de; linux-kernel@vger.kernel.org

> Subject: Re: [PATCH 5/6] arm64: dts: imx8mm: add "cell-type" property for

> mac-address

> 

> On 08.09.21 12:02, Joakim Zhang wrote:

> > Add "cell-type" property for mac-address nvmem cell to supporting mac

> > address reverse byte.

> 

> s/imx8mm/imx8m/ in commit message title.


Will fix it in V2.

> Do you intend to do this for older i.MX as well?


No plan now, I just prepare it for i.MX8M serials.

Best Regards,
Joakim Zhang
> >

> > Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>

> > ---

> >  arch/arm64/boot/dts/freescale/imx8mm.dtsi | 2 ++

> > arch/arm64/boot/dts/freescale/imx8mn.dtsi | 2 ++

> > arch/arm64/boot/dts/freescale/imx8mp.dtsi | 9 +++++++++

> > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 2 ++

> >  4 files changed, 15 insertions(+)

> >

> > diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi

> > b/arch/arm64/boot/dts/freescale/imx8mm.dtsi

> > index e7648c3b8390..fb14be932386 100644

> > --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi

> > +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi

> > @@ -7,6 +7,7 @@

> >  #include <dt-bindings/gpio/gpio.h>

> >  #include <dt-bindings/input/input.h>

> >  #include <dt-bindings/interrupt-controller/arm-gic.h>

> > +#include <dt-bindings/nvmem/nvmem.h>

> >  #include <dt-bindings/thermal/thermal.h>

> >

> >  #include "imx8mm-pinfunc.h"

> > @@ -539,6 +540,7 @@

> >

> >  				fec_mac_address: mac-address@90 {

> >  					reg = <0x90 6>;

> > +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

> >  				};

> >  			};

> >

> > diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi

> > b/arch/arm64/boot/dts/freescale/imx8mn.dtsi

> > index d4231e061403..0a994e6edc0b 100644

> > --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi

> > +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi

> > @@ -7,6 +7,7 @@

> >  #include <dt-bindings/gpio/gpio.h>

> >  #include <dt-bindings/input/input.h>

> >  #include <dt-bindings/interrupt-controller/arm-gic.h>

> > +#include <dt-bindings/nvmem/nvmem.h>

> >  #include <dt-bindings/thermal/thermal.h>

> >

> >  #include "imx8mn-pinfunc.h"

> > @@ -544,6 +545,7 @@

> >

> >  				fec_mac_address: mac-address@90 {

> >  					reg = <0x90 6>;

> > +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

> >  				};

> >  			};

> >

> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi

> > b/arch/arm64/boot/dts/freescale/imx8mp.dtsi

> > index 9f7c7f587d38..37188ff07f21 100644

> > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi

> > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi

> > @@ -7,6 +7,7 @@

> >  #include <dt-bindings/gpio/gpio.h>

> >  #include <dt-bindings/input/input.h>

> >  #include <dt-bindings/interrupt-controller/arm-gic.h>

> > +#include <dt-bindings/nvmem/nvmem.h>

> >  #include <dt-bindings/thermal/thermal.h>

> >

> >  #include "imx8mp-pinfunc.h"

> > @@ -358,6 +359,12 @@

> >

> >  				eth_mac1: mac-address@90 {

> >  					reg = <0x90 6>;

> > +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

> > +				};

> > +

> > +				eth_mac2: mac-address@96 {

> > +					reg = <0x96 6>;

> > +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

> >  				};

> >  			};

> >

> > @@ -836,6 +843,8 @@

> >  							 <&clk IMX8MP_SYS_PLL2_100M>,

> >  							 <&clk IMX8MP_SYS_PLL2_125M>;

> >  				assigned-clock-rates = <0>, <100000000>, <125000000>;

> > +				nvmem-cells = <&eth_mac2>;

> > +				nvmem-cell-names = "mac-address";

> >  				intf_mode = <&gpr 0x4>;

> >  				status = "disabled";

> >  			};

> > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi

> > b/arch/arm64/boot/dts/freescale/imx8mq.dtsi

> > index 91df9c5350ae..1cb211e470ae 100644

> > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi

> > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi

> > @@ -10,6 +10,7 @@

> >  #include <dt-bindings/gpio/gpio.h>

> >  #include "dt-bindings/input/input.h"

> >  #include <dt-bindings/interrupt-controller/arm-gic.h>

> > +#include <dt-bindings/nvmem/nvmem.h>

> >  #include <dt-bindings/thermal/thermal.h>  #include

> > <dt-bindings/interconnect/imx8mq.h>

> >  #include "imx8mq-pinfunc.h"

> > @@ -570,6 +571,7 @@

> >

> >  				fec_mac_address: mac-address@90 {

> >  					reg = <0x90 6>;

> > +					cell-type = <NVMEM_CELL_TYPE_MAC_ADDRESS>;

> >  				};

> >  			};

> >

> >

> 

> 

> --

> Pengutronix e.K.                           |

> |

> Steuerwalder Str. 21                       |

> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pe

> ngutronix.de%2F&amp;data=04%7C01%7Cqiangqing.zhang%40nxp.com%7C94

> d6744dc99545da696a08d97dbdb83f%7C686ea1d3bc2b4c6fa92cd99c5c301635

> %7C0%7C0%7C637679076057590614%7CUnknown%7CTWFpbGZsb3d8eyJWIj

> oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C10

> 00&amp;sdata=rb9ZZXEqNxQaq9PORDP5ZVOgqZINFltBG1eMvM9VcBc%3D&a

> mp;reserved=0  |

> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0

> |

> Amtsgericht Hildesheim, HRA 2686           | Fax:

> +49-5121-206917-5555 |