diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-06-05 00:12:01 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-06-06 11:06:14 +0000 |
commit | e85bc74b307365e9a7b4adab51d646638db12fbd (patch) | |
tree | c45ba9079344b5cc0ea48a77b6aa77aacd71cdc5 /firmware/target/mips/ingenic_x1000/pcm-x1000.c | |
parent | 695d1701cdd1bb4539f652c2204f7787097b2715 (diff) | |
download | rockbox-e85bc74b307365e9a7b4adab51d646638db12fbd.tar.gz rockbox-e85bc74b307365e9a7b4adab51d646638db12fbd.zip |
x1000: GPIO refactor
The GPIO API was pretty clunky and pin settings were decentralized,
making it hard to see what was happening and making GPIO stuff look
like a mess, frankly.
Instead of passing clunky (port, pin) pairs everywhere, GPIOs are now
identified with a single int. The extra overhead should be minimal as
GPIO configuration is generally not on a performance-critical path.
Pin assignments are now mostly consolidated in gpio-target.h and put
in various tables so gpio_init() can assign most pins at boot time.
Most drivers no longer need to touch GPIOs and basic pin I/O stuff
can happen without config since pins are put into the right state.
IRQ pins still need to be configured manually before use.
Change-Id: Ic5326284b0b2a2f613e9e76a41cb50e24af3aa47
Diffstat (limited to 'firmware/target/mips/ingenic_x1000/pcm-x1000.c')
-rw-r--r-- | firmware/target/mips/ingenic_x1000/pcm-x1000.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/firmware/target/mips/ingenic_x1000/pcm-x1000.c b/firmware/target/mips/ingenic_x1000/pcm-x1000.c index fd5e9d20c8..a3da3411f2 100644 --- a/firmware/target/mips/ingenic_x1000/pcm-x1000.c +++ b/firmware/target/mips/ingenic_x1000/pcm-x1000.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include "panic.h" | 28 | #include "panic.h" |
29 | #include "dma-x1000.h" | 29 | #include "dma-x1000.h" |
30 | #include "irq-x1000.h" | 30 | #include "irq-x1000.h" |
31 | #include "gpio-x1000.h" | ||
32 | #include "x1000/aic.h" | 31 | #include "x1000/aic.h" |
33 | #include "x1000/cpm.h" | 32 | #include "x1000/cpm.h" |
34 | 33 | ||
@@ -55,7 +54,6 @@ void pcm_play_dma_init(void) | |||
55 | * on Ingenic's datasheets but I'm not sure what they are. Probably safe to | 54 | * on Ingenic's datasheets but I'm not sure what they are. Probably safe to |
56 | * assume they are not useful to Rockbox... */ | 55 | * assume they are not useful to Rockbox... */ |
57 | jz_writef(CPM_CLKGR, AIC(0)); | 56 | jz_writef(CPM_CLKGR, AIC(0)); |
58 | gpio_config(GPIO_B, 0x1f, GPIO_DEVICE(1)); | ||
59 | 57 | ||
60 | /* Configure AIC with some sane defaults */ | 58 | /* Configure AIC with some sane defaults */ |
61 | jz_writef(AIC_CFG, RST(1)); | 59 | jz_writef(AIC_CFG, RST(1)); |