Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch Add support for SDIO on Armada XP.



details:   https://anonhg.NetBSD.org/src/rev/788b7850a328
branches:  trunk
changeset: 787128:788b7850a328
user:      rkujawa <rkujawa%NetBSD.org@localhost>
date:      Mon Jun 03 14:50:59 2013 +0000

description:
Add support for SDIO on Armada XP.

diffstat:

 sys/arch/arm/marvell/mvsoc.c           |  9 +++++++--
 sys/arch/evbarm/armadaxp/armadaxpreg.h |  7 +++++++
 sys/arch/evbarm/conf/ARMADAXP          |  7 ++++++-
 3 files changed, 20 insertions(+), 3 deletions(-)

diffs (104 lines):

diff -r 8d5d707ffa0f -r 788b7850a328 sys/arch/arm/marvell/mvsoc.c
--- a/sys/arch/arm/marvell/mvsoc.c      Mon Jun 03 10:24:24 2013 +0000
+++ b/sys/arch/arm/marvell/mvsoc.c      Mon Jun 03 14:50:59 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mvsoc.c,v 1.11 2013/05/29 20:47:14 rkujawa Exp $       */
+/*     $NetBSD: mvsoc.c,v 1.12 2013/06/03 14:50:59 rkujawa Exp $       */
 /*
  * Copyright (c) 2007, 2008 KIYOHARA Takashi
  * All rights reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mvsoc.c,v 1.11 2013/05/29 20:47:14 rkujawa Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mvsoc.c,v 1.12 2013/06/03 14:50:59 rkujawa Exp $");
 
 #include "opt_cputypes.h"
 #include "opt_mvsoc.h"
@@ -506,6 +506,7 @@
     { ARMADAXP(MV78130), "mvpex", 1, ARMADAXP_PEX01_BASE, ARMADAXP_IRQ_PEX01},
     { ARMADAXP(MV78130), "mvpex", 2, ARMADAXP_PEX02_BASE, ARMADAXP_IRQ_PEX02},
     { ARMADAXP(MV78130), "mvpex", 3, ARMADAXP_PEX03_BASE, ARMADAXP_IRQ_PEX03},
+    { ARMADAXP(MV78130), "mvsdio", 0, ARMADAXP_SDIO_BASE, ARMADAXP_IRQ_SDIO},
 
     { ARMADAXP(MV78160), "mvsoctmr",0,MVSOC_TMR_BASE,  ARMADAXP_IRQ_TIMER0 },
     { ARMADAXP(MV78160), "com",        0, MVSOC_COM0_BASE,     ARMADAXP_IRQ_UART0INT },
@@ -520,6 +521,7 @@
     { ARMADAXP(MV78160), "mvpex", 2, ARMADAXP_PEX02_BASE, ARMADAXP_IRQ_PEX02},
     { ARMADAXP(MV78160), "mvpex", 3, ARMADAXP_PEX03_BASE, ARMADAXP_IRQ_PEX03},
     { ARMADAXP(MV78160), "mvpex", 4, ARMADAXP_PEX2_BASE, ARMADAXP_IRQ_PEX2},
+    { ARMADAXP(MV78160), "mvsdio", 0, ARMADAXP_SDIO_BASE, ARMADAXP_IRQ_SDIO},
 
     { ARMADAXP(MV78230), "mvsoctmr",0,MVSOC_TMR_BASE,  ARMADAXP_IRQ_TIMER0 },
     { ARMADAXP(MV78230), "com",        0, MVSOC_COM0_BASE,     ARMADAXP_IRQ_UART0INT },
@@ -534,6 +536,7 @@
     { ARMADAXP(MV78230), "mvpex", 2, ARMADAXP_PEX02_BASE, ARMADAXP_IRQ_PEX02},
     { ARMADAXP(MV78230), "mvpex", 3, ARMADAXP_PEX03_BASE, ARMADAXP_IRQ_PEX03},
     { ARMADAXP(MV78230), "mvpex", 4, ARMADAXP_PEX2_BASE, ARMADAXP_IRQ_PEX2},
+    { ARMADAXP(MV78230), "mvsdio", 0, ARMADAXP_SDIO_BASE, ARMADAXP_IRQ_SDIO},
 
     { ARMADAXP(MV78260), "mvsoctmr",0,MVSOC_TMR_BASE,  ARMADAXP_IRQ_TIMER0 },
     { ARMADAXP(MV78260), "com",        0, MVSOC_COM0_BASE,     ARMADAXP_IRQ_UART0INT },
@@ -548,6 +551,7 @@
     { ARMADAXP(MV78260), "mvpex", 2, ARMADAXP_PEX02_BASE, ARMADAXP_IRQ_PEX02},
     { ARMADAXP(MV78260), "mvpex", 3, ARMADAXP_PEX03_BASE, ARMADAXP_IRQ_PEX03},
     { ARMADAXP(MV78260), "mvpex", 4, ARMADAXP_PEX2_BASE, ARMADAXP_IRQ_PEX2},
+    { ARMADAXP(MV78260), "mvsdio", 0, ARMADAXP_SDIO_BASE, ARMADAXP_IRQ_SDIO},
 
     { ARMADAXP(MV78460), "mvsoctmr",0,MVSOC_TMR_BASE,  ARMADAXP_IRQ_TIMER0 },
     { ARMADAXP(MV78460), "com",        0, MVSOC_COM0_BASE,     ARMADAXP_IRQ_UART0INT },
@@ -568,6 +572,7 @@
     { ARMADAXP(MV78460), "gttwsi", 1, ARMADAXP_TWSI1_BASE, ARMADAXP_IRQ_TWSI1},
     { ARMADAXP(MV78460), "mvspi", 0, ARMADAXP_SPI0_BASE, ARMADAXP_IRQ_SPI0},
     { ARMADAXP(MV78460), "mvspi", 1, ARMADAXP_SPI1_BASE, ARMADAXP_IRQ_SPI0},
+    { ARMADAXP(MV78460), "mvsdio", 0, ARMADAXP_SDIO_BASE, ARMADAXP_IRQ_SDIO},
 #endif
 };
 
diff -r 8d5d707ffa0f -r 788b7850a328 sys/arch/evbarm/armadaxp/armadaxpreg.h
--- a/sys/arch/evbarm/armadaxp/armadaxpreg.h    Mon Jun 03 10:24:24 2013 +0000
+++ b/sys/arch/evbarm/armadaxp/armadaxpreg.h    Mon Jun 03 14:50:59 2013 +0000
@@ -120,6 +120,8 @@
 #define ARMADAXP_IRQ_GBE2_TH_RXTX_Int  12      /* GBE2_TH_RXTX_Int */
 #define ARMADAXP_IRQ_GBE3_TH_RXTX_Int  14      /* GBE3_TH_RXTX_Int */
 
