|
@@ -44,7 +44,7 @@
|
|
|
#include <asm/arch/keypad.h>
|
|
|
|
|
|
/* Write to I2C device */
|
|
|
-int i2c_write_byte(u8 devaddr, u8 regoffset, u8 value)
|
|
|
+int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value)
|
|
|
{
|
|
|
struct i2c_adapter *adap;
|
|
|
int err;
|
|
@@ -67,7 +67,7 @@ int i2c_write_byte(u8 devaddr, u8 regoffset, u8 value)
|
|
|
}
|
|
|
|
|
|
/* Read from I2C device */
|
|
|
-int i2c_read_byte(u8 devaddr, u8 regoffset, u8 * value)
|
|
|
+int sx1_i2c_read_byte(u8 devaddr, u8 regoffset, u8 *value)
|
|
|
{
|
|
|
struct i2c_adapter *adap;
|
|
|
int err;
|
|
@@ -101,66 +101,55 @@ int sx1_setkeylight(u8 keylight)
|
|
|
{
|
|
|
if (keylight > SOFIA_MAX_LIGHT_VAL)
|
|
|
keylight = SOFIA_MAX_LIGHT_VAL;
|
|
|
- return i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_KEYLIGHT_REG, keylight);
|
|
|
+ return sx1_i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_KEYLIGHT_REG, keylight);
|
|
|
}
|
|
|
/* get current keylight intensity */
|
|
|
int sx1_getkeylight(u8 * keylight)
|
|
|
{
|
|
|
- return i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_KEYLIGHT_REG, keylight);
|
|
|
+ return sx1_i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_KEYLIGHT_REG, keylight);
|
|
|
}
|
|
|
/* set LCD backlight intensity */
|
|
|
int sx1_setbacklight(u8 backlight)
|
|
|
{
|
|
|
if (backlight > SOFIA_MAX_LIGHT_VAL)
|
|
|
backlight = SOFIA_MAX_LIGHT_VAL;
|
|
|
- return i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_BACKLIGHT_REG, backlight);
|
|
|
+ return sx1_i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_BACKLIGHT_REG,
|
|
|
+ backlight);
|
|
|
}
|
|
|
/* get current LCD backlight intensity */
|
|
|
int sx1_getbacklight (u8 * backlight)
|
|
|
{
|
|
|
- return i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_BACKLIGHT_REG, backlight);
|
|
|
+ return sx1_i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_BACKLIGHT_REG,
|
|
|
+ backlight);
|
|
|
}
|
|
|
/* set LCD backlight power on/off */
|
|
|
int sx1_setmmipower(u8 onoff)
|
|
|
{
|
|
|
int err;
|
|
|
u8 dat = 0;
|
|
|
- err = i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, &dat);
|
|
|
+ err = sx1_i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, &dat);
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
if (onoff)
|
|
|
dat |= SOFIA_MMILIGHT_POWER;
|
|
|
else
|
|
|
dat &= ~SOFIA_MMILIGHT_POWER;
|
|
|
- return i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, dat);
|
|
|
-}
|
|
|
-/* set MMC power on/off */
|
|
|
-int sx1_setmmcpower(u8 onoff)
|
|
|
-{
|
|
|
- int err;
|
|
|
- u8 dat = 0;
|
|
|
- err = i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, &dat);
|
|
|
- if (err < 0)
|
|
|
- return err;
|
|
|
- if (onoff)
|
|
|
- dat |= SOFIA_MMC_POWER;
|
|
|
- else
|
|
|
- dat &= ~SOFIA_MMC_POWER;
|
|
|
- return i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, dat);
|
|
|
+ return sx1_i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, dat);
|
|
|
}
|
|
|
+
|
|
|
/* set USB power on/off */
|
|
|
int sx1_setusbpower(u8 onoff)
|
|
|
{
|
|
|
int err;
|
|
|
u8 dat = 0;
|
|
|
- err = i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, &dat);
|
|
|
+ err = sx1_i2c_read_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, &dat);
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
if (onoff)
|
|
|
dat |= SOFIA_USB_POWER;
|
|
|
else
|
|
|
dat &= ~SOFIA_USB_POWER;
|
|
|
- return i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, dat);
|
|
|
+ return sx1_i2c_write_byte(SOFIA_I2C_ADDR, SOFIA_POWER1_REG, dat);
|
|
|
}
|
|
|
|
|
|
EXPORT_SYMBOL(sx1_setkeylight);
|
|
@@ -168,7 +157,6 @@ EXPORT_SYMBOL(sx1_getkeylight);
|
|
|
EXPORT_SYMBOL(sx1_setbacklight);
|
|
|
EXPORT_SYMBOL(sx1_getbacklight);
|
|
|
EXPORT_SYMBOL(sx1_setmmipower);
|
|
|
-EXPORT_SYMBOL(sx1_setmmcpower);
|
|
|
EXPORT_SYMBOL(sx1_setusbpower);
|
|
|
|
|
|
/*----------- Keypad -------------------------*/
|
|
@@ -454,6 +442,7 @@ static void __init omap_sx1_init(void)
|
|
|
omap_board_config = sx1_config;
|
|
|
omap_board_config_size = ARRAY_SIZE(sx1_config);
|
|
|
omap_serial_init();
|
|
|
+ sx1_mmc_init();
|
|
|
|
|
|
/* turn on USB power */
|
|
|
/* sx1_setusbpower(1); cant do it here because i2c is not ready */
|