@@ -64,14 +64,14 @@ void spl_dram_init(void)
64
64
#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
65
65
struct i2c_pads_info i2c_pad_info1 = {
66
66
.scl = {
67
- .i2c_mode = IMX8MM_PAD_I2C1_SCL_I2C1_SCL | PC ,
68
- .gpio_mode = IMX8MM_PAD_I2C1_SCL_GPIO5_IO14 | PC ,
69
- .gp = IMX_GPIO_NR (5 , 14 ),
67
+ .i2c_mode = IMX8MM_PAD_I2C2_SCL_I2C2_SCL | PC | (( iomux_v3_cfg_t )( IOMUX_CONFIG_SION ) << MUX_MODE_SHIFT ) ,
68
+ .gpio_mode = IMX8MM_PAD_I2C2_SCL_GPIO5_IO16 | PC ,
69
+ .gp = IMX_GPIO_NR (5 , 16 ),
70
70
},
71
71
.sda = {
72
- .i2c_mode = IMX8MM_PAD_I2C1_SDA_I2C1_SDA | PC ,
73
- .gpio_mode = IMX8MM_PAD_I2C1_SDA_GPIO5_IO15 | PC ,
74
- .gp = IMX_GPIO_NR (5 , 15 ),
72
+ .i2c_mode = IMX8MM_PAD_I2C2_SDA_I2C2_SDA | PC | (( iomux_v3_cfg_t )( IOMUX_CONFIG_SION ) << MUX_MODE_SHIFT ) ,
73
+ .gpio_mode = IMX8MM_PAD_I2C2_SDA_GPIO5_IO17 | PC ,
74
+ .gp = IMX_GPIO_NR (5 , 17 ),
75
75
},
76
76
};
77
77
@@ -191,7 +191,7 @@ int board_mmc_getcd(struct mmc *mmc)
191
191
}
192
192
193
193
#if CONFIG_IS_ENABLED (POWER_LEGACY )
194
- #define I2C_PMIC 0
194
+ #define I2C_PMIC 1
195
195
#ifdef CONFIG_POWER_PCA9450
196
196
int power_init_board (void )
197
197
{
@@ -258,6 +258,9 @@ int power_init_board(void)
258
258
pmic_reg_write (p , BD718XX_4TH_NODVS_BUCK_VOLT , 0x28 );
259
259
#endif
260
260
261
+ /* enable LDO5 and set to 3.0V for ANX7625 */
262
+ pmic_reg_write (p , BD718XX_LDO5_VOLT , 0xcc );
263
+
261
264
/* lock the PMIC regs */
262
265
pmic_reg_write (p , BD718XX_REGLOCK , 0x11 );
263
266
@@ -285,6 +288,8 @@ int board_fit_config_name_match(const char *name)
285
288
}
286
289
#endif
287
290
291
+ #define ANX7625_VBUS_CTL_PAD IMX_GPIO_NR(4, 13)
292
+
288
293
void board_init_f (ulong dummy )
289
294
{
290
295
int ret ;
@@ -300,6 +305,10 @@ void board_init_f(ulong dummy)
300
305
301
306
preloader_console_init ();
302
307
308
+ printf ("Turn Off VBUS\n" );
309
+ gpio_request (ANX7625_VBUS_CTL_PAD , "anx_vbus_ctl" ); /* 0 = VBUS On, 1 = VBUS Off */
310
+ gpio_direction_output (ANX7625_VBUS_CTL_PAD , 1 );
311
+
303
312
ret = spl_init ();
304
313
if (ret ) {
305
314
debug ("spl_init() failed: %d\n" , ret );
@@ -309,10 +318,14 @@ void board_init_f(ulong dummy)
309
318
enable_tzc380 ();
310
319
311
320
/* Adjust pmic voltage to 1.0V for 800M */
312
- setup_i2c (0 , CONFIG_SYS_I2C_SPEED , 0x7f , & i2c_pad_info1 );
321
+ setup_i2c (1 , CONFIG_SYS_I2C_SPEED , 0x7f , & i2c_pad_info1 );
313
322
314
323
power_init_board ();
315
324
325
+ printf ("Turn on SE050\n" );
326
+ gpio_request (IMX_GPIO_NR (1 , 3 ), "CRYPTO_EN" );
327
+ gpio_direction_output (IMX_GPIO_NR (1 , 3 ), 1 );
328
+
316
329
/* DDR initialization */
317
330
spl_dram_init ();
318
331
0 commit comments