Author: hrs
Date: Sat Jul 28 21:56:24 2012
New Revision: 238873
URL: http://svn.freebsd.org/changeset/base/238873

Log:
  Add support for Marvell 88F6282.
  
  Sponsored by: Plat'Home, Co.,Ltd.

Modified:
  head/sys/arm/mv/common.c
  head/sys/arm/mv/gpio.c
  head/sys/arm/mv/ic.c
  head/sys/arm/mv/kirkwood/kirkwood.c
  head/sys/arm/mv/mv_sata.c
  head/sys/arm/mv/mvreg.h
  head/sys/dev/cesa/cesa.c
  head/sys/dev/mge/if_mge.c
  head/sys/dev/mvs/mvs_soc.c

Modified: head/sys/arm/mv/common.c
==============================================================================
--- head/sys/arm/mv/common.c    Sat Jul 28 21:43:29 2012        (r238872)
+++ head/sys/arm/mv/common.c    Sat Jul 28 21:56:24 2012        (r238873)
@@ -251,7 +251,9 @@ cpu_extra_feat(void)
        uint32_t ef = 0;
 
        soc_id(&dev, &rev);
-       if (dev == MV_DEV_88F6281 || dev == MV_DEV_MV78100_Z0 ||
+       if (dev == MV_DEV_88F6281 ||
+           dev == MV_DEV_88F6282 ||
+           dev == MV_DEV_MV78100_Z0 ||
            dev == MV_DEV_MV78100)
                __asm __volatile("mrc p15, 1, %0, c15, c1, 0" : "=r" (ef));
        else if (dev == MV_DEV_88F5182 || dev == MV_DEV_88F5281)
@@ -351,6 +353,13 @@ soc_identify(void)
                else if (r == 3)
                        rev = "A1";
                break;
+       case MV_DEV_88F6282:
+               dev = "Marvell 88F6282";
+               if (r == 0)
+                       rev = "A0";
+               else if (r == 1)
+                       rev = "A1";
+               break;
        case MV_DEV_MV78100_Z0:
                dev = "Marvell MV78100 Z0";
                break;
@@ -536,6 +545,7 @@ win_cpu_can_remap(int i)
        if ((dev == MV_DEV_88F5182 && i < 2) ||
            (dev == MV_DEV_88F5281 && i < 4) ||
            (dev == MV_DEV_88F6281 && i < 4) ||
+           (dev == MV_DEV_88F6282 && i < 4) ||
            (dev == MV_DEV_MV78100 && i < 8) ||
            (dev == MV_DEV_MV78100_Z0 && i < 8))
                return (1);
@@ -1320,7 +1330,8 @@ xor_max_eng(void)
        uint32_t dev, rev;
 
        soc_id(&dev, &rev);
-       if (dev == MV_DEV_88F6281)
+       if (dev == MV_DEV_88F6281 ||
+           dev == MV_DEV_88F6282)
                return (2);
        else if ((dev == MV_DEV_MV78100) || (dev == MV_DEV_MV78100_Z0))
                return (1);

Modified: head/sys/arm/mv/gpio.c
==============================================================================
--- head/sys/arm/mv/gpio.c      Sat Jul 28 21:43:29 2012        (r238872)
+++ head/sys/arm/mv/gpio.c      Sat Jul 28 21:56:24 2012        (r238873)
@@ -155,7 +155,8 @@ mv_gpio_attach(device_t dev)
                sc->pin_num = 32;
                sc->irq_num = 4;
 
-       } else if (dev_id == MV_DEV_88F6281) {
+       } else if (dev_id == MV_DEV_88F6281 ||
+           dev_id == MV_DEV_88F6282) {
                sc->pin_num = 50;
                sc->irq_num = 7;
 

Modified: head/sys/arm/mv/ic.c
==============================================================================
--- head/sys/arm/mv/ic.c        Sat Jul 28 21:43:29 2012        (r238872)
+++ head/sys/arm/mv/ic.c        Sat Jul 28 21:56:24 2012        (r238873)
@@ -105,7 +105,9 @@ mv_ic_attach(device_t dev)
        sc->ic_high_regs = 0;
        sc->ic_error_regs = 0;
 
-       if (dev_id == MV_DEV_88F6281 || dev_id == MV_DEV_MV78100 ||
+       if (dev_id == MV_DEV_88F6281 ||
+           dev_id == MV_DEV_88F6282 ||
+           dev_id == MV_DEV_MV78100 ||
            dev_id == MV_DEV_MV78100_Z0)
                sc->ic_high_regs = 1;
 

Modified: head/sys/arm/mv/kirkwood/kirkwood.c
==============================================================================
--- head/sys/arm/mv/kirkwood/kirkwood.c Sat Jul 28 21:43:29 2012        
(r238872)
+++ head/sys/arm/mv/kirkwood/kirkwood.c Sat Jul 28 21:56:24 2012        
(r238873)
@@ -74,6 +74,8 @@ get_tclk(void)
        soc_id(&dev, &rev);
        if (dev == MV_DEV_88F6281 && (rev == 2 || rev == 3))
                return (TCLK_200MHZ);
+       if (dev == MV_DEV_88F6282)
+               return (TCLK_200MHZ);
 
        return (TCLK_166MHZ);
 }

Modified: head/sys/arm/mv/mv_sata.c
==============================================================================
--- head/sys/arm/mv/mv_sata.c   Sat Jul 28 21:43:29 2012        (r238872)
+++ head/sys/arm/mv/mv_sata.c   Sat Jul 28 21:56:24 2012        (r238873)
@@ -197,6 +197,7 @@ sata_probe(device_t dev)
                sc->sc_edma_qlen = 128;
                break;
        case MV_DEV_88F6281:
+       case MV_DEV_88F6282:
        case MV_DEV_MV78100:
        case MV_DEV_MV78100_Z0:
                sc->sc_version = 2;

Modified: head/sys/arm/mv/mvreg.h
==============================================================================
--- head/sys/arm/mv/mvreg.h     Sat Jul 28 21:43:29 2012        (r238872)
+++ head/sys/arm/mv/mvreg.h     Sat Jul 28 21:56:24 2012        (r238873)
@@ -326,6 +326,7 @@
 #define MV_DEV_88F5182         0x5182
 #define MV_DEV_88F5281         0x5281
 #define MV_DEV_88F6281         0x6281
+#define MV_DEV_88F6282         0x6282
 #define MV_DEV_MV78100_Z0      0x6381
 #define MV_DEV_MV78100         0x7810
 

Modified: head/sys/dev/cesa/cesa.c
==============================================================================
--- head/sys/dev/cesa/cesa.c    Sat Jul 28 21:43:29 2012        (r238872)
+++ head/sys/dev/cesa/cesa.c    Sat Jul 28 21:56:24 2012        (r238873)
@@ -1005,6 +1005,7 @@ cesa_attach(device_t dev)
 
        switch (d) {
        case MV_DEV_88F6281:
+       case MV_DEV_88F6282:
                sc->sc_tperr = 0;
                break;
        case MV_DEV_MV78100:

Modified: head/sys/dev/mge/if_mge.c
==============================================================================
--- head/sys/dev/mge/if_mge.c   Sat Jul 28 21:43:29 2012        (r238872)
+++ head/sys/dev/mge/if_mge.c   Sat Jul 28 21:56:24 2012        (r238873)
@@ -258,7 +258,9 @@ mge_ver_params(struct mge_softc *sc)
        uint32_t d, r;
 
        soc_id(&d, &r);
-       if (d == MV_DEV_88F6281 || d == MV_DEV_MV78100 ||
+       if (d == MV_DEV_88F6281 ||
+           d == MV_DEV_88F6282 ||
+           d == MV_DEV_MV78100 ||
            d == MV_DEV_MV78100_Z0) {
                sc->mge_ver = 2;
                sc->mge_mtu = 0x4e8;

Modified: head/sys/dev/mvs/mvs_soc.c
==============================================================================
--- head/sys/dev/mvs/mvs_soc.c  Sat Jul 28 21:43:29 2012        (r238872)
+++ head/sys/dev/mvs/mvs_soc.c  Sat Jul 28 21:56:24 2012        (r238873)
@@ -63,6 +63,7 @@ static struct {
 } mvs_ids[] = {
        {MV_DEV_88F5182, 0x00,   "Marvell 88F5182",     2, 
MVS_Q_GENIIE|MVS_Q_SOC},
        {MV_DEV_88F6281, 0x00,   "Marvell 88F6281",     2, 
MVS_Q_GENIIE|MVS_Q_SOC},
+       {MV_DEV_88F6282, 0x00,   "Marvell 88F6282",     2, 
MVS_Q_GENIIE|MVS_Q_SOC},
        {MV_DEV_MV78100, 0x00,   "Marvell MV78100",     2, 
MVS_Q_GENIIE|MVS_Q_SOC},
        {MV_DEV_MV78100_Z0, 0x00,"Marvell MV78100",     2, 
MVS_Q_GENIIE|MVS_Q_SOC},
        {0,              0x00,   NULL,                  0, 0}
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to