185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson/* 285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * Copyright (C) 2010,2011 Google, Inc. 385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * 485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * Author: 585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * Colin Cross <ccross@android.com> 685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * Erik Gilling <ccross@android.com> 785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * 885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * This software is licensed under the terms of the GNU General Public 985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * License version 2, as published by the Free Software Foundation, and 1085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * may be copied, distributed, and modified under those terms. 1185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * 1285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * This program is distributed in the hope that it will be useful, 1385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * but WITHOUT ANY WARRANTY; without even the implied warranty of 1485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * GNU General Public License for more details. 1685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * 1785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson */ 1885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 1985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 2085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <linux/resource.h> 2185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <linux/platform_device.h> 2285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <linux/dma-mapping.h> 2385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <linux/fsl_devices.h> 2485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <linux/serial_8250.h> 2578702e43c1cadd600e35374411caba82ad9354b6Colin Cross#include <linux/i2c-tegra.h> 2685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <asm/pmu.h> 2785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <mach/irqs.h> 2885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <mach/iomap.h> 2985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson#include <mach/dma.h> 30681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross#include <mach/usb_phy.h> 31d8e9c00e38f6947cef7f5466a0a3d369461ab97fOlof Johansson 32681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross#include "gpio-names.h" 33d8e9c00e38f6947cef7f5466a0a3d369461ab97fOlof Johansson#include "devices.h" 3485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 35940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warrenstatic struct resource gpio_resource[] = { 36940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [0] = { 37940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = TEGRA_GPIO_BASE, 38940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = TEGRA_GPIO_BASE + TEGRA_GPIO_SIZE-1, 39940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_MEM, 40940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 41940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [1] = { 42940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = INT_GPIO1, 43940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = INT_GPIO1, 44940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_IRQ, 45940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 46940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [2] = { 47940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = INT_GPIO2, 48940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = INT_GPIO2, 49940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_IRQ, 50940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 51940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [3] = { 52940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = INT_GPIO3, 53940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = INT_GPIO3, 54940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_IRQ, 55940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 56940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [4] = { 57940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = INT_GPIO4, 58940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = INT_GPIO4, 59940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_IRQ, 60940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 61940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [5] = { 62940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = INT_GPIO5, 63940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = INT_GPIO5, 64940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_IRQ, 65940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 66940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [6] = { 67940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = INT_GPIO6, 68940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = INT_GPIO6, 69940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_IRQ, 70940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 71940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [7] = { 72940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = INT_GPIO7, 73940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = INT_GPIO7, 74940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_IRQ, 75940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 76940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren}; 77940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren 78940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warrenstruct platform_device tegra_gpio_device = { 79940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .name = "tegra-gpio", 80940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .id = -1, 81940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .resource = gpio_resource, 82940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .num_resources = ARRAY_SIZE(gpio_resource), 83940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren}; 84940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren 85940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warrenstatic struct resource pinmux_resource[] = { 86940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [0] = { 87940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren /* Tri-state registers */ 88940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = TEGRA_APB_MISC_BASE + 0x14, 89940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = TEGRA_APB_MISC_BASE + 0x20 + 3, 90940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_MEM, 91940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 92940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [1] = { 93940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren /* Mux registers */ 94940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = TEGRA_APB_MISC_BASE + 0x80, 95940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = TEGRA_APB_MISC_BASE + 0x9c + 3, 96940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_MEM, 97940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 98940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [2] = { 99940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren /* Pull-up/down registers */ 100940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = TEGRA_APB_MISC_BASE + 0xa0, 101940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = TEGRA_APB_MISC_BASE + 0xb0 + 3, 102940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_MEM, 103940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 104940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren [3] = { 105940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren /* Pad control registers */ 106940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .start = TEGRA_APB_MISC_BASE + 0x868, 107940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .end = TEGRA_APB_MISC_BASE + 0x90c + 3, 108940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .flags = IORESOURCE_MEM, 109940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren }, 110940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren}; 111940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren 112940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warrenstruct platform_device tegra_pinmux_device = { 113940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .name = "tegra-pinmux", 114940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .id = -1, 115940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .resource = pinmux_resource, 116940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren .num_resources = ARRAY_SIZE(pinmux_resource), 117940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren}; 118940dd96fe9dec5b6ba4bb7ebc33212ff66db243cStephen Warren 11985940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource i2c_resource1[] = { 12085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 12185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_I2C, 12285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_I2C, 12385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 12485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 12585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 12685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_I2C_BASE, 12785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_I2C_BASE + TEGRA_I2C_SIZE-1, 12885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 12985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 13085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 13185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 13285940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource i2c_resource2[] = { 13385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 13485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_I2C2, 13585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_I2C2, 13685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 13785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 13885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 13985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_I2C2_BASE, 14085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_I2C2_BASE + TEGRA_I2C2_SIZE-1, 14185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 14285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 14385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 14485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 14585940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource i2c_resource3[] = { 14685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 14785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_I2C3, 14885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_I2C3, 14985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 15085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 15185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 15285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_I2C3_BASE, 15385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_I2C3_BASE + TEGRA_I2C3_SIZE-1, 15485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 15585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 15685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 15785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 15885940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource i2c_resource4[] = { 15985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 16085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_DVC, 16185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_DVC, 16285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 16385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 16485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 16585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_DVC_BASE, 16685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_DVC_BASE + TEGRA_DVC_SIZE-1, 16785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 16885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 16985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 17085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 17178702e43c1cadd600e35374411caba82ad9354b6Colin Crossstatic struct tegra_i2c_platform_data tegra_i2c1_platform_data = { 17278702e43c1cadd600e35374411caba82ad9354b6Colin Cross .bus_clk_rate = 400000, 17378702e43c1cadd600e35374411caba82ad9354b6Colin Cross}; 17478702e43c1cadd600e35374411caba82ad9354b6Colin Cross 17578702e43c1cadd600e35374411caba82ad9354b6Colin Crossstatic struct tegra_i2c_platform_data tegra_i2c2_platform_data = { 17678702e43c1cadd600e35374411caba82ad9354b6Colin Cross .bus_clk_rate = 400000, 17778702e43c1cadd600e35374411caba82ad9354b6Colin Cross}; 17878702e43c1cadd600e35374411caba82ad9354b6Colin Cross 17978702e43c1cadd600e35374411caba82ad9354b6Colin Crossstatic struct tegra_i2c_platform_data tegra_i2c3_platform_data = { 18078702e43c1cadd600e35374411caba82ad9354b6Colin Cross .bus_clk_rate = 400000, 18178702e43c1cadd600e35374411caba82ad9354b6Colin Cross}; 18278702e43c1cadd600e35374411caba82ad9354b6Colin Cross 18378702e43c1cadd600e35374411caba82ad9354b6Colin Crossstatic struct tegra_i2c_platform_data tegra_dvc_platform_data = { 18478702e43c1cadd600e35374411caba82ad9354b6Colin Cross .bus_clk_rate = 400000, 18578702e43c1cadd600e35374411caba82ad9354b6Colin Cross}; 18678702e43c1cadd600e35374411caba82ad9354b6Colin Cross 18785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_i2c_device1 = { 18885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra-i2c", 18985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 0, 19085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = i2c_resource1, 19185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(i2c_resource1), 19285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 19378702e43c1cadd600e35374411caba82ad9354b6Colin Cross .platform_data = &tegra_i2c1_platform_data, 19485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 19585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 19685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 19785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_i2c_device2 = { 19885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra-i2c", 19985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 1, 20085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = i2c_resource2, 20185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(i2c_resource2), 20285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 20378702e43c1cadd600e35374411caba82ad9354b6Colin Cross .platform_data = &tegra_i2c2_platform_data, 20485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 20585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 20685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 20785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_i2c_device3 = { 20885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra-i2c", 20985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 2, 21085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = i2c_resource3, 21185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(i2c_resource3), 21285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 21378702e43c1cadd600e35374411caba82ad9354b6Colin Cross .platform_data = &tegra_i2c3_platform_data, 21485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 21585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 21685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 21785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_i2c_device4 = { 21885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra-i2c", 21985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 3, 22085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = i2c_resource4, 22185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(i2c_resource4), 22285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 22378702e43c1cadd600e35374411caba82ad9354b6Colin Cross .platform_data = &tegra_dvc_platform_data, 22485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 22585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 22685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 22785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource spi_resource1[] = { 22885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 22985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_S_LINK1, 23085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_S_LINK1, 23185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 23285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 23385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 23485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_SPI1_BASE, 23585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_SPI1_BASE + TEGRA_SPI1_SIZE-1, 23685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 23785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 23885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 23985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 24085940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource spi_resource2[] = { 24185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 24285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_SPI_2, 24385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_SPI_2, 24485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 24585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 24685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 24785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_SPI2_BASE, 24885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_SPI2_BASE + TEGRA_SPI2_SIZE-1, 24985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 25085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 25185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 25285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 25385940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource spi_resource3[] = { 25485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 25585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_SPI_3, 25685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_SPI_3, 25785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 25885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 25985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 26085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_SPI3_BASE, 26185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_SPI3_BASE + TEGRA_SPI3_SIZE-1, 26285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 26385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 26485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 26585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 26685940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource spi_resource4[] = { 26785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 26885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_SPI_4, 26985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_SPI_4, 27085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 27185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 27285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 27385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_SPI4_BASE, 27485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_SPI4_BASE + TEGRA_SPI4_SIZE-1, 27585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 27685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 27785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 27885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 27985940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_spi_device1 = { 28085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "spi_tegra", 28185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 0, 28285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = spi_resource1, 28385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(spi_resource1), 28485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 28585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = 0xffffffff, 28685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 28785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 28885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 28985940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_spi_device2 = { 29085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "spi_tegra", 29185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 1, 29285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = spi_resource2, 29385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(spi_resource2), 29485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 29585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = 0xffffffff, 29685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 29785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 29885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 29985940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_spi_device3 = { 30085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "spi_tegra", 30185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 2, 30285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = spi_resource3, 30385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(spi_resource3), 30485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 30585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = 0xffffffff, 30685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 30785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 30885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 30985940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_spi_device4 = { 31085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "spi_tegra", 31185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 3, 31285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = spi_resource4, 31385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(spi_resource4), 31485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 31585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = 0xffffffff, 31685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 31785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 31885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 31985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 32085940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource sdhci_resource1[] = { 32185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 32285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_SDMMC1, 32385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_SDMMC1, 32485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 32585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 32685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 32785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_SDMMC1_BASE, 32885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_SDMMC1_BASE + TEGRA_SDMMC1_SIZE-1, 32985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 33085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 33185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 33285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 33385940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource sdhci_resource2[] = { 33485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 33585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_SDMMC2, 33685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_SDMMC2, 33785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 33885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 33985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 34085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_SDMMC2_BASE, 34185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_SDMMC2_BASE + TEGRA_SDMMC2_SIZE-1, 34285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 34385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 34485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 34585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 34685940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource sdhci_resource3[] = { 34785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 34885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_SDMMC3, 34985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_SDMMC3, 35085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 35185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 35285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 35385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_SDMMC3_BASE, 35485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_SDMMC3_BASE + TEGRA_SDMMC3_SIZE-1, 35585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 35685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 35785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 35885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 35985940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource sdhci_resource4[] = { 36085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 36185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_SDMMC4, 36285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_SDMMC4, 36385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 36485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 36585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 36685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_SDMMC4_BASE, 36785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_SDMMC4_BASE + TEGRA_SDMMC4_SIZE-1, 36885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 36985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 37085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 37185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 37285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson/* board files should fill in platform_data register the devices themselvs. 37385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson * See board-harmony.c for an example 37485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson */ 37585940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_sdhci_device1 = { 37685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "sdhci-tegra", 37785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 0, 37885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = sdhci_resource1, 37985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(sdhci_resource1), 38085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 38185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 38285940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_sdhci_device2 = { 38385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "sdhci-tegra", 38485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 1, 38585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = sdhci_resource2, 38685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(sdhci_resource2), 38785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 38885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 38985940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_sdhci_device3 = { 39085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "sdhci-tegra", 39185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 2, 39285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = sdhci_resource3, 39385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(sdhci_resource3), 39485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 39585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 39685940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_sdhci_device4 = { 39785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "sdhci-tegra", 39885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 3, 39985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = sdhci_resource4, 40085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(sdhci_resource4), 40185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 40285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 40385940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_usb1_resources[] = { 40485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 40585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_USB_BASE, 40685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_USB_BASE + TEGRA_USB_SIZE - 1, 40785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 40885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 40985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 41085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_USB, 41185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_USB, 41285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 41385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 41485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 41585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 41685940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_usb2_resources[] = { 41785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 41885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_USB2_BASE, 41985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_USB2_BASE + TEGRA_USB2_SIZE - 1, 42085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 42185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 42285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 42385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_USB2, 42485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_USB2, 42585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 42685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 42785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 42885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 42985940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_usb3_resources[] = { 43085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 43185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_USB3_BASE, 43285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_USB3_BASE + TEGRA_USB3_SIZE - 1, 43385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 43485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 43585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 43685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_USB3, 43785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_USB3, 43885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 43985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 44085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 44185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 442681e6edc25a452e26e263386caaa4afb02b5f131Colin Crossstatic struct tegra_ulpi_config tegra_ehci2_ulpi_phy_config = { 443681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross /* All existing boards use GPIO PV0 for phy reset */ 444681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .reset_gpio = TEGRA_GPIO_PV0, 445681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .clk = "cdev2", 446681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross}; 447681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross 4488c3ec84102d171a24f050a086bfc546e9de93f9fStephen Warrenstruct tegra_ehci_platform_data tegra_ehci1_pdata = { 449681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .operating_mode = TEGRA_USB_OTG, 450681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .power_down_on_bus_suspend = 1, 451681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross}; 452681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross 4538c3ec84102d171a24f050a086bfc546e9de93f9fStephen Warrenstruct tegra_ehci_platform_data tegra_ehci2_pdata = { 454681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .phy_config = &tegra_ehci2_ulpi_phy_config, 455681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .operating_mode = TEGRA_USB_HOST, 456681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .power_down_on_bus_suspend = 1, 457681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross}; 458681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross 4598c3ec84102d171a24f050a086bfc546e9de93f9fStephen Warrenstruct tegra_ehci_platform_data tegra_ehci3_pdata = { 460681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .operating_mode = TEGRA_USB_HOST, 461681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .power_down_on_bus_suspend = 1, 462681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross}; 463681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross 46485940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic u64 tegra_ehci_dmamask = DMA_BIT_MASK(32); 46585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 46685940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_ehci1_device = { 46785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra-ehci", 46885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 0, 46985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 47085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dma_mask = &tegra_ehci_dmamask, 47185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = DMA_BIT_MASK(32), 472681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .platform_data = &tegra_ehci1_pdata, 47385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 47485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_usb1_resources, 47585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_usb1_resources), 47685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 47785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 47885940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_ehci2_device = { 47985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra-ehci", 48085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 1, 48185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 48285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dma_mask = &tegra_ehci_dmamask, 48385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = DMA_BIT_MASK(32), 484681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .platform_data = &tegra_ehci2_pdata, 48585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 48685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_usb2_resources, 48785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_usb2_resources), 48885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 48985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 49085940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_ehci3_device = { 49185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra-ehci", 49285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 2, 49385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 49485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dma_mask = &tegra_ehci_dmamask, 49585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = DMA_BIT_MASK(32), 496681e6edc25a452e26e263386caaa4afb02b5f131Colin Cross .platform_data = &tegra_ehci3_pdata, 49785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 49885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_usb3_resources, 49985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_usb3_resources), 50085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 50185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 50285940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_pmu_resources[] = { 50385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 50485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_CPU0_PMU_INTR, 50585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_CPU0_PMU_INTR, 50685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 50785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 50885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 50985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_CPU1_PMU_INTR, 51085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_CPU1_PMU_INTR, 51185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 51285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 51385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 51485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 51585940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_pmu_device = { 51685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "arm-pmu", 51785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = ARM_PMU_DEVICE_CPU, 51885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_pmu_resources), 51985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_pmu_resources, 52085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 52185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 52285940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_uarta_resources[] = { 52385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 52485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_UARTA_BASE, 52585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_UARTA_BASE + TEGRA_UARTA_SIZE - 1, 52685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 52785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 52885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 52985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_UARTA, 53085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_UARTA, 53185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 53285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 53385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 53485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 53585940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_uartb_resources[] = { 53685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 53785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_UARTB_BASE, 53885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_UARTB_BASE + TEGRA_UARTB_SIZE - 1, 53985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 54085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 54185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 54285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_UARTB, 54385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_UARTB, 54485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 54585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 54685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 54785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 54885940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_uartc_resources[] = { 54985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 55085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_UARTC_BASE, 55185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_UARTC_BASE + TEGRA_UARTC_SIZE - 1, 55285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 55385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 55485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 55585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_UARTC, 55685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_UARTC, 55785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 55885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 55985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 56085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 56185940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_uartd_resources[] = { 56285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 56385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_UARTD_BASE, 56485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_UARTD_BASE + TEGRA_UARTD_SIZE - 1, 56585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 56685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 56785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 56885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_UARTD, 56985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_UARTD, 57085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 57185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 57285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 57385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 57485940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstatic struct resource tegra_uarte_resources[] = { 57585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [0] = { 57685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = TEGRA_UARTE_BASE, 57785940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = TEGRA_UARTE_BASE + TEGRA_UARTE_SIZE - 1, 57885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_MEM, 57985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 58085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson [1] = { 58185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .start = INT_UARTE, 58285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .end = INT_UARTE, 58385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .flags = IORESOURCE_IRQ, 58485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 58585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 58685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 58785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_uarta_device = { 58885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra_uart", 58985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 0, 59085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_uarta_resources), 59185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_uarta_resources, 59285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 59385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = DMA_BIT_MASK(32), 59485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 59585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 59685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 59785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_uartb_device = { 59885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra_uart", 59985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 1, 60085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_uartb_resources), 60185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_uartb_resources, 60285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 60385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = DMA_BIT_MASK(32), 60485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 60585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 60685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 60785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_uartc_device = { 60885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra_uart", 60985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 2, 61085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_uartc_resources), 61185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_uartc_resources, 61285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 61385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = DMA_BIT_MASK(32), 61485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 61585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 61685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 61785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_uartd_device = { 61885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra_uart", 61985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 3, 62085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_uartd_resources), 62185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_uartd_resources, 62285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 62385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = DMA_BIT_MASK(32), 62485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 62585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 62685940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson 62785940b4a1761aa5ab8d0ac1557756953788af155Olof Johanssonstruct platform_device tegra_uarte_device = { 62885940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .name = "tegra_uart", 62985940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .id = 4, 63085940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .num_resources = ARRAY_SIZE(tegra_uarte_resources), 63185940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .resource = tegra_uarte_resources, 63285940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .dev = { 63385940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson .coherent_dma_mask = DMA_BIT_MASK(32), 63485940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson }, 63585940b4a1761aa5ab8d0ac1557756953788af155Olof Johansson}; 636b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren 637b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warrenstatic struct resource i2s_resource1[] = { 638b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren [0] = { 639b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .start = INT_I2S1, 640b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .end = INT_I2S1, 641b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .flags = IORESOURCE_IRQ 642b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren }, 643b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren [1] = { 644b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .start = TEGRA_DMA_REQ_SEL_I2S_1, 645b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .end = TEGRA_DMA_REQ_SEL_I2S_1, 646b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .flags = IORESOURCE_DMA 647b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren }, 648b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren [2] = { 649b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .start = TEGRA_I2S1_BASE, 650b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .end = TEGRA_I2S1_BASE + TEGRA_I2S1_SIZE - 1, 651b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .flags = IORESOURCE_MEM 652b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren } 653b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren}; 654b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren 655b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warrenstatic struct resource i2s_resource2[] = { 656b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren [0] = { 657b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .start = INT_I2S2, 658b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .end = INT_I2S2, 659b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .flags = IORESOURCE_IRQ 660b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren }, 661b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren [1] = { 662b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .start = TEGRA_DMA_REQ_SEL_I2S2_1, 663b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .end = TEGRA_DMA_REQ_SEL_I2S2_1, 664b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .flags = IORESOURCE_DMA 665b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren }, 666b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren [2] = { 667b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .start = TEGRA_I2S2_BASE, 668b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .end = TEGRA_I2S2_BASE + TEGRA_I2S2_SIZE - 1, 669b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .flags = IORESOURCE_MEM 670b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren } 671b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren}; 672b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren 673b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warrenstruct platform_device tegra_i2s_device1 = { 674b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .name = "tegra-i2s", 675b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .id = 0, 676b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .resource = i2s_resource1, 677b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .num_resources = ARRAY_SIZE(i2s_resource1), 678b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren}; 679b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren 680b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warrenstruct platform_device tegra_i2s_device2 = { 681b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .name = "tegra-i2s", 682b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .id = 1, 683b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .resource = i2s_resource2, 684b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .num_resources = ARRAY_SIZE(i2s_resource2), 685b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren}; 686b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren 687b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warrenstatic struct resource tegra_das_resources[] = { 688b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren [0] = { 689b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .start = TEGRA_APB_MISC_DAS_BASE, 690b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .end = TEGRA_APB_MISC_DAS_BASE + TEGRA_APB_MISC_DAS_SIZE - 1, 691b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .flags = IORESOURCE_MEM, 692b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren }, 693b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren}; 694b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren 695b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warrenstruct platform_device tegra_das_device = { 696b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .name = "tegra-das", 697b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .id = -1, 698b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .num_resources = ARRAY_SIZE(tegra_das_resources), 699b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .resource = tegra_das_resources, 700b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren}; 701b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren 702b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warrenstruct platform_device tegra_pcm_device = { 703b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .name = "tegra-pcm-audio", 704b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren .id = -1, 705b9652c2d127e994748d4bffc45369ed423d5ae8dStephen Warren}; 706