A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1#ifndef __PP6100_H__
2#define __PP6100_H__
3/***************************************************************************
4 * __________ __ ___.
5 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
6 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
7 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
8 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
9 * \/ \/ \/ \/ \/
10 * $Id$
11 *
12 * Copyright (C) 2009 by Robert Keevil
13 *
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
18 *
19 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20 * KIND, either express or implied.
21 *
22 ****************************************************************************/
23
24/* We believe this is quite similar to the 5020 and for now we just use that
25 completely and redefine any minor differences */
26#include "pp5020.h"
27
28#undef DRAM_START
29#define DRAM_START 0x10f00000
30
31#define GPIOM_ENABLE (*(volatile unsigned long *)(0x6000d180))
32#define GPION_ENABLE (*(volatile unsigned long *)(0x6000d184))
33#define GPIOO_ENABLE (*(volatile unsigned long *)(0x6000d188))
34#define GPIOP_ENABLE (*(volatile unsigned long *)(0x6000d18c))
35#define GPIOM_OUTPUT_EN (*(volatile unsigned long *)(0x6000d190))
36#define GPION_OUTPUT_EN (*(volatile unsigned long *)(0x6000d194))
37#define GPIOO_OUTPUT_EN (*(volatile unsigned long *)(0x6000d198))
38#define GPIOP_OUTPUT_EN (*(volatile unsigned long *)(0x6000d19c))
39#define GPIOM_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d1a0))
40#define GPION_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d1a4))
41#define GPIOO_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d1a8))
42#define GPIOP_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d1ac))
43#define GPIOM_INPUT_VAL (*(volatile unsigned long *)(0x6000d1b0))
44#define GPION_INPUT_VAL (*(volatile unsigned long *)(0x6000d1b4))
45#define GPIOO_INPUT_VAL (*(volatile unsigned long *)(0x6000d1b8))
46#define GPIOP_INPUT_VAL (*(volatile unsigned long *)(0x6000d1bc))
47#define GPIOM_INT_STAT (*(volatile unsigned long *)(0x6000d1c0))
48#define GPION_INT_STAT (*(volatile unsigned long *)(0x6000d1c4))
49#define GPIOO_INT_STAT (*(volatile unsigned long *)(0x6000d1c8))
50#define GPIOP_INT_STAT (*(volatile unsigned long *)(0x6000d1cc))
51#define GPIOM_INT_EN (*(volatile unsigned long *)(0x6000d1d0))
52#define GPION_INT_EN (*(volatile unsigned long *)(0x6000d1d4))
53#define GPIOO_INT_EN (*(volatile unsigned long *)(0x6000d1d8))
54#define GPIOP_INT_EN (*(volatile unsigned long *)(0x6000d1dc))
55#define GPIOM_INT_LEV (*(volatile unsigned long *)(0x6000d1e0))
56#define GPION_INT_LEV (*(volatile unsigned long *)(0x6000d1e4))
57#define GPIOO_INT_LEV (*(volatile unsigned long *)(0x6000d1e8))
58#define GPIOP_INT_LEV (*(volatile unsigned long *)(0x6000d1ec))
59#define GPIOM_INT_CLR (*(volatile unsigned long *)(0x6000d1f0))
60#define GPION_INT_CLR (*(volatile unsigned long *)(0x6000d1f4))
61#define GPIOO_INT_CLR (*(volatile unsigned long *)(0x6000d1f8))
62#define GPIOP_INT_CLR (*(volatile unsigned long *)(0x6000d1fc))
63
64#define GPIOQ_ENABLE (*(volatile unsigned long *)(0x6000d200))
65#define GPIOR_ENABLE (*(volatile unsigned long *)(0x6000d204))
66#define GPIOS_ENABLE (*(volatile unsigned long *)(0x6000d208))
67#define GPIOT_ENABLE (*(volatile unsigned long *)(0x6000d20c))
68#define GPIOQ_OUTPUT_EN (*(volatile unsigned long *)(0x6000d210))
69#define GPIOR_OUTPUT_EN (*(volatile unsigned long *)(0x6000d214))
70#define GPIOS_OUTPUT_EN (*(volatile unsigned long *)(0x6000d218))
71#define GPIOT_OUTPUT_EN (*(volatile unsigned long *)(0x6000d21c))
72#define GPIOQ_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d220))
73#define GPIOR_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d224))
74#define GPIOS_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d228))
75#define GPIOT_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d22c))
76#define GPIOQ_INPUT_VAL (*(volatile unsigned long *)(0x6000d230))
77#define GPIOR_INPUT_VAL (*(volatile unsigned long *)(0x6000d234))
78#define GPIOS_INPUT_VAL (*(volatile unsigned long *)(0x6000d238))
79#define GPIOT_INPUT_VAL (*(volatile unsigned long *)(0x6000d23c))
80#define GPIOQ_INT_STAT (*(volatile unsigned long *)(0x6000d240))
81#define GPIOR_INT_STAT (*(volatile unsigned long *)(0x6000d244))
82#define GPIOS_INT_STAT (*(volatile unsigned long *)(0x6000d248))
83#define GPIOT_INT_STAT (*(volatile unsigned long *)(0x6000d24c))
84#define GPIOQ_INT_EN (*(volatile unsigned long *)(0x6000d250))
85#define GPIOR_INT_EN (*(volatile unsigned long *)(0x6000d254))
86#define GPIOS_INT_EN (*(volatile unsigned long *)(0x6000d258))
87#define GPIOT_INT_EN (*(volatile unsigned long *)(0x6000d25c))
88#define GPIOQ_INT_LEV (*(volatile unsigned long *)(0x6000d260))
89#define GPIOR_INT_LEV (*(volatile unsigned long *)(0x6000d264))
90#define GPIOS_INT_LEV (*(volatile unsigned long *)(0x6000d268))
91#define GPIOT_INT_LEV (*(volatile unsigned long *)(0x6000d26c))
92#define GPIOQ_INT_CLR (*(volatile unsigned long *)(0x6000d270))
93#define GPIOR_INT_CLR (*(volatile unsigned long *)(0x6000d274))
94#define GPIOS_INT_CLR (*(volatile unsigned long *)(0x6000d278))
95#define GPIOT_INT_CLR (*(volatile unsigned long *)(0x6000d27c))
96
97#define GPIOM 12
98#define GPION 13
99#define GPIOO 14
100#define GPIOP 15
101
102#define GPIOQ 16
103#define GPIOR 17
104#define GPIOS 18
105#define GPIOT 19
106
107#define DEV_INIT3 (*(volatile unsigned long *)(0x70000014))
108
109#endif