summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/arch-tegra/tegra_i2c.h
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-02-28 01:28:21 +0300
committerTom Rini <trini@konsulko.com>2023-02-28 01:28:21 +0300
commit5b197eee334bdf75cc9e9148161299679a5251ea (patch)
treeedec3c21a01fb54d764d04caa2bd774823e76c2d /arch/arm/include/asm/arch-tegra/tegra_i2c.h
parent7a826ded4a0e409d73ff4a910685821d34f1b664 (diff)
parente8c80ac0f7a13bf0fc016ce324b870c0cff7a2b8 (diff)
downloadu-boot-5b197eee334bdf75cc9e9148161299679a5251ea.tar.xz
Merge tag 'v2023.04-rc3' into next
Prepare v2023.04-rc3
Diffstat (limited to 'arch/arm/include/asm/arch-tegra/tegra_i2c.h')
-rw-r--r--arch/arm/include/asm/arch-tegra/tegra_i2c.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-tegra/tegra_i2c.h b/arch/arm/include/asm/arch-tegra/tegra_i2c.h
index c49f43251d..afec6bbdda 100644
--- a/arch/arm/include/asm/arch-tegra/tegra_i2c.h
+++ b/arch/arm/include/asm/arch-tegra/tegra_i2c.h
@@ -8,6 +8,7 @@
#ifndef _TEGRA_I2C_H_
#define _TEGRA_I2C_H_
+#include <asm/io.h>
#include <asm/types.h>
struct udevice;
@@ -154,4 +155,20 @@ struct i2c_ctlr {
*/
int tegra_i2c_get_dvc_bus(struct udevice **busp);
+/* Pre-dm section used for initial setup of PMIC */
+#define I2C_SEND_2_BYTES 0x0A02
+
+static inline void tegra_i2c_ll_write(uint addr, uint data)
+{
+ struct i2c_ctlr *reg = (struct i2c_ctlr *)TEGRA_DVC_BASE;
+
+ writel(addr, &reg->cmd_addr0);
+ writel(0x2, &reg->cnfg);
+
+ writel(data, &reg->cmd_data1);
+ writel(I2C_SEND_2_BYTES, &reg->cnfg);
+}
+
+void pmic_enable_cpu_vdd(void);
+
#endif /* _TEGRA_I2C_H_ */