mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
ARM: rmobile: Implement PMIC reset on V2H Blanche
Add code to reset the board through PMIC, by writing the required PMIC registers in the CPU reset handler. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
This commit is contained in:
parent
9cf09c799a
commit
4666521d19
1 changed files with 20 additions and 0 deletions
|
@ -20,6 +20,7 @@
|
|||
#include <dm.h>
|
||||
#include <dm/platform_data/serial_sh.h>
|
||||
#include <env.h>
|
||||
#include <hang.h>
|
||||
#include <i2c.h>
|
||||
#include <linux/errno.h>
|
||||
#include <malloc.h>
|
||||
|
@ -355,4 +356,23 @@ int dram_init_banksize(void)
|
|||
|
||||
void reset_cpu(ulong addr)
|
||||
{
|
||||
struct udevice *dev;
|
||||
const u8 pmic_bus = 6;
|
||||
const u8 pmic_addr = 0x58;
|
||||
u8 data;
|
||||
int ret;
|
||||
|
||||
ret = i2c_get_chip_for_busnum(pmic_bus, pmic_addr, 1, &dev);
|
||||
if (ret)
|
||||
hang();
|
||||
|
||||
ret = dm_i2c_read(dev, 0x13, &data, 1);
|
||||
if (ret)
|
||||
hang();
|
||||
|
||||
data |= BIT(1);
|
||||
|
||||
ret = dm_i2c_write(dev, 0x13, &data, 1);
|
||||
if (ret)
|
||||
hang();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue