Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 173315
b: refs/heads/master
c: 13e1f04
h: refs/heads/master
i:
  173313: 422e921
  173311: faa1a28
v: v3
  • Loading branch information
Steve Chen authored and Kevin Hilman committed Nov 25, 2009
1 parent 085cead commit dbcf561
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b9e6342b2b796c2f7fdc98cefd17df16892b035e
refs/heads/master: 13e1f0440e7892fa7041fc855d8eeffc5d6aa21a
21 changes: 21 additions & 0 deletions trunk/arch/arm/mach-davinci/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,27 @@ config MACH_DAVINCI_DA830_EVM
help
Say Y here to select the TI DA830/OMAP-L137 Evaluation Module.

config DA830_UI
bool "DA830/OMAP-L137 UI (User Interface) board support"
depends on MACH_DAVINCI_DA830_EVM
help
Say Y here if you have the DA830/OMAP-L137 UI
(User Interface) board installed and you want to
enable the peripherals located on User Interface
board.

choice
prompt "Select DA830/OMAP-L137 UI board peripheral"
depends on DA830_UI

config DA830_UI_LCD
bool "LCD"
help
Say Y here to use the LCD as a framebuffer or simple character
display.

endchoice

config MACH_DAVINCI_DA850_EVM
bool "TI DA850/OMAP-L138 Reference Platform"
default ARCH_DAVINCI_DA850
Expand Down
44 changes: 43 additions & 1 deletion trunk/arch/arm/mach-davinci/board-da830-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
#include <linux/module.h>
#include <linux/init.h>
#include <linux/console.h>
#include <linux/gpio.h>
#include <linux/i2c.h>
#include <linux/i2c/pcf857x.h>
#include <linux/i2c/at24.h>

#include <asm/mach-types.h>
Expand All @@ -38,14 +40,43 @@ static struct at24_platform_data da830_evm_i2c_eeprom_info = {
.context = (void *)0x7f00,
};

static int da830_evm_ui_expander_setup(struct i2c_client *client, int gpio,
unsigned ngpio, void *context)
{
gpio_request(gpio + 6, "MUX_MODE");
#ifdef CONFIG_DA830_UI_LCD
gpio_direction_output(gpio + 6, 0);
#else /* Must be NAND or NOR */
gpio_direction_output(gpio + 6, 1);
#endif
return 0;
}

static int da830_evm_ui_expander_teardown(struct i2c_client *client, int gpio,
unsigned ngpio, void *context)
{
gpio_free(gpio + 6);
return 0;
}

static struct pcf857x_platform_data da830_evm_ui_expander_info = {
.gpio_base = DAVINCI_N_GPIO,
.setup = da830_evm_ui_expander_setup,
.teardown = da830_evm_ui_expander_teardown,
};

static struct i2c_board_info __initdata da830_evm_i2c_devices[] = {
{
I2C_BOARD_INFO("24c256", 0x50),
.platform_data = &da830_evm_i2c_eeprom_info,
},
{
I2C_BOARD_INFO("tlv320aic3x", 0x18),
}
},
{
I2C_BOARD_INFO("pcf8574", 0x3f),
.platform_data = &da830_evm_ui_expander_info,
},
};

static struct davinci_i2c_platform_data da830_evm_i2c_0_pdata = {
Expand Down Expand Up @@ -186,6 +217,17 @@ static __init void da830_evm_init(void)
da8xx_register_mcasp(1, &da830_evm_snd_data);

da830_evm_init_mmc();

#ifdef CONFIG_DA830_UI_LCD
ret = da8xx_pinmux_setup(da830_lcdcntl_pins);
if (ret)
pr_warning("da830_evm_init: lcdcntl mux setup failed: %d\n",
ret);

ret = da8xx_register_lcdc(&sharp_lcd035q3dg01_pdata);
if (ret)
pr_warning("da830_evm_init: lcd setup failed: %d\n", ret);
#endif
}

#ifdef CONFIG_SERIAL_8250_CONSOLE
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-davinci/da830.c
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ static struct davinci_clk da830_clks[] = {
CLK(NULL, "pwm2", &pwm2_clk),
CLK("eqep.0", NULL, &eqep0_clk),
CLK("eqep.1", NULL, &eqep1_clk),
CLK("da830_lcdc", NULL, &lcdc_clk),
CLK("da8xx_lcdc.0", NULL, &lcdc_clk),
CLK("davinci-mcasp.0", NULL, &mcasp0_clk),
CLK("davinci-mcasp.1", NULL, &mcasp1_clk),
CLK("davinci-mcasp.2", NULL, &mcasp2_clk),
Expand Down

0 comments on commit dbcf561

Please sign in to comment.