Module Name: src
Committed By: rkujawa
Date: Mon Jun 3 14:50:59 UTC 2013
Modified Files:
src/sys/arch/arm/marvell: mvsoc.c
src/sys/arch/evbarm/armadaxp: armadaxpreg.h
src/sys/arch/evbarm/conf: ARMADAXP
Log Message:
Add support for SDIO on Armada XP.
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/marvell/mvsoc.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/armadaxp/armadaxpreg.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/conf/ARMADAXP
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/marvell/mvsoc.c
diff -u src/sys/arch/arm/marvell/mvsoc.c:1.11 src/sys/arch/arm/marvell/mvsoc.c:1.12
--- src/sys/arch/arm/marvell/mvsoc.c:1.11 Wed May 29 20:47:14 2013
+++ src/sys/arch/arm/marvell/mvsoc.c Mon Jun 3 14:50:59 2013
@@ -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 @@ static const struct mvsoc_periph {
{ 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 @@ static const struct mvsoc_periph {
{ 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 @@ static const struct mvsoc_periph {
{ 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 @@ static const struct mvsoc_periph {
{ 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 @@ static const struct mvsoc_periph {
{ 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
};
Index: src/sys/arch/evbarm/armadaxp/armadaxpreg.h
diff -u src/sys/arch/evbarm/armadaxp/armadaxpreg.h:1.1 src/sys/arch/evbarm/armadaxp/armadaxpreg.h:1.2
--- src/sys/arch/evbarm/armadaxp/armadaxpreg.h:1.1 Wed May 1 12:34:45 2013
+++ src/sys/arch/evbarm/armadaxp/armadaxpreg.h Mon Jun 3 14:50:59 2013
@@ -120,6 +120,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
#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 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
#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 */
Index: src/sys/arch/evbarm/conf/ARMADAXP
diff -u src/sys/arch/evbarm/conf/ARMADAXP:1.1 src/sys/arch/evbarm/conf/ARMADAXP:1.2
--- src/sys/arch/evbarm/conf/ARMADAXP:1.1 Wed May 29 22:52:19 2013
+++ src/sys/arch/evbarm/conf/ARMADAXP Mon Jun 3 14:50:59 2013
@@ -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 @@ ugen* at uhub? port ?
# 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