mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
Blackfin: bf527-ezkit: add support for V2.1 boards
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
e18e7dd334
commit
6924dfb058
5 changed files with 1951 additions and 23 deletions
|
@ -349,7 +349,7 @@ config MEM_MT48LC8M32B2B5_7
|
|||
|
||||
config MEM_MT48LC32M16A2TG_75
|
||||
bool
|
||||
depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP)
|
||||
depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP)
|
||||
default y
|
||||
|
||||
config MEM_MT48LC32M8A2_75
|
||||
|
@ -448,7 +448,7 @@ config VCO_MULT
|
|||
range 1 64
|
||||
default "22" if BFIN533_EZKIT
|
||||
default "45" if BFIN533_STAMP
|
||||
default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
|
||||
default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
|
||||
default "22" if BFIN533_BLUETECHNIX_CM
|
||||
default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
|
||||
default "20" if BFIN561_EZKIT
|
||||
|
|
1811
arch/blackfin/configs/BF527-EZKIT-V2_defconfig
Normal file
1811
arch/blackfin/configs/BF527-EZKIT-V2_defconfig
Normal file
File diff suppressed because it is too large
Load diff
|
@ -9,6 +9,11 @@ config BFIN527_EZKIT
|
|||
help
|
||||
BF527-EZKIT-LITE board support.
|
||||
|
||||
config BFIN527_EZKIT_V2
|
||||
bool "BF527-EZKIT-V2"
|
||||
help
|
||||
BF527-EZKIT-LITE V2.1+ board support.
|
||||
|
||||
config BFIN527_BLUETECHNIX_CM
|
||||
bool "Bluetechnix CM-BF527"
|
||||
help
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
#
|
||||
|
||||
obj-$(CONFIG_BFIN527_EZKIT) += ezkit.o
|
||||
obj-$(CONFIG_BFIN527_EZKIT_V2) += ezkit.o
|
||||
obj-$(CONFIG_BFIN527_BLUETECHNIX_CM) += cm_bf527.o
|
||||
obj-$(CONFIG_BFIN526_EZBRD) += ezbrd.o
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/usb/sl811.h>
|
||||
#include <linux/usb/musb.h>
|
||||
#include <linux/leds.h>
|
||||
#include <linux/input.h>
|
||||
#include <asm/dma.h>
|
||||
#include <asm/bfin5xx_spi.h>
|
||||
#include <asm/reboot.h>
|
||||
|
@ -29,7 +31,11 @@
|
|||
/*
|
||||
* Name the Board for the /proc/cpuinfo
|
||||
*/
|
||||
#ifdef CONFIG_BFIN527_EZKIT_V2
|
||||
const char bfin_board_name[] = "ADI BF527-EZKIT V2";
|
||||
#else
|
||||
const char bfin_board_name[] = "ADI BF527-EZKIT";
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Driver needs to know address, irq and flag pin.
|
||||
|
@ -143,6 +149,32 @@ static struct platform_device bf52x_t350mcqb_device = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE)
|
||||
#include <asm/bfin-lq035q1.h>
|
||||
|
||||
static struct bfin_lq035q1fb_disp_info bfin_lq035q1_data = {
|
||||
.mode = LQ035_NORM | LQ035_RGB | LQ035_RL | LQ035_TB,
|
||||
};
|
||||
|
||||
static struct resource bfin_lq035q1_resources[] = {
|
||||
{
|
||||
.start = IRQ_PPI_ERROR,
|
||||
.end = IRQ_PPI_ERROR,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device bfin_lq035q1_device = {
|
||||
.name = "bfin-lq035q1",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(bfin_lq035q1_resources),
|
||||
.resource = bfin_lq035q1_resources,
|
||||
.dev = {
|
||||
.platform_data = &bfin_lq035q1_data,
|
||||
},
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
|
||||
static struct mtd_partition ezkit_partitions[] = {
|
||||
{
|
||||
|
@ -500,14 +532,6 @@ static struct bfin5xx_spi_chip spi_ad7879_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \
|
||||
&& defined(CONFIG_SND_SOC_WM8731_SPI)
|
||||
static struct bfin5xx_spi_chip spi_wm8731_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 16,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
static struct bfin5xx_spi_chip spidev_chip_info = {
|
||||
.enable_dma = 0,
|
||||
|
@ -515,6 +539,13 @@ static struct bfin5xx_spi_chip spidev_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE)
|
||||
static struct bfin5xx_spi_chip lq035q1_spi_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 8,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
||||
#if defined(CONFIG_MTD_M25P80) \
|
||||
|| defined(CONFIG_MTD_M25P80_MODULE)
|
||||
|
@ -586,17 +617,6 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.mode = SPI_CPHA | SPI_CPOL,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \
|
||||
&& defined(CONFIG_SND_SOC_WM8731_SPI)
|
||||
{
|
||||
.modalias = "wm8731",
|
||||
.max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 5,
|
||||
.controller_data = &spi_wm8731_chip_info,
|
||||
.mode = SPI_MODE_0,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
{
|
||||
.modalias = "spidev",
|
||||
|
@ -606,6 +626,16 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.controller_data = &spidev_chip_info,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE)
|
||||
{
|
||||
.modalias = "bfin-lq035q1-spi",
|
||||
.max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 7,
|
||||
.controller_data = &lq035q1_spi_chip_info,
|
||||
.mode = SPI_CPHA | SPI_CPOL,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
|
||||
|
@ -824,6 +854,71 @@ static struct platform_device i2c_bfin_twi_device = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PMIC_ADP5520) || defined(CONFIG_PMIC_ADP5520_MODULE)
|
||||
#include <linux/mfd/adp5520.h>
|
||||
|
||||
/*
|
||||
* ADP5520/5501 LEDs Data
|
||||
*/
|
||||
|
||||
static struct led_info adp5520_leds[] = {
|
||||
{
|
||||
.name = "adp5520-led1",
|
||||
.default_trigger = "none",
|
||||
.flags = FLAG_ID_ADP5520_LED1_ADP5501_LED0 | ADP5520_LED_OFFT_600ms,
|
||||
},
|
||||
};
|
||||
|
||||
static struct adp5520_leds_platform_data adp5520_leds_data = {
|
||||
.num_leds = ARRAY_SIZE(adp5520_leds),
|
||||
.leds = adp5520_leds,
|
||||
.fade_in = ADP5520_FADE_T_600ms,
|
||||
.fade_out = ADP5520_FADE_T_600ms,
|
||||
.led_on_time = ADP5520_LED_ONT_600ms,
|
||||
};
|
||||
|
||||
/*
|
||||
* ADP5520 Keypad Data
|
||||
*/
|
||||
|
||||
static const unsigned short adp5520_keymap[ADP5520_KEYMAPSIZE] = {
|
||||
[ADP5520_KEY(3, 3)] = KEY_1,
|
||||
[ADP5520_KEY(2, 3)] = KEY_2,
|
||||
[ADP5520_KEY(1, 3)] = KEY_3,
|
||||
[ADP5520_KEY(0, 3)] = KEY_UP,
|
||||
[ADP5520_KEY(3, 2)] = KEY_4,
|
||||
[ADP5520_KEY(2, 2)] = KEY_5,
|
||||
[ADP5520_KEY(1, 2)] = KEY_6,
|
||||
[ADP5520_KEY(0, 2)] = KEY_DOWN,
|
||||
[ADP5520_KEY(3, 1)] = KEY_7,
|
||||
[ADP5520_KEY(2, 1)] = KEY_8,
|
||||
[ADP5520_KEY(1, 1)] = KEY_9,
|
||||
[ADP5520_KEY(0, 1)] = KEY_DOT,
|
||||
[ADP5520_KEY(3, 0)] = KEY_BACKSPACE,
|
||||
[ADP5520_KEY(2, 0)] = KEY_0,
|
||||
[ADP5520_KEY(1, 0)] = KEY_HELP,
|
||||
[ADP5520_KEY(0, 0)] = KEY_ENTER,
|
||||
};
|
||||
|
||||
static struct adp5520_keys_platform_data adp5520_keys_data = {
|
||||
.rows_en_mask = ADP5520_ROW_R3 | ADP5520_ROW_R2 | ADP5520_ROW_R1 | ADP5520_ROW_R0,
|
||||
.cols_en_mask = ADP5520_COL_C3 | ADP5520_COL_C2 | ADP5520_COL_C1 | ADP5520_COL_C0,
|
||||
.keymap = adp5520_keymap,
|
||||
.keymapsize = ARRAY_SIZE(adp5520_keymap),
|
||||
.repeat = 0,
|
||||
};
|
||||
|
||||
/*
|
||||
* ADP5520/5501 Multifuction Device Init Data
|
||||
*/
|
||||
|
||||
static struct adp5520_platform_data adp5520_pdev_data = {
|
||||
.leds = &adp5520_leds_data,
|
||||
.keys = &adp5520_keys_data,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
|
||||
#if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_BFIN_TWI_LCD_MODULE)
|
||||
{
|
||||
|
@ -841,6 +936,20 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
|
|||
I2C_BOARD_INFO("bfin-adv7393", 0x2B),
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_TOUCHSCREEN_AD7879_I2C) || defined(CONFIG_TOUCHSCREEN_AD7879_I2C_MODULE)
|
||||
{
|
||||
I2C_BOARD_INFO("ad7879", 0x2C),
|
||||
.irq = IRQ_PF8,
|
||||
.platform_data = (void *)&bfin_ad7879_ts_info,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_PMIC_ADP5520) || defined(CONFIG_PMIC_ADP5520_MODULE)
|
||||
{
|
||||
I2C_BOARD_INFO("pmic-adp5520", 0x32),
|
||||
.irq = IRQ_PF9,
|
||||
.platform_data = (void *)&adp5520_pdev_data,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE)
|
||||
|
@ -915,7 +1024,6 @@ static struct platform_device bfin_sport1_uart_device = {
|
|||
#endif
|
||||
|
||||
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
|
||||
#include <linux/input.h>
|
||||
#include <linux/gpio_keys.h>
|
||||
|
||||
static struct gpio_keys_button bfin_gpio_keys_table[] = {
|
||||
|
@ -937,7 +1045,6 @@ static struct platform_device bfin_device_gpiokeys = {
|
|||
#endif
|
||||
|
||||
#if defined(CONFIG_INPUT_BFIN_ROTARY) || defined(CONFIG_INPUT_BFIN_ROTARY_MODULE)
|
||||
#include <linux/input.h>
|
||||
#include <asm/bfin_rotary.h>
|
||||
|
||||
static struct bfin_rotary_platform_data bfin_rotary_data = {
|
||||
|
@ -1043,6 +1150,10 @@ static struct platform_device *stamp_devices[] __initdata = {
|
|||
&bf52x_t350mcqb_device,
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE)
|
||||
&bfin_lq035q1_device,
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
|
||||
#ifdef CONFIG_SERIAL_BFIN_UART0
|
||||
&bfin_uart0_device,
|
||||
|
|
Loading…
Reference in a new issue