2011-02-20 03:26:18 +03:00
/*
* Copyright ( C ) 2010 , 2011 Google , Inc .
*
* Author :
* Colin Cross < ccross @ android . com >
* Erik Gilling < ccross @ android . com >
*
* This software is licensed under the terms of the GNU General Public
* License version 2 , as published by the Free Software Foundation , and
* may be copied , distributed , and modified under those terms .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
*/
# include <linux/resource.h>
# include <linux/platform_device.h>
# include <linux/dma-mapping.h>
# include <linux/fsl_devices.h>
# include <linux/serial_8250.h>
2011-07-11 01:37:22 +04:00
# include <linux/i2c-tegra.h>
2011-02-20 03:26:18 +03:00
# include <asm/pmu.h>
# include <mach/irqs.h>
# include <mach/iomap.h>
# include <mach/dma.h>
2011-07-11 01:59:45 +04:00
# include <mach/usb_phy.h>
2011-10-13 04:56:33 +04:00
2011-07-11 01:59:45 +04:00
# include "gpio-names.h"
2011-10-13 04:56:33 +04:00
# include "devices.h"
2011-02-20 03:26:18 +03:00
2011-10-12 02:16:12 +04:00
static struct resource gpio_resource [ ] = {
[ 0 ] = {
. start = TEGRA_GPIO_BASE ,
. end = TEGRA_GPIO_BASE + TEGRA_GPIO_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_GPIO1 ,
. end = INT_GPIO1 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 2 ] = {
. start = INT_GPIO2 ,
. end = INT_GPIO2 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 3 ] = {
. start = INT_GPIO3 ,
. end = INT_GPIO3 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 4 ] = {
. start = INT_GPIO4 ,
. end = INT_GPIO4 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 5 ] = {
. start = INT_GPIO5 ,
. end = INT_GPIO5 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 6 ] = {
. start = INT_GPIO6 ,
. end = INT_GPIO6 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 7 ] = {
. start = INT_GPIO7 ,
. end = INT_GPIO7 ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
struct platform_device tegra_gpio_device = {
. name = " tegra-gpio " ,
. id = - 1 ,
. resource = gpio_resource ,
. num_resources = ARRAY_SIZE ( gpio_resource ) ,
} ;
static struct resource pinmux_resource [ ] = {
[ 0 ] = {
/* Tri-state registers */
. start = TEGRA_APB_MISC_BASE + 0x14 ,
. end = TEGRA_APB_MISC_BASE + 0x20 + 3 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
/* Mux registers */
. start = TEGRA_APB_MISC_BASE + 0x80 ,
. end = TEGRA_APB_MISC_BASE + 0x9c + 3 ,
. flags = IORESOURCE_MEM ,
} ,
[ 2 ] = {
/* Pull-up/down registers */
. start = TEGRA_APB_MISC_BASE + 0xa0 ,
. end = TEGRA_APB_MISC_BASE + 0xb0 + 3 ,
. flags = IORESOURCE_MEM ,
} ,
[ 3 ] = {
/* Pad control registers */
. start = TEGRA_APB_MISC_BASE + 0x868 ,
. end = TEGRA_APB_MISC_BASE + 0x90c + 3 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
struct platform_device tegra_pinmux_device = {
2012-04-11 22:53:09 +04:00
. name = " tegra20-pinctrl " ,
2011-10-12 02:16:12 +04:00
. id = - 1 ,
. resource = pinmux_resource ,
. num_resources = ARRAY_SIZE ( pinmux_resource ) ,
} ;
2011-02-20 03:26:18 +03:00
static struct resource i2c_resource1 [ ] = {
[ 0 ] = {
. start = INT_I2C ,
. end = INT_I2C ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_I2C_BASE ,
. end = TEGRA_I2C_BASE + TEGRA_I2C_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource i2c_resource2 [ ] = {
[ 0 ] = {
. start = INT_I2C2 ,
. end = INT_I2C2 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_I2C2_BASE ,
. end = TEGRA_I2C2_BASE + TEGRA_I2C2_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource i2c_resource3 [ ] = {
[ 0 ] = {
. start = INT_I2C3 ,
. end = INT_I2C3 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_I2C3_BASE ,
. end = TEGRA_I2C3_BASE + TEGRA_I2C3_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource i2c_resource4 [ ] = {
[ 0 ] = {
. start = INT_DVC ,
. end = INT_DVC ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_DVC_BASE ,
. end = TEGRA_DVC_BASE + TEGRA_DVC_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
2011-07-11 01:37:22 +04:00
static struct tegra_i2c_platform_data tegra_i2c1_platform_data = {
. bus_clk_rate = 400000 ,
} ;
static struct tegra_i2c_platform_data tegra_i2c2_platform_data = {
. bus_clk_rate = 400000 ,
} ;
static struct tegra_i2c_platform_data tegra_i2c3_platform_data = {
. bus_clk_rate = 400000 ,
} ;
static struct tegra_i2c_platform_data tegra_dvc_platform_data = {
. bus_clk_rate = 400000 ,
} ;
2011-02-20 03:26:18 +03:00
struct platform_device tegra_i2c_device1 = {
. name = " tegra-i2c " ,
. id = 0 ,
. resource = i2c_resource1 ,
. num_resources = ARRAY_SIZE ( i2c_resource1 ) ,
. dev = {
2011-07-11 01:37:22 +04:00
. platform_data = & tegra_i2c1_platform_data ,
2011-02-20 03:26:18 +03:00
} ,
} ;
struct platform_device tegra_i2c_device2 = {
. name = " tegra-i2c " ,
. id = 1 ,
. resource = i2c_resource2 ,
. num_resources = ARRAY_SIZE ( i2c_resource2 ) ,
. dev = {
2011-07-11 01:37:22 +04:00
. platform_data = & tegra_i2c2_platform_data ,
2011-02-20 03:26:18 +03:00
} ,
} ;
struct platform_device tegra_i2c_device3 = {
. name = " tegra-i2c " ,
. id = 2 ,
. resource = i2c_resource3 ,
. num_resources = ARRAY_SIZE ( i2c_resource3 ) ,
. dev = {
2011-07-11 01:37:22 +04:00
. platform_data = & tegra_i2c3_platform_data ,
2011-02-20 03:26:18 +03:00
} ,
} ;
struct platform_device tegra_i2c_device4 = {
. name = " tegra-i2c " ,
. id = 3 ,
. resource = i2c_resource4 ,
. num_resources = ARRAY_SIZE ( i2c_resource4 ) ,
. dev = {
2011-07-11 01:37:22 +04:00
. platform_data = & tegra_dvc_platform_data ,
2011-02-20 03:26:18 +03:00
} ,
} ;
static struct resource spi_resource1 [ ] = {
[ 0 ] = {
. start = INT_S_LINK1 ,
. end = INT_S_LINK1 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_SPI1_BASE ,
. end = TEGRA_SPI1_BASE + TEGRA_SPI1_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource spi_resource2 [ ] = {
[ 0 ] = {
. start = INT_SPI_2 ,
. end = INT_SPI_2 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_SPI2_BASE ,
. end = TEGRA_SPI2_BASE + TEGRA_SPI2_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource spi_resource3 [ ] = {
[ 0 ] = {
. start = INT_SPI_3 ,
. end = INT_SPI_3 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_SPI3_BASE ,
. end = TEGRA_SPI3_BASE + TEGRA_SPI3_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource spi_resource4 [ ] = {
[ 0 ] = {
. start = INT_SPI_4 ,
. end = INT_SPI_4 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_SPI4_BASE ,
. end = TEGRA_SPI4_BASE + TEGRA_SPI4_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
struct platform_device tegra_spi_device1 = {
. name = " spi_tegra " ,
. id = 0 ,
. resource = spi_resource1 ,
. num_resources = ARRAY_SIZE ( spi_resource1 ) ,
. dev = {
. coherent_dma_mask = 0xffffffff ,
} ,
} ;
struct platform_device tegra_spi_device2 = {
. name = " spi_tegra " ,
. id = 1 ,
. resource = spi_resource2 ,
. num_resources = ARRAY_SIZE ( spi_resource2 ) ,
. dev = {
. coherent_dma_mask = 0xffffffff ,
} ,
} ;
struct platform_device tegra_spi_device3 = {
. name = " spi_tegra " ,
. id = 2 ,
. resource = spi_resource3 ,
. num_resources = ARRAY_SIZE ( spi_resource3 ) ,
. dev = {
. coherent_dma_mask = 0xffffffff ,
} ,
} ;
struct platform_device tegra_spi_device4 = {
. name = " spi_tegra " ,
. id = 3 ,
. resource = spi_resource4 ,
. num_resources = ARRAY_SIZE ( spi_resource4 ) ,
. dev = {
. coherent_dma_mask = 0xffffffff ,
} ,
} ;
static struct resource sdhci_resource1 [ ] = {
[ 0 ] = {
. start = INT_SDMMC1 ,
. end = INT_SDMMC1 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_SDMMC1_BASE ,
. end = TEGRA_SDMMC1_BASE + TEGRA_SDMMC1_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource sdhci_resource2 [ ] = {
[ 0 ] = {
. start = INT_SDMMC2 ,
. end = INT_SDMMC2 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_SDMMC2_BASE ,
. end = TEGRA_SDMMC2_BASE + TEGRA_SDMMC2_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource sdhci_resource3 [ ] = {
[ 0 ] = {
. start = INT_SDMMC3 ,
. end = INT_SDMMC3 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_SDMMC3_BASE ,
. end = TEGRA_SDMMC3_BASE + TEGRA_SDMMC3_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
static struct resource sdhci_resource4 [ ] = {
[ 0 ] = {
. start = INT_SDMMC4 ,
. end = INT_SDMMC4 ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = TEGRA_SDMMC4_BASE ,
. end = TEGRA_SDMMC4_BASE + TEGRA_SDMMC4_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
/* board files should fill in platform_data register the devices themselvs.
* See board - harmony . c for an example
*/
struct platform_device tegra_sdhci_device1 = {
. name = " sdhci-tegra " ,
. id = 0 ,
. resource = sdhci_resource1 ,
. num_resources = ARRAY_SIZE ( sdhci_resource1 ) ,
} ;
struct platform_device tegra_sdhci_device2 = {
. name = " sdhci-tegra " ,
. id = 1 ,
. resource = sdhci_resource2 ,
. num_resources = ARRAY_SIZE ( sdhci_resource2 ) ,
} ;
struct platform_device tegra_sdhci_device3 = {
. name = " sdhci-tegra " ,
. id = 2 ,
. resource = sdhci_resource3 ,
. num_resources = ARRAY_SIZE ( sdhci_resource3 ) ,
} ;
struct platform_device tegra_sdhci_device4 = {
. name = " sdhci-tegra " ,
. id = 3 ,
. resource = sdhci_resource4 ,
. num_resources = ARRAY_SIZE ( sdhci_resource4 ) ,
} ;
static struct resource tegra_usb1_resources [ ] = {
[ 0 ] = {
. start = TEGRA_USB_BASE ,
. end = TEGRA_USB_BASE + TEGRA_USB_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_USB ,
. end = INT_USB ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
static struct resource tegra_usb2_resources [ ] = {
[ 0 ] = {
. start = TEGRA_USB2_BASE ,
. end = TEGRA_USB2_BASE + TEGRA_USB2_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_USB2 ,
. end = INT_USB2 ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
static struct resource tegra_usb3_resources [ ] = {
[ 0 ] = {
. start = TEGRA_USB3_BASE ,
. end = TEGRA_USB3_BASE + TEGRA_USB3_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_USB3 ,
. end = INT_USB3 ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
2012-04-13 01:03:52 +04:00
struct tegra_ulpi_config tegra_ehci2_ulpi_phy_config = {
. reset_gpio = - 1 ,
2011-07-11 01:59:45 +04:00
. clk = " cdev2 " ,
} ;
2012-03-19 23:57:13 +04:00
struct tegra_ehci_platform_data tegra_ehci1_pdata = {
2011-07-11 01:59:45 +04:00
. operating_mode = TEGRA_USB_OTG ,
. power_down_on_bus_suspend = 1 ,
2012-03-17 02:06:07 +04:00
. vbus_gpio = - 1 ,
2011-07-11 01:59:45 +04:00
} ;
2012-03-19 23:57:13 +04:00
struct tegra_ehci_platform_data tegra_ehci2_pdata = {
2011-07-11 01:59:45 +04:00
. phy_config = & tegra_ehci2_ulpi_phy_config ,
. operating_mode = TEGRA_USB_HOST ,
. power_down_on_bus_suspend = 1 ,
2012-03-17 02:06:07 +04:00
. vbus_gpio = - 1 ,
2011-07-11 01:59:45 +04:00
} ;
2012-03-19 23:57:13 +04:00
struct tegra_ehci_platform_data tegra_ehci3_pdata = {
2011-07-11 01:59:45 +04:00
. operating_mode = TEGRA_USB_HOST ,
. power_down_on_bus_suspend = 1 ,
2012-03-17 02:06:07 +04:00
. vbus_gpio = - 1 ,
2011-07-11 01:59:45 +04:00
} ;
2011-02-20 03:26:18 +03:00
static u64 tegra_ehci_dmamask = DMA_BIT_MASK ( 32 ) ;
struct platform_device tegra_ehci1_device = {
. name = " tegra-ehci " ,
. id = 0 ,
. dev = {
. dma_mask = & tegra_ehci_dmamask ,
. coherent_dma_mask = DMA_BIT_MASK ( 32 ) ,
2011-07-11 01:59:45 +04:00
. platform_data = & tegra_ehci1_pdata ,
2011-02-20 03:26:18 +03:00
} ,
. resource = tegra_usb1_resources ,
. num_resources = ARRAY_SIZE ( tegra_usb1_resources ) ,
} ;
struct platform_device tegra_ehci2_device = {
. name = " tegra-ehci " ,
. id = 1 ,
. dev = {
. dma_mask = & tegra_ehci_dmamask ,
. coherent_dma_mask = DMA_BIT_MASK ( 32 ) ,
2011-07-11 01:59:45 +04:00
. platform_data = & tegra_ehci2_pdata ,
2011-02-20 03:26:18 +03:00
} ,
. resource = tegra_usb2_resources ,
. num_resources = ARRAY_SIZE ( tegra_usb2_resources ) ,
} ;
struct platform_device tegra_ehci3_device = {
. name = " tegra-ehci " ,
. id = 2 ,
. dev = {
. dma_mask = & tegra_ehci_dmamask ,
. coherent_dma_mask = DMA_BIT_MASK ( 32 ) ,
2011-07-11 01:59:45 +04:00
. platform_data = & tegra_ehci3_pdata ,
2011-02-20 03:26:18 +03:00
} ,
. resource = tegra_usb3_resources ,
. num_resources = ARRAY_SIZE ( tegra_usb3_resources ) ,
} ;
static struct resource tegra_pmu_resources [ ] = {
[ 0 ] = {
. start = INT_CPU0_PMU_INTR ,
. end = INT_CPU0_PMU_INTR ,
. flags = IORESOURCE_IRQ ,
} ,
[ 1 ] = {
. start = INT_CPU1_PMU_INTR ,
. end = INT_CPU1_PMU_INTR ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
struct platform_device tegra_pmu_device = {
. name = " arm-pmu " ,
. id = ARM_PMU_DEVICE_CPU ,
. num_resources = ARRAY_SIZE ( tegra_pmu_resources ) ,
. resource = tegra_pmu_resources ,
} ;
static struct resource tegra_uarta_resources [ ] = {
[ 0 ] = {
. start = TEGRA_UARTA_BASE ,
. end = TEGRA_UARTA_BASE + TEGRA_UARTA_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_UARTA ,
. end = INT_UARTA ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
static struct resource tegra_uartb_resources [ ] = {
[ 0 ] = {
. start = TEGRA_UARTB_BASE ,
. end = TEGRA_UARTB_BASE + TEGRA_UARTB_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_UARTB ,
. end = INT_UARTB ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
static struct resource tegra_uartc_resources [ ] = {
[ 0 ] = {
. start = TEGRA_UARTC_BASE ,
. end = TEGRA_UARTC_BASE + TEGRA_UARTC_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_UARTC ,
. end = INT_UARTC ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
static struct resource tegra_uartd_resources [ ] = {
[ 0 ] = {
. start = TEGRA_UARTD_BASE ,
. end = TEGRA_UARTD_BASE + TEGRA_UARTD_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_UARTD ,
. end = INT_UARTD ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
static struct resource tegra_uarte_resources [ ] = {
[ 0 ] = {
. start = TEGRA_UARTE_BASE ,
. end = TEGRA_UARTE_BASE + TEGRA_UARTE_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
[ 1 ] = {
. start = INT_UARTE ,
. end = INT_UARTE ,
. flags = IORESOURCE_IRQ ,
} ,
} ;
struct platform_device tegra_uarta_device = {
. name = " tegra_uart " ,
. id = 0 ,
. num_resources = ARRAY_SIZE ( tegra_uarta_resources ) ,
. resource = tegra_uarta_resources ,
. dev = {
. coherent_dma_mask = DMA_BIT_MASK ( 32 ) ,
} ,
} ;
struct platform_device tegra_uartb_device = {
. name = " tegra_uart " ,
. id = 1 ,
. num_resources = ARRAY_SIZE ( tegra_uartb_resources ) ,
. resource = tegra_uartb_resources ,
. dev = {
. coherent_dma_mask = DMA_BIT_MASK ( 32 ) ,
} ,
} ;
struct platform_device tegra_uartc_device = {
. name = " tegra_uart " ,
. id = 2 ,
. num_resources = ARRAY_SIZE ( tegra_uartc_resources ) ,
. resource = tegra_uartc_resources ,
. dev = {
. coherent_dma_mask = DMA_BIT_MASK ( 32 ) ,
} ,
} ;
struct platform_device tegra_uartd_device = {
. name = " tegra_uart " ,
. id = 3 ,
. num_resources = ARRAY_SIZE ( tegra_uartd_resources ) ,
. resource = tegra_uartd_resources ,
. dev = {
. coherent_dma_mask = DMA_BIT_MASK ( 32 ) ,
} ,
} ;
struct platform_device tegra_uarte_device = {
. name = " tegra_uart " ,
. id = 4 ,
. num_resources = ARRAY_SIZE ( tegra_uarte_resources ) ,
. resource = tegra_uarte_resources ,
. dev = {
. coherent_dma_mask = DMA_BIT_MASK ( 32 ) ,
} ,
} ;
2011-03-05 08:44:27 +03:00
static struct resource i2s_resource1 [ ] = {
[ 0 ] = {
. start = INT_I2S1 ,
. end = INT_I2S1 ,
. flags = IORESOURCE_IRQ
} ,
[ 1 ] = {
. start = TEGRA_DMA_REQ_SEL_I2S_1 ,
. end = TEGRA_DMA_REQ_SEL_I2S_1 ,
. flags = IORESOURCE_DMA
} ,
[ 2 ] = {
. start = TEGRA_I2S1_BASE ,
. end = TEGRA_I2S1_BASE + TEGRA_I2S1_SIZE - 1 ,
. flags = IORESOURCE_MEM
}
} ;
static struct resource i2s_resource2 [ ] = {
[ 0 ] = {
. start = INT_I2S2 ,
. end = INT_I2S2 ,
. flags = IORESOURCE_IRQ
} ,
[ 1 ] = {
. start = TEGRA_DMA_REQ_SEL_I2S2_1 ,
. end = TEGRA_DMA_REQ_SEL_I2S2_1 ,
. flags = IORESOURCE_DMA
} ,
[ 2 ] = {
. start = TEGRA_I2S2_BASE ,
. end = TEGRA_I2S2_BASE + TEGRA_I2S2_SIZE - 1 ,
. flags = IORESOURCE_MEM
}
} ;
struct platform_device tegra_i2s_device1 = {
2012-04-06 20:30:52 +04:00
. name = " tegra20-i2s " ,
2011-03-05 08:44:27 +03:00
. id = 0 ,
. resource = i2s_resource1 ,
. num_resources = ARRAY_SIZE ( i2s_resource1 ) ,
} ;
struct platform_device tegra_i2s_device2 = {
2012-04-06 20:30:52 +04:00
. name = " tegra20-i2s " ,
2011-03-05 08:44:27 +03:00
. id = 1 ,
. resource = i2s_resource2 ,
. num_resources = ARRAY_SIZE ( i2s_resource2 ) ,
} ;
static struct resource tegra_das_resources [ ] = {
[ 0 ] = {
. start = TEGRA_APB_MISC_DAS_BASE ,
. end = TEGRA_APB_MISC_DAS_BASE + TEGRA_APB_MISC_DAS_SIZE - 1 ,
. flags = IORESOURCE_MEM ,
} ,
} ;
struct platform_device tegra_das_device = {
2012-04-06 20:30:52 +04:00
. name = " tegra20-das " ,
2011-03-05 08:44:27 +03:00
. id = - 1 ,
. num_resources = ARRAY_SIZE ( tegra_das_resources ) ,
. resource = tegra_das_resources ,
} ;