From 1f410ca7ae3475c5683dc1ae4e8d9837ee4df9cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 Subject: [PATCH 072/203] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- arch/arm/mach-bcm/board_bcm2835.c | 9 +++++++++ 1 file changed, 9 insertions(+) --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -107,6 +108,9 @@ static void __init bcm2835_map_io(void) static void __init bcm2835_init(void) { + struct device_node *np = of_find_node_by_path("/system"); + u32 val; + u64 val64; int ret; bcm2835_setup_restart(); @@ -121,6 +125,11 @@ static void __init bcm2835_init(void) pr_err("of_platform_populate failed: %d\n", ret); BUG(); } + + 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[] = {