diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-10-20 19:56:31 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-10-20 19:56:31 +0200 |
commit | 83e20b4df18d539db59c8e1090f77a6565df250e (patch) | |
tree | d42f2d4c7fdd8cb1526131515690bc9229150505 /sys/src/9/bcm/fns.h | |
parent | 796e5e6000677a39577d545e4603ce251e7cbfe9 (diff) |
bcm: import changes for raspi2/3 from richard miller
Diffstat (limited to 'sys/src/9/bcm/fns.h')
-rw-r--r-- | sys/src/9/bcm/fns.h | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/sys/src/9/bcm/fns.h b/sys/src/9/bcm/fns.h index a9944a383..eb9c09eb5 100644 --- a/sys/src/9/bcm/fns.h +++ b/sys/src/9/bcm/fns.h @@ -10,6 +10,9 @@ extern void cachedwbse(void*, int); extern void cachedwbinvse(void*, int); extern void cacheiinv(void); extern void cacheuwbinv(void); +extern void cachedwbtlb(void*, int); +extern void cacheiinvse(void*, int); +extern void cachedinvse(void*, int); extern uintptr cankaddr(uintptr pa); extern int cas32(void*, u32int, u32int); extern void checkmmu(uintptr, uintptr); @@ -20,11 +23,13 @@ extern void coherence(void); extern ulong cprd(int cp, int op1, int crn, int crm, int op2); extern ulong cprdsc(int op1, int crn, int crm, int op2); extern void cpuidprint(void); +extern u32int cpidget(void); extern void cpwr(int cp, int op1, int crn, int crm, int op2, ulong val); extern void cpwrsc(int op1, int crn, int crm, int op2, ulong val); #define cycles(ip) *(ip) = lcycles() extern void dmastart(int, int, int, void*, void*, int); extern int dmawait(int); +extern uintptr dmaaddr(void *va); extern int fbblank(int); extern void* fbinit(int, int*, int*, int*); extern u32int farget(void); @@ -41,13 +46,26 @@ extern char *getethermac(void); extern uint getfirmware(void); extern int getpower(int); extern void getramsize(Confmem*); +extern int getncpus(void); +extern void gpiosel(uint, int); +extern void gpiopull(uint, int); +extern void gpiopullup(uint); +extern void gpiopulloff(uint); +extern void gpiopulldown(uint); +extern void gpioout(uint, int); +extern int gpioin(uint); +extern void gpioselevent(uint, int, int); +extern int gpiogetevent(uint); +extern void gpiomeminit(void); extern u32int ifsrget(void); +extern void intrcpushutdown(void); extern void irqenable(int, void (*)(Ureg*, void*), void*); #define intrenable(i, f, a, b, n) irqenable((i), (f), (a)) extern void intrsoff(void); extern int isaconfig(char*, int, ISAConf*); +extern void l2cacheuwbinv(void); extern void links(void); -extern void mmuinit(void); +extern void mmuinit(void*); extern void mmuinit1(void); extern void mmuinvalidate(void); extern void mmuinvalidateaddr(u32int); @@ -58,8 +76,10 @@ extern void procsave(Proc*); extern void procfork(Proc*); extern void procsetup(Proc*); extern void screeninit(void); +extern void setclkrate(int, ulong); extern void setpower(int, int); extern void setr13(int, u32int*); +extern int startcpus(uint); extern int splfhi(void); extern int splflo(void); extern int tas(void *); @@ -68,9 +88,17 @@ extern void trapinit(void); extern void uartconsinit(void); extern int userureg(Ureg*); extern void vectors(void); +extern void vgpinit(void); +extern void vgpset(uint, int); extern void vtable(void); -extern uint gettemp(int); -extern uint getrevision(void); +extern void wdogoff(void); +extern void wdogfeed(void); +extern void vtable(void); +extern int l2ap(int); +extern uint getcputemp(void); +extern char *cputype2name(char *buf, int size); +extern uint getboardrev(void); +extern void sev(void); /* * floating point emulation |