+#define ARMADAXP_IRQ_SDIO              54      /* SDIO */
+
 /*
  * Physical address of integrated peripherals
  */
@@ -175,6 +177,11 @@
 #define ARMADAXP_SATAHC_BASE   (UNITID2PHYS(SATA))     /* 0xa0000 */
 
 /*
+ * SDIO Registers
+ */
+#define ARMADAXP_SDIO_BASE     0xD4000                 /* XXX: UNIT ID ? */
+
+/*
  * SoC MISC Registers
  */
 #define        ARMADAXP_MISC_SAR_LO            0x30    /* Sample At Reset Low */
diff -r 8d5d707ffa0f -r 788b7850a328 sys/arch/evbarm/conf/ARMADAXP
--- a/sys/arch/evbarm/conf/ARMADAXP     Mon Jun 03 10:24:24 2013 +0000
+++ b/sys/arch/evbarm/conf/ARMADAXP     Mon Jun 03 14:50:59 2013 +0000
@@ -1,5 +1,5 @@
 #
-#      $NetBSD: ARMADAXP,v 1.1 2013/05/29 22:52:19 rkujawa Exp $
+#      $NetBSD: ARMADAXP,v 1.2 2013/06/03 14:50:59 rkujawa Exp $
 #
 #      ARMADA XP DEV BOARD
 #
@@ -224,6 +224,11 @@
 # USB Network interface
 udav*          at uhub? port ?
 
+mvsdio*                at mvsoc? offset ? irq ?
+sdmmc*         at mvsdio?
+
+ld*            at sdmmc?
+
 # On-chip Serial-ATA II Host Controller (SATAHC)
 mvsata*                at mvsoc? offset ? irq ?
 #options       MVSATA_WITHOUTDMA



Home | Main Index | Thread Index | Old Index