mirror of https://gitee.com/openkylin/linux.git
soc/tegra: fuse: Extract tegra_get_platform()
This function extracts the PRE_SI_PLATFORM field from the HIDREV register and can be used to determine which platform the kernel runs on (silicon, simulation, ...). Note that while only Tegra194 and later define this field, it should be safe to call this on prior generations as well since this field should read as 0, indicating silicon. Reviewed-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
9123e3a74e
commit
775edf7856
|
@ -336,7 +336,7 @@ static ssize_t platform_show(struct device *dev, struct device_attribute *attr,
|
|||
* platform type is silicon and all other non-zero values indicate
|
||||
* the type of simulation platform is being used.
|
||||
*/
|
||||
return sprintf(buf, "%d\n", (tegra_read_chipid() >> 20) & 0xf);
|
||||
return sprintf(buf, "%d\n", tegra_get_platform());
|
||||
}
|
||||
|
||||
static DEVICE_ATTR_RO(platform);
|
||||
|
|
|
@ -47,6 +47,11 @@ u8 tegra_get_minor_rev(void)
|
|||
return (tegra_read_chipid() >> 16) & 0xf;
|
||||
}
|
||||
|
||||
u8 tegra_get_platform(void)
|
||||
{
|
||||
return (tegra_read_chipid() >> 20) & 0xf;
|
||||
}
|
||||
|
||||
u32 tegra_read_straps(void)
|
||||
{
|
||||
WARN(!chipid, "Tegra ABP MISC not yet available\n");
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
u32 tegra_read_chipid(void);
|
||||
u8 tegra_get_chip_id(void);
|
||||
u8 tegra_get_platform(void);
|
||||
|
||||
enum tegra_revision {
|
||||
TEGRA_REVISION_UNKNOWN = 0,
|
||||
|
|
Loading…
Reference in New Issue