| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into the kernel, which is used mostly on early development stages.
On RPI(2) the DTB is loaded and modified by firmware and then handed to
kernel via U-Boot and ubldr.
The RPI firmware adds (or modify) a few valuable data to the in memory
DTB, like:
- System memory;
- Ethernet MAC address;
- framebuffer settings;
- Board serial and revision;
- clock-frequency for most of devices.
|
|
|
|
|
|
| |
it fails, fetch the clock-frequency from DTB.
If both methods fail, use the hardcoded default.
|
|
|
|
| |
We will need them when we start booting using ubldr.
|
| |
|
| |
|
|
|
|
|
|
| |
Reduce the differences to bring in the MMC/SD driver.
Approved by: ganbold (licence change)
|
|
|
|
| |
Drain the RX FIFO and continue on failure.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each TX queue can hold one packet (yes, if_emac can send only two(!)
packets at a time).
Even with this change the very limited FIFO buffer (3 KiB for TX and 13 KiB
for RX) fill up too quick to sustain higher throughput.
For the TCP case it turns out that TX isn't the limiting factor, but the RX
side is (the FIFO fill up and starts to discard packets, so the sender has
to slow down).
|
|
|
|
| |
could return with lock held.
|
|
|
|
| |
we can only build for EABI.
|
|
|
|
|
| |
the instruction may be over two pages so the program counter could point
to the wrong page.
|
|
|
|
|
|
|
|
|
|
|
| |
Do not strip the ethernet CRC until we read all data from FIFO, otherwise
the CRC bytes would be left in FIFO causing the failure of next packet
(wrong packet header).
When this error happens the receiver has to be disabled and the RX FIFO
flushed, discarding valid packets.
With this fix if_emac behaves a lot better.
|
|
|
|
|
|
|
|
|
|
| |
There are a few differences between the two. On arm we need to provide a
list of addresses we may be mapping before we have initialised the virtual
memory subsystem, however on arm64 we allocate a small (2MiB for a 4k
granule) range to be used for such purposes.
Differential Revision: https://reviews.freebsd.org/D2249
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
| |
handles versions 0.1 and 0.2 of the standard on 32-bit ARM.
With this driver we can shutdown in QEMU. Further work is needed to
turn secondary cores on on boot and to support later revisions of the
specification.
Submitted by: Robin Randhawa <Robin.Randhawa at ARM.com>
Sponsored by: The FreeBSD Foundation
|
|
|
|
| |
built as part of universe.
|
|
|
|
| |
doesn't handle this address.
|
|
|
|
|
|
|
| |
command line arguments passed in. It will then generate a dtb on the fly,
as such no dts will be added as it may be incorrect.
Relnotes: yes
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed with the pl011 driver. Before this change it would default
to a shift of 0, however the hardware places the registers at 4-byte
addresses meaning the value should be 2.
This patch fixes this for the pl011 when configured using the fdt. The
other drivers have a default value of 0 to keep this a no-op.
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
supply clk81 information. It also changes the hardware strings
in some of the drivers to match what's present in the GNU files.
Submitted by: John Wehle
Reviewed by: imp
|
|
|
|
|
|
|
| |
present in the GNU dts files.
Submitted by: John Wehle
Reviewed by: imp
|
|
|
|
|
|
|
|
|
| |
Previously we used pmap_kremove(), but with ARM_NEW_PMAP it does the remove
in a way that isn't SMP-coherent (which is appropriate in some circumstances
such as mapping/unmapping sf buffers). With matching enter/remove routines
for device mappings, each low-level implementation can do the right thing.
Reviewed by: Svatopluk Kraus <onwahe@gmail.com>
|
|
|
|
|
|
|
| |
by the future qemu virt support.
Differential Revision: https://reviews.freebsd.org/D2238
Reviewed by: emaste
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
it from more files.
|
|
|
|
| |
it's only used there.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add macros to handle the differences in accessing these registers on arm
and arm64.
- Use the fdt data to detect if we are on an ARMv7 or ARMv8.
- Use the virtual timer by default on arm64, we may not have access to
the physical timer.
Differential Revision: https://reviews.freebsd.org/D2208
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
|
|
|
|
| |
former as NO_UNIVERSE.
|
|
|
|
| |
Sponsored by: The FreeBSD Foundation
|
|
|
|
| |
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
access functions in the generic timer driver.
Differential Revision: https://reviews.freebsd.org/D2198
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
not have interupt property in pl310 node. Interrupt is used only to
detect cache activity when L2 cache is disabled, it's not vital for
normal operations.
- Fix intrhook allocation/initialization
|
|
|
|
|
| |
Submitted by: John Wehle
Approved by: stas (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
specially aml8726-m6 and aml8726-m8b SoC based devices.
aml8726-m6 SoC exist in devices such as Visson ATV-102.
Hardkernel ODROID-C1 board has aml8726-m8b SoC.
The following support is included:
Basic machdep code
SMP
Interrupt controller
Clock control driver (aka gate)
Pinctrl
Timer
Real time clock
UART
GPIO
I2C
SD controller
SDXC controller
USB
Watchdog
Random number generator
PLL / Clock frequency measurement
Frame buffer
Submitted by: John Wehle
Approved by: stas (mentor)
|
|
|
|
|
|
| |
arm1136 code.
Reviewed by: ian
|
|
|
|
|
|
|
| |
there wasn;t an option to enable it.
While here remove a check for CPU_ARM10 being defined as it has also been
removed.
|
| |
|
| |
|
| |
|
|
|
|
| |
we happen to be building.
|
| |
|
|
|
|
| |
expect us to add support for any more arm11 SoCs.
|
|
|
|
| |
empty string or NULL to the setup functions that called into it.
|
| |
|
| |
|
| |
|
|
|
|
| |
remaining functions in the context we use them in.
|