Some early omap3 boards use timer12 for system timer, but for secure
SoCs like on n900 it's not accessible. Likely we will be configuring
unavailable devices for other SoCs too based on runtime SoC detection,
so let's use a switch to start with.

Cc: Keerthy <[email protected]>
Cc: Lokesh Vutla <[email protected]>
Cc: Tero Kristo <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
---
 drivers/bus/ti-sysc.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -2744,6 +2744,17 @@ static int sysc_init_soc(struct sysc *ddata)
        if (match && match->data)
                sysc_soc->soc = (int)match->data;
 
+       /* Ignore devices that are not available on HS and EMU SoCs */
+       if (!sysc_soc->general_purpose) {
+               switch (sysc_soc->soc) {
+               case SOC_3430 ... SOC_3630:
+                       sysc_add_disabled(0x48304000);  /* timer12 */
+                       break;
+               default:
+                       break;
+               };
+       }
+
        match = soc_device_match(sysc_soc_feat_match);
        if (!match)
                return 0;
-- 
2.26.2

Reply via email to