summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@nvidia.com>2013-09-04 00:56:20 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:45:37 -0700
commitf4bf2c76e4fcc21054f9b0d1b567f818127ea5c5 (patch)
treefef15ce49d2d9016a99f9be3906f2dc5c9bf8555
parentb9ad0f258ab54ee3985c75d57bec7264a95d8d72 (diff)
ARM: tegra: Move platform detect from <mach/hardware.h> to <linux/tegra-soc.h>
Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com> Change-Id: I13f3ff891510d2c868f609d507149b32183d34c5
-rw-r--r--arch/arm/mach-tegra/ahb.c1
-rw-r--r--arch/arm/mach-tegra/board-ardbeg-power.c1
-rw-r--r--arch/arm/mach-tegra/board-bonaire-panel.c3
-rw-r--r--arch/arm/mach-tegra/board-bonaire.c2
-rw-r--r--arch/arm/mach-tegra/board-curacao.c2
-rw-r--r--arch/arm/mach-tegra/board-dalmore-power.c2
-rw-r--r--arch/arm/mach-tegra/board-loki-power.c2
-rw-r--r--arch/arm/mach-tegra/board-macallan-power.c2
-rw-r--r--arch/arm/mach-tegra/board-macallan.c2
-rw-r--r--arch/arm/mach-tegra/board-pluto-power.c2
-rw-r--r--arch/arm/mach-tegra/board-roth-power.c2
-rw-r--r--arch/arm/mach-tegra/board-roth.c1
-rw-r--r--arch/arm/mach-tegra/board-tn8-power.c3
-rw-r--r--arch/arm/mach-tegra/board-vcm30_t124-power.c2
-rw-r--r--arch/arm/mach-tegra/clock.c2
-rw-r--r--arch/arm/mach-tegra/common.c2
-rw-r--r--arch/arm/mach-tegra/cpuidle-t11x.c2
-rw-r--r--arch/arm/mach-tegra/cpuidle-t14x.c2
-rw-r--r--arch/arm/mach-tegra/cpuidle-t3.c2
-rw-r--r--arch/arm/mach-tegra/devices.c2
-rw-r--r--arch/arm/mach-tegra/dvfs.c3
-rw-r--r--arch/arm/mach-tegra/edp.c2
-rw-r--r--arch/arm/mach-tegra/fuse.h2
-rw-r--r--arch/arm/mach-tegra/include/mach/hardware.h70
-rw-r--r--arch/arm/mach-tegra/io.c2
-rw-r--r--arch/arm/mach-tegra/isomgr.c2
-rw-r--r--arch/arm/mach-tegra/latency_allowance.c2
-rw-r--r--arch/arm/mach-tegra/mcerr.c2
-rw-r--r--arch/arm/mach-tegra/pcie.c2
-rw-r--r--arch/arm/mach-tegra/pinmux-t12-tables.c2
-rw-r--r--arch/arm/mach-tegra/pm-t3.c2
-rw-r--r--arch/arm/mach-tegra/pm.c2
-rw-r--r--arch/arm/mach-tegra/powerdetect.c3
-rw-r--r--arch/arm/mach-tegra/powergate.c3
-rw-r--r--arch/arm/mach-tegra/reset.c2
-rw-r--r--arch/arm/mach-tegra/tegra11_clocks.c1
-rw-r--r--arch/arm/mach-tegra/tegra11_speedo.c2
-rw-r--r--arch/arm/mach-tegra/tegra11x_fuse_offsets.h3
-rw-r--r--arch/arm/mach-tegra/tegra11x_la.c2
-rw-r--r--arch/arm/mach-tegra/tegra12_clocks.c1
-rw-r--r--arch/arm/mach-tegra/tegra12_speedo.c2
-rw-r--r--arch/arm/mach-tegra/tegra12x_fuse_offsets.h3
-rw-r--r--arch/arm/mach-tegra/tegra14_clocks.c1
-rw-r--r--arch/arm/mach-tegra/tegra14_speedo.c2
-rw-r--r--arch/arm/mach-tegra/tegra14x_fuse_offsets.h3
-rw-r--r--arch/arm/mach-tegra/tegra14x_la.c2
-rw-r--r--arch/arm/mach-tegra/tegra2_fuse_offsets.h3
-rw-r--r--arch/arm/mach-tegra/tegra3_fuse_offsets.h3
-rw-r--r--arch/arm/mach-tegra/tegra3_la.c2
-rw-r--r--arch/arm/mach-tegra/tegra_cl_dvfs.c2
-rw-r--r--arch/arm/mach-tegra/tegra_fuse.c2
-rw-r--r--arch/arm/mach-tegra/timer-t3.c2
-rw-r--r--drivers/crypto/tegra-se.c2
-rw-r--r--drivers/gpio/gpio-tegra.c2
-rw-r--r--drivers/iommu/tegra-smmu.c2
-rw-r--r--drivers/media/platform/tegra/imx091.c3
-rw-r--r--drivers/media/platform/tegra/nvavp/nvavp_dev.c1
-rw-r--r--drivers/media/platform/tegra/ov9772.c3
-rw-r--r--drivers/misc/tegra-cryptodev.c2
-rw-r--r--drivers/mmc/host/sdhci-tegra.c2
-rw-r--r--drivers/mmc/host/sdhci.c7
-rw-r--r--drivers/usb/gadget/tegra_udc.c3
-rw-r--r--drivers/usb/host/ehci-tegra.c2
-rw-r--r--drivers/usb/phy/phy-tegra-usb.c3
-rw-r--r--drivers/usb/phy/tegra11x_usb_phy.c2
-rw-r--r--drivers/video/tegra/dc/dc_priv_defs.h2
-rw-r--r--drivers/video/tegra/dc/dp.c2
-rw-r--r--drivers/video/tegra/dc/dsi.c2
-rw-r--r--drivers/video/tegra/host/bus_client.c2
-rw-r--r--drivers/video/tegra/host/chip_support.c3
-rw-r--r--drivers/video/tegra/host/gk20a/gk20a.h2
-rw-r--r--drivers/video/tegra/host/gk20a/gk20a_scale.c3
-rw-r--r--drivers/video/tegra/host/gk20a/gr_gk20a.c3
-rw-r--r--drivers/video/tegra/host/gk20a/mm_gk20a.c2
-rw-r--r--drivers/video/tegra/host/gr3d/gr3d_t30.c2
-rw-r--r--drivers/video/tegra/host/gr3d/pod_scaling.c3
-rw-r--r--drivers/video/tegra/host/gr3d/scale3d.c3
-rw-r--r--drivers/video/tegra/host/host1x/host1x.c2
-rw-r--r--drivers/video/tegra/host/nvhost_acm.c2
-rw-r--r--drivers/video/tegra/host/nvhost_scale.c3
-rw-r--r--drivers/video/tegra/nvmap/nvmap_handle.c2
-rw-r--r--include/linux/tegra-soc.h70
82 files changed, 149 insertions, 169 deletions
diff --git a/arch/arm/mach-tegra/ahb.c b/arch/arm/mach-tegra/ahb.c
index 848c34955beb..dd44729bb4ad 100644
--- a/arch/arm/mach-tegra/ahb.c
+++ b/arch/arm/mach-tegra/ahb.c
@@ -27,7 +27,6 @@
#include <linux/io.h>
#include <linux/syscore_ops.h>
-#include <mach/hardware.h>
#include "common.h"
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/board-ardbeg-power.c b/arch/arm/mach-tegra/board-ardbeg-power.c
index c36aae3e6750..c1b27a1e0297 100644
--- a/arch/arm/mach-tegra/board-ardbeg-power.c
+++ b/arch/arm/mach-tegra/board-ardbeg-power.c
@@ -28,7 +28,6 @@
#include <linux/edp.h>
#include <linux/platform_data/tegra_edp.h>
#include <linux/pid_thermal_gov.h>
-#include <mach/hardware.h>
#include <linux/regulator/fixed.h>
#include <linux/mfd/palmas.h>
#include <linux/mfd/as3722-reg.h>
diff --git a/arch/arm/mach-tegra/board-bonaire-panel.c b/arch/arm/mach-tegra/board-bonaire-panel.c
index 23c0d64522d1..712c1417fc36 100644
--- a/arch/arm/mach-tegra/board-bonaire-panel.c
+++ b/arch/arm/mach-tegra/board-bonaire-panel.c
@@ -27,12 +27,11 @@
#include <linux/pwm_backlight.h>
#include <linux/nvhost.h>
#include <linux/nvmap.h>
+#include <linux/tegra-soc.h>
#include <mach/gpio-tegra.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include <mach/dc.h>
#include <mach/fb.h>
-#include <mach/hardware.h>
#include "board.h"
#include "board-bonaire.h"
diff --git a/arch/arm/mach-tegra/board-bonaire.c b/arch/arm/mach-tegra/board-bonaire.c
index cd7eb3f71c2d..189e73ed9b07 100644
--- a/arch/arm/mach-tegra/board-bonaire.c
+++ b/arch/arm/mach-tegra/board-bonaire.c
@@ -39,6 +39,7 @@
#include <linux/platform_data/serial-tegra.h>
#include <linux/of_platform.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <mach/gpio-tegra.h>
#include <mach/io_dpd.h>
@@ -50,7 +51,6 @@
#include <mach/usb_phy.h>
#include <mach/nand.h>
#include <mach/pci.h>
-#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-tegra/board-curacao.c b/arch/arm/mach-tegra/board-curacao.c
index b32109c638fa..d3b4cd0b6971 100644
--- a/arch/arm/mach-tegra/board-curacao.c
+++ b/arch/arm/mach-tegra/board-curacao.c
@@ -37,6 +37,7 @@
#include <linux/of_platform.h>
#include <linux/usb/tegra_usb_phy.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <mach/gpio-tegra.h>
#include <mach/iomap.h>
@@ -47,7 +48,6 @@
#include <mach/i2s.h>
#include <mach/audio.h>
#include <mach/nand.h>
-#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-tegra/board-dalmore-power.c b/arch/arm/mach-tegra/board-dalmore-power.c
index 9899e5fbb0fc..720bbac45655 100644
--- a/arch/arm/mach-tegra/board-dalmore-power.c
+++ b/arch/arm/mach-tegra/board-dalmore-power.c
@@ -34,6 +34,7 @@
#include <linux/interrupt.h>
#include <linux/regulator/userspace-consumer.h>
#include <linux/pid_thermal_gov.h>
+#include <linux/tegra-soc.h>
#include <asm/mach-types.h>
#include <linux/power/sbs-battery.h>
@@ -41,7 +42,6 @@
#include <mach/irqs.h>
#include <mach/edp.h>
#include <mach/gpio-tegra.h>
-#include <mach/hardware.h>
#include "cpu-tegra.h"
#include "pm.h"
diff --git a/arch/arm/mach-tegra/board-loki-power.c b/arch/arm/mach-tegra/board-loki-power.c
index a3f911eb54b1..095d7fbdb140 100644
--- a/arch/arm/mach-tegra/board-loki-power.c
+++ b/arch/arm/mach-tegra/board-loki-power.c
@@ -31,8 +31,6 @@
#include <linux/power/power_supply_extcon.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
-
#include <asm/mach-types.h>
diff --git a/arch/arm/mach-tegra/board-macallan-power.c b/arch/arm/mach-tegra/board-macallan-power.c
index de24bf9e0cea..e8069126d107 100644
--- a/arch/arm/mach-tegra/board-macallan-power.c
+++ b/arch/arm/mach-tegra/board-macallan-power.c
@@ -36,12 +36,12 @@
#include <linux/edpdev.h>
#include <linux/platform_data/tegra_edp.h>
#include <linux/pid_thermal_gov.h>
+#include <linux/tegra-soc.h>
#include <asm/mach-types.h>
#include <linux/power/sbs-battery.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include <mach/edp.h>
#include <mach/gpio-tegra.h>
diff --git a/arch/arm/mach-tegra/board-macallan.c b/arch/arm/mach-tegra/board-macallan.c
index 3c2c22f2d4f0..46cc81533822 100644
--- a/arch/arm/mach-tegra/board-macallan.c
+++ b/arch/arm/mach-tegra/board-macallan.c
@@ -47,6 +47,7 @@
#include <linux/of_platform.h>
#include <linux/edp.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <mach/irqs.h>
#include <mach/pinmux.h>
@@ -60,7 +61,6 @@
#include <mach/gpio-tegra.h>
#include <mach/tegra_fiq_debugger.h>
#include <linux/platform_data/tegra_usb_modem_power.h>
-#include <mach/hardware.h>
#include "board-touch-raydium.h"
#include "board.h"
diff --git a/arch/arm/mach-tegra/board-pluto-power.c b/arch/arm/mach-tegra/board-pluto-power.c
index 7b9fefa049a9..a02e17f7cbbc 100644
--- a/arch/arm/mach-tegra/board-pluto-power.c
+++ b/arch/arm/mach-tegra/board-pluto-power.c
@@ -26,8 +26,8 @@
#include <mach/edp.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include <mach/io_dpd.h>
+#include <linux/tegra-soc.h>
#include <linux/regulator/fixed.h>
#include <linux/mfd/palmas.h>
#include <linux/regulator/machine.h>
diff --git a/arch/arm/mach-tegra/board-roth-power.c b/arch/arm/mach-tegra/board-roth-power.c
index 3dfc1826ab6b..735050bac60f 100644
--- a/arch/arm/mach-tegra/board-roth-power.c
+++ b/arch/arm/mach-tegra/board-roth-power.c
@@ -32,13 +32,13 @@
#include <linux/max17048_battery.h>
#include <linux/gpio.h>
#include <linux/regulator/userspace-consumer.h>
+#include <linux/tegra-soc.h>
#include <asm/mach-types.h>
#include <mach/irqs.h>
#include <mach/edp.h>
#include <mach/gpio-tegra.h>
-#include <mach/hardware.h>
#include "cpu-tegra.h"
#include "pm.h"
diff --git a/arch/arm/mach-tegra/board-roth.c b/arch/arm/mach-tegra/board-roth.c
index 2a2b3020b04e..3dde4fd2485c 100644
--- a/arch/arm/mach-tegra/board-roth.c
+++ b/arch/arm/mach-tegra/board-roth.c
@@ -62,7 +62,6 @@
#include <mach/gpio-tegra.h>
#include <mach/tegra_fiq_debugger.h>
#include <mach/edp.h>
-#include <mach/hardware.h>
#include "board.h"
#include "board-common.h"
diff --git a/arch/arm/mach-tegra/board-tn8-power.c b/arch/arm/mach-tegra/board-tn8-power.c
index 8441553fb175..bf6b0b6f25ea 100644
--- a/arch/arm/mach-tegra/board-tn8-power.c
+++ b/arch/arm/mach-tegra/board-tn8-power.c
@@ -30,10 +30,9 @@
#include <linux/power/bq2419x-charger.h>
#include <linux/power/power_supply_extcon.h>
#include <linux/max17048_battery.h>
+#include <linux/tegra-soc.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
-
#include <asm/mach-types.h>
diff --git a/arch/arm/mach-tegra/board-vcm30_t124-power.c b/arch/arm/mach-tegra/board-vcm30_t124-power.c
index afa395dc531d..9132fe8de787 100644
--- a/arch/arm/mach-tegra/board-vcm30_t124-power.c
+++ b/arch/arm/mach-tegra/board-vcm30_t124-power.c
@@ -27,10 +27,10 @@
#include <linux/regulator/max15569-regulator.h>
#include <linux/gpio.h>
#include <linux/interrupt.h>
+#include <linux/tegra-soc.h>
#include <mach/edp.h>
#include <mach/gpio-tegra.h>
-#include <mach/hardware.h>
#include "pm.h"
#include "board.h"
diff --git a/arch/arm/mach-tegra/clock.c b/arch/arm/mach-tegra/clock.c
index da83cc4cf067..23be76bde7b5 100644
--- a/arch/arm/mach-tegra/clock.c
+++ b/arch/arm/mach-tegra/clock.c
@@ -35,9 +35,9 @@
#include <linux/bitops.h>
#include <linux/io.h>
#include <linux/bug.h>
+#include <linux/tegra-soc.h>
#include <trace/events/power.h>
-#include <mach/hardware.h>
#include <mach/edp.h>
#include "board.h"
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index c859faf363de..fddfb3436d89 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -41,6 +41,7 @@
#include <linux/export.h>
#include <linux/bootmem.h>
+#include <linux/tegra-soc.h>
#include <trace/events/nvsecurity.h>
#ifdef CONFIG_ARM64
@@ -51,7 +52,6 @@
#endif
#include <asm/dma-mapping.h>
-#include <mach/hardware.h>
#include <mach/tegra_smmu.h>
#include <mach/nct.h>
diff --git a/arch/arm/mach-tegra/cpuidle-t11x.c b/arch/arm/mach-tegra/cpuidle-t11x.c
index 18df46923f97..5130dd635ff2 100644
--- a/arch/arm/mach-tegra/cpuidle-t11x.c
+++ b/arch/arm/mach-tegra/cpuidle-t11x.c
@@ -40,6 +40,7 @@
#include <linux/clk.h>
#include <linux/cpu_pm.h>
#include <linux/module.h>
+#include <linux/tegra-soc.h>
#include <asm/cacheflush.h>
#include <asm/localtimer.h>
@@ -47,7 +48,6 @@
#include <asm/cputype.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include <trace/events/nvpower.h>
diff --git a/arch/arm/mach-tegra/cpuidle-t14x.c b/arch/arm/mach-tegra/cpuidle-t14x.c
index 238f4f3a4409..b4145d016717 100644
--- a/arch/arm/mach-tegra/cpuidle-t14x.c
+++ b/arch/arm/mach-tegra/cpuidle-t14x.c
@@ -34,6 +34,7 @@
#include <linux/clk.h>
#include <linux/cpu_pm.h>
#include <linux/module.h>
+#include <linux/tegra-soc.h>
#include <asm/cacheflush.h>
#include <asm/localtimer.h>
@@ -42,7 +43,6 @@
#include <asm/cputype.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include <trace/events/nvpower.h>
diff --git a/arch/arm/mach-tegra/cpuidle-t3.c b/arch/arm/mach-tegra/cpuidle-t3.c
index 0a5d2d9ab7d7..2e436ae760b6 100644
--- a/arch/arm/mach-tegra/cpuidle-t3.c
+++ b/arch/arm/mach-tegra/cpuidle-t3.c
@@ -40,6 +40,7 @@
#include <linux/clk.h>
#include <linux/cpu_pm.h>
#include <linux/module.h>
+#include <linux/tegra-soc.h>
#include <asm/cacheflush.h>
#include <asm/localtimer.h>
@@ -48,7 +49,6 @@
#include <asm/cputype.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include <trace/events/power.h>
diff --git a/arch/arm/mach-tegra/devices.c b/arch/arm/mach-tegra/devices.c
index 5004edd4329e..cf59c6dcf7a0 100644
--- a/arch/arm/mach-tegra/devices.c
+++ b/arch/arm/mach-tegra/devices.c
@@ -30,11 +30,11 @@
#include <linux/tegra_avp.h>
#include <linux/nvhost.h>
#include <linux/clk.h>
+#include <linux/tegra-soc.h>
#include <mach/irqs.h>
#include <linux/usb/tegra_usb_phy.h>
#include <mach/tegra_smmu.h>
#include <mach/tegra-swgid.h>
-#include <mach/hardware.h>
#ifdef CONFIG_PLATFORM_ENABLE_IOMMU
#include <asm/dma-iommu.h>
diff --git a/arch/arm/mach-tegra/dvfs.c b/arch/arm/mach-tegra/dvfs.c
index 55d3799570e4..3d4c7cb0fc68 100644
--- a/arch/arm/mach-tegra/dvfs.c
+++ b/arch/arm/mach-tegra/dvfs.c
@@ -34,8 +34,7 @@
#include <linux/clk/tegra.h>
#include <linux/reboot.h>
#include <linux/clk/tegra.h>
-
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include "board.h"
#include "clock.h"
diff --git a/arch/arm/mach-tegra/edp.c b/arch/arm/mach-tegra/edp.c
index c222eea487e2..03d1f8fc89ab 100644
--- a/arch/arm/mach-tegra/edp.c
+++ b/arch/arm/mach-tegra/edp.c
@@ -23,9 +23,9 @@
#include <linux/module.h>
#include <linux/uaccess.h>
#include <linux/edp.h>
+#include <linux/tegra-soc.h>
#include <mach/edp.h>
-#include <mach/hardware.h>
#include "fuse.h"
#include "dvfs.h"
diff --git a/arch/arm/mach-tegra/fuse.h b/arch/arm/mach-tegra/fuse.h
index 839ee6b03362..4384f34c120c 100644
--- a/arch/arm/mach-tegra/fuse.h
+++ b/arch/arm/mach-tegra/fuse.h
@@ -18,7 +18,7 @@
*/
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <linux/sysfs.h>
#include <linux/kobject.h>
#include <linux/platform_device.h>
diff --git a/arch/arm/mach-tegra/include/mach/hardware.h b/arch/arm/mach-tegra/include/mach/hardware.h
index be2c2dac9d50..4b61f24edf6d 100644
--- a/arch/arm/mach-tegra/include/mach/hardware.h
+++ b/arch/arm/mach-tegra/include/mach/hardware.h
@@ -27,74 +27,4 @@
#define pcibios_assign_all_busses() 0
#endif
-enum tegra_chipid {
- TEGRA_CHIPID_UNKNOWN = 0,
- TEGRA_CHIPID_TEGRA14 = 0x14,
- TEGRA_CHIPID_TEGRA2 = 0x20,
- TEGRA_CHIPID_TEGRA3 = 0x30,
- TEGRA_CHIPID_TEGRA11 = 0x35,
- TEGRA_CHIPID_TEGRA12 = 0x40,
-};
-
-enum tegra_revision {
- TEGRA_REVISION_UNKNOWN = 0,
- TEGRA_REVISION_A01,
- TEGRA_REVISION_A02,
- TEGRA_REVISION_A03,
- TEGRA_REVISION_A03p,
- TEGRA_REVISION_A04,
- TEGRA_REVISION_A04p,
- TEGRA_REVISION_QT,
- TEGRA_REVISION_SIM,
- TEGRA_REVISION_MAX,
-};
-
-enum tegra_platform {
- TEGRA_PLATFORM_SILICON = 0,
- TEGRA_PLATFORM_QT,
- TEGRA_PLATFORM_LINSIM,
- TEGRA_PLATFORM_FPGA,
- TEGRA_PLATFORM_MAX,
-};
-
-extern enum tegra_revision tegra_revision;
-enum tegra_chipid tegra_get_chipid(void);
-unsigned int tegra_get_minor_rev(void);
-
-int tegra_split_mem_active(void);
-
-#ifdef CONFIG_TEGRA_PRE_SILICON_SUPPORT
-void tegra_get_netlist_revision(u32 *netlist, u32* patchid);
-bool tegra_cpu_is_asim(void);
-bool tegra_cpu_is_dsim(void);
-enum tegra_platform tegra_get_platform(void);
-static inline bool tegra_platform_is_silicon(void)
-{
- return tegra_get_platform() == TEGRA_PLATFORM_SILICON;
-}
-static inline bool tegra_platform_is_qt(void)
-{
- return tegra_get_platform() == TEGRA_PLATFORM_QT;
-}
-static inline bool tegra_platform_is_linsim(void)
-{
- return tegra_get_platform() == TEGRA_PLATFORM_LINSIM;
-}
-static inline bool tegra_platform_is_fpga(void)
-{
- return tegra_get_platform() == TEGRA_PLATFORM_FPGA;
-}
-#else
-static inline void tegra_get_netlist_revision(u32 *netlist, u32* patchid)
-{
- BUG();
-}
-static inline bool tegra_cpu_is_asim(void) { return false; }
-static inline bool tegra_cpu_is_dsim(void) { return false; }
-static inline bool tegra_platform_is_silicon(void) { return true; }
-static inline bool tegra_platform_is_fpga(void) { return false; }
-static inline bool tegra_platform_is_qt(void) { return false; }
-static inline bool tegra_platform_is_linsim(void) { return false; }
-#endif
-
#endif
diff --git a/arch/arm/mach-tegra/io.c b/arch/arm/mach-tegra/io.c
index 8c5a63e3990b..e8df2521aad5 100644
--- a/arch/arm/mach-tegra/io.c
+++ b/arch/arm/mach-tegra/io.c
@@ -25,10 +25,10 @@
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/io.h>
+#include <linux/tegra-soc.h>
#include <asm/page.h>
#include <asm/mach/map.h>
-#include <mach/hardware.h>
#include "board.h"
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/isomgr.c b/arch/arm/mach-tegra/isomgr.c
index d8af3df8032a..7981ed9c956d 100644
--- a/arch/arm/mach-tegra/isomgr.c
+++ b/arch/arm/mach-tegra/isomgr.c
@@ -34,9 +34,9 @@
#include <linux/err.h>
#include <linux/kref.h>
#include <linux/sched.h>
+#include <linux/tegra-soc.h>
#include <asm/processor.h>
#include <asm/current.h>
-#include <mach/hardware.h>
#include <mach/isomgr.h>
#include <mach/mc.h>
diff --git a/arch/arm/mach-tegra/latency_allowance.c b/arch/arm/mach-tegra/latency_allowance.c
index dcce13298121..5d3ebfb654b6 100644
--- a/arch/arm/mach-tegra/latency_allowance.c
+++ b/arch/arm/mach-tegra/latency_allowance.c
@@ -27,10 +27,10 @@
#include <linux/clk.h>
#include <linux/clk/tegra.h>
#include <linux/syscore_ops.h>
+#include <linux/tegra-soc.h>
#include <asm/bug.h>
#include <asm/io.h>
#include <asm/string.h>
-#include <mach/hardware.h>
#include <mach/latency_allowance.h>
#include "la_priv.h"
diff --git a/arch/arm/mach-tegra/mcerr.c b/arch/arm/mach-tegra/mcerr.c
index 020d8337cf9e..889354f392f6 100644
--- a/arch/arm/mach-tegra/mcerr.c
+++ b/arch/arm/mach-tegra/mcerr.c
@@ -31,8 +31,8 @@
#include <linux/seq_file.h>
#include <linux/moduleparam.h>
#include <linux/spinlock_types.h>
+#include <linux/tegra-soc.h>
-#include <mach/hardware.h>
#include <mach/irqs.h>
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index e2539ba4e301..a720df231c49 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -44,13 +44,13 @@
#include <linux/vmalloc.h>
#include <linux/pm_runtime.h>
#include <linux/tegra-powergate.h>
+#include <linux/tegra-soc.h>
#include <asm/sizes.h>
#include <asm/mach/pci.h>
#include <mach/pci.h>
#include <mach/tegra_usb_pad_ctrl.h>
-#include <mach/hardware.h>
#include <mach/pm_domains.h>
#include "board.h"
diff --git a/arch/arm/mach-tegra/pinmux-t12-tables.c b/arch/arm/mach-tegra/pinmux-t12-tables.c
index dd9f1fb262cd..de3e03aa695d 100644
--- a/arch/arm/mach-tegra/pinmux-t12-tables.c
+++ b/arch/arm/mach-tegra/pinmux-t12-tables.c
@@ -29,10 +29,10 @@
#include <linux/syscore_ops.h>
#include <linux/bug.h>
#include <linux/bitops.h>
+#include <linux/tegra-soc.h>
#include <mach/pinmux.h>
#include <mach/pinmux-t12.h>
-#include <mach/hardware.h>
#include "gpio-names.h"
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/pm-t3.c b/arch/arm/mach-tegra/pm-t3.c
index f80cffdf033b..b81d392b7593 100644
--- a/arch/arm/mach-tegra/pm-t3.c
+++ b/arch/arm/mach-tegra/pm-t3.c
@@ -31,11 +31,11 @@
#include <linux/irqchip/arm-gic.h>
#include <linux/sched.h>
#include <linux/tegra-powergate.h>
+#include <linux/tegra-soc.h>
#include <mach/irqs.h>
#include <mach/io_dpd.h>
#include <mach/edp.h>
-#include <mach/hardware.h>
#include <asm/smp_plat.h>
#include <asm/cputype.h>
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
index 5d1ddfcc3daf..09c57ed79901 100644
--- a/arch/arm/mach-tegra/pm.c
+++ b/arch/arm/mach-tegra/pm.c
@@ -49,6 +49,7 @@
#include <linux/tegra_audio.h>
#include <linux/clk/tegra.h>
#include <linux/tegra-powergate.h>
+#include <linux/tegra-soc.h>
#include <trace/events/power.h>
#include <trace/events/nvsecurity.h>
@@ -63,7 +64,6 @@
#include <asm/smp_plat.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include "board.h"
#include "clock.h"
diff --git a/arch/arm/mach-tegra/powerdetect.c b/arch/arm/mach-tegra/powerdetect.c
index 4797a585c89e..eb108b0c0990 100644
--- a/arch/arm/mach-tegra/powerdetect.c
+++ b/arch/arm/mach-tegra/powerdetect.c
@@ -25,8 +25,7 @@
#include <linux/notifier.h>
#include <linux/regulator/consumer.h>
#include <linux/module.h>
-
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include "board.h"
#include "fuse.h"
diff --git a/arch/arm/mach-tegra/powergate.c b/arch/arm/mach-tegra/powergate.c
index 542de556aa66..329285d82eca 100644
--- a/arch/arm/mach-tegra/powergate.c
+++ b/arch/arm/mach-tegra/powergate.c
@@ -32,11 +32,10 @@
#include <linux/spinlock.h>
#include <linux/clk/tegra.h>
#include <linux/tegra-powergate.h>
+#include <linux/tegra-soc.h>
#include <trace/events/power.h>
#include <asm/atomic.h>
-#include <mach/hardware.h>
-
#include "clock.h"
#include "fuse.h"
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/reset.c b/arch/arm/mach-tegra/reset.c
index ec8127d85237..36bafda7fc5a 100644
--- a/arch/arm/mach-tegra/reset.c
+++ b/arch/arm/mach-tegra/reset.c
@@ -18,6 +18,7 @@
#include <linux/io.h>
#include <linux/cpumask.h>
#include <linux/bitops.h>
+#include <linux/tegra-soc.h>
#include <asm/cacheflush.h>
@@ -27,7 +28,6 @@
#include "sleep.h"
#include "pm.h"
#include "fuse.h"
-#include "mach/hardware.h"
#define TEGRA_IRAM_RESET_BASE (TEGRA_IRAM_BASE + \
TEGRA_IRAM_RESET_HANDLER_OFFSET)
diff --git a/arch/arm/mach-tegra/tegra11_clocks.c b/arch/arm/mach-tegra/tegra11_clocks.c
index 27771dbe8279..a40b1d772d30 100644
--- a/arch/arm/mach-tegra/tegra11_clocks.c
+++ b/arch/arm/mach-tegra/tegra11_clocks.c
@@ -36,7 +36,6 @@
#include <asm/clkdev.h>
#include <mach/edp.h>
-#include <mach/hardware.h>
#include <mach/mc.h>
#include "clock.h"
diff --git a/arch/arm/mach-tegra/tegra11_speedo.c b/arch/arm/mach-tegra/tegra11_speedo.c
index 12aa17a1fc57..12014433144a 100644
--- a/arch/arm/mach-tegra/tegra11_speedo.c
+++ b/arch/arm/mach-tegra/tegra11_speedo.c
@@ -24,7 +24,7 @@
#include <linux/bug.h> /* For BUG_ON. */
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
diff --git a/arch/arm/mach-tegra/tegra11x_fuse_offsets.h b/arch/arm/mach-tegra/tegra11x_fuse_offsets.h
index 6fcb4eab1b5f..278f7d8cdb9b 100644
--- a/arch/arm/mach-tegra/tegra11x_fuse_offsets.h
+++ b/arch/arm/mach-tegra/tegra11x_fuse_offsets.h
@@ -16,8 +16,9 @@
* 51 franklin street, fifth floor, boston, ma 02110-1301, usa.
*/
+#include <linux/tegra-soc.h>
+
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
#include "apbio.h"
#include "fuse.h"
diff --git a/arch/arm/mach-tegra/tegra11x_la.c b/arch/arm/mach-tegra/tegra11x_la.c
index bb15cab49d58..ae7e01a8b436 100644
--- a/arch/arm/mach-tegra/tegra11x_la.c
+++ b/arch/arm/mach-tegra/tegra11x_la.c
@@ -20,8 +20,8 @@
#include <linux/stringify.h>
#include <linux/clk.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <asm/io.h>
-#include <mach/hardware.h>
#include <mach/latency_allowance.h>
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/tegra12_clocks.c b/arch/arm/mach-tegra/tegra12_clocks.c
index 04fbb9c7e837..e1d9906d0978 100644
--- a/arch/arm/mach-tegra/tegra12_clocks.c
+++ b/arch/arm/mach-tegra/tegra12_clocks.c
@@ -34,7 +34,6 @@
#include <asm/clkdev.h>
#include <mach/edp.h>
-#include <mach/hardware.h>
#include <mach/mc.h>
#include "clock.h"
diff --git a/arch/arm/mach-tegra/tegra12_speedo.c b/arch/arm/mach-tegra/tegra12_speedo.c
index fce2075ff4fd..3cc77ff545c9 100644
--- a/arch/arm/mach-tegra/tegra12_speedo.c
+++ b/arch/arm/mach-tegra/tegra12_speedo.c
@@ -24,7 +24,7 @@
#include <linux/bug.h> /* For BUG_ON. */
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
diff --git a/arch/arm/mach-tegra/tegra12x_fuse_offsets.h b/arch/arm/mach-tegra/tegra12x_fuse_offsets.h
index 3676fcaab04d..7b86868ab83a 100644
--- a/arch/arm/mach-tegra/tegra12x_fuse_offsets.h
+++ b/arch/arm/mach-tegra/tegra12x_fuse_offsets.h
@@ -16,8 +16,9 @@
* 51 franklin street, fifth floor, boston, ma 02110-1301, usa.
*/
+#include <linux/tegra-soc.h>
+
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
#include "apbio.h"
#include "fuse.h"
diff --git a/arch/arm/mach-tegra/tegra14_clocks.c b/arch/arm/mach-tegra/tegra14_clocks.c
index ebbc15be4daf..cc2299964132 100644
--- a/arch/arm/mach-tegra/tegra14_clocks.c
+++ b/arch/arm/mach-tegra/tegra14_clocks.c
@@ -34,7 +34,6 @@
#include <asm/clkdev.h>
#include <mach/edp.h>
-#include <mach/hardware.h>
#include <mach/mc.h>
#include <mach/tegra_bb.h>
diff --git a/arch/arm/mach-tegra/tegra14_speedo.c b/arch/arm/mach-tegra/tegra14_speedo.c
index 6233ee0bc9ad..b73ceb793722 100644
--- a/arch/arm/mach-tegra/tegra14_speedo.c
+++ b/arch/arm/mach-tegra/tegra14_speedo.c
@@ -24,7 +24,7 @@
#include <linux/bug.h>
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
diff --git a/arch/arm/mach-tegra/tegra14x_fuse_offsets.h b/arch/arm/mach-tegra/tegra14x_fuse_offsets.h
index 04235e4e7f96..7fb339222e25 100644
--- a/arch/arm/mach-tegra/tegra14x_fuse_offsets.h
+++ b/arch/arm/mach-tegra/tegra14x_fuse_offsets.h
@@ -16,8 +16,9 @@
* 51 franklin street, fifth floor, boston, ma 02110-1301, usa.
*/
+#include <linux/tegra-soc.h>
+
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
#include "apbio.h"
#include "fuse.h"
diff --git a/arch/arm/mach-tegra/tegra14x_la.c b/arch/arm/mach-tegra/tegra14x_la.c
index 22f7c6275fa8..f2746ba82654 100644
--- a/arch/arm/mach-tegra/tegra14x_la.c
+++ b/arch/arm/mach-tegra/tegra14x_la.c
@@ -20,8 +20,8 @@
#include <linux/stringify.h>
#include <linux/clk.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <asm/io.h>
-#include <mach/hardware.h>
#include <mach/latency_allowance.h>
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/tegra2_fuse_offsets.h b/arch/arm/mach-tegra/tegra2_fuse_offsets.h
index 9168719af1cf..0eb40bf1bc59 100644
--- a/arch/arm/mach-tegra/tegra2_fuse_offsets.h
+++ b/arch/arm/mach-tegra/tegra2_fuse_offsets.h
@@ -16,9 +16,10 @@
* 51 franklin street, fifth floor, boston, ma 02110-1301, usa.
*/
+#include <linux/tegra-soc.h>
+
#include <mach/iomap.h>
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
#include "apbio.h"
#include "fuse.h"
diff --git a/arch/arm/mach-tegra/tegra3_fuse_offsets.h b/arch/arm/mach-tegra/tegra3_fuse_offsets.h
index e3efd30b09bb..6132473db008 100644
--- a/arch/arm/mach-tegra/tegra3_fuse_offsets.h
+++ b/arch/arm/mach-tegra/tegra3_fuse_offsets.h
@@ -16,8 +16,9 @@
* 51 franklin street, fifth floor, boston, ma 02110-1301, usa.
*/
+#include <linux/tegra-soc.h>
+
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
#include "apbio.h"
#include "fuse.h"
diff --git a/arch/arm/mach-tegra/tegra3_la.c b/arch/arm/mach-tegra/tegra3_la.c
index 44dbd758f45b..43d5699e746e 100644
--- a/arch/arm/mach-tegra/tegra3_la.c
+++ b/arch/arm/mach-tegra/tegra3_la.c
@@ -20,8 +20,8 @@
#include <linux/stringify.h>
#include <linux/clk.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <asm/io.h>
-#include <mach/hardware.h>
#include <mach/latency_allowance.h>
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/tegra_cl_dvfs.c b/arch/arm/mach-tegra/tegra_cl_dvfs.c
index cda471d32f1a..ee11c98fa392 100644
--- a/arch/arm/mach-tegra/tegra_cl_dvfs.c
+++ b/arch/arm/mach-tegra/tegra_cl_dvfs.c
@@ -31,9 +31,9 @@
#include <linux/platform_device.h>
#include <linux/gpio.h>
#include <linux/regulator/tegra-dfll-bypass-regulator.h>
+#include <linux/tegra-soc.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include <mach/pinmux.h>
#include "tegra_cl_dvfs.h"
diff --git a/arch/arm/mach-tegra/tegra_fuse.c b/arch/arm/mach-tegra/tegra_fuse.c
index 061f4066684a..f34da2b81f14 100644
--- a/arch/arm/mach-tegra/tegra_fuse.c
+++ b/arch/arm/mach-tegra/tegra_fuse.c
@@ -34,9 +34,9 @@
#include <linux/regulator/consumer.h>
#include <linux/ctype.h>
#include <linux/wakelock.h>
+#include <linux/tegra-soc.h>
#include <mach/tegra_fuse.h>
-#include <mach/hardware.h>
#include <mach/gpufuse.h>
#include "fuse.h"
diff --git a/arch/arm/mach-tegra/timer-t3.c b/arch/arm/mach-tegra/timer-t3.c
index 87c2c9a75233..594f19af803c 100644
--- a/arch/arm/mach-tegra/timer-t3.c
+++ b/arch/arm/mach-tegra/timer-t3.c
@@ -32,6 +32,7 @@
#include <linux/syscore_ops.h>
#include <linux/cpu.h>
#include <linux/export.h>
+#include <linux/tegra-soc.h>
#include <asm/mach/time.h>
#include <asm/localtimer.h>
@@ -39,7 +40,6 @@
#include <asm/smp_plat.h>
#include <mach/irqs.h>
-#include <mach/hardware.h>
#include "board.h"
#include "clock.h"
diff --git a/drivers/crypto/tegra-se.c b/drivers/crypto/tegra-se.c
index 7220e33337d5..a7ab855da9e6 100644
--- a/drivers/crypto/tegra-se.c
+++ b/drivers/crypto/tegra-se.c
@@ -34,6 +34,7 @@
#include <linux/interrupt.h>
#include <linux/types.h>
#include <linux/errno.h>
+#include <linux/tegra-soc.h>
#include <crypto/scatterwalk.h>
#include <crypto/algapi.h>
#include <crypto/aes.h>
@@ -41,7 +42,6 @@
#include <crypto/internal/hash.h>
#include <crypto/sha.h>
#include <linux/pm_runtime.h>
-#include <mach/hardware.h>
#include <mach/pm_domains.h>
#include "tegra-se.h"
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index 728bbc594a08..9ab3fe035304 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -34,8 +34,8 @@
#include <linux/pinctrl/consumer.h>
#include <linux/pm.h>
#include <linux/syscore_ops.h>
+#include <linux/tegra-soc.h>
-#include <mach/hardware.h>
#include <mach/legacy_irq.h>
#include "../../arch/arm/mach-tegra/pm-irq.h"
diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
index 5dac0660f27d..6efe1bb0b183 100644
--- a/drivers/iommu/tegra-smmu.c
+++ b/drivers/iommu/tegra-smmu.c
@@ -38,12 +38,12 @@
#include <linux/tegra-ahb.h>
#include <linux/dma-mapping.h>
#include <linux/bitops.h>
+#include <linux/tegra-soc.h>
#include <asm/page.h>
#include <asm/cacheflush.h>
#include <asm/dma-iommu.h>
-#include <mach/hardware.h>
#include <mach/tegra_smmu.h>
#include <mach/tegra-swgid.h>
diff --git a/drivers/media/platform/tegra/imx091.c b/drivers/media/platform/tegra/imx091.c
index f71f076329e4..97e46f762227 100644
--- a/drivers/media/platform/tegra/imx091.c
+++ b/drivers/media/platform/tegra/imx091.c
@@ -33,11 +33,10 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
+#include <linux/tegra-soc.h>
#include "nvc_utilities.h"
-#include <mach/hardware.h>
-
#ifdef CONFIG_DEBUG_FS
#include <media/nvc_debugfs.h>
#endif
diff --git a/drivers/media/platform/tegra/nvavp/nvavp_dev.c b/drivers/media/platform/tegra/nvavp/nvavp_dev.c
index aa586a720dda..db9c1a41a4c2 100644
--- a/drivers/media/platform/tegra/nvavp/nvavp_dev.c
+++ b/drivers/media/platform/tegra/nvavp/nvavp_dev.c
@@ -40,7 +40,6 @@
#include <linux/clk/tegra.h>
#include <linux/tegra-powergate.h>
-#include <mach/hardware.h>
#include <mach/legacy_irq.h>
#include <mach/pm_domains.h>
diff --git a/drivers/media/platform/tegra/ov9772.c b/drivers/media/platform/tegra/ov9772.c
index 11dd4f3c6a88..b934d4cdf396 100644
--- a/drivers/media/platform/tegra/ov9772.c
+++ b/drivers/media/platform/tegra/ov9772.c
@@ -143,12 +143,11 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
+#include <linux/tegra-soc.h>
#include <media/ov9772.h>
#include "nvc_utilities.h"
-#include <mach/hardware.h>
-
#ifdef CONFIG_DEBUG_FS
#include <media/nvc_debugfs.h>
#endif
diff --git a/drivers/misc/tegra-cryptodev.c b/drivers/misc/tegra-cryptodev.c
index ee1c0cf1285b..de3952a348c9 100644
--- a/drivers/misc/tegra-cryptodev.c
+++ b/drivers/misc/tegra-cryptodev.c
@@ -30,9 +30,9 @@
#include <linux/crypto.h>
#include <linux/scatterlist.h>
#include <linux/uaccess.h>
+#include <linux/tegra-soc.h>
#include <crypto/rng.h>
#include <crypto/hash.h>
-#include <mach/hardware.h>
#include "tegra-cryptodev.h"
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 60f5fc575d4b..5530d38f8517 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -41,8 +41,8 @@
#include <linux/reboot.h>
#include <linux/devfreq.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
-#include <mach/hardware.h>
#include <linux/platform_data/mmc-sdhci-tegra.h>
#include <mach/pinmux.h>
#include <mach/pm_domains.h>
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 03d0c6c1a840..76211701977a 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -33,13 +33,12 @@
#include <linux/mmc/slot-gpio.h>
#include <linux/edp.h>
-
-#include "sdhci.h"
-
#ifdef CONFIG_TEGRA_PRE_SILICON_SUPPORT
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#endif
+#include "sdhci.h"
+
#define DRIVER_NAME "sdhci"
#define DBG(f, x...) \
diff --git a/drivers/usb/gadget/tegra_udc.c b/drivers/usb/gadget/tegra_udc.c
index c24e17bdf4a4..71ac1237025d 100644
--- a/drivers/usb/gadget/tegra_udc.c
+++ b/drivers/usb/gadget/tegra_udc.c
@@ -42,6 +42,7 @@
#include <linux/usb/tegra_usb_phy.h>
#include <linux/platform_data/tegra_usb.h>
#include <linux/timer.h>
+#include <linux/tegra-soc.h>
#include <asm/byteorder.h>
#include <asm/io.h>
@@ -49,8 +50,6 @@
#include <asm/unaligned.h>
#include <asm/dma.h>
-#include <mach/hardware.h>
-
/* HACK! This needs to come from DT */
#include "../../../arch/arm/mach-tegra/iomap.h"
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index 3c02a0c7166e..b135885de681 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -26,10 +26,10 @@
#include <linux/delay.h>
#include <linux/of_gpio.h>
#include <linux/pm_runtime.h>
+#include <linux/tegra-soc.h>
#include <linux/usb/tegra_usb_phy.h>
-#include <mach/hardware.h>
#include <mach/pm_domains.h>
#include <linux/pm_qos.h>
diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c
index f23bbf13610c..51f66b9788fb 100644
--- a/drivers/usb/phy/phy-tegra-usb.c
+++ b/drivers/usb/phy/phy-tegra-usb.c
@@ -30,8 +30,7 @@
#include <linux/regulator/consumer.h>
#include <linux/platform_data/tegra_usb.h>
#include <linux/usb/otg.h>
-
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
/* HACK -- need to pass this through DT */
#include "../../../arch/arm/mach-tegra/iomap.h"
diff --git a/drivers/usb/phy/tegra11x_usb_phy.c b/drivers/usb/phy/tegra11x_usb_phy.c
index 3c458a7fe74b..c8665d6102a3 100644
--- a/drivers/usb/phy/tegra11x_usb_phy.c
+++ b/drivers/usb/phy/tegra11x_usb_phy.c
@@ -28,10 +28,10 @@
#include <linux/regulator/consumer.h>
#include <linux/platform_data/tegra_usb.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <mach/pinmux.h>
#include <mach/tegra_usb_pmc.h>
#include <mach/tegra_usb_pad_ctrl.h>
-#include <mach/hardware.h>
#ifdef CONFIG_ARCH_TEGRA_14x_SOC
#include <mach/pinmux-t14.h>
diff --git a/drivers/video/tegra/dc/dc_priv_defs.h b/drivers/video/tegra/dc/dc_priv_defs.h
index 0acd731ba64d..ba20f535fdb7 100644
--- a/drivers/video/tegra/dc/dc_priv_defs.h
+++ b/drivers/video/tegra/dc/dc_priv_defs.h
@@ -29,11 +29,11 @@
#include <linux/nvhost.h>
#include <linux/types.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <mach/dc.h>
#include <mach/tegra_dc_ext.h>
-#include <mach/hardware.h>
#include <mach/isomgr.h>
#include "dc_reg.h"
diff --git a/drivers/video/tegra/dc/dp.c b/drivers/video/tegra/dc/dp.c
index 205878d3b3ac..4907e0df1034 100644
--- a/drivers/video/tegra/dc/dp.c
+++ b/drivers/video/tegra/dc/dp.c
@@ -22,10 +22,10 @@
#include <linux/interrupt.h>
#include <linux/seq_file.h>
#include <linux/debugfs.h>
+#include <linux/tegra-soc.h>
#include <mach/dc.h>
#include <mach/fb.h>
-#include <mach/hardware.h>
#include "dp.h"
#include "sor.h"
diff --git a/drivers/video/tegra/dc/dsi.c b/drivers/video/tegra/dc/dsi.c
index cdb937688082..555fe8b0bede 100644
--- a/drivers/video/tegra/dc/dsi.c
+++ b/drivers/video/tegra/dc/dsi.c
@@ -35,11 +35,11 @@
#include <linux/regulator/consumer.h>
#include <linux/pm_runtime.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#include <mach/dc.h>
#include <mach/fb.h>
#include <mach/csi.h>
-#include <mach/hardware.h>
#include <linux/nvhost.h>
#include "dc_reg.h"
diff --git a/drivers/video/tegra/host/bus_client.c b/drivers/video/tegra/host/bus_client.c
index ebd2035c27e6..2a8d66d60d97 100644
--- a/drivers/video/tegra/host/bus_client.c
+++ b/drivers/video/tegra/host/bus_client.c
@@ -30,6 +30,7 @@
#include <linux/export.h>
#include <linux/firmware.h>
#include <linux/dma-mapping.h>
+#include <linux/tegra-soc.h>
#include <trace/events/nvhost.h>
@@ -40,7 +41,6 @@
#include <linux/nvhost_ioctl.h>
#include <mach/gpufuse.h>
-#include <mach/hardware.h>
#include "debug.h"
#include "bus_client.h"
diff --git a/drivers/video/tegra/host/chip_support.c b/drivers/video/tegra/host/chip_support.c
index b078f27025d8..09ef32a67ddb 100644
--- a/drivers/video/tegra/host/chip_support.c
+++ b/drivers/video/tegra/host/chip_support.c
@@ -22,6 +22,7 @@
#include <linux/types.h>
#include <linux/bug.h>
#include <linux/slab.h>
+#include <linux/tegra-soc.h>
#include "chip_support.h"
#include "t20/t20.h"
@@ -30,8 +31,6 @@
#include "t124/t124.h"
#include "t148/t148.h"
-#include <mach/hardware.h>
-
struct nvhost_chip_support *nvhost_chip_ops;
struct nvhost_chip_support *nvhost_get_chip_ops(void)
diff --git a/drivers/video/tegra/host/gk20a/gk20a.h b/drivers/video/tegra/host/gk20a/gk20a.h
index 2c9caf52dcac..b0bf1ca82ce2 100644
--- a/drivers/video/tegra/host/gk20a/gk20a.h
+++ b/drivers/video/tegra/host/gk20a/gk20a.h
@@ -28,7 +28,7 @@ struct channel_gk20a;
struct gr_gk20a;
struct sim_gk20a;
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <linux/spinlock.h>
#include "clk_gk20a.h"
#include "fifo_gk20a.h"
diff --git a/drivers/video/tegra/host/gk20a/gk20a_scale.c b/drivers/video/tegra/host/gk20a/gk20a_scale.c
index d3cb5e81a8e7..11735ffbb56a 100644
--- a/drivers/video/tegra/host/gk20a/gk20a_scale.c
+++ b/drivers/video/tegra/host/gk20a/gk20a_scale.c
@@ -23,8 +23,7 @@
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/clk/tegra.h>
-
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <governor.h>
diff --git a/drivers/video/tegra/host/gk20a/gr_gk20a.c b/drivers/video/tegra/host/gk20a/gr_gk20a.c
index 0b3bbc060dc7..b8fccd75aa9d 100644
--- a/drivers/video/tegra/host/gk20a/gr_gk20a.c
+++ b/drivers/video/tegra/host/gk20a/gr_gk20a.c
@@ -23,8 +23,7 @@
#include <linux/mm.h> /* for totalram_pages */
#include <linux/scatterlist.h>
#include <linux/nvmap.h>
-
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include "../dev.h"
diff --git a/drivers/video/tegra/host/gk20a/mm_gk20a.c b/drivers/video/tegra/host/gk20a/mm_gk20a.c
index 7566814310b5..06c88032ee52 100644
--- a/drivers/video/tegra/host/gk20a/mm_gk20a.c
+++ b/drivers/video/tegra/host/gk20a/mm_gk20a.c
@@ -25,7 +25,7 @@
#include <linux/nvhost.h>
#include <linux/scatterlist.h>
#include <linux/nvmap.h>
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <asm/cacheflush.h>
#include "../../nvmap/nvmap_priv.h"
diff --git a/drivers/video/tegra/host/gr3d/gr3d_t30.c b/drivers/video/tegra/host/gr3d/gr3d_t30.c
index cd84c63fdac9..66ff1757833c 100644
--- a/drivers/video/tegra/host/gr3d/gr3d_t30.c
+++ b/drivers/video/tegra/host/gr3d/gr3d_t30.c
@@ -31,7 +31,7 @@
#include "class_ids.h"
#include <mach/gpufuse.h>
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <linux/slab.h>
#include <linux/scatterlist.h>
diff --git a/drivers/video/tegra/host/gr3d/pod_scaling.c b/drivers/video/tegra/host/gr3d/pod_scaling.c
index 04326d16d12e..7134e9cda295 100644
--- a/drivers/video/tegra/host/gr3d/pod_scaling.c
+++ b/drivers/video/tegra/host/gr3d/pod_scaling.c
@@ -39,12 +39,11 @@
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/clk/tegra.h>
+#include <linux/tegra-soc.h>
#define CREATE_TRACE_POINTS
#include <trace/events/nvhost_podgov.h>
-#include <mach/hardware.h>
-
#include <governor.h>
#include "scale3d.h"
diff --git a/drivers/video/tegra/host/gr3d/scale3d.c b/drivers/video/tegra/host/gr3d/scale3d.c
index 417fd7db6845..69f4863db6d6 100644
--- a/drivers/video/tegra/host/gr3d/scale3d.c
+++ b/drivers/video/tegra/host/gr3d/scale3d.c
@@ -35,8 +35,7 @@
#include <linux/slab.h>
#include <linux/ftrace.h>
#include <linux/platform_data/tegra_edp.h>
-
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include "chip_support.h"
#include "dev.h"
diff --git a/drivers/video/tegra/host/host1x/host1x.c b/drivers/video/tegra/host/host1x/host1x.c
index eab761f494a0..2d0032a69b18 100644
--- a/drivers/video/tegra/host/host1x/host1x.c
+++ b/drivers/video/tegra/host/host1x/host1x.c
@@ -30,7 +30,7 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_platform.h>
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include "dev.h"
#include <trace/events/nvhost.h>
diff --git a/drivers/video/tegra/host/nvhost_acm.c b/drivers/video/tegra/host/nvhost_acm.c
index d43ac85cb28e..a6e6571fbb45 100644
--- a/drivers/video/tegra/host/nvhost_acm.c
+++ b/drivers/video/tegra/host/nvhost_acm.c
@@ -31,9 +31,9 @@
#include <linux/pm_runtime.h>
#include <linux/clk/tegra.h>
#include <linux/tegra-powergate.h>
+#include <linux/tegra-soc.h>
#include <trace/events/nvhost.h>
-#include <mach/hardware.h>
#include <mach/mc.h>
#include <mach/pm_domains.h>
diff --git a/drivers/video/tegra/host/nvhost_scale.c b/drivers/video/tegra/host/nvhost_scale.c
index c3b6527c1d20..eaab3c23c679 100644
--- a/drivers/video/tegra/host/nvhost_scale.c
+++ b/drivers/video/tegra/host/nvhost_scale.c
@@ -23,8 +23,7 @@
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/clk/tegra.h>
-
-#include <mach/hardware.h>
+#include <linux/tegra-soc.h>
#include <governor.h>
diff --git a/drivers/video/tegra/nvmap/nvmap_handle.c b/drivers/video/tegra/nvmap/nvmap_handle.c
index 417a1fb5e27e..78c26f999423 100644
--- a/drivers/video/tegra/nvmap/nvmap_handle.c
+++ b/drivers/video/tegra/nvmap/nvmap_handle.c
@@ -35,6 +35,7 @@
#include <linux/module.h>
#include <linux/dma-buf.h>
#include <linux/nvmap.h>
+#include <linux/tegra-soc.h>
#include <asm/cacheflush.h>
#include <asm/outercache.h>
@@ -42,7 +43,6 @@
#include <asm/pgtable.h>
#include <mach/iovmm.h>
-#include <mach/hardware.h>
#include <trace/events/nvmap.h>
#include "nvmap_priv.h"
diff --git a/include/linux/tegra-soc.h b/include/linux/tegra-soc.h
index 95f611d78f3a..91a714f1bc24 100644
--- a/include/linux/tegra-soc.h
+++ b/include/linux/tegra-soc.h
@@ -19,4 +19,74 @@
u32 tegra_read_chipid(void);
+enum tegra_chipid {
+ TEGRA_CHIPID_UNKNOWN = 0,
+ TEGRA_CHIPID_TEGRA14 = 0x14,
+ TEGRA_CHIPID_TEGRA2 = 0x20,
+ TEGRA_CHIPID_TEGRA3 = 0x30,
+ TEGRA_CHIPID_TEGRA11 = 0x35,
+ TEGRA_CHIPID_TEGRA12 = 0x40,
+};
+
+enum tegra_revision {
+ TEGRA_REVISION_UNKNOWN = 0,
+ TEGRA_REVISION_A01,
+ TEGRA_REVISION_A02,
+ TEGRA_REVISION_A03,
+ TEGRA_REVISION_A03p,
+ TEGRA_REVISION_A04,
+ TEGRA_REVISION_A04p,
+ TEGRA_REVISION_QT,
+ TEGRA_REVISION_SIM,
+ TEGRA_REVISION_MAX,
+};
+
+enum tegra_platform {
+ TEGRA_PLATFORM_SILICON = 0,
+ TEGRA_PLATFORM_QT,
+ TEGRA_PLATFORM_LINSIM,
+ TEGRA_PLATFORM_FPGA,
+ TEGRA_PLATFORM_MAX,
+};
+
+extern enum tegra_revision tegra_revision;
+enum tegra_chipid tegra_get_chipid(void);
+unsigned int tegra_get_minor_rev(void);
+
+int tegra_split_mem_active(void);
+
+#ifdef CONFIG_TEGRA_PRE_SILICON_SUPPORT
+void tegra_get_netlist_revision(u32 *netlist, u32* patchid);
+bool tegra_cpu_is_asim(void);
+bool tegra_cpu_is_dsim(void);
+enum tegra_platform tegra_get_platform(void);
+static inline bool tegra_platform_is_silicon(void)
+{
+ return tegra_get_platform() == TEGRA_PLATFORM_SILICON;
+}
+static inline bool tegra_platform_is_qt(void)
+{
+ return tegra_get_platform() == TEGRA_PLATFORM_QT;
+}
+static inline bool tegra_platform_is_linsim(void)
+{
+ return tegra_get_platform() == TEGRA_PLATFORM_LINSIM;
+}
+static inline bool tegra_platform_is_fpga(void)
+{
+ return tegra_get_platform() == TEGRA_PLATFORM_FPGA;
+}
+#else
+static inline void tegra_get_netlist_revision(u32 *netlist, u32* patchid)
+{
+ BUG();
+}
+static inline bool tegra_cpu_is_asim(void) { return false; }
+static inline bool tegra_cpu_is_dsim(void) { return false; }
+static inline bool tegra_platform_is_silicon(void) { return true; }
+static inline bool tegra_platform_is_fpga(void) { return false; }
+static inline bool tegra_platform_is_qt(void) { return false; }
+static inline bool tegra_platform_is_linsim(void) { return false; }
+#endif
+
#endif /* __LINUX_TEGRA_SOC_H_ */