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