summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s5l8702/system-s5l8702.c
diff options
context:
space:
mode:
authorCástor Muñoz <cmvidal@gmail.com>2016-05-22 00:43:18 +0200
committerCástor Muñoz <cmvidal@gmail.com>2016-05-25 12:23:47 +0200
commit3f17745930ab0bee11555ab35318121dbec8fab1 (patch)
treef55eca9ef78772842b9f9e9dc448b04d9cefaef5 /firmware/target/arm/s5l8702/system-s5l8702.c
parente863f9a0ce8d968b085252c3b093b17ca07b65dd (diff)
downloadrockbox-3f17745930ab0bee11555ab35318121dbec8fab1.tar.gz
rockbox-3f17745930ab0bee11555ab35318121dbec8fab1.zip
iPod Classic: HW initialization for RB
Do not rely on a bootloader initializing the HW, RB initializes and configures GPIO, I2C, and PMU at startup. Change-Id: If7f856b1f345f63de584aa4e4fc22d130cd66c80
Diffstat (limited to 'firmware/target/arm/s5l8702/system-s5l8702.c')
-rw-r--r--firmware/target/arm/s5l8702/system-s5l8702.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/firmware/target/arm/s5l8702/system-s5l8702.c b/firmware/target/arm/s5l8702/system-s5l8702.c
index d285efde78..e94e12a153 100644
--- a/firmware/target/arm/s5l8702/system-s5l8702.c
+++ b/firmware/target/arm/s5l8702/system-s5l8702.c
@@ -23,6 +23,7 @@
23#include "system.h" 23#include "system.h"
24#include "panic.h" 24#include "panic.h"
25#include "system-target.h" 25#include "system-target.h"
26#include "i2c-s5l8702.h"
26#include "pmu-target.h" 27#include "pmu-target.h"
27#include "uart-target.h" 28#include "uart-target.h"
28#include "gpio-s5l8702.h" 29#include "gpio-s5l8702.h"
@@ -199,6 +200,11 @@ enum {
199void system_init(void) 200void system_init(void)
200{ 201{
201 clocking_init(clk_modes, 0); 202 clocking_init(clk_modes, 0);
203#ifndef BOOTLOADER
204 gpio_preinit();
205 i2c_preinit(0);
206 pmu_preinit();
207#endif
202 gpio_init(); 208 gpio_init();
203 pmu_init(); 209 pmu_init();
204 dma_init(); 210 dma_init();
@@ -279,7 +285,7 @@ void memory_init(void)
279} 285}
280 286
281#ifdef BOOTLOADER 287#ifdef BOOTLOADER
282#include "i2c-s5l8702.h" 288#include <stdbool.h>
283 289
284static void syscon_preinit(void) 290static void syscon_preinit(void)
285{ 291{