cinap_lenrek
05f9a66fd4
bcm, bcm64: add vcore support for raspberry pi 3 GPIO expander
2019-07-28 11:39:57 +02:00
cinap_lenrek
ea2a5a33ca
bcm64: fix wrong prescaler for generic timer on rpi4
...
the raspberry pi 4 uses 54 instead of 19.2 MHz crystal.
detect which frequency is used by reading OTP bootmode
register:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/otpbits.md
Bit 1: sets the oscillator frequency to 19.2MHz
2019-07-27 17:59:25 +02:00
cinap_lenrek
834f670349
ethergenet: fix flow control negotiation
2019-07-25 17:44:47 +02:00
cinap_lenrek
706926f818
bcm64: add config for raspberry pi 4
2019-07-25 09:12:40 +02:00
cinap_lenrek
3bc4e5a6d5
bcm64: work in progress genet ethernet driver for raspberry pi 4
2019-07-25 09:11:53 +02:00
cinap_lenrek
2a4c767c41
bcm64: reorganize virtual memory map for rapberry pi4
2019-07-25 09:10:07 +02:00
cinap_lenrek
4200778861
bcm64: update io.h for pci express and raspberry pi 4
2019-07-25 09:08:35 +02:00
cinap_lenrek
6d9edeeb67
bcm64: add pci express driver for raspberry pi 4
2019-07-25 09:04:50 +02:00
cinap_lenrek
676ef0ca0b
bcm64: add gic interrupt controller driver for raspberry pi 4
2019-07-25 09:02:47 +02:00
cinap_lenrek
10b456ff44
bcm64: add gisb arbiter driver to catch bus timeouts
2019-07-25 09:01:44 +02:00
cinap_lenrek
811b80cae1
bcm, bcm64: make irq.$O optional and add intrdisable(), use intrenable()
...
the raspberry pi 4 has a new interrupt controller and
pci support, so get rid of intrenable() macro and
properly make intrenable function with tbdf argument.
2019-07-25 08:58:58 +02:00
cinap_lenrek
dfea95b3c2
bcm64: strip debug symbols to make sure .img file is multiple of 4 bytes
...
the raspberry pi4 firmware refuses to enable the GIC interrup controller
for arm64 when the .img file is not a multiple of 4 bytes. yes, this
is insane and nowhere documented.
2019-07-25 08:52:46 +02:00
cinap_lenrek
5a0c2e2d17
bcm, bcm64: add dmaflush() function and make virtio size and virtual address configurable in Soc.virtio and Soc.iosize
2019-07-25 08:41:37 +02:00
cinap_lenrek
4983adfa2c
bcm, bcm64: add support for device tree parameter passing
...
the new raspberry pi 4 firmware for arm64 seems to have
broken atag support. so we now parse the device tree
structure to get the bootargs and memory configuration.
2019-07-25 08:19:12 +02:00
cinap_lenrek
f42e53655e
bcm64: implement dtracy support
2019-06-14 10:28:30 +02:00
cinap_lenrek
d5e4558078
bcm64: remove unneccesary tlb flush on mmuidmap()
2019-05-17 18:57:05 +02:00
cinap_lenrek
2235660f86
bcm64: no need to flush instruction cache when switching TTBR0
2019-05-17 18:56:34 +02:00
cinap_lenrek
5c5c1b6666
bcm64: switch to 64k page size
2019-05-17 18:35:14 +02:00
cinap_lenrek
b24ed2bfac
bcm64: generalize mmu code
...
make user page table list heads arrays so we can
index into the right level avoiding the special
cases for differen PTLEVELS.
2019-05-15 16:19:20 +02:00
cinap_lenrek
47d3e8fc63
bcm64: fix mmu0clear() mistake from previous commit
2019-05-15 13:24:34 +02:00
cinap_lenrek
a3b5e3994f
bcm64: implement reboot support
2019-05-13 19:20:21 +02:00
cinap_lenrek
db3bf8271b
bcm64: use exclusive monitor on nrdy to wake up idlehands()
...
when the exclusive monitor is cleared, a event is generated
which we can use to wake up idlehands. that way we do not
need to wait for the next timer interrupt until a cpu takes
work from the run queue.
2019-05-10 14:05:04 +02:00
cinap_lenrek
9d790238f2
bcm64: use MOVP instruction for saving and restoring registers
2019-05-09 11:11:45 +02:00
cinap_lenrek
1046d3e30b
bcm64: map framebuffer write-through to allow unaligned access
2019-05-09 02:17:50 +02:00
cinap_lenrek
de7190ba6b
bcm64: provide idlehands() function
2019-05-05 13:59:03 +02:00
cinap_lenrek
b0c402dfa6
bcm64: get rid of usb workaround delay
2019-05-05 13:57:48 +02:00
cinap_lenrek
c6ad540af5
bcm64: add experimental work in progress arm64 kernel for raspberry pi 3
2019-05-03 23:14:57 +02:00