add a gpio feature for devices supporting the generic GPIO interface
[openwrt.git] / target / linux / brcm47xx / patches-2.6.23 / 220-bcm5354.patch
index ca31af9..53818ab 100644 (file)
@@ -1,6 +1,8 @@
---- files/drivers/ssb/driver_chipcommon.c      2007-10-24 16:57:38.000000000 -0700
-+++ linux-2.6.23.1/drivers/ssb/driver_chipcommon.c     2007-10-27 13:27:06.000000000 -0700
-@@ -268,6 +268,8 @@
+Index: linux-2.6.23.16/drivers/ssb/driver_chipcommon.c
+===================================================================
+--- linux-2.6.23.16.orig/drivers/ssb/driver_chipcommon.c       2008-02-19 13:46:08.000000000 +0100
++++ linux-2.6.23.16/drivers/ssb/driver_chipcommon.c    2008-02-19 13:46:17.000000000 +0100
+@@ -270,6 +270,8 @@ void ssb_chipco_resume(struct ssb_chipco
  void ssb_chipco_get_clockcpu(struct ssb_chipcommon *cc,
                               u32 *plltype, u32 *n, u32 *m)
  {
  void ssb_chipco_get_clockcpu(struct ssb_chipcommon *cc,
                               u32 *plltype, u32 *n, u32 *m)
  {
@@ -9,7 +11,7 @@
        *n = chipco_read32(cc, SSB_CHIPCO_CLOCK_N);
        *plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT);
        switch (*plltype) {
        *n = chipco_read32(cc, SSB_CHIPCO_CLOCK_N);
        *plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT);
        switch (*plltype) {
-@@ -291,6 +293,8 @@
+@@ -293,6 +295,8 @@ void ssb_chipco_get_clockcpu(struct ssb_
  void ssb_chipco_get_clockcontrol(struct ssb_chipcommon *cc,
                                 u32 *plltype, u32 *n, u32 *m)
  {
  void ssb_chipco_get_clockcontrol(struct ssb_chipcommon *cc,
                                 u32 *plltype, u32 *n, u32 *m)
  {
        *n = chipco_read32(cc, SSB_CHIPCO_CLOCK_N);
        *plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT);
        switch (*plltype) {
        *n = chipco_read32(cc, SSB_CHIPCO_CLOCK_N);
        *plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT);
        switch (*plltype) {
-@@ -387,7 +376,14 @@
-                                               chipco_read32(cc, SSB_CHIPCO_CLOCK_M2));
-               div = 1;
-       } else {
--              if (cc->dev->id.revision >= 11) {
-+              if (cc->dev->id.revision == 20) {
-+                      /* BCM5354 uses constant 25MHz clock */
-+                      baud_base = 25000000;
-+                      div = 48;
-+                      /* Set the override bit so we don't divide it */
-+                      chipco_write32(cc, SSB_CHIPCO_CORECTL,
-+                                     SSB_CHIPCO_CORECTL_UARTCLK0);
-+              } else if (cc->dev->id.revision >= 11) {
-                       /* Fixed ALP clock */
-                       baud_base = 20000000;
-                       div = 1;
---- files/drivers/ssb/driver_mipscore.c        2007-10-24 16:57:38.000000000 -0700
-+++ linux-2.6.23.1/drivers/ssb/driver_mipscore.c       2007-10-27 13:29:36.000000000 -0700
-@@ -160,6 +160,8 @@
+Index: linux-2.6.23.16/drivers/ssb/driver_mipscore.c
+===================================================================
+--- linux-2.6.23.16.orig/drivers/ssb/driver_mipscore.c 2008-02-19 13:46:08.000000000 +0100
++++ linux-2.6.23.16/drivers/ssb/driver_mipscore.c      2008-02-19 13:46:17.000000000 +0100
+@@ -160,6 +160,8 @@ u32 ssb_cpu_clock(struct ssb_mipscore *m
  
        if ((pll_type == SSB_PLLTYPE_5) || (bus->chip_id == 0x5365)) {
                rate = 200000000;
  
        if ((pll_type == SSB_PLLTYPE_5) || (bus->chip_id == 0x5365)) {
                rate = 200000000;
        } else {
                rate = ssb_calc_clock_rate(pll_type, n, m);
        }
        } else {
                rate = ssb_calc_clock_rate(pll_type, n, m);
        }
---- files/drivers/ssb/main.c   2007-10-24 16:57:38.000000000 -0700
-+++ linux-2.6.23.1/drivers/ssb/main.c  2007-10-27 13:30:59.000000000 -0700
-@@ -864,6 +864,8 @@
+Index: linux-2.6.23.16/drivers/ssb/main.c
+===================================================================
+--- linux-2.6.23.16.orig/drivers/ssb/main.c    2008-02-19 13:46:08.000000000 +0100
++++ linux-2.6.23.16/drivers/ssb/main.c 2008-02-19 13:46:17.000000000 +0100
+@@ -862,6 +862,8 @@ u32 ssb_clockspeed(struct ssb_bus *bus)
  
        if (bus->chip_id == 0x5365) {
                rate = 100000000;
  
        if (bus->chip_id == 0x5365) {
                rate = 100000000;
This page took 0.026305 seconds and 4 git commands to generate.