Skip to content

Commit

Permalink
ARM: bcm2835: Set Serial number and Revision
Browse files Browse the repository at this point in the history
The VideoCore bootloader passes in Serial number and
Revision number through Device Tree. Make these available to
userspace through /proc/cpuinfo.

Mainline status:

There is a commit in linux-next that standardize passing the serial
number through Device Tree (string: /serial-number):
ARM: 8355/1: arch: Show the serial number from devicetree in cpuinfo

There was an attempt to do the same with the revision number, but it
didn't get in:
[PATCH v2 1/2] arm: devtree: Set system_rev from DT revision

Signed-off-by: Noralf Trønnes <[email protected]>
  • Loading branch information
notro authored and popcornmix committed Mar 9, 2022
1 parent e126abd commit 3e787f9
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions arch/arm/mach-bcm/board_bcm2835.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,25 @@
#include <linux/init.h>
#include <linux/irqchip.h>
#include <linux/of_address.h>
#include <asm/system_info.h>

#include <asm/mach/arch.h>
#include <asm/mach/map.h>

#include "platsmp.h"

static void __init bcm2835_init(void)
{
struct device_node *np = of_find_node_by_path("/system");
u32 val;
u64 val64;

if (!of_property_read_u32(np, "linux,revision", &val))
system_rev = val;
if (!of_property_read_u64(np, "linux,serial", &val64))
system_serial_low = val64;
}

static const char * const bcm2835_compat[] = {
#ifdef CONFIG_ARCH_MULTI_V6
"brcm,bcm2835",
Expand All @@ -24,6 +37,7 @@ static const char * const bcm2835_compat[] = {
};

DT_MACHINE_START(BCM2835, "BCM2835")
.init_machine = bcm2835_init,
.dt_compat = bcm2835_compat,
.smp = smp_ops(bcm2836_smp_ops),
MACHINE_END

0 comments on commit 3e787f9

Please sign in to comment.