mbox series

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

Message ID 20210112142342.7290-1-nsaenzjulienne@suse.de (mailing list archive)
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