summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/imx233/power-imx233.c6
-rw-r--r--firmware/target/arm/imx233/power-imx233.h2
-rw-r--r--firmware/target/arm/imx233/system-imx233.c15
3 files changed, 18 insertions, 5 deletions
diff --git a/firmware/target/arm/imx233/power-imx233.c b/firmware/target/arm/imx233/power-imx233.c
index 186256f7b8..49323f6ffd 100644
--- a/firmware/target/arm/imx233/power-imx233.c
+++ b/firmware/target/arm/imx233/power-imx233.c
@@ -81,7 +81,7 @@ void INT_VDD5V(void)
81 } 81 }
82} 82}
83 83
84void power_init(void) 84void imx233_power_init(void)
85{ 85{
86 /* setup vbusvalid parameters: set threshold to 4v and power up comparators */ 86 /* setup vbusvalid parameters: set threshold to 4v and power up comparators */
87 __REG_CLR(HW_POWER_5VCTRL) = HW_POWER_5VCTRL__VBUSVALID_TRSH_BM; 87 __REG_CLR(HW_POWER_5VCTRL) = HW_POWER_5VCTRL__VBUSVALID_TRSH_BM;
@@ -110,6 +110,10 @@ void power_init(void)
110 __FIELD_SET(HW_POWER_LOOPCTRL, EN_RCSCALE, HW_POWER_LOOPCTRL__EN_RCSCALE__2X); 110 __FIELD_SET(HW_POWER_LOOPCTRL, EN_RCSCALE, HW_POWER_LOOPCTRL__EN_RCSCALE__2X);
111} 111}
112 112
113void power_init(void)
114{
115}
116
113void power_off(void) 117void power_off(void)
114{ 118{
115 /* wait a bit, useful for the user to stop touching anything */ 119 /* wait a bit, useful for the user to stop touching anything */
diff --git a/firmware/target/arm/imx233/power-imx233.h b/firmware/target/arm/imx233/power-imx233.h
index 786a450972..5379326969 100644
--- a/firmware/target/arm/imx233/power-imx233.h
+++ b/firmware/target/arm/imx233/power-imx233.h
@@ -177,6 +177,8 @@
177#define HW_POWER_RESET__UNLOCK 0x3E770000 177#define HW_POWER_RESET__UNLOCK 0x3E770000
178#define HW_POWER_RESET__PWD 0x1 178#define HW_POWER_RESET__PWD 0x1
179 179
180void imx233_power_init(void);
181
180void imx233_power_set_charge_current(unsigned current); /* in mA */ 182void imx233_power_set_charge_current(unsigned current); /* in mA */
181void imx233_power_set_stop_current(unsigned current); /* in mA */ 183void imx233_power_set_stop_current(unsigned current); /* in mA */
182void imx233_power_enable_batadj(bool enable); 184void imx233_power_enable_batadj(bool enable);
diff --git a/firmware/target/arm/imx233/system-imx233.c b/firmware/target/arm/imx233/system-imx233.c
index 85a6a96402..1d75cd4c9c 100644
--- a/firmware/target/arm/imx233/system-imx233.c
+++ b/firmware/target/arm/imx233/system-imx233.c
@@ -101,6 +101,10 @@ void memory_init(void)
101 101
102void system_init(void) 102void system_init(void)
103{ 103{
104 /* NOTE: don't use anything here that might require tick task !
105 * It is initialized by kernel_init *after* system_init().
106 * The main() will naturally set cpu speed to normal after kernel_init()
107 * so don't bother if the cpu is running at 24MHz here. */
104 imx233_clkctrl_enable_clock(CLK_PLL, true); 108 imx233_clkctrl_enable_clock(CLK_PLL, true);
105 imx233_rtc_init(); 109 imx233_rtc_init();
106 imx233_icoll_init(); 110 imx233_icoll_init();
@@ -111,11 +115,9 @@ void system_init(void)
111 imx233_dcp_init(); 115 imx233_dcp_init();
112 imx233_pwm_init(); 116 imx233_pwm_init();
113 imx233_lradc_init(); 117 imx233_lradc_init();
118 imx233_power_init();
114 imx233_i2c_init(); 119 imx233_i2c_init();
115#if !defined(BOOTLOADER) &&(defined(SANSA_FUZEPLUS) || \ 120
116 defined(CREATIVE_ZENXFI3) || defined(CREATIVE_ZENXFI2))
117 fmradio_i2c_init();
118#endif
119 imx233_clkctrl_enable_auto_slow_monitor(AS_CPU_INSTR, true); 121 imx233_clkctrl_enable_auto_slow_monitor(AS_CPU_INSTR, true);
120 imx233_clkctrl_enable_auto_slow_monitor(AS_CPU_DATA, true); 122 imx233_clkctrl_enable_auto_slow_monitor(AS_CPU_DATA, true);
121 imx233_clkctrl_enable_auto_slow_monitor(AS_TRAFFIC, true); 123 imx233_clkctrl_enable_auto_slow_monitor(AS_TRAFFIC, true);
@@ -124,6 +126,11 @@ void system_init(void)
124 imx233_clkctrl_enable_auto_slow_monitor(AS_APBHDMA, true); 126 imx233_clkctrl_enable_auto_slow_monitor(AS_APBHDMA, true);
125 imx233_clkctrl_set_auto_slow_divisor(AS_DIV_8); 127 imx233_clkctrl_set_auto_slow_divisor(AS_DIV_8);
126 imx233_clkctrl_enable_auto_slow(true); 128 imx233_clkctrl_enable_auto_slow(true);
129
130#if !defined(BOOTLOADER) &&(defined(SANSA_FUZEPLUS) || \
131 defined(CREATIVE_ZENXFI3) || defined(CREATIVE_ZENXFI2))
132 fmradio_i2c_init();
133#endif
127} 134}
128 135
129bool imx233_us_elapsed(uint32_t ref, unsigned us_delay) 136bool imx233_us_elapsed(uint32_t ref, unsigned us_delay)