@@ -41,16 +41,11 @@ LOG_MODULE_REGISTER(spi_ambiq);
4141#define SPI_AMBIQ_MANUAL_CACHE_COHERENCY_REQUIRED 0
4242#endif /* defined(CONFIG_DCACHE) && !defined(CONFIG_NOCACHE_MEMORY) */
4343
44- #define PWRCTRL_MAX_WAIT_US 5
45-
46- typedef int (* ambiq_spi_pwr_func_t )(void );
47-
4844struct spi_ambiq_config {
4945 uint32_t base ;
5046 int size ;
5147 uint32_t clock_freq ;
5248 const struct pinctrl_dev_config * pcfg ;
53- ambiq_spi_pwr_func_t pwr_func ;
5449 void (* irq_config_func )(void );
5550};
5651
@@ -517,7 +512,7 @@ static int spi_ambiq_init(const struct device *dev)
517512 return - ENXIO ;
518513 }
519514
520- ret = cfg -> pwr_func ( );
515+ ret = am_hal_iom_power_ctrl ( data -> iom_handler , AM_HAL_SYSCTRL_WAKE , false );
521516
522517 ret |= pinctrl_apply_state (cfg -> pcfg , PINCTRL_STATE_DEFAULT );
523518 ret |= spi_context_cs_configure_all (& data -> ctx );
@@ -571,14 +566,6 @@ static int spi_ambiq_pm_action(const struct device *dev, enum pm_device_action a
571566
572567#define AMBIQ_SPI_INIT (n ) \
573568 PINCTRL_DT_INST_DEFINE(n); \
574- static int pwr_on_ambiq_spi_##n(void) \
575- { \
576- uint32_t addr = DT_REG_ADDR(DT_INST_PHANDLE(n, ambiq_pwrcfg)) + \
577- DT_INST_PHA(n, ambiq_pwrcfg, offset); \
578- sys_write32((sys_read32(addr) | DT_INST_PHA(n, ambiq_pwrcfg, mask)), addr); \
579- k_busy_wait(PWRCTRL_MAX_WAIT_US); \
580- return 0; \
581- } \
582569 static void spi_irq_config_func_##n(void) \
583570 { \
584571 IRQ_CONNECT(DT_INST_IRQN(n), DT_INST_IRQ(n, priority), spi_ambiq_isr, \
@@ -594,8 +581,7 @@ static int spi_ambiq_pm_action(const struct device *dev, enum pm_device_action a
594581 .size = DT_INST_REG_SIZE(n), \
595582 .clock_freq = DT_INST_PROP(n, clock_frequency), \
596583 .pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n), \
597- .irq_config_func = spi_irq_config_func_##n, \
598- .pwr_func = pwr_on_ambiq_spi_##n}; \
584+ .irq_config_func = spi_irq_config_func_##n}; \
599585 PM_DEVICE_DT_INST_DEFINE(n, spi_ambiq_pm_action); \
600586 SPI_DEVICE_DT_INST_DEFINE(n, spi_ambiq_init, PM_DEVICE_DT_INST_GET(n), &spi_ambiq_data##n, \
601587 &spi_ambiq_config##n, POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, \
0 commit comments