PERFORCE change 151919 for review
Andrew Turner
andrew at FreeBSD.org
Sat Oct 25 21:27:57 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=151919
Change 151919 by andrew at andrew_bender on 2008/10/25 21:27:29
Add the start of a (read-only) MMC/SD driver.
While here fix a typo
Affected files ...
.. //depot/projects/arm/src/sys/arm/s3c2xx0/files.s3c2xx0#4 edit
.. //depot/projects/arm/src/sys/arm/s3c2xx0/neo1973_machdep.c#9 edit
.. //depot/projects/arm/src/sys/arm/s3c2xx0/s3c2410.c#17 edit
.. //depot/projects/arm/src/sys/arm/s3c2xx0/s3c24x0_mci.c#1 add
.. //depot/projects/arm/src/sys/arm/s3c2xx0/s3c2xx0var.h#7 edit
Differences ...
==== //depot/projects/arm/src/sys/arm/s3c2xx0/files.s3c2xx0#4 (text+ko) ====
@@ -4,6 +4,7 @@
arm/s3c2xx0/s3c2410.c standard
arm/s3c2xx0/s3c2xx0_space.c standard
arm/s3c2xx0/s3c24x0_clk.c standard
+arm/s3c2xx0/s3c24x0_mci.c standard
arm/s3c2xx0/s3c24x0_nand.c optional nand
arm/s3c2xx0/uart_bus_s3c2410.c optional uart
arm/s3c2xx0/uart_cpu_s3c2410.c optional uart
==== //depot/projects/arm/src/sys/arm/s3c2xx0/neo1973_machdep.c#9 (text+ko) ====
@@ -164,6 +164,16 @@
PTE_NOCACHE,
},
{
+ /*
+ * Map the MMC/SD to VA == PA
+ */
+ _A(S3C2410_SDI_BASE),
+ _A(S3C2410_SDI_BASE),
+ _S(S3C2410_SDI_SIZE),
+ VM_PROT_READ|VM_PROT_WRITE,
+ PTE_NOCACHE,
+ },
+ {
0,
0,
0,
==== //depot/projects/arm/src/sys/arm/s3c2xx0/s3c2410.c#17 (text+ko) ====
@@ -307,6 +307,10 @@
if (bus_space_map(iot, S3C2410_CLKMAN_BASE,
S3C24X0_CLKMAN_SIZE, 0, &sc->sc_sx.sc_clkman_ioh))
panic("cannot map clock");
+ /* MMC/SD */
+ if (bus_space_map(iot, S3C2410_SDI_BASE,
+ S3C2410_SDI_SIZE, 0, &sc->sc_sx.sc_mci_ioh))
+ panic("cannot map MMC/SD");
#if 0
/* Real time clock */
@@ -339,7 +343,7 @@
rman_manage_region(&s3c2xx0_softc->s3c2xx0_irq_rman, 0,
S3C2410_SUBIRQ_MAX - 1) != 0)
panic("s3c2410_attach: failed to set up IRQ rman");
- /* Manage the registor memoty space */
+ /* Manage the registor memory space */
if (rman_init(&s3c2xx0_softc->s3c2xx0_mem_rman) != 0 ||
rman_manage_region(&s3c2xx0_softc->s3c2xx0_mem_rman, S3C2410_REG_BASE,
S3C2410_REG_BASE + S3C2410_REG_SIZE) != 0)
@@ -348,6 +352,12 @@
s3c2410_add_child(dev, 0, "nand", 0);
s3c2410_add_child(dev, 0, "timer", 0);
+ /* Add the MMC/SD and set it's irq/registers */
+ child = s3c2410_add_child(dev, 0, "s3c24x0_mci", 0);
+ bus_set_resource(child, SYS_RES_IRQ, 0, S3C2410_INT_SDI, 1);
+ bus_set_resource(child, SYS_RES_IOPORT, 0, S3C2410_SDI_BASE,
+ S3C2410_SDI_SIZE);
+
/* Add the uart and set it's irq and registers */
child = s3c2410_add_child(dev, 0, "uart", 0);
bus_set_resource(child, SYS_RES_IRQ, 0, S3C2410_INT_UART0, 1);
==== //depot/projects/arm/src/sys/arm/s3c2xx0/s3c2xx0var.h#7 (text+ko) ====
@@ -48,6 +48,7 @@
bus_space_handle_t sc_clkman_ioh; /* Clock manager */
bus_space_handle_t sc_gpio_ioh; /* GPIO */
bus_space_handle_t sc_rtc_ioh; /* real time clock */
+ bus_space_handle_t sc_mci_ioh; /* MMC/SD */
bus_dma_tag_t sc_dmat;
More information about the p4-projects
mailing list