summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_x1000/shanlingq1/gpio-target.h
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-05-23 17:30:58 +0100
committerAidan MacDonald <amachronic@protonmail.com>2021-07-13 22:01:33 +0100
commit4c60bc9e681865fcfc149775a1ed7ccd2613d5bf (patch)
tree99f8d91af2c171cf3843f0c14d41a20d9dc29c4f /firmware/target/mips/ingenic_x1000/shanlingq1/gpio-target.h
parent3abb7c5dd5be2ec6744bfc0a80967b20f1b59e30 (diff)
downloadrockbox-4c60bc9e681865fcfc149775a1ed7ccd2613d5bf.tar.gz
rockbox-4c60bc9e681865fcfc149775a1ed7ccd2613d5bf.zip
New port: Shanling Q1 native
- Audio playback works - Touchscreen and buttons work - Bootloader works and is capable of dual boot - Plugins are working - Cabbiev2 theme has been ported - Stable for general usage Thanks to Marc Aarts for porting Cabbiev2 and plugin bitmaps. There's a few minor known issues: - Bootloader must be installed manually using 'usbboot' as there is no support in jztool yet. - Keymaps may be lacking, need further testing and feedback. - Some plugins may not be fully adapted to the screen size and could benefit from further tweaking. - LCD shows abnormal effects under some circumstances: for example, after viewing a mostly black screen an afterimage appears briefly when going back to a brightly-lit screen. Sudden power-off without proper shutdown of the backlight causes a "dissolving" effect. - CW2015 battery reporting driver is buggy, and disabled for now. Battery reporting is currently voltage-based using the AXP192. Change-Id: I635e83f02a880192c5a82cb0861ad3a61c137c3a
Diffstat (limited to 'firmware/target/mips/ingenic_x1000/shanlingq1/gpio-target.h')
-rw-r--r--firmware/target/mips/ingenic_x1000/shanlingq1/gpio-target.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/firmware/target/mips/ingenic_x1000/shanlingq1/gpio-target.h b/firmware/target/mips/ingenic_x1000/shanlingq1/gpio-target.h
new file mode 100644
index 0000000000..7c71d12888
--- /dev/null
+++ b/firmware/target/mips/ingenic_x1000/shanlingq1/gpio-target.h
@@ -0,0 +1,32 @@
1/* Name Port Pins Function */
2DEFINE_PINGROUP(LCD_DATA, GPIO_A, 0xffff << 0, GPIOF_DEVICE(1))
3DEFINE_PINGROUP(LCD_CONTROL, GPIO_B, 0x1a << 16, GPIOF_DEVICE(1))
4DEFINE_PINGROUP(MSC0, GPIO_A, 0x3f << 20, GPIOF_DEVICE(1))
5DEFINE_PINGROUP(SFC, GPIO_A, 0x3f << 26, GPIOF_DEVICE(1))
6DEFINE_PINGROUP(I2S, GPIO_B, 0x1f << 0, GPIOF_DEVICE(1))
7DEFINE_PINGROUP(I2C0, GPIO_B, 3 << 23, GPIOF_DEVICE(0))
8DEFINE_PINGROUP(I2C1, GPIO_C, 3 << 26, GPIOF_DEVICE(0))
9DEFINE_PINGROUP(I2C2, GPIO_D, 3 << 0, GPIOF_DEVICE(1))
10
11/* Name Pin Function */
12DEFINE_GPIO(FT6x06_INTERRUPT, GPIO_PA(16), GPIOF_INPUT)
13DEFINE_GPIO(USB_DETECT, GPIO_PA(17), GPIOF_INPUT)
14DEFINE_GPIO(FT6x06_RESET, GPIO_PA(19), GPIOF_OUTPUT(0))
15DEFINE_GPIO(LCD_PWR, GPIO_PB(6), GPIOF_OUTPUT(1))
16DEFINE_GPIO(FT6x06_POWER, GPIO_PB(8), GPIOF_OUTPUT(0))
17DEFINE_GPIO(MSC0_CD, GPIO_PB(9), GPIOF_INPUT)
18DEFINE_GPIO(ES9218_POWER, GPIO_PB(13), GPIOF_OUTPUT(0))
19DEFINE_GPIO(LCD_RST, GPIO_PB(15), GPIOF_OUTPUT(1))
20DEFINE_GPIO(LCD_RD, GPIO_PB(16), GPIOF_OUTPUT(1))
21DEFINE_GPIO(LCD_CE, GPIO_PB(18), GPIOF_OUTPUT(1))
22DEFINE_GPIO(BTN_PREV, GPIO_PB(21), GPIOF_INPUT)
23DEFINE_GPIO(BTN_NEXT, GPIO_PB(22), GPIOF_INPUT)
24DEFINE_GPIO(USB_DRVVBUS, GPIO_PB(25), GPIOF_OUTPUT(0))
25DEFINE_GPIO(BTN_PLAY, GPIO_PB(28), GPIOF_INPUT)
26DEFINE_GPIO(BTN_POWER, GPIO_PB(31), GPIOF_INPUT)
27DEFINE_GPIO(AXP_IRQ, GPIO_PC(21), GPIOF_INPUT)
28DEFINE_GPIO(USB_ID, GPIO_PC(23), GPIOF_INPUT)
29DEFINE_GPIO(WHEEL1, GPIO_PD(2), GPIOF_INPUT)
30DEFINE_GPIO(WHEEL2, GPIO_PD(3), GPIOF_INPUT)
31DEFINE_GPIO(ES9218_GPIO2, GPIO_PD(4), GPIOF_OUTPUT(0))
32DEFINE_GPIO(ES9218_RESET, GPIO_PD(5), GPIOF_OUTPUT(0))