#
fdafd315 |
|
24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
|
#
685dc743 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
65454883 |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
arm: clean up empty lines in .c and .h files
|
#
850dd7e9 |
|
17-Dec-2019 |
Kyle Evans <kevans@FreeBSD.org> |
arm: add SOC_BRCM_BCM2837 option, include it in GENERIC We use armv7/GENERIC for the RPI2 images. The original RPI2 is actually a 32-bit BCM2836, but v1.2 was upgraded to the 64-bit BCM2837. The project continues to provide the RPI2 image as armv7, as it's the lowest common denominator of the two. Historically, we've just kind of implicitly acknowledged this by including some bcm2837 bits on a SOC_BCM2836 kernel config -- this worked until r354875 added code that actually cared. Acknowledge formally that BCM2837 is valid in arm32. This name is inconsistent with the other BCM* SOC on !arm64 for two reasons: 1. It's a pre-existing option on arm64, and 2. the naming convention on arm/ should've arguably changed to include BRCM #1 seems to be a convincing enough argument to maintain the existing name for it.
|
#
adcd9597 |
|
24-Jun-2018 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
[rpi] Fix compatiblity with upstream DTB for RPi 3B and 3B+ Upstream dtb switched to using brcm,bcm2837 for platform compatibility string. Patch platfrom and cpufreq compatiblity data accordingly. Submitted by: Sylvain Garrigues <sylgar@gmail.com> Tested by: db@ Differential Revision: https://reviews.freebsd.org/D15998
|
#
108117cc |
|
19-Mar-2018 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
[ofw] fix errneous checks for OF_finddevice(9) return value OF_finddevices returns ((phandle_t)-1) in case of failure. Some code in existing drivers checked return value to be equal to 0 or less/equal to 0 which is also wrong because phandle_t is unsigned type. Most of these checks were for negative cases that were never triggered so trhere was no impact on functionality. Reviewed by: nwhitehorn MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D14645
|
#
af3dc4a7 |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/arm: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
|
#
c5765d84 |
|
01-Oct-2017 |
Ian Lepore <ian@FreeBSD.org> |
Allow Raspberry Pi platform and drivers to be configured with upstream DTBs. - Added more compatibility strings to drivers not yet converted - Added new RPI platform code compatibility string to match the ones used upstream - Adapted RPI and RPI2 DTS to match the new platform code compatibility string The goal is to use the upstream DTBs as a replacement for our custom one. This is now possible with these changes. Additionally, as the RPI firmware automatically chooses the right DTB for us, this would allow to have one common armv6 kernel for RPI0 and RPI1 (BCM2835-based), and one common armv7 kernel for RPI2 v1.1 (BCM2836-based), and RPI2 v1.2 / RPI3 (BCM2837-based). Submitted by: Sylvain Garrigues <sylgar@gmail.com> Differential Revision: https://reviews.freebsd.org/D12360
|
#
6c925b9c |
|
16-Dec-2016 |
Andrew Turner <andrew@FreeBSD.org> |
All armv6 platforms have the same implementation of platform_lastaddr. Replace them with a default handler that returns devmap_lastaddr. Reviewed by: mmel Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D8806
|
#
cf1db37a |
|
15-Dec-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Directly include openfirm.h rather than through fdt_common.h as none of the latter file is needed. Sponsored by: ABT Systems Ltd
|
#
ba9f40ca |
|
13-Dec-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Use the platform_*_t typedefs to help check the platform function types are correct. Sponsored by: ABT Systems Ltd
|
#
9783ea5c |
|
13-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Use the correct OF_getencprop over OF_getprop + fdt32_to_cpu to read integer data from the device tree. Sponsored by: ABT Systems Ltd
|
#
d654c805 |
|
30-Sep-2016 |
Emmanuel Vadot <manu@FreeBSD.org> |
RPI2: Add support for MULTIDELAY, this is needed for inclusion into GENERIC.
|
#
10912ba8 |
|
29-Sep-2016 |
Emmanuel Vadot <manu@FreeBSD.org> |
RPI2: Add support for PLATFORM_SMP so we can later add it to GENERIC. Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D8063
|
#
0c051204 |
|
29-Sep-2016 |
Emmanuel Vadot <manu@FreeBSD.org> |
RPI-B: Add support for MULTIDELAY 100 cycles per us seems accurate enough, at least it's better than the 200 value that was used before. Reviewed by: andrew, imp Differential Revision: https://reviews.freebsd.org/D8062
|
#
eb2035b5 |
|
23-Sep-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Also implement platform_cpu_reset on bcm2836
|
#
0dbb8873 |
|
23-Sep-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Move cpu_reset to be a platform method to allow multiple implementations. Reviewed by: mmel Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D8010
|
#
c35b5d83 |
|
22-Sep-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Remove bus_dma_get_range and bus_dma_get_range_nb on armv6. We only need this on a few earlier arm SoCs. Reviewed by: manu (earlier version) Sponsored by: ABT Systems Ltd
|
#
cca48a59 |
|
30-Apr-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Add a MULTIDELAY option to allow the ARM kernel to have multiple DELAY implementations. Early in the boot the kernel will use an approximate, however after the timer has been probed it will switch to a more accurate implementation. Reviewed by: manu Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D5762
|
#
30b72b68 |
|
26-Apr-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Move arm's devmap to some generic place, so it can be used by other architectures. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D6091 Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
#
4e46a66e |
|
25-Mar-2015 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for the Raspberry Pi 2. As the chip is based on the bcm2835 in the Raspberry Pi B we support most of the devices are already supported, however the base address has changed. A few items are not working, or missing. The main ones are: * DMA doesn't work in the sdhci driver. * Enabling vchiq halts the boot, may be interrupt related. * There is no U-Boot port yet so the DTB is embedded in the kernel. The last point will make it difficult to boot FreeBSD, however there is support for the Raspberry Pi 2 in the U-Boot git repo. As I have not tested this it is left as an open task to create a port to build. X-MFC: When the above issues are fixed Sponsored by: ABT Systems Ltd
|
#
40e6bdaf |
|
18-Nov-2014 |
Warner Losh <imp@FreeBSD.org> |
opt_global.h is included automatically in the build. No need to explicitly include it in these places. Sponsored by: Netflix
|
#
27521ff8 |
|
17-May-2014 |
Andrew Turner <andrew@FreeBSD.org> |
Add the start of the ARM platform code. This is based on the PowerPC platform code, it is expected these will be merged in the future when the ARM code is more complete. Until more boards can be tested only use this with the Raspberry Pi and rrename the functions on the other SoCs. Reviewed by: ian@
|
#
fdadb971 |
|
06-Jan-2014 |
Ian Lepore <ian@FreeBSD.org> |
Switch to using arm_devmap_add_entry() to set up static device mapping. This eliminates the hard-coded max kva and roughly doubles the available kva space.
|
#
515cbe86 |
|
04-Nov-2013 |
Ian Lepore <ian@FreeBSD.org> |
Call initarm_lastaddr() later in the init sequence, after establishing static device mappings, rather than as the first of the initializations that a platform can hook into. This allows a platform to allocate KVA from the top of the address space downwards for things like static device mapping, and return the final "last usable address" result after that and other early init work is done. Because some platforms were doing work in initarm_lastaddr() that needs to be done early, add a new initarm_early_init() routine and move the early init code to that routine on those platforms. Rename platform_devmap_init() to initarm_devmap_init() to match all the other init routines called from initarm() that are designed to be implemented by platform code. Add a comment block that explains when these routines are called and the type of work expected to be done in each of them.
|
#
3110e7ee |
|
04-Nov-2013 |
Ian Lepore <ian@FreeBSD.org> |
Move remaining code and data related to static device mapping into the new devmap.[ch] files. Emphasize the MD nature of these things by using the prefix arm_devmap_ on the function and type names (already a few of these things found their way into MI code, hopefully it will be harder to do by accident in the future).
|
#
99af02e3 |
|
26-Oct-2013 |
Ian Lepore <ian@FreeBSD.org> |
Retire arm_remap_nocache() and the data and constants associated with it. The only remaining user was the code that allocates bounce pages for armv4 busdma. It's not clear why bounce pages would need uncached memory, but if that ever changes, kmem_alloc_attr() would be the way to get it.
|
#
64894120 |
|
26-Oct-2013 |
Ian Lepore <ian@FreeBSD.org> |
Remove #include <machine/frame.h> from all the arm code that doesn't really need it. That would be almost everywhere it was included. Add it in a couple files that really do need it and were previously getting it by accident via another header.
|
#
69d75558 |
|
26-Oct-2013 |
Ian Lepore <ian@FreeBSD.org> |
Remove all #include <machine/pmap.h> from arm code. It's already included by vm/pmap.h, which is a prerequisite for arm/machine/pmap.h so there's no reason to ever include it directly. Thanks to alc@ for pointing this out.
|
#
0b5eb456 |
|
13-Jan-2013 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Remove accidentally copypasted comment Spotted by: gavin
|
#
fd79f4a5 |
|
05-Jan-2013 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Export board serial and board revision obtained from FDT blob
|
#
7bf9ab53 |
|
03-Nov-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Merge the FDT versions of initarm. The copies of initarm used on platforms with FDT support were almost identical. The differences were pulled out into separate functions that were called by initarm. This change merges the, now identical, copies of initarm and a few of it's support functions. This is a step towards a common kernel on ARMv6.
|
#
ef8abaae |
|
31-Oct-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Merge r242125 into the other ARMv6 copies of initarm.
|
#
c2257f93 |
|
23-Sep-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Clean up the bcm2835 initarm. It is now identical to the other ARMv6 copies Tested by: Alexander Yerenkow
|
#
610ba83a |
|
23-Sep-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Fix a typo in a Broadcom initarm debug printf
|
#
1f008b99 |
|
22-Sep-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Pull out the SoC specific parts of initarm into separate functions
|
#
70203625 |
|
22-Sep-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Update different versions of physmap_init to be identical in preparation for merging them.
|
#
d98d8a1e |
|
22-Sep-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Reduce the diff between the FDT implementations of initarm. This only touches whitespace and comments.
|
#
11612982 |
|
22-Sep-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Create a common set_stackptrs in sys/arm/machdep.c. On single core devices set_stackptrs is only ever called with cpu = 0 in initarm and will be identical to the existing function. On SMP this needs to be implemented for sys/arm/mp_machdep.c, but the implementations are identical for each SoC.
|
#
1b1a53cf |
|
30-Aug-2012 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add barebone Raspberry Pi port. Supported parts: - Interrupts controller - Watchdog - System timer - Framebuffer (hardcoded resolution/bpp)
|