|
@@ -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>
|
|
@@ -313,6 +314,7 @@ int board_init(void)
|
|
|
}
|
|
|
|
|
|
/* Added for BLANCHE(R-CarV2H board) */
|
|
|
+#ifndef CONFIG_DM_ETH
|
|
|
int board_eth_init(bd_t *bis)
|
|
|
{
|
|
|
int rc = 0;
|
|
@@ -337,6 +339,7 @@ int board_eth_init(bd_t *bis)
|
|
|
|
|
|
return rc;
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
int dram_init(void)
|
|
|
{
|
|
@@ -355,4 +358,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();
|
|
|
}
|