summaryrefslogtreecommitdiff
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@nvidia.com>2011-09-14 17:15:50 -0700
committerSimone Willett <swillett@nvidia.com>2012-08-03 17:50:07 -0700
commit18634fbff1f64df29af12a8b2ce335fc27019b27 (patch)
tree4128189033954e90331ba89178b58d0feb66a443 /arch/arm/kernel
parent639ba3d891a9127d42da84225ed04afec8e66451 (diff)
arm: tegra: Add ATAG_SERIAL parsing
Bug 973078 Change-Id: I2860402c887db414717ce313101dc09e8b327f99 Signed-off-by: Chinmay Kamat <ckamat@nvidia.com> Reviewed-on: http://git-master/r/108699 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Stephen Warren <swarren@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: Nitin Kumbhar <nkumbhar@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/devtree.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
index 1a33e9d6bb1f..e855fcb71bf9 100644
--- a/arch/arm/kernel/devtree.c
+++ b/arch/arm/kernel/devtree.c
@@ -75,6 +75,9 @@ struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
unsigned int score, mdesc_score = ~1;
unsigned long dt_root;
const char *model;
+ __be32 *serial_prop;
+ u64 serial = 0;
+ unsigned long len;
if (!dt_phys)
return NULL;
@@ -118,7 +121,16 @@ struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
model = of_get_flat_dt_prop(dt_root, "compatible", NULL);
if (!model)
model = "<unknown>";
- pr_info("Machine: %s, model: %s\n", mdesc_best->name, model);
+
+ serial_prop = of_get_flat_dt_prop(dt_root, "serial-num", &len);
+ if (serial_prop) {
+ serial = of_read_number(serial_prop, len / 4);
+ }
+ system_serial_high = serial >> 32;
+ system_serial_low = serial;
+
+ pr_info("Machine: %s, model: %s, serial: %llu\n", mdesc_best->name,
+ model, serial);
/* Retrieve various information from the /chosen node */
of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line);