diff options
author | Scott Wood <scottwood@freescale.com> | 2014-04-07 23:49:35 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-04-07 23:49:35 (GMT) |
commit | 62b8c978ee6b8d135d9e7953221de58000dba986 (patch) | |
tree | 683b04b2e627f6710c22c151b23c8cc9a165315e /arch/blackfin/mach-bf548 | |
parent | 78fd82238d0e5716578c326404184a27ba67fd6e (diff) | |
download | linux-fsl-qoriq-62b8c978ee6b8d135d9e7953221de58000dba986.tar.xz |
Rewind v3.13-rc3+ (78fd82238d0e5716) to v3.12
Diffstat (limited to 'arch/blackfin/mach-bf548')
-rw-r--r-- | arch/blackfin/mach-bf548/Kconfig | 34 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/boards/ezkit.c | 538 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/include/mach/gpio.h | 8 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/include/mach/irq.h | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/include/mach/portmux.h | 2 |
5 files changed, 67 insertions, 517 deletions
diff --git a/arch/blackfin/mach-bf548/Kconfig b/arch/blackfin/mach-bf548/Kconfig index 334ec7b..94acb58 100644 --- a/arch/blackfin/mach-bf548/Kconfig +++ b/arch/blackfin/mach-bf548/Kconfig @@ -377,6 +377,40 @@ config IRQ_PINT3 endmenu +comment "Pin Interrupt to Port Assignment" +menu "Assignment" + +config PINTx_REASSIGN + bool "Reprogram PINT Assignment" + default y + help + The interrupt assignment registers controls the pin-to-interrupt + assignment in a byte-wide manner. Each option allows you to select + a set of pins (High/Low Byte) of an specific Port being mapped + to one of the four PIN Interrupts IRQ_PINTx. + + You shouldn't change any of these unless you know exactly what you're doing. + Please consult the Blackfin BF54x Processor Hardware Reference Manual. + +config PINT0_ASSIGN + hex "PINT0_ASSIGN" + depends on PINTx_REASSIGN + default 0x00000101 +config PINT1_ASSIGN + hex "PINT1_ASSIGN" + depends on PINTx_REASSIGN + default 0x01010000 +config PINT2_ASSIGN + hex "PINT2_ASSIGN" + depends on PINTx_REASSIGN + default 0x07000101 +config PINT3_ASSIGN + hex "PINT3_ASSIGN" + depends on PINTx_REASSIGN + default 0x02020303 + +endmenu + endmenu endif diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index d495000..372eb54 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c @@ -17,9 +17,6 @@ #include <linux/i2c.h> #include <linux/interrupt.h> #include <linux/usb/musb.h> -#include <linux/pinctrl/machine.h> -#include <linux/pinctrl/pinconf-generic.h> -#include <linux/platform_data/pinctrl-adi2.h> #include <asm/bfin5xx_spi.h> #include <asm/dma.h> #include <asm/gpio.h> @@ -244,13 +241,6 @@ static struct resource bfin_uart0_resources[] = { .end = UART0_RBR+2, .flags = IORESOURCE_MEM, }, -#ifdef CONFIG_EARLY_PRINTK - { - .start = PORTE_FER, - .end = PORTE_FER+2, - .flags = IORESOURCE_REG, - }, -#endif { .start = IRQ_UART0_TX, .end = IRQ_UART0_TX, @@ -299,13 +289,6 @@ static struct resource bfin_uart1_resources[] = { .end = UART1_RBR+2, .flags = IORESOURCE_MEM, }, -#ifdef CONFIG_EARLY_PRINTK - { - .start = PORTH_FER, - .end = PORTH_FER+2, - .flags = IORESOURCE_REG, - }, -#endif { .start = IRQ_UART1_TX, .end = IRQ_UART1_TX, @@ -370,13 +353,6 @@ static struct resource bfin_uart2_resources[] = { .end = UART2_RBR+2, .flags = IORESOURCE_MEM, }, -#ifdef CONFIG_EARLY_PRINTK - { - .start = PORTB_FER, - .end = PORTB_FER+2, - .flags = IORESOURCE_REG, - }, -#endif { .start = IRQ_UART2_TX, .end = IRQ_UART2_TX, @@ -425,13 +401,6 @@ static struct resource bfin_uart3_resources[] = { .end = UART3_RBR+2, .flags = IORESOURCE_MEM, }, -#ifdef CONFIG_EARLY_PRINTK - { - .start = PORTB_FER, - .end = PORTB_FER+2, - .flags = IORESOURCE_REG, - }, -#endif { .start = IRQ_UART3_TX, .end = IRQ_UART3_TX, @@ -1089,411 +1058,6 @@ static const struct ad7877_platform_data bfin_ad7877_ts_info = { }; #endif -#ifdef CONFIG_PINCTRL_ADI2 - -# define ADI_PINT_DEVNAME "adi-gpio-pint" -# define ADI_GPIO_DEVNAME "adi-gpio" -# define ADI_PINCTRL_DEVNAME "pinctrl-adi2" - -static struct platform_device bfin_pinctrl_device = { - .name = ADI_PINCTRL_DEVNAME, - .id = 0, -}; - -static struct resource bfin_pint0_resources[] = { - { - .start = PINT0_MASK_SET, - .end = PINT0_LATCH + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PINT0, - .end = IRQ_PINT0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct platform_device bfin_pint0_device = { - .name = ADI_PINT_DEVNAME, - .id = 0, - .num_resources = ARRAY_SIZE(bfin_pint0_resources), - .resource = bfin_pint0_resources, -}; - -static struct resource bfin_pint1_resources[] = { - { - .start = PINT1_MASK_SET, - .end = PINT1_LATCH + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PINT1, - .end = IRQ_PINT1, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct platform_device bfin_pint1_device = { - .name = ADI_PINT_DEVNAME, - .id = 1, - .num_resources = ARRAY_SIZE(bfin_pint1_resources), - .resource = bfin_pint1_resources, -}; - -static struct resource bfin_pint2_resources[] = { - { - .start = PINT2_MASK_SET, - .end = PINT2_LATCH + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PINT2, - .end = IRQ_PINT2, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct platform_device bfin_pint2_device = { - .name = ADI_PINT_DEVNAME, - .id = 2, - .num_resources = ARRAY_SIZE(bfin_pint2_resources), - .resource = bfin_pint2_resources, -}; - -static struct resource bfin_pint3_resources[] = { - { - .start = PINT3_MASK_SET, - .end = PINT3_LATCH + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PINT3, - .end = IRQ_PINT3, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct platform_device bfin_pint3_device = { - .name = ADI_PINT_DEVNAME, - .id = 3, - .num_resources = ARRAY_SIZE(bfin_pint3_resources), - .resource = bfin_pint3_resources, -}; - -static struct resource bfin_gpa_resources[] = { - { - .start = PORTA_FER, - .end = PORTA_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { /* optional */ - .start = IRQ_PA0, - .end = IRQ_PA0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpa_pdata = { - .port_gpio_base = GPIO_PA0, /* Optional */ - .port_pin_base = GPIO_PA0, - .port_width = GPIO_BANKSIZE, - .pint_id = 0, /* PINT0 */ - .pint_assign = true, /* PINT upper 16 bit */ - .pint_map = 0, /* mapping mask in PINT */ -}; - -static struct platform_device bfin_gpa_device = { - .name = ADI_GPIO_DEVNAME, - .id = 0, - .num_resources = ARRAY_SIZE(bfin_gpa_resources), - .resource = bfin_gpa_resources, - .dev = { - .platform_data = &bfin_gpa_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gpb_resources[] = { - { - .start = PORTB_FER, - .end = PORTB_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PB0, - .end = IRQ_PB0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpb_pdata = { - .port_gpio_base = GPIO_PB0, - .port_pin_base = GPIO_PB0, - .port_width = 15, - .pint_id = 0, - .pint_assign = true, - .pint_map = 1, -}; - -static struct platform_device bfin_gpb_device = { - .name = ADI_GPIO_DEVNAME, - .id = 1, - .num_resources = ARRAY_SIZE(bfin_gpb_resources), - .resource = bfin_gpb_resources, - .dev = { - .platform_data = &bfin_gpb_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gpc_resources[] = { - { - .start = PORTC_FER, - .end = PORTC_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PC0, - .end = IRQ_PC0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpc_pdata = { - .port_gpio_base = GPIO_PC0, - .port_pin_base = GPIO_PC0, - .port_width = 14, - .pint_id = 2, - .pint_assign = true, - .pint_map = 0, -}; - -static struct platform_device bfin_gpc_device = { - .name = ADI_GPIO_DEVNAME, - .id = 2, - .num_resources = ARRAY_SIZE(bfin_gpc_resources), - .resource = bfin_gpc_resources, - .dev = { - .platform_data = &bfin_gpc_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gpd_resources[] = { - { - .start = PORTD_FER, - .end = PORTD_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PD0, - .end = IRQ_PD0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpd_pdata = { - .port_gpio_base = GPIO_PD0, - .port_pin_base = GPIO_PD0, - .port_width = GPIO_BANKSIZE, - .pint_id = 2, - .pint_assign = false, - .pint_map = 1, -}; - -static struct platform_device bfin_gpd_device = { - .name = ADI_GPIO_DEVNAME, - .id = 3, - .num_resources = ARRAY_SIZE(bfin_gpd_resources), - .resource = bfin_gpd_resources, - .dev = { - .platform_data = &bfin_gpd_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gpe_resources[] = { - { - .start = PORTE_FER, - .end = PORTE_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PE0, - .end = IRQ_PE0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpe_pdata = { - .port_gpio_base = GPIO_PE0, - .port_pin_base = GPIO_PE0, - .port_width = GPIO_BANKSIZE, - .pint_id = 3, - .pint_assign = true, - .pint_map = 2, -}; - -static struct platform_device bfin_gpe_device = { - .name = ADI_GPIO_DEVNAME, - .id = 4, - .num_resources = ARRAY_SIZE(bfin_gpe_resources), - .resource = bfin_gpe_resources, - .dev = { - .platform_data = &bfin_gpe_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gpf_resources[] = { - { - .start = PORTF_FER, - .end = PORTF_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PF0, - .end = IRQ_PF0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpf_pdata = { - .port_gpio_base = GPIO_PF0, - .port_pin_base = GPIO_PF0, - .port_width = GPIO_BANKSIZE, - .pint_id = 3, - .pint_assign = false, - .pint_map = 3, -}; - -static struct platform_device bfin_gpf_device = { - .name = ADI_GPIO_DEVNAME, - .id = 5, - .num_resources = ARRAY_SIZE(bfin_gpf_resources), - .resource = bfin_gpf_resources, - .dev = { - .platform_data = &bfin_gpf_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gpg_resources[] = { - { - .start = PORTG_FER, - .end = PORTG_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PG0, - .end = IRQ_PG0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpg_pdata = { - .port_gpio_base = GPIO_PG0, - .port_pin_base = GPIO_PG0, - .port_width = GPIO_BANKSIZE, - .pint_id = -1, -}; - -static struct platform_device bfin_gpg_device = { - .name = ADI_GPIO_DEVNAME, - .id = 6, - .num_resources = ARRAY_SIZE(bfin_gpg_resources), - .resource = bfin_gpg_resources, - .dev = { - .platform_data = &bfin_gpg_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gph_resources[] = { - { - .start = PORTH_FER, - .end = PORTH_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PH0, - .end = IRQ_PH0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gph_pdata = { - .port_gpio_base = GPIO_PH0, - .port_pin_base = GPIO_PH0, - .port_width = 14, - .pint_id = -1, -}; - -static struct platform_device bfin_gph_device = { - .name = ADI_GPIO_DEVNAME, - .id = 7, - .num_resources = ARRAY_SIZE(bfin_gph_resources), - .resource = bfin_gph_resources, - .dev = { - .platform_data = &bfin_gph_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gpi_resources[] = { - { - .start = PORTI_FER, - .end = PORTI_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PI0, - .end = IRQ_PI0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpi_pdata = { - .port_gpio_base = GPIO_PI0, - .port_pin_base = GPIO_PI0, - .port_width = GPIO_BANKSIZE, - .pint_id = -1, -}; - -static struct platform_device bfin_gpi_device = { - .name = ADI_GPIO_DEVNAME, - .id = 8, - .num_resources = ARRAY_SIZE(bfin_gpi_resources), - .resource = bfin_gpi_resources, - .dev = { - .platform_data = &bfin_gpi_pdata, /* Passed to driver */ - }, -}; - -static struct resource bfin_gpj_resources[] = { - { - .start = PORTJ_FER, - .end = PORTJ_MUX + 3, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_PJ0, - .end = IRQ_PJ0, - .flags = IORESOURCE_IRQ, - }, -}; - -static struct adi_pinctrl_gpio_platform_data bfin_gpj_pdata = { - .port_gpio_base = GPIO_PJ0, - .port_pin_base = GPIO_PJ0, - .port_width = 14, - .pint_id = -1, -}; - -static struct platform_device bfin_gpj_device = { - .name = ADI_GPIO_DEVNAME, - .id = 9, - .num_resources = ARRAY_SIZE(bfin_gpj_resources), - .resource = bfin_gpj_resources, - .dev = { - .platform_data = &bfin_gpj_pdata, /* Passed to driver */ - }, -}; - -#endif - static struct spi_board_info bfin_spi_board_info[] __initdata = { #if defined(CONFIG_MTD_M25P80) \ || defined(CONFIG_MTD_M25P80_MODULE) @@ -1502,7 +1066,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { .modalias = "m25p80", /* Name of spi_driver for this device */ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ .bus_num = 0, /* Framework bus number */ - .chip_select = MAX_CTRL_CS + GPIO_PE4, /* SPI_SSEL1*/ + .chip_select = 1, /* SPI_SSEL1*/ .platform_data = &bfin_spi_flash_data, .controller_data = &spi_flash_chip_info, .mode = SPI_MODE_3, @@ -1514,7 +1078,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { .modalias = "ad183x", .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ .bus_num = 1, - .chip_select = MAX_CTRL_CS + GPIO_PG6, /* SPI_SSEL2 */ + .chip_select = 4, }, #endif #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) @@ -1524,7 +1088,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { .irq = IRQ_PB4, /* old boards (<=Rev 1.3) use IRQ_PJ11 */ .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ .bus_num = 0, - .chip_select = MAX_CTRL_CS + GPIO_PE5, /* SPI_SSEL2 */ + .chip_select = 2, }, #endif #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) @@ -1532,7 +1096,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { .modalias = "spidev", .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ .bus_num = 0, - .chip_select = MAX_CTRL_CS + GPIO_PE4, /* SPI_SSEL1 */ + .chip_select = 1, }, #endif #if defined(CONFIG_INPUT_ADXL34X_SPI) || defined(CONFIG_INPUT_ADXL34X_SPI_MODULE) @@ -1542,7 +1106,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { .irq = IRQ_PC5, .max_speed_hz = 5000000, /* max spi clock (SCK) speed in HZ */ .bus_num = 1, - .chip_select = MAX_CTRL_CS + GPIO_PG6, /* SPI_SSEL2 */ + .chip_select = 2, .mode = SPI_MODE_3, }, #endif @@ -1588,7 +1152,7 @@ static struct resource bfin_spi1_resource[] = { /* SPI controller data */ static struct bfin5xx_spi_master bf54x_spi_master_info0 = { - .num_chipselect = MAX_CTRL_CS + MAX_BLACKFIN_GPIOS, + .num_chipselect = 4, .enable_dma = 1, /* master has the ability to do dma transfer */ .pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0}, }; @@ -1604,7 +1168,7 @@ static struct platform_device bf54x_spi_master0 = { }; static struct bfin5xx_spi_master bf54x_spi_master_info1 = { - .num_chipselect = MAX_CTRL_CS + MAX_BLACKFIN_GPIOS, + .num_chipselect = 4, .enable_dma = 1, /* master has the ability to do dma transfer */ .pin_req = {P_SPI1_SCK, P_SPI1_MISO, P_SPI1_MOSI, 0}, }; @@ -1944,23 +1508,6 @@ static struct platform_device bfin_ac97 = { static struct platform_device *ezkit_devices[] __initdata = { &bfin_dpmc, -#if defined(CONFIG_PINCTRL_ADI2) - &bfin_pinctrl_device, - &bfin_pint0_device, - &bfin_pint1_device, - &bfin_pint2_device, - &bfin_pint3_device, - &bfin_gpa_device, - &bfin_gpb_device, - &bfin_gpc_device, - &bfin_gpd_device, - &bfin_gpe_device, - &bfin_gpf_device, - &bfin_gpg_device, - &bfin_gph_device, - &bfin_gpi_device, - &bfin_gpj_device, -#endif #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) &rtc_device, @@ -2097,66 +1644,10 @@ static struct platform_device *ezkit_devices[] __initdata = { #endif }; -/* Pin control settings */ -static struct pinctrl_map __initdata bfin_pinmux_map[] = { - /* per-device maps */ - PIN_MAP_MUX_GROUP_DEFAULT("bfin-uart.0", "pinctrl-adi2.0", NULL, "uart0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-uart.1", "pinctrl-adi2.0", NULL, "uart1"), -#ifdef CONFIG_BFIN_UART1_CTSRTS - PIN_MAP_MUX_GROUP_DEFAULT("bfin-uart.1", "pinctrl-adi2.0", NULL, "uart1_ctsrts"), -#endif - PIN_MAP_MUX_GROUP_DEFAULT("bfin-uart.2", "pinctrl-adi2.0", NULL, "uart2"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-uart.3", "pinctrl-adi2.0", NULL, "uart3"), -#ifdef CONFIG_BFIN_UART3_CTSRTS - PIN_MAP_MUX_GROUP_DEFAULT("bfin-uart.3", "pinctrl-adi2.0", NULL, "uart3_ctsrts"), -#endif - PIN_MAP_MUX_GROUP_DEFAULT("bfin_sir.0", "pinctrl-adi2.0", NULL, "uart0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin_sir.1", "pinctrl-adi2.0", NULL, "uart1"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin_sir.2", "pinctrl-adi2.0", NULL, "uart2"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin_sir.3", "pinctrl-adi2.0", NULL, "uart3"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-sdh.0", "pinctrl-adi2.0", NULL, "rsi0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-spi.0", "pinctrl-adi2.0", NULL, "spi0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-spi.1", "pinctrl-adi2.0", NULL, "spi1"), - PIN_MAP_MUX_GROUP_DEFAULT("i2c-bfin-twi.0", "pinctrl-adi2.0", NULL, "twi0"), -#if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ - PIN_MAP_MUX_GROUP_DEFAULT("i2c-bfin-twi.1", "pinctrl-adi2.0", NULL, "twi1"), -#endif - PIN_MAP_MUX_GROUP_DEFAULT("bfin-rotary", "pinctrl-adi2.0", NULL, "rotary"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin_can.0", "pinctrl-adi2.0", NULL, "can0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin_can.1", "pinctrl-adi2.0", NULL, "can1"), - PIN_MAP_MUX_GROUP_DEFAULT("bf54x-lq043", "pinctrl-adi2.0", NULL, "ppi0_24b"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-i2s.0", "pinctrl-adi2.0", NULL, "sport0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-tdm.0", "pinctrl-adi2.0", NULL, "sport0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-ac97.0", "pinctrl-adi2.0", NULL, "sport0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-i2s.1", "pinctrl-adi2.0", NULL, "sport1"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-tdm.1", "pinctrl-adi2.0", NULL, "sport1"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-ac97.1", "pinctrl-adi2.0", NULL, "sport1"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-i2s.2", "pinctrl-adi2.0", NULL, "sport2"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-tdm.2", "pinctrl-adi2.0", NULL, "sport2"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-ac97.2", "pinctrl-adi2.0", NULL, "sport2"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-i2s.3", "pinctrl-adi2.0", NULL, "sport3"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-tdm.3", "pinctrl-adi2.0", NULL, "sport3"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-ac97.3", "pinctrl-adi2.0", NULL, "sport3"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-sport-uart.0", "pinctrl-adi2.0", NULL, "sport0"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-sport-uart.1", "pinctrl-adi2.0", NULL, "sport1"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-sport-uart.2", "pinctrl-adi2.0", NULL, "sport2"), - PIN_MAP_MUX_GROUP_DEFAULT("bfin-sport-uart.3", "pinctrl-adi2.0", NULL, "sport3"), - PIN_MAP_MUX_GROUP_DEFAULT("pata-bf54x", "pinctrl-adi2.0", NULL, "atapi"), -#ifdef CONFIG_BF548_ATAPI_ALTERNATIVE_PORT - PIN_MAP_MUX_GROUP_DEFAULT("pata-bf54x", "pinctrl-adi2.0", NULL, "atapi_alter"), -#endif - PIN_MAP_MUX_GROUP_DEFAULT("bf5xx-nand.0", "pinctrl-adi2.0", NULL, "nfc0"), - PIN_MAP_MUX_GROUP_DEFAULT("bf54x-keys", "pinctrl-adi2.0", NULL, "keys_4x4"), -}; - static int __init ezkit_init(void) { printk(KERN_INFO "%s(): registering device resources\n", __func__); - /* Initialize pinmuxing */ - pinctrl_register_mappings(bfin_pinmux_map, - ARRAY_SIZE(bfin_pinmux_map)); - i2c_register_board_info(0, bfin_i2c_board_info0, ARRAY_SIZE(bfin_i2c_board_info0)); #if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ @@ -2188,6 +1679,21 @@ static struct platform_device *ezkit_early_devices[] __initdata = { &bfin_uart3_device, #endif #endif + +#if defined(CONFIG_SERIAL_BFIN_SPORT_CONSOLE) +#ifdef CONFIG_SERIAL_BFIN_SPORT0_UART + &bfin_sport0_uart_device, +#endif +#ifdef CONFIG_SERIAL_BFIN_SPORT1_UART + &bfin_sport1_uart_device, +#endif +#ifdef CONFIG_SERIAL_BFIN_SPORT2_UART + &bfin_sport2_uart_device, +#endif +#ifdef CONFIG_SERIAL_BFIN_SPORT3_UART + &bfin_sport3_uart_device, +#endif +#endif }; void __init native_machine_early_platform_add_devices(void) diff --git a/arch/blackfin/mach-bf548/include/mach/gpio.h b/arch/blackfin/mach-bf548/include/mach/gpio.h index 006da1e..be9edb2 100644 --- a/arch/blackfin/mach-bf548/include/mach/gpio.h +++ b/arch/blackfin/mach-bf548/include/mach/gpio.h @@ -194,6 +194,14 @@ struct gpio_port_t { unsigned int port_mux; }; +struct gpio_port_s { + unsigned short fer; + unsigned short data; + unsigned short dir; + unsigned short inen; + unsigned int mux; +}; + #endif #include <mach-common/ports-a.h> diff --git a/arch/blackfin/mach-bf548/include/mach/irq.h b/arch/blackfin/mach-bf548/include/mach/irq.h index cf7cb72..10dc142 100644 --- a/arch/blackfin/mach-bf548/include/mach/irq.h +++ b/arch/blackfin/mach-bf548/include/mach/irq.h @@ -433,7 +433,7 @@ #include <linux/types.h> /* - * gpio pint registers layout + * bfin pint registers layout */ struct bfin_pint_regs { u32 mask_set; diff --git a/arch/blackfin/mach-bf548/include/mach/portmux.h b/arch/blackfin/mach-bf548/include/mach/portmux.h index d9f8632..e222462 100644 --- a/arch/blackfin/mach-bf548/include/mach/portmux.h +++ b/arch/blackfin/mach-bf548/include/mach/portmux.h @@ -7,6 +7,8 @@ #ifndef _MACH_PORTMUX_H_ #define _MACH_PORTMUX_H_ +#define MAX_RESOURCES MAX_BLACKFIN_GPIOS + #define P_SPORT2_TFS (P_DEFINED | P_IDENT(GPIO_PA0) | P_FUNCT(0)) #define P_SPORT2_DTSEC (P_DEFINED | P_IDENT(GPIO_PA1) | P_FUNCT(0)) #define P_SPORT2_DTPRI (P_DEFINED | P_IDENT(GPIO_PA2) | P_FUNCT(0)) |