i.MX2: Add sound (ssi) resources
authorSascha Hauer <s.hauer@pengutronix.de>
Thu, 22 Oct 2009 12:50:33 +0000 (14:50 +0200)
committerSascha Hauer <s.hauer@pengutronix.de>
Sat, 14 Nov 2009 09:30:19 +0000 (10:30 +0100)
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx2/clock_imx27.c
arch/arm/mach-mx2/devices.c
arch/arm/mach-mx2/devices.h

index ff5e33298914ca3abf864e7cc9273ea96ccda6c6..aa640b4876c99056ddb013fc4896f07bdedad85a 100644 (file)
@@ -651,8 +651,8 @@ static struct clk_lookup lookups[] = {
        _REGISTER_CLOCK("mxc-ehci.1", "usb_ahb", usb_clk1)
        _REGISTER_CLOCK("mxc-ehci.2", "usb", usb_clk)
        _REGISTER_CLOCK("mxc-ehci.2", "usb_ahb", usb_clk1)
-       _REGISTER_CLOCK(NULL, "ssi1", ssi1_clk)
-       _REGISTER_CLOCK(NULL, "ssi2", ssi2_clk)
+       _REGISTER_CLOCK("imx-ssi.0", NULL, ssi1_clk)
+       _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk)
        _REGISTER_CLOCK("mxc_nand.0", NULL, nfc_clk)
        _REGISTER_CLOCK(NULL, "vpu", vpu_clk)
        _REGISTER_CLOCK(NULL, "dma", dma_clk)
index 50199aff0143fee91f859fdc3224d5c38acfdb01..3d398ce09b310d15cccb907abe01d35c81282dc6 100644 (file)
@@ -530,6 +530,84 @@ struct platform_device mxc_usbh2 = {
 };
 #endif
 
+static struct resource imx_ssi_resources0[] = {
+       {
+               .start  = SSI1_BASE_ADDR,
+               .end    = SSI1_BASE_ADDR + 0x6F,
+               .flags  = IORESOURCE_MEM,
+       }, {
+               .start  = MXC_INT_SSI1,
+               .end    = MXC_INT_SSI1,
+               .flags  = IORESOURCE_IRQ,
+       }, {
+               .name   = "tx0",
+               .start  = DMA_REQ_SSI1_TX0,
+               .end    = DMA_REQ_SSI1_TX0,
+               .flags  = IORESOURCE_DMA,
+       }, {
+               .name   = "rx0",
+               .start  = DMA_REQ_SSI1_RX0,
+               .end    = DMA_REQ_SSI1_RX0,
+               .flags  = IORESOURCE_DMA,
+       }, {
+               .name   = "tx1",
+               .start  = DMA_REQ_SSI1_TX1,
+               .end    = DMA_REQ_SSI1_TX1,
+               .flags  = IORESOURCE_DMA,
+       }, {
+               .name   = "rx1",
+               .start  = DMA_REQ_SSI1_RX1,
+               .end    = DMA_REQ_SSI1_RX1,
+               .flags  = IORESOURCE_DMA,
+       },
+};
+
+static struct resource imx_ssi_resources1[] = {
+       {
+               .start  = SSI2_BASE_ADDR,
+               .end    = SSI2_BASE_ADDR + 0x6F,
+               .flags  = IORESOURCE_MEM,
+       }, {
+               .start  = MXC_INT_SSI2,
+               .end    = MXC_INT_SSI2,
+               .flags  = IORESOURCE_IRQ,
+       }, {
+               .name   = "tx0",
+               .start  = DMA_REQ_SSI2_TX0,
+               .end    = DMA_REQ_SSI2_TX0,
+               .flags  = IORESOURCE_DMA,
+       }, {
+               .name   = "rx0",
+               .start  = DMA_REQ_SSI2_RX0,
+               .end    = DMA_REQ_SSI2_RX0,
+               .flags  = IORESOURCE_DMA,
+       }, {
+               .name   = "tx1",
+               .start  = DMA_REQ_SSI2_TX1,
+               .end    = DMA_REQ_SSI2_TX1,
+               .flags  = IORESOURCE_DMA,
+       }, {
+               .name   = "rx1",
+               .start  = DMA_REQ_SSI2_RX1,
+               .end    = DMA_REQ_SSI2_RX1,
+               .flags  = IORESOURCE_DMA,
+       },
+};
+
+struct platform_device imx_ssi_device0 = {
+       .name = "imx-ssi",
+       .id = 0,
+       .num_resources = ARRAY_SIZE(imx_ssi_resources0),
+       .resource = imx_ssi_resources0,
+};
+
+struct platform_device imx_ssi_device1 = {
+       .name = "imx-ssi",
+       .id = 1,
+       .num_resources = ARRAY_SIZE(imx_ssi_resources1),
+       .resource = imx_ssi_resources1,
+};
+
 /* GPIO port description */
 static struct mxc_gpio_port imx_gpio_ports[] = {
        {
index d315406d6725e77ff8694be4bdcb789452fc8c43..97306aa18f1c5cde57f709e4a4dce9ee5003f0db 100644 (file)
@@ -26,4 +26,5 @@ extern struct platform_device mxc_usbh2;
 extern struct platform_device mxc_spi_device0;
 extern struct platform_device mxc_spi_device1;
 extern struct platform_device mxc_spi_device2;
-
+extern struct platform_device imx_ssi_device0;
+extern struct platform_device imx_ssi_device1;