]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
Merge tag 'for-v4.3/omap-hwmod-prcm-a' of git://git.kernel.org/pub/scm/linux/kernel...
authorTony Lindgren <tony@atomide.com>
Fri, 24 Jul 2015 04:14:02 +0000 (21:14 -0700)
committerTony Lindgren <tony@atomide.com>
Fri, 24 Jul 2015 04:14:02 +0000 (21:14 -0700)
ARM: OMAP2+: PRCM and hwmod changes for v4.3

This series adds:

- I/O wakeup support for AM43xx
- register lock and unlock support to the hwmod code (needed for the RTC
  IP blocks on some chips)
- several fixes for sparse warnings and an unnecessary null pointer test
- a DRA7xx clockdomain configuration workaround, to deal with some hardware
  bugs

Basic build, boot, and PM tests are here:

http://www.pwsan.com/omap/testlogs/hwmod-prcm-for-v4.3/20150723080012/

Since I do not have an AM43xx or DRA7xx device, I can't test on those
platforms.

1  2 
arch/arm/boot/dts/am4372.dtsi
arch/arm/mach-omap2/timer.c

index ade28c790f4bf6abfbb17de0aaee768e8f324837,637133bc2ce5d7db0355110df0ed730aa8eaec98..359a3b6daf4feb51728ffe3b844edf26670f575c
@@@ -86,6 -86,7 +86,7 @@@
                        prcm: prcm@1f0000 {
                                compatible = "ti,am4-prcm";
                                reg = <0x1f0000 0x11000>;
+                               interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  
                                prcm_clocks: clocks {
                                        #address-cells = <1>;
                        };
                };
  
 +              emif: emif@4c000000 {
 +                      compatible = "ti,emif-am4372";
 +                      reg = <0x4c000000 0x1000000>;
 +                      ti,hwmods = "emif";
 +              };
 +
                edma: edma@49000000 {
                        compatible = "ti,edma3";
                        ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
                                ti,hwmods = "dss_rfbi";
                                clocks = <&disp_clk>;
                                clock-names = "fck";
 +                              status = "disabled";
                        };
                };
  
index c52051b6742cb68e61f3021be036c8d2dee25100,15448221662416f4e596ec34809fe1c1f1ddd252..f44bcab3f52fbb41036fdb272e4d408450eaf2bc
@@@ -208,8 -208,7 +208,7 @@@ static void __init omap_dmtimer_init(vo
        /* If we are a secure device, remove any secure timer nodes */
        if ((omap_type() != OMAP2_DEVICE_TYPE_GP)) {
                np = omap_get_timer_dt(omap_timer_match, "ti,timer-secure");
-               if (np)
-                       of_node_put(np);
+               of_node_put(np);
        }
  }
  
@@@ -649,10 -648,23 +648,10 @@@ static OMAP_SYS_32K_TIMER_INIT(4, 1, "t
  
  #ifdef CONFIG_ARCH_OMAP4
  #ifdef CONFIG_HAVE_ARM_TWD
 -static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, OMAP44XX_LOCAL_TWD_BASE, 29);
  void __init omap4_local_timer_init(void)
  {
        omap4_sync32k_timer_init();
 -      /* Local timers are not supprted on OMAP4430 ES1.0 */
 -      if (omap_rev() != OMAP4430_REV_ES1_0) {
 -              int err;
 -
 -              if (of_have_populated_dt()) {
 -                      clocksource_of_init();
 -                      return;
 -              }
 -
 -              err = twd_local_timer_register(&twd_local_timer);
 -              if (err)
 -                      pr_err("twd_local_timer_register failed %d\n", err);
 -      }
 +      clocksource_of_init();
  }
  #else
  void __init omap4_local_timer_init(void)