Skip to content
Snippets Groups Projects
Commit d9bc92f5 authored by Tom Rini's avatar Tom Rini
Browse files
parents 94218ca9 0b547b40
No related branches found
No related tags found
No related merge requests found
......@@ -117,32 +117,33 @@ void set_board_info(void)
#ifdef CONFIG_LCD_MENU
static int power_key_pressed(u32 reg)
{
#if !CONFIG_IS_ENABLED(DM_I2C) /* TODO(maintainer): Convert to driver model */
struct pmic *pmic;
struct udevice *dev;
int ret;
u32 status;
u32 mask;
pmic = pmic_get(KEY_PWR_PMIC_NAME);
if (!pmic) {
printf("%s: Not found\n", KEY_PWR_PMIC_NAME);
if (IS_ENABLED(CONFIG_TARGET_TRATS))
ret = pmic_get("max8997-pmic", &dev);
else if (IS_ENABLED(CONFIG_TARGET_TRATS2))
ret = pmic_get("max77686-pmic", &dev);
else if (IS_ENABLED(CONFIG_TARGET_S5PC210_UNIVERSAL))
ret = pmic_get("max8998-pmic", &dev);
else
return 0;
}
if (pmic_probe(pmic))
return 0;
if (ret)
return ret;
if (reg == KEY_PWR_STATUS_REG)
mask = KEY_PWR_STATUS_MASK;
else
mask = KEY_PWR_INTERRUPT_MASK;
if (pmic_reg_read(pmic, reg, &status))
return 0;
status = pmic_reg_read(dev, reg);
if (status < 0)
return status;
return !!(status & mask);
#else
return 0;
#endif
}
static int key_pressed(int key)
......
ESPRESSO7420 Board
M: Thomas Abraham <thomas.ab@samsung.com>
M: Minkyu Kang <mk7.kang@samsung.com>
S: Maintained
F: board/samsung/espresso7420/
F: include/configs/espresso7420.h
......
GONI BOARD
M: Robert Baldyga <r.baldyga@samsung.com>
M: Jaehoon Chung <jh80.chung@samsung.com>
S: Maintained
F: board/samsung/goni/
F: include/configs/s5p_goni.h
......
ORIGEN BOARD
M: Chander Kashyap <k.chander@samsung.com>
M: Minkyu Kang <mk7.kang@samsung.com>
S: Maintained
F: board/samsung/origen/
F: include/configs/origen.h
......
SMDK5250 BOARD
M: Chander Kashyap <k.chander@samsung.com>
M: Jaehoon Chung <jh80.chung@samsung.com>
S: Maintained
F: board/samsung/smdk5250/
F: include/configs/smdk5250.h
F: configs/smdk5250_defconfig
SNOW BOARD
M: Akshay Saraswat <akshay.s@samsung.com>
M: Jaehoon Chung <jh80.chung@samsung.com>
S: Maintained
F: include/configs/snow.h
F: configs/snow_defconfig
......
SMDK5420 BOARD
M: Akshay Saraswat <akshay.s@samsung.com>
M: Jaehoon Chung <jh80.chung@samsung.com>
S: Maintained
F: board/samsung/smdk5420/
F: include/configs/peach-pit.h
......
SMDKV310 BOARD
M: Chander Kashyap <k.chander@samsung.com>
M: Jaehoon Chung <jh80.chung@samsung.com>
S: Maintained
F: board/samsung/smdkv310/
F: include/configs/smdkv310.h
......
......@@ -31,8 +31,6 @@ obj-$(CONFIG_PMIC_STPMIC1) += stpmic1.o
obj-$(CONFIG_POWER_LTC3676) += pmic_ltc3676.o
obj-$(CONFIG_POWER_MAX77696) += pmic_max77696.o
obj-$(CONFIG_POWER_MAX8998) += pmic_max8998.o
obj-$(CONFIG_POWER_MAX8997) += pmic_max8997.o
obj-$(CONFIG_POWER_MUIC_MAX8997) += muic_max8997.o
obj-$(CONFIG_POWER_PCA9450) += pmic_pca9450.o
obj-$(CONFIG_POWER_PFUZE100) += pmic_pfuze100.o
......
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2012 Samsung Electronics
* Lukasz Majewski <l.majewski@samsung.com>
*/
#include <common.h>
#include <log.h>
#include <power/pmic.h>
#include <power/max8997_pmic.h>
#include <i2c.h>
#include <errno.h>
unsigned char max8997_reg_ldo(int uV)
{
unsigned char ret;
if (uV <= 800000)
return 0;
if (uV >= 3950000)
return MAX8997_LDO_MAX_VAL;
ret = (uV - 800000) / 50000;
if (ret > MAX8997_LDO_MAX_VAL) {
printf("MAX8997 LDO SETTING ERROR (%duV) -> %u\n", uV, ret);
ret = MAX8997_LDO_MAX_VAL;
}
return ret;
}
static int pmic_charger_state(struct pmic *p, int state, int current)
{
unsigned char fc;
u32 val = 0;
if (pmic_probe(p))
return -ENODEV;
if (state == PMIC_CHARGER_DISABLE) {
puts("Disable the charger.\n");
pmic_reg_read(p, MAX8997_REG_MBCCTRL2, &val);
val &= ~(MBCHOSTEN | VCHGR_FC);
pmic_reg_write(p, MAX8997_REG_MBCCTRL2, val);
return -ENOTSUPP;
}
if (current < CHARGER_MIN_CURRENT || current > CHARGER_MAX_CURRENT) {
printf("%s: Wrong charge current: %d [mA]\n",
__func__, current);
return -EINVAL;
}
fc = (current - CHARGER_MIN_CURRENT) / CHARGER_CURRENT_RESOLUTION;
fc = fc & 0xf; /* up to 950 mA */
printf("Enable the charger @ %d [mA]\n", fc * CHARGER_CURRENT_RESOLUTION
+ CHARGER_MIN_CURRENT);
val = fc | MBCICHFCSET;
pmic_reg_write(p, MAX8997_REG_MBCCTRL4, val);
pmic_reg_read(p, MAX8997_REG_MBCCTRL2, &val);
val = MBCHOSTEN | VCHGR_FC; /* enable charger & fast charge */
pmic_reg_write(p, MAX8997_REG_MBCCTRL2, val);
return 0;
}
static int pmic_charger_bat_present(struct pmic *p)
{
u32 val;
if (pmic_probe(p))
return -ENODEV;
pmic_reg_read(p, MAX8997_REG_STATUS4, &val);
return !(val & DETBAT);
}
static struct power_chrg power_chrg_pmic_ops = {
.chrg_bat_present = pmic_charger_bat_present,
.chrg_state = pmic_charger_state,
};
int pmic_init(unsigned char bus)
{
static const char name[] = "MAX8997_PMIC";
struct pmic *p = pmic_alloc();
if (!p) {
printf("%s: POWER allocation error!\n", __func__);
return -ENOMEM;
}
debug("Board PMIC init\n");
p->name = name;
p->interface = PMIC_I2C;
p->number_of_regs = PMIC_NUM_OF_REGS;
p->hw.i2c.addr = MAX8997_I2C_ADDR;
p->hw.i2c.tx_num = 1;
p->bus = bus;
p->chrg = &power_chrg_pmic_ops;
return 0;
}
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2011 Samsung Electronics
* Lukasz Majewski <l.majewski@samsung.com>
*/
#include <common.h>
#include <power/pmic.h>
#include <power/max8998_pmic.h>
#include <errno.h>
int pmic_init(unsigned char bus)
{
static const char name[] = "MAX8998_PMIC";
struct pmic *p = pmic_alloc();
if (!p) {
printf("%s: POWER allocation error!\n", __func__);
return -ENOMEM;
}
puts("Board PMIC init\n");
p->name = name;
p->interface = PMIC_I2C;
p->number_of_regs = PMIC_NUM_OF_REGS;
p->hw.i2c.addr = MAX8998_I2C_ADDR;
p->hw.i2c.tx_num = 1;
p->bus = bus;
return 0;
}
......@@ -722,6 +722,13 @@ config ROCKCHIP_SERIAL
This uses the ns16550 driver, converting the platdata from of-platdata
to the ns16550 format.
config S5P_SERIAL
bool "Support for Samsung S5P UART"
depends on ARCH_EXYNOS || ARCH_S5PC1XX
default y
help
Select this to enable Samsung S5P UART support.
config SANDBOX_SERIAL
bool "Sandbox UART support"
depends on SANDBOX
......
......@@ -41,7 +41,7 @@ obj-$(CONFIG_EFI_APP) += serial_efi.o
obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
obj-$(CONFIG_MCFUART) += serial_mcf.o
obj-$(CONFIG_SYS_NS16550) += ns16550.o
obj-$(CONFIG_S5P) += serial_s5p.o
obj-$(CONFIG_S5P_SERIAL) += serial_s5p.o
obj-$(CONFIG_MXC_UART) += serial_mxc.o
obj-$(CONFIG_PXA_SERIAL) += serial_pxa.o
obj-$(CONFIG_MESON_SERIAL) += serial_meson.o
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment