mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-24 04:34:22 +08:00
arm: exynos: i2c: Convert exynos boards to use DM_I2C
Three boards are still not converting to use DM_I2C. They are also using the old PMIC framework. Rather than removing them, add #ifdefs to allow them to continue to build. This will give the maintainers a little more time to decide whether to convert them or not. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
194eded14c
commit
fc47cf9d05
@ -406,6 +406,7 @@ config TARGET_BCMNSP
|
||||
config ARCH_EXYNOS
|
||||
bool "Samsung EXYNOS"
|
||||
select DM
|
||||
select DM_I2C
|
||||
select DM_SPI_FLASH
|
||||
select DM_SERIAL
|
||||
select DM_SPI
|
||||
|
@ -101,6 +101,7 @@ void set_board_info(void)
|
||||
#ifdef CONFIG_LCD_MENU
|
||||
static int power_key_pressed(u32 reg)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
struct pmic *pmic;
|
||||
u32 status;
|
||||
u32 mask;
|
||||
@ -123,6 +124,9 @@ static int power_key_pressed(u32 reg)
|
||||
return 0;
|
||||
|
||||
return !!(status & mask);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int key_pressed(int key)
|
||||
|
@ -53,6 +53,7 @@ int exynos_init(void)
|
||||
|
||||
void i2c_init_board(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int err;
|
||||
|
||||
/* I2C_5 -> PMIC */
|
||||
@ -67,8 +68,10 @@ void i2c_init_board(void)
|
||||
gpio_request(EXYNOS4_GPIO_Y41, "i2c_data");
|
||||
gpio_direction_output(EXYNOS4_GPIO_Y40, 1);
|
||||
gpio_direction_output(EXYNOS4_GPIO_Y41, 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
static void trats_low_power_mode(void)
|
||||
{
|
||||
struct exynos4_clock *clk =
|
||||
@ -273,11 +276,14 @@ static int pmic_init_max8997(void)
|
||||
puts("MAX8997 PMIC setting error!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int exynos_power_init(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int chrg, ret;
|
||||
struct power_battery *pb;
|
||||
struct pmic *p_fg, *p_chrg, *p_muic, *p_bat;
|
||||
@ -341,6 +347,7 @@ int exynos_power_init(void)
|
||||
|
||||
if (pb->bat->state == CHARGE && chrg == CHARGER_USB)
|
||||
puts("CHARGE Battery !\n");
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -384,6 +391,7 @@ static void check_hw_revision(void)
|
||||
#ifdef CONFIG_USB_GADGET
|
||||
static int s5pc210_phy_control(int on)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int ret = 0;
|
||||
u32 val = 0;
|
||||
struct pmic *p = pmic_get("MAX8997_PMIC");
|
||||
@ -415,6 +423,7 @@ static int s5pc210_phy_control(int on)
|
||||
puts("MAX8997 LDO setting error!\n");
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -435,11 +444,16 @@ int board_usb_init(int index, enum usb_init_type init)
|
||||
|
||||
int g_dnl_board_usb_cable_connected(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
struct pmic *muic = pmic_get("MAX8997_MUIC");
|
||||
if (!muic)
|
||||
return 0;
|
||||
|
||||
return !!muic->chrg->chrg_type(muic);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -552,6 +566,7 @@ void exynos_reset_lcd(void)
|
||||
|
||||
int lcd_power(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int ret = 0;
|
||||
struct pmic *p = pmic_get("MAX8997_PMIC");
|
||||
if (!p)
|
||||
@ -569,12 +584,13 @@ int lcd_power(void)
|
||||
puts("MAX8997 LDO setting error!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mipi_power(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int ret = 0;
|
||||
struct pmic *p = pmic_get("MAX8997_PMIC");
|
||||
if (!p)
|
||||
@ -592,7 +608,7 @@ int mipi_power(void)
|
||||
puts("MAX8997 LDO setting error!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -151,8 +151,6 @@ int exynos_early_init_f(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int pmic_init_max77686(void);
|
||||
|
||||
int exynos_init(void)
|
||||
{
|
||||
struct exynos4_power *pwr =
|
||||
@ -176,6 +174,7 @@ int exynos_init(void)
|
||||
|
||||
int exynos_power_init(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int chrg;
|
||||
struct power_battery *pb;
|
||||
struct pmic *p_chrg, *p_muic, *p_fg, *p_bat;
|
||||
@ -236,13 +235,14 @@ int exynos_power_init(void)
|
||||
|
||||
if (pb->bat->state == CHARGE && chrg == CHARGER_USB)
|
||||
puts("CHARGE Battery !\n");
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_USB_GADGET
|
||||
static int s5pc210_phy_control(int on)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int ret = 0;
|
||||
unsigned int val;
|
||||
struct pmic *p, *p_pmic, *p_muic;
|
||||
@ -299,7 +299,7 @@ static int s5pc210_phy_control(int on)
|
||||
|
||||
if (ret)
|
||||
return -1;
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -319,14 +319,19 @@ int board_usb_init(int index, enum usb_init_type init)
|
||||
|
||||
int g_dnl_board_usb_cable_connected(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
struct pmic *muic = pmic_get("MAX77693_MUIC");
|
||||
if (!muic)
|
||||
return 0;
|
||||
|
||||
return !!muic->chrg->chrg_type(muic);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
static int pmic_init_max77686(void)
|
||||
{
|
||||
struct pmic *p = pmic_get("MAX77686_PMIC");
|
||||
@ -379,6 +384,7 @@ static int pmic_init_max77686(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* LCD
|
||||
@ -387,18 +393,21 @@ static int pmic_init_max77686(void)
|
||||
#ifdef CONFIG_LCD
|
||||
int mipi_power(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
struct pmic *p = pmic_get("MAX77686_PMIC");
|
||||
|
||||
/* LDO8 VMIPI_1.0V_AP */
|
||||
max77686_set_ldo_mode(p, 8, OPMODE_ON);
|
||||
/* LDO10 VMIPI_1.8V_AP */
|
||||
max77686_set_ldo_mode(p, 10, OPMODE_ON);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void exynos_lcd_power_on(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
struct pmic *p = pmic_get("MAX77686_PMIC");
|
||||
|
||||
/* LCD_2.2V_EN: GPC0[1] */
|
||||
@ -410,6 +419,7 @@ void exynos_lcd_power_on(void)
|
||||
pmic_probe(p);
|
||||
max77686_set_ldo_voltage(p, 25, 3100000);
|
||||
max77686_set_ldo_mode(p, 25, OPMODE_LPM);
|
||||
#endif
|
||||
}
|
||||
|
||||
void exynos_reset_lcd(void)
|
||||
|
@ -38,10 +38,9 @@ static int get_hwrev(void)
|
||||
return board_rev & 0xFF;
|
||||
}
|
||||
|
||||
static void init_pmic_lcd(void);
|
||||
|
||||
int exynos_power_init(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int ret;
|
||||
|
||||
/*
|
||||
@ -53,7 +52,7 @@ int exynos_power_init(void)
|
||||
return ret;
|
||||
|
||||
init_pmic_lcd();
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -84,6 +83,7 @@ static unsigned short get_adc_value(int channel)
|
||||
|
||||
static int adc_power_control(int on)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int ret;
|
||||
struct pmic *p = pmic_get("MAX8998_PMIC");
|
||||
if (!p)
|
||||
@ -97,6 +97,9 @@ static int adc_power_control(int on)
|
||||
MAX8998_LDO4, !!on);
|
||||
|
||||
return ret;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
static unsigned int get_hw_revision(void)
|
||||
@ -144,6 +147,7 @@ static void check_hw_revision(void)
|
||||
#ifdef CONFIG_USB_GADGET
|
||||
static int s5pc210_phy_control(int on)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
int ret = 0;
|
||||
struct pmic *p = pmic_get("MAX8998_PMIC");
|
||||
if (!p)
|
||||
@ -175,7 +179,7 @@ static int s5pc210_phy_control(int on)
|
||||
puts("MAX8998 LDO setting error!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -201,6 +205,7 @@ int exynos_early_init_f(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
static void init_pmic_lcd(void)
|
||||
{
|
||||
unsigned char val;
|
||||
@ -248,6 +253,7 @@ static void init_pmic_lcd(void)
|
||||
if (ret)
|
||||
puts("LCD pmic initialisation error!\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
void exynos_cfg_lcd_gpio(void)
|
||||
{
|
||||
@ -304,6 +310,7 @@ void exynos_reset_lcd(void)
|
||||
|
||||
void exynos_lcd_power_on(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
struct pmic *p = pmic_get("MAX8998_PMIC");
|
||||
|
||||
if (!p)
|
||||
@ -314,6 +321,7 @@ void exynos_lcd_power_on(void)
|
||||
|
||||
pmic_set_output(p, MAX8998_REG_ONOFF3, MAX8998_LDO17, LDO_ON);
|
||||
pmic_set_output(p, MAX8998_REG_ONOFF2, MAX8998_LDO7, LDO_ON);
|
||||
#endif
|
||||
}
|
||||
|
||||
void exynos_cfg_ldo(void)
|
||||
@ -328,8 +336,9 @@ void exynos_enable_ldo(unsigned int onoff)
|
||||
|
||||
int exynos_init(void)
|
||||
{
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
char buf[16];
|
||||
|
||||
#endif
|
||||
gd->bd->bi_arch_number = MACH_TYPE_UNIVERSAL_C210;
|
||||
|
||||
switch (get_hwrev()) {
|
||||
@ -354,13 +363,14 @@ int exynos_init(void)
|
||||
break;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
||||
/* Request soft I2C gpios */
|
||||
strcpy(buf, "soft_i2c_scl");
|
||||
gpio_request(CONFIG_SOFT_I2C_GPIO_SCL, buf);
|
||||
|
||||
strcpy(buf, "soft_i2c_sda");
|
||||
gpio_request(CONFIG_SOFT_I2C_GPIO_SDA, buf);
|
||||
|
||||
#endif
|
||||
check_hw_revision();
|
||||
printf("HW Revision:\t0x%x\n", board_rev);
|
||||
|
||||
|
@ -37,3 +37,4 @@ CONFIG_USB_GADGET_DOWNLOAD=y
|
||||
CONFIG_G_DNL_MANUFACTURER="Samsung"
|
||||
CONFIG_G_DNL_VENDOR_NUM=0x04e8
|
||||
CONFIG_G_DNL_PRODUCT_NUM=0x6601
|
||||
CONFIG_DM_I2C=y
|
||||
|
@ -153,25 +153,6 @@
|
||||
#define CONFIG_SAMSUNG_ONENAND
|
||||
#define CONFIG_SYS_ONENAND_BASE 0x0C000000
|
||||
|
||||
#include <asm/arch/gpio.h>
|
||||
/*
|
||||
* I2C Settings
|
||||
*/
|
||||
#define CONFIG_SOFT_I2C_GPIO_SCL EXYNOS4_GPIO_B7
|
||||
#define CONFIG_SOFT_I2C_GPIO_SDA EXYNOS4_GPIO_B6
|
||||
|
||||
#define CONFIG_SYS_I2C
|
||||
#define CONFIG_SYS_I2C_SOFT /* I2C bit-banged */
|
||||
#define CONFIG_SYS_I2C_SOFT_SPEED 50000
|
||||
#define CONFIG_SYS_I2C_SOFT_SLAVE 0
|
||||
#define CONFIG_SOFT_I2C_READ_REPEATED_START
|
||||
#define CONFIG_I2C_MULTI_BUS
|
||||
#define CONFIG_SYS_MAX_I2C_BUS 7
|
||||
|
||||
#define CONFIG_POWER
|
||||
#define CONFIG_POWER_I2C
|
||||
#define CONFIG_POWER_MAX8998
|
||||
|
||||
#define CONFIG_USB_GADGET_DWC2_OTG_PHY
|
||||
|
||||
/*
|
||||
|
@ -178,36 +178,6 @@
|
||||
/* GPT */
|
||||
#define CONFIG_RANDOM_UUID
|
||||
|
||||
/* I2C */
|
||||
#include <asm/arch/gpio.h>
|
||||
|
||||
#define CONFIG_SYS_I2C
|
||||
#define CONFIG_SYS_I2C_S3C24X0
|
||||
#define CONFIG_SYS_I2C_S3C24X0_SPEED 100000
|
||||
#define CONFIG_SYS_I2C_S3C24X0_SLAVE 0xFE
|
||||
#define CONFIG_MAX_I2C_NUM 8
|
||||
#define CONFIG_SYS_I2C_SOFT /* I2C bit-banged */
|
||||
#define CONFIG_SYS_I2C_SOFT_SPEED 50000
|
||||
#define CONFIG_SYS_I2C_SOFT_SLAVE 0x7F
|
||||
#define CONFIG_SOFT_I2C_READ_REPEATED_START
|
||||
#define CONFIG_SYS_I2C_INIT_BOARD
|
||||
|
||||
/* I2C FG */
|
||||
#define CONFIG_SOFT_I2C_GPIO_SCL EXYNOS4_GPIO_Y41
|
||||
#define CONFIG_SOFT_I2C_GPIO_SDA EXYNOS4_GPIO_Y40
|
||||
|
||||
/* POWER */
|
||||
#define CONFIG_POWER
|
||||
#define CONFIG_POWER_I2C
|
||||
#define CONFIG_POWER_MAX8997
|
||||
|
||||
#define CONFIG_POWER_FG
|
||||
#define CONFIG_POWER_FG_MAX17042
|
||||
#define CONFIG_POWER_MUIC
|
||||
#define CONFIG_POWER_MUIC_MAX8997
|
||||
#define CONFIG_POWER_BATTERY
|
||||
#define CONFIG_POWER_BATTERY_TRATS
|
||||
|
||||
/* Security subsystem - enable hw_rand() */
|
||||
#define CONFIG_EXYNOS_ACE_SHA
|
||||
#define CONFIG_LIB_HW_RAND
|
||||
|
@ -155,39 +155,6 @@
|
||||
/* GPT */
|
||||
#define CONFIG_RANDOM_UUID
|
||||
|
||||
/* I2C */
|
||||
#include <asm/arch/gpio.h>
|
||||
|
||||
#define CONFIG_SYS_I2C
|
||||
#define CONFIG_SYS_I2C_S3C24X0
|
||||
#define CONFIG_SYS_I2C_S3C24X0_SPEED 100000
|
||||
#define CONFIG_SYS_I2C_S3C24X0_SLAVE 0
|
||||
#define CONFIG_MAX_I2C_NUM 8
|
||||
#define CONFIG_SYS_I2C_SOFT
|
||||
#define CONFIG_SYS_I2C_SOFT_SPEED 50000
|
||||
#define CONFIG_SYS_I2C_SOFT_SLAVE 0x00
|
||||
#define I2C_SOFT_DECLARATIONS2
|
||||
#define CONFIG_SYS_I2C_SOFT_SPEED_2 50000
|
||||
#define CONFIG_SYS_I2C_SOFT_SLAVE_2 0x00
|
||||
#define CONFIG_SOFT_I2C_READ_REPEATED_START
|
||||
#define CONFIG_SYS_I2C_INIT_BOARD
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
int get_soft_i2c_scl_pin(void);
|
||||
int get_soft_i2c_sda_pin(void);
|
||||
#endif
|
||||
#define CONFIG_SOFT_I2C_GPIO_SCL get_soft_i2c_scl_pin()
|
||||
#define CONFIG_SOFT_I2C_GPIO_SDA get_soft_i2c_sda_pin()
|
||||
|
||||
/* POWER */
|
||||
#define CONFIG_POWER
|
||||
#define CONFIG_POWER_I2C
|
||||
#define CONFIG_POWER_MAX77686
|
||||
#define CONFIG_POWER_PMIC_MAX77693
|
||||
#define CONFIG_POWER_MUIC_MAX77693
|
||||
#define CONFIG_POWER_FG_MAX77693
|
||||
#define CONFIG_POWER_BATTERY_TRATS2
|
||||
|
||||
/* Security subsystem - enable hw_rand() */
|
||||
#define CONFIG_EXYNOS_ACE_SHA
|
||||
#define CONFIG_LIB_HW_RAND
|
||||
|
Loading…
Reference in New Issue
Block a user