diff options
Diffstat (limited to 'firmware/target/arm/imx233')
-rw-r--r-- | firmware/target/arm/imx233/power-imx233.c | 6 | ||||
-rw-r--r-- | firmware/target/arm/imx233/power-imx233.h | 2 | ||||
-rw-r--r-- | firmware/target/arm/imx233/system-imx233.c | 15 |
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 | ||
84 | void power_init(void) | 84 | void 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 | ||
113 | void power_init(void) | ||
114 | { | ||
115 | } | ||
116 | |||
113 | void power_off(void) | 117 | void 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 | ||
180 | void imx233_power_init(void); | ||
181 | |||
180 | void imx233_power_set_charge_current(unsigned current); /* in mA */ | 182 | void imx233_power_set_charge_current(unsigned current); /* in mA */ |
181 | void imx233_power_set_stop_current(unsigned current); /* in mA */ | 183 | void imx233_power_set_stop_current(unsigned current); /* in mA */ |
182 | void imx233_power_enable_batadj(bool enable); | 184 | void 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 | ||
102 | void system_init(void) | 102 | void 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 | ||
129 | bool imx233_us_elapsed(uint32_t ref, unsigned us_delay) | 136 | bool imx233_us_elapsed(uint32_t ref, unsigned us_delay) |