[ARM] JIVE: Add board definitions for audio

Add board definitions for the audio device connected
on the Logitech Jive.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
Ben Dooks 2008-07-03 11:24:34 +01:00
parent c2c1708f9d
commit fd2de272b2

View File

@ -409,8 +409,28 @@ static struct platform_device jive_device_lcdspi = {
.dev.platform_data = &jive_lcd_spi, .dev.platform_data = &jive_lcd_spi,
}; };
/* JIVE SPI devices. */ /* WM8750 audio code SPI definition */
static void jive_wm8750_chipselect(struct s3c2410_spigpio_info *spi, int cs)
{
s3c2410_gpio_setpin(S3C2410_GPH10, cs ? 0 : 1);
}
static struct s3c2410_spigpio_info jive_wm8750_spi = {
.bus_num = 2,
.pin_clk = S3C2410_GPB4,
.pin_mosi = S3C2410_GPB9,
.chip_select = jive_wm8750_chipselect,
};
static struct platform_device jive_device_wm8750 = {
.name = "s3c24xx-spi-gpio",
.id = 2,
.num_resources = 0,
.dev.platform_data = &jive_wm8750_spi,
};
/* JIVE SPI devices. */
static struct spi_board_info __initdata jive_spi_devs[] = { static struct spi_board_info __initdata jive_spi_devs[] = {
[0] = { [0] = {
@ -420,10 +440,15 @@ static struct spi_board_info __initdata jive_spi_devs[] = {
.mode = SPI_MODE_3, /* CPOL=1, CPHA=1 */ .mode = SPI_MODE_3, /* CPOL=1, CPHA=1 */
.max_speed_hz = 100000, .max_speed_hz = 100000,
.platform_data = &jive_lcm_config, .platform_data = &jive_lcm_config,
}, {
.modalias = "WM8750",
.bus_num = 2,
.chip_select = 0,
.mode = SPI_MODE_0, /* CPOL=0, CPHA=0 */
.max_speed_hz = 100000,
}, },
}; };
static struct platform_device *jive_devices[] __initdata = { static struct platform_device *jive_devices[] __initdata = {
&s3c_device_usb, &s3c_device_usb,
&s3c_device_rtc, &s3c_device_rtc,
@ -431,6 +456,7 @@ static struct platform_device *jive_devices[] __initdata = {
&s3c_device_i2c, &s3c_device_i2c,
&s3c_device_lcd, &s3c_device_lcd,
&jive_device_lcdspi, &jive_device_lcdspi,
&jive_device_wm8750,
&s3c_device_nand, &s3c_device_nand,
&s3c_device_usbgadget, &s3c_device_usbgadget,
}; };
@ -595,6 +621,11 @@ static void __init jive_machine_init(void)
s3c2410_gpio_setpin(S3C2410_GPG8, 1); s3c2410_gpio_setpin(S3C2410_GPG8, 1);
s3c2410_gpio_cfgpin(S3C2410_GPG8, S3C2410_GPIO_OUTPUT); s3c2410_gpio_cfgpin(S3C2410_GPG8, S3C2410_GPIO_OUTPUT);
/* initialise the WM8750 spi */
s3c2410_gpio_setpin(S3C2410_GPH10, 1);
s3c2410_gpio_cfgpin(S3C2410_GPH10, S3C2410_GPIO_OUTPUT);
/* Turn off suspend on both USB ports, and switch the /* Turn off suspend on both USB ports, and switch the
* selectable USB port to USB device mode. */ * selectable USB port to USB device mode. */