projects
/
rpikern
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- implemented video mode setting with the property tags, and once again it only
[rpikern]
/
src
/
rpi.h
diff --git
a/src/rpi.h
b/src/rpi.h
index
36f8ac4
..
1ae7636
100644
(file)
--- a/
src/rpi.h
+++ b/
src/rpi.h
@@
-3,6
+3,11
@@
#include <stdint.h>
#include <stdint.h>
+
+#define RPI_MEM_BUS_COHERENT(addr) (((uint32_t)addr) | 0x40000000)
+#define RPI_MEM_BUS_UNCACHED(addr) (((uint32_t)addr) | 0xc0000000)
+
+
#define RPI_MBOX_FRAMEBUF 1
#define RPI_MBOX_PROP 8
#define RPI_MBOX_FRAMEBUF 1
#define RPI_MBOX_PROP 8
@@
-13,35
+18,30
@@
#define RPI_TAG_ALLOCFB 0x040001
#define RPI_TAG_RELEASEFB 0x048001
#define RPI_TAG_ALLOCFB 0x040001
#define RPI_TAG_RELEASEFB 0x048001
+#define RPI_TAG_BLANKSCR 0x040002
#define RPI_TAG_SETFBPHYS 0x048003
#define RPI_TAG_SETFBVIRT 0x048004
#define RPI_TAG_SETFBDEPTH 0x048005
#define RPI_TAG_SETFBPHYS 0x048003
#define RPI_TAG_SETFBVIRT 0x048004
#define RPI_TAG_SETFBDEPTH 0x048005
-struct rpi_tag_getmodel {
- uint32_t id, size, res;
- uint32_t model;
-};
-
-struct rpi_tag_getram {
- uint32_t id, size, res;
- uint32_t membase, memsize;
+struct rpi_prop_header {
+ uint32_t size;
+ uint32_t res;
};
};
-struct rpi_tag_setclock {
+struct rpi_prop {
uint32_t id, size, res;
uint32_t id, size, res;
- uint32_t clock_id, rate, skip_turbo;
+ uint32_t data[1];
};
};
-struct rpi_prop_header {
- uint32_t size;
- uint32_t res;
-};
+#define RPI_PROP_NEXT(p) \
+ ((struct rpi_prop*)((char*)((p) + 1) + ((p)->size - sizeof (p)->data)))
extern int rpi_model;
extern uint32_t rpi_iobase;
extern uint32_t rpi_memsize, rpi_vc_memsize;
void rpi_init(void);
extern int rpi_model;
extern uint32_t rpi_iobase;
extern uint32_t rpi_memsize, rpi_vc_memsize;
void rpi_init(void);
+void rpi_reboot(void) __attribute__((noreturn));
void rpi_mbox_send(int chan, uint32_t msg);
uint32_t rpi_mbox_recv(int chan);
void rpi_mbox_send(int chan, uint32_t msg);
uint32_t rpi_mbox_recv(int chan);