aboutsummaryrefslogtreecommitdiff
path: root/sys/dts
Commit message (Collapse)AuthorAgeFilesLines
* Remove DTS files for arm boards we don't supportAndrew Turner2021-01-2714-3464/+0
| | | | | | | | | These are all FreeBS-specific device tree files. We don't support any of these anymore, remove them. Reviewed by: emaste, manu Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D28365
* Switch to the new device-tree vendor treeEmmanuel Vadot2021-01-151-1/+1
| | | | | | | | | | | | | The old vendor tree was never fully merged and doing partial merge isn't supported with git subtree merge so a new one was created. Switch the build to use the new DTS from sys/contrib/device-tree This also bump the DTS used to be in sync with Linux 5.9 While here change the way to get the linux version, simply hardcode the value in sys/dts/freebsd-compatible.dts and use awk to get that to put it in the CFLAGS. As a bonus we now have the bindings docs available in sys/contrib/device-tree/Bindings/ so no need to link to the Linux repo or to the vendor tree.
* cgem: add 64-bit supportThomas Skibo2021-01-101-6/+6
| | | | | | | | Add 64-bit address support to Cadence CGEM Ethernet driver for use in other SoCs such as the Zynq UltraScale+ and SiFive HighFive Unleashed. Reviewed by: philip, 0mp (manpages) Differential Revision: https://reviews.freebsd.org/D24304
* Brand our DTS with the Linux version it was imported fromEmmanuel Vadot2020-10-101-0/+3
| | | | | | | | | | | | DTS must be synced with the kernel, add a freebsd,dts-version string in the root node of each DTS that we compile so we can later in the kernel check that it contain a correct value. Reviewed by: imp, mmel Differential Revision: https://reviews.freebsd.org/D26724 Notes: svn path=/head/; revision=366599
* Remove licensesOleksandr Tymoshenko2020-06-042-56/+2
| | | | | | | | | | I haven't requested explicit permission from authors and shouldn't have added BSDL headers without it. Requestes by: imp Notes: svn path=/head/; revision=361796
* Add copyright headers to spigen overlays for rpi3 and rpi4Oleksandr Tymoshenko2020-06-042-2/+56
| | | | | | | Reported by: Rodney W. Grimes <freebsd@gndrsh.dnsmgr.net> (for rpi4) Notes: svn path=/head/; revision=361782
* Add spigen overlay for Raspberry Pi 4Oleksandr Tymoshenko2020-06-031-0/+30
| | | | | | | Submitted by: gergely.czuczy@harmless.hu Notes: svn path=/head/; revision=361775
* allwinner: aw_thermal: Cope with DTS changesEmmanuel Vadot2020-04-146-133/+0
| | | | | | | | | | | | | The upstream DTS now include the thermal device node and the SID calibration entry. Update our driver to cope with this change and remove the DTB overlays that aren't needed anymore. MFC after: 2 months X-MFC-With: r359934 Notes: svn path=/head/; revision=359935
* arm: zynq: An SPI driver for Zynq platformsEmmanuel Vadot2020-02-281-0/+17
| | | | | | | | Submitted by: Thomas Skibo Differential Revision: https://reviews.freebsd.org/D23319 Notes: svn path=/head/; revision=358426
* Add an overlay for RK3328 USB3 node.Ganbold Tsagaankhuu2020-01-291-0/+39
| | | | | | | | | | | | | It doesn't exist in mainline dts due to the issues related with detaching and reattaching USB3 devices as mentioned in https://patchwork.kernel.org/patch/10853381/ In case of FreeBSD, as a temporary workaround "usbconfig reset" command can fix the problem. Reviewed by: manu Notes: svn path=/head/; revision=357254
* zilinx/zy7_qspi: Add a qspi driver for Zynq platforms.Emmanuel Vadot2020-01-193-1/+20
| | | | | | | | | | | | This is a qspi driver for the Xilinx Zynq-7000 chip. It could be useful for anyone wanting to boot a system from flash memory instead of SD cards. Submitted by: Thomas Skibo (thomasskibo@yahoo.com) Differential Revision: https://reviews.freebsd.org/D14698 Notes: svn path=/head/; revision=356895
* arm64: allwinner: dtso: Add spi0 spigen DTSOEmmanuel Vadot2020-01-111-0/+17
| | | | | | | | | | | | This overlays can be used on A64 board to use spigen and spi(8) on the spi0 pins. Tested On: Pine64-LTS, A64-Olinuxino Submitted by: Gary Otten <gdotten@gmail.com> Notes: svn path=/head/; revision=356637
* dtso: allwinner: Add an overlay for H3 thermal nodeGanbold Tsagaankhuu2019-08-242-0/+32
| | | | | | | Reviewed by: manu Notes: svn path=/head/; revision=351452
* dtso: allwinner: Add an overlay for H3 i2c0Emmanuel Vadot2019-07-201-0/+12
| | | | | | | | Most of the H3 boards don't enable i2c as it is unused. Add an overlay so it's easier for user to use i2c device. Notes: svn path=/head/; revision=350180
* arm64: Add support for NanoPI NEO2Emmanuel Vadot2019-05-024-0/+174
| | | | | | | | | | | | | Add overlay files and activate devicetree file for NanoPi NEO2 featuring Allwinner H5 ARM64 core. To enable sound, dma and codec drivers are enabled for build. Submitted by: Manuel Stühn (freebsdnewbie@freenet.de) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D20129 Notes: svn path=/head/; revision=347017
* arm: dts: Remove some old DTSEmmanuel Vadot2019-04-1021-3170/+0
| | | | | | | | | | | RPI is using the firmware provided DTS since 12.0 Pandaboard works with the Linux DTS RK* Exynos* and Meson*/Odroid* don't even work with current source code, if someone wants to make them work again they better use the Linux DTS. Notes: svn path=/head/; revision=346095
* Adapt FreeBSD specific DT stub for Jetson TK1 board to be consistent withMichal Meloun2019-02-061-1/+1
| | | | | | | | | | | | update of devicetree to 4.19 in r340337. Our build system doesn't provide dependencies for included DTS files, so nobody noticed this issue for long time. PR: 235362 MFC after: 1 week Notes: svn path=/head/; revision=343828
* [rpi] Reorganize spigen(4) overlays for Raspberry PiOleksandr Tymoshenko2019-01-162-11/+32
| | | | | | | | | | | | | | | - Remove CS=2 entry from spigen-rpi2 since it didn't work - Add spigen-rpi3 overlay for Raspberry Pi 3 - Enable rpi overlay modules for GENERIC kernel on aarch64 PR: 233489 Submitted by: bobf@mrp3.com Reviewed by: db MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D16088 Notes: svn path=/head/; revision=343069
* arm64: allwinner: Fix pwm dtsoEmmanuel Vadot2018-12-122-52/+0
| | | | | | | | | Double patched files ended up in the tree Reported by: kevans Notes: svn path=/head/; revision=342006
* arm64: allwinner: Add DTSO for pwm and r_pwmEmmanuel Vadot2018-12-122-0/+104
| | | | | | | Those are both dtso (overlays) for the two pwm controllers found on the A64. Notes: svn path=/head/; revision=342005
* arm64: allwinner: Add 792Mhz frequency to sun50i-a64-oppEmmanuel Vadot2018-11-301-0/+5
| | | | | | | | | | | | | | This is the frequency of the cpu on the Pinebook so add it to make cpufreq find the current setting. Note that this dtbo on the Pinebook doesn't work right now as u-boot dtb doesn't have symbols and so it fails to apply. Linux 4.20 have the dts and will be imported once taggued. MFC after: 1 month X-MFC with: r341268 Notes: svn path=/head/; revision=341333
* arm64: allwinner: Add a dtbo to have cpu operating pointsEmmanuel Vadot2018-11-291-0/+72
| | | | | | | | | This enables cpufreq on A64 boards. MFC after: 1 month Notes: svn path=/head/; revision=341268
* Fix test-dts{,o} targetsKyle Evans2018-11-129-7/+13
| | | | | | | | | | | | | | | | | | | There were two main problems here: 1.) sys/dts/Makefile.inc is not included from various */overlays directories by default, only ../Makefile.inc 2.) When shelling out for DTS/DTSO, cwd != .CURDIR, so enumeration always failed These changes allow make test-dts and make test-dtso to function in their respective directories. Reviewed by: manu MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D17961 Notes: svn path=/head/; revision=340390
* Revert r339421 due to unintended files included to commit.Ruslan Bukin2018-10-181-4/+0
| | | | | | | | | Reported by: ian Approved by: re (gjb) Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=339422
* Support RISC-V implementations that do not manage the A and D bitsRuslan Bukin2018-10-181-0/+4
| | | | | | | | | | | | | | | | | | | (e.g. RocketChip, lowRISC and derivatives). RISC-V page table entries support A (accessed) and D (dirty) bits. The spec makes hardware support for these bits optional. Implementations that do not manage these bits in hardware raise page faults for accesses to a valid page without A set and writes to a writable page without D set. Check for these types of faults when handling a page fault and fixup the PTE without calling vm_fault if they occur. Reviewed by: jhb, markj Approved by: re (gjb) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17424 Notes: svn path=/head/; revision=339421
* arm64: Add DTS overlays for A64Emmanuel Vadot2018-08-245-0/+75
| | | | | | | | | | | | | - sun50i-a64-sid.dtso registers the Security ID node, needed for thermal - sun50i-a64-ths.dtso registers the thermal node, for which we already have a driver - sun50i-a64-timer.dtso registers the timer node, needed as the generic timer glitch on A64 SoC. Approved by: re (gjb) Notes: svn path=/head/; revision=338294
* Remove Atmel AT91RM9200 and AT91SAM9 support.Warner Losh2018-07-272-81/+0
| | | | | | | | | | | | | | The last known robust version of this code base was FreeBSD 8.2. There are no users of this on current, and all users of it have abandoned this platform or are in legacy mode with a prior version of FreeBSD. All known users on arm@ approved this removal, and there were no objections. Differential Revision: https://reviews.freebsd.org/D16312 Notes: svn path=/head/; revision=336770
* Add spi-max-frequency properties to all spigen nodes. This is a requiredIan Lepore2018-06-232-0/+4
| | | | | | | | | | property for spi devices, although in the spigen case it's expected that the speed will be overridden at runtime via the ioctl interface. A very conservative 500khz speed is used (I've never seen a spi device that couldn't run at 1mhz). Notes: svn path=/head/; revision=335592
* Add spigen(4) fdt data overlays for RPI-B, RPI-2.Ian Lepore2018-06-222-0/+66
| | | | | | | | | | | | By adding spigen-rpi{2,-b}.dtso to fdt_overlays= in loader.conf, the fdt data will set up the correct pinmux and device nodes to create a spigen(4) device for each available chipselect pin. Submitted by: Bob Frazier Differential Revision: https://reviews.freebsd.org/D15067 Notes: svn path=/head/; revision=335564
* arm: overlays: Update to new path-based sugar formatKyle Evans2018-05-042-19/+12
| | | | Notes: svn path=/head/; revision=333250
* Garbage collect the a83t emac overlaysKyle Evans2018-05-032-73/+0
| | | | | | | | | | | | The 4.16 DTS import brought in emac support for the a83t. Since these boards' DTS is pulled from /boot and I forgot to hook these up to the build, they should be fairly safe to go away. The a83t-sid and h3-sid overlays are still relevant. a83t-sid will likely come in with 4.18 DTS. Notes: svn path=/head/; revision=333225
* Update mv_gpio driver to new FreeBSD APIMarcin Wojtas2018-04-267-28/+33
| | | | | | | | | | | | | | | | | This patch implements and exports functions described in gpio_if.m file. It also uses new gpiobus_attach_bus function instead of adding gpioc and gpiobus as children. It removes ulgy reading SoC ID and related if..else, so it depends only on data read from FDT. Submitted by: Patryk Duda <pdk@semihalf.com> Reviewed by: manu Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D14756 Notes: svn path=/head/; revision=333031
* Enable ARM PL330 DMA engine and Cadence Quad SPI flash controller onRuslan Bukin2018-04-231-0/+34
| | | | | | | | | | | Intel Arria 10 SoC boards. Tested on Intel Arria 10 SoC Development Kit. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=332887
* Convert atse(4) driver for Altera Triple-Speed Ethernet MegaCore to useRuslan Bukin2018-04-131-18/+19
| | | | | | | | | | | | | | | xdma(4) interface. This allows us to switch between Altera mSGDMA or SoftDMA engines used by atse(4) device. This also makes atse(4) driver become 25% smaller. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9618 Notes: svn path=/head/; revision=332474
* Add beripic1, msgdma and softdma instances.Ruslan Bukin2018-04-131-0/+73
| | | | | | | Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=332473
* Remove deprecated DT sources of Armada 38x SoCsMarcin Wojtas2018-04-108-2368/+0
| | | | | | | | | | | | Now, as all platform code and drivers support Linux DT binding, safely remove deprecated sources and rely on sys/gnu/dts from now on. Obtained from: Semihalf Sponsored by: Stormshield Notes: svn path=/head/; revision=332362
* [rpi] Add fdt_pinctrl(4) support to Raspberry Pi GPIO driverOleksandr Tymoshenko2018-04-082-1/+26
| | | | | | | | | | | | | | | | | | On Raspberry Pi platform GPIO controller also responsible for pins multiplexing. Pi code predates proper FDT support in FreeBSD so a lot of pinmux info is hardcoded. This patch: - Implements pinctl methods in bcm2835_gpio - Converts all devices with ad-hoc pinmux info to proper pin control mechanisms and adds pinmux info in FreeBSD's custom dts files. - Adds fdt_pinctrl option to RPI2 and RPI-B kernels - Adds SPI pinmux config to FreeBSD's customization of GNU DTS. Reviewed by: imp, manu Differential Revision: https://reviews.freebsd.org/D14104 Notes: svn path=/head/; revision=332262
* Add a83t overlays for sid and emacKyle Evans2018-04-073-0/+90
| | | | | | | | | | | The sun8i-a83t-bananapi-m3-emac overlay technically doesn't match what will be coming from upstream. The tx-delay and rx-delay should be specified in terms of allwinner,tx-delay-ps and allwinner,rx-delay-ps respectively. The values are still technically correct for what we write in if_awg, and support for the new bindings will be coming soon. Notes: svn path=/head/; revision=332260
* Match Marvell Armada38X PCIE ranges in dts with LinuxMarcin Wojtas2018-04-042-14/+14
| | | | | | | | | | | | | If driver cannot determine ranges based on fdt, it will calculate them based on number and type of current port. Submitted by: Rafal Kozik <rk@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D14752 Notes: svn path=/head/; revision=332019
* Change reg in Marvell Armada38X pcie FDTMarcin Wojtas2018-04-042-41/+28
| | | | | | | | | | | | | | | | | | Ranges in pcie-controller are unused, so could be changed to match Linux device tree represntation. Same with interrupt-cells and interrupt-parent. In PCI controller driver ocd_data are used for matching driver and choose proper resources acquisition function. fdt_win_process_child have new argument which provide information about fdt node containing addresses of MMIO registers. Submitted by: Rafal Kozik <rk@semihalf.com> Reviewed by: manu [DT part] Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D14751 Notes: svn path=/head/; revision=332017
* Match Marvell Armada38X PCI compatible with LinuxMarcin Wojtas2018-04-042-7/+0
| | | | | | | | | | | | | | | | | | | | | In Linux FDT pcie does not have compatible string. Configuration of windows in mv_common was based on fdt compatible. Now pcie windows are configured by their parent: pcie_controller. Processing is moved to fdt_win_process_child. fdt_win_process now only walk through the tree. SOC_NODE_PCI is position of pcie function in soc_node_spec array. PCIe probe cannot use ofw_bus_search_compatible, because it needs to check also device type and parents compatible. Submitted by: Rafal Kozik <rk@semihalf.com> Reviewed by: manu [DT part] Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D14749 Notes: svn path=/head/; revision=332015
* Make Marvell AmadaXP timer driver more genericMarcin Wojtas2018-04-031-1/+1
| | | | | | | | | | | | | | | | | Store pointers to SoC specific functions in mv_timer_config structure and determine proper config in runtime based on compatible string from FDT. Compatible string for ArmadaXP timers is changed to match Linux FDT. Armada 38x uses generic Cortex-A9 timer and separate watchdog drivers, so it does not need to be supported by timer driver. Submitted by: Rafal Kozik <rk@semihalf.com> Reviewed by: manu Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D14741 Notes: svn path=/head/; revision=331961
* Add dtb overlays supportEmmanuel Vadot2018-03-243-1/+29
| | | | | | | | | | | | | | | | | | | | | | DTB Overlays are useful to change/add nodes to a dtb without the need to modify it. Add support for building dtbo during buildkernel. The goal of DTBO present in the FreeBSD source tree is to fill a gap in time when we submit changes upstream (Linux). Instead of waiting 2 to 4 months we can add a DTBO in tree in the meantime. This is not for adding DTBO for capes/hat/addon boards, those will be better to put in a ports. This is also not for enabling a i2c/spi/pwm controller on certain pins, each user have a different use case for those (which pins to use etc ...) and we cannot have all possible configuration. Add a dtbo for sun8i-h3-sid which add the SID node missing in upstream dts. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D14782 Notes: svn path=/head/; revision=331499
* sys/dts: Remove arm64 from subdir as it no longer exists.Emmanuel Vadot2018-03-191-1/+1
| | | | | | | r325987 removed the arm64 directory, remove it from SUBDIR too. Notes: svn path=/head/; revision=331210
* [rpi] remove IRQ support for BCM233x RNGOleksandr Tymoshenko2018-03-102-8/+0
| | | | | | | | | | | | | | | | | | Upstream DTBs don't provide IRQ lines for the RNG. Moreover, harvesting bytes as often as the RNG interrupt is triggered (87 times per sec) is an overkill. For these reasons, get rid of the interrupt mode and make callout mode the default, with random bits harvested every 4 seconds. Submitted by: Sylvain Garrigues <sylgar@gmail.com> Reviewed by: ian, imp, manu, mmel Approved by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D14541 Notes: svn path=/head/; revision=330727
* Switch to mainstream DTS for Raspberry Pi-B and Pi-2.Michal Meloun2018-02-272-707/+85
| | | | | | | | | | | This is first step in attempt to make FreeBSD compatible with all variants of RPi boards. Reviewed by: gonzo MFC after: 3 weeks Notes: svn path=/head/; revision=330072
* Add a skeleton Clock Manager for RPi2/3, and use that from pwmPoul-Henning Kamp2018-01-221-1/+6
| | | | | | | | | | | instead of frobbing the registers directly. As a hack the bcm2835_pwm kmod presently ignores the 'status="disabled"' in the RPI3 DTB, assuming that if you load the kld you probably want the PWM to work. Notes: svn path=/head/; revision=328257
* Add a rudimentary PWM driver for the RaspberryPi.Poul-Henning Kamp2018-01-141-0/+5
| | | | | | | | | | | Control is through sysctl, only GPIO12 supported. bootverbose creates sysctls for direct mangling of relevant registers. Only tested on RPI2 Notes: svn path=/head/; revision=327976
* dts: arm: Remove imx6 related dtsEmmanuel Vadot2017-12-045-815/+0
| | | | | | | | | Everything should work with dts from sys/gnu/dts Discussed with: ian Notes: svn path=/head/; revision=326528
* dts: arm64: allwinner: Remove unused dts for pine64Emmanuel Vadot2017-11-187-1185/+0
| | | | | | | | Latest u-boot port provide the dts for pine64, remove our custom and outdated dts for this board. Notes: svn path=/head/; revision=325987