bus: ti-sysc: Ignore timer12 on secure omap3
authorTony Lindgren <tony@atomide.com>
Thu, 7 May 2020 16:59:31 +0000 (09:59 -0700)
committerTony Lindgren <tony@atomide.com>
Tue, 19 May 2020 16:38:03 +0000 (09:38 -0700)
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: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/bus/ti-sysc.c

index e5f5f48..a81a9f1 100644 (file)
@@ -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;