mbox series

[v3,0/5] Expose RPi4's bootloader configuration

Message ID 20210112142342.7290-1-nsaenzjulienne@suse.de
Headers show
Series Expose RPi4's bootloader configuration | expand

Message

Nicolas Saenz Julienne Jan. 12, 2021, 2:23 p.m. UTC
Soon to be released versions of RPi4's firmware will take of care
passing their bootloader's configuration[1] to the OS by copying it into
memory and creating a reserved memory node in the board's DT. By
modeling this reserved memory node as an nvmem device using
'nvmem-rmem', which this series introduces, user-space applications will
be able to query this information through nvmem's sysfs interface.

An alternative approach, less nice IMO, would be to create a
platform-specific 'soc' driver.

Regards,
Nicolas

[1] https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md

---

Changes since v2:
 - Fix DT bingins

Changes since v1:
 - Avoid the reserved-memory indirection by integrating the nvmem driver
   into the reserved memory node.

Nicolas Saenz Julienne (5):
  dt-bindings: nvmem: Add bindings for rmem driver
  nvmem: Add driver to expose reserved memory as nvmem
  ARM: dts: bcm2711: Add reserved memory template to hold firmware
    configuration
  arm64: defconfig: Enable nvmem's rmem driver
  ARM: multi_v7_defconfig: Enable nvmem's rmem driver

 .../devicetree/bindings/nvmem/rmem.yaml       | 49 ++++++++++
 arch/arm/boot/dts/bcm2711-rpi-4-b.dts         | 17 ++++
 arch/arm/configs/multi_v7_defconfig           |  1 +
 arch/arm64/configs/defconfig                  |  1 +
 drivers/nvmem/Kconfig                         |  8 ++
 drivers/nvmem/Makefile                        |  2 +
 drivers/nvmem/rmem.c                          | 97 +++++++++++++++++++
 drivers/of/platform.c                         |  1 +
 8 files changed, 176 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/nvmem/rmem.yaml
 create mode 100644 drivers/nvmem/rmem.c

Comments

Srinivas Kandagatla Jan. 18, 2021, 4:50 p.m. UTC | #1
On 12/01/2021 14:23, Nicolas Saenz Julienne wrote:
> Soon to be released versions of RPi4's firmware will take of care

> passing their bootloader's configuration[1] to the OS by copying it into

> memory and creating a reserved memory node in the board's DT. By

> modeling this reserved memory node as an nvmem device using

> 'nvmem-rmem', which this series introduces, user-space applications will

> be able to query this information through nvmem's sysfs interface.

> 

> An alternative approach, less nice IMO, would be to create a

> platform-specific 'soc' driver.

> 

> Regards,

> Nicolas

> 

> [1] https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md

> 

> ---

> 

> Changes since v2:

>   - Fix DT bingins

> 

> Changes since v1:

>   - Avoid the reserved-memory indirection by integrating the nvmem driver

>     into the reserved memory node.

> 

> Nicolas Saenz Julienne (5):

>    dt-bindings: nvmem: Add bindings for rmem driver

>    nvmem: Add driver to expose reserved memory as nvmem

>    ARM: dts: bcm2711: Add reserved memory template to hold firmware

>      configuration

>    arm64: defconfig: Enable nvmem's rmem driver

>    ARM: multi_v7_defconfig: Enable nvmem's rmem driver

> 



Thanks Applied (1/5) and (2/5), rest of patches should go via arm-soc tree!

--srini

>   .../devicetree/bindings/nvmem/rmem.yaml       | 49 ++++++++++

>   arch/arm/boot/dts/bcm2711-rpi-4-b.dts         | 17 ++++

>   arch/arm/configs/multi_v7_defconfig           |  1 +

>   arch/arm64/configs/defconfig                  |  1 +

>   drivers/nvmem/Kconfig                         |  8 ++

>   drivers/nvmem/Makefile                        |  2 +

>   drivers/nvmem/rmem.c                          | 97 +++++++++++++++++++

>   drivers/of/platform.c                         |  1 +

>   8 files changed, 176 insertions(+)

>   create mode 100644 Documentation/devicetree/bindings/nvmem/rmem.yaml

>   create mode 100644 drivers/nvmem/rmem.c

>
Nicolas Saenz Julienne Jan. 25, 2021, 9:04 p.m. UTC | #2
On Tue, 2021-01-12 at 15:23 +0100, Nicolas Saenz Julienne wrote:
> Soon to be released versions of RPi4's firmware will take of care

> passing their bootloader's configuration[1] to the OS by copying it into

> memory and creating a reserved memory node in the board's DT. By

> modeling this reserved memory node as an nvmem device using

> 'nvmem-rmem', which this series introduces, user-space applications will

> be able to query this information through nvmem's sysfs interface.

> 

> An alternative approach, less nice IMO, would be to create a

> platform-specific 'soc' driver.

> 

> Regards,

> Nicolas

> 

> [1] https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md

> 


Applied patches #3 to #5 for next.

Regards,
Nicolas