Home | History | Annotate | only in /src/sys/dev/fdt
History log of /src/sys/dev/fdt
RevisionDateAuthorComments
 1.3 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.2 15-Jan-2021  jmcneill use fdtbus_intr_establish_xname
 1.1 03-Sep-2018  jmcneill branches: 1.1.2; 1.1.6; 1.1.16;
Add generic AHCI SATA controller bus glue
 1.1.16.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 03-Sep-2018  christos file ahcisata_fdt.c was added on branch phil-wifi on 2019-06-10 22:07:07 +0000
 1.1.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.1 03-Sep-2018  pgoyette file ahcisata_fdt.c was added on branch pgoyette-compat on 2018-09-06 06:55:49 +0000
 1.7 18-Dec-2022  reinoud Add amdsmn(4) and amdccp(4) power management stubs.
 1.6 27-Jan-2021  thorpej branches: 1.6.18;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.5 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.4 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.3 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.2 17-Jan-2021  jmcneill trailing whitespace
 1.1 19-Oct-2018  jakllsch branches: 1.1.2; 1.1.6; 1.1.16;
Add amdccp(4) driver for AMD Cryptographic Coprocessor, as found on the
A11xx Opterons. Driver currently provides RNG service only.
 1.1.16.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 19-Oct-2018  christos file amdccp_fdt.c was added on branch phil-wifi on 2019-06-10 22:07:07 +0000
 1.1.2.2 20-Oct-2018  pgoyette Sync with head
 1.1.2.1 19-Oct-2018  pgoyette file amdccp_fdt.c was added on branch pgoyette-compat on 2018-10-20 06:58:31 +0000
 1.6.18.1 19-Dec-2022  martin Pull up following revision(s) (requested by reinoud in ticket #3):

sys/dev/pci/amdccp_pci.c: revision 1.4
sys/arch/x86/pci/amdsmn.c: revision 1.15
sys/dev/acpi/amdccp_acpi.c: revision 1.6
sys/dev/fdt/amdccp_fdt.c: revision 1.7

Add amdsmn(4) and amdccp(4) power management stubs.
 1.13 02-Nov-2022  jmcneill Re-enable ADMA2 support for arasan,sdhci-8.9a
 1.12 01-Nov-2022  jmcneill Disable ADMA2 on the Arasan SDHCI 8.9A found in the Xilinx Zinq-7000 due
to sporadic transfer errors until the root cause for the errors is found.
In the meantime, SDMA works fine on this platform.
 1.11 26-Oct-2022  jmcneill No need to constrain DMA tag to 32-bits on 32-bit platforms.
 1.10 26-Oct-2022  jmcneill Use generic Arasan SDHCI driver for Zynq-7000.
 1.9 06-Feb-2022  jmcneill sdhc: Retire SDHC_FLAG_USE_ADMA2 flag.

ADMA2 support in sdhc is mature now, so no need for it to be opt-in.
 1.8 23-Jan-2022  skrll Use __MASK(4) in bus_dmatag_subregion. NFCI.
 1.7 17-Jan-2022  skrll s/0xffffffff/UINT32_MAX/ in bus_dmatag_subregion call
 1.6 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.5 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.4 15-Jan-2021  ryo use fdtbus_intr_establish_xname
 1.3 03-Jul-2019  jmcneill branches: 1.3.10;
Add SDHC_FLAG_SINGLE_POWER_WRITE and SDHC_FLAG_32BIT_ACCESS flags
 1.2 03-Jul-2019  jmcneill Enforce 32-bit limits on ADMA2 capable controllers that do not support 64-bit descriptors
 1.1 13-Mar-2019  jmcneill branches: 1.1.4;
Add support for Arasan SDHCI 5.1
 1.1.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 13-Mar-2019  christos file arasan_sdhc_fdt.c was added on branch phil-wifi on 2019-06-10 22:07:07 +0000
 1.3.10.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.5 16-Nov-2019  jmcneill branches: 1.5.8;
Set sysclk rate at set_format time, so the link set_format callback can read the new sysclk
 1.4 08-May-2019  isaki branches: 1.4.2;
Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.3 12-May-2018  jmcneill branches: 1.3.2; 1.3.4; 1.3.8;
Pass mixer requests to the codec. It is the responsibility of the codec
to decide whether or not to dispatch to an aux device.
 1.2 11-May-2018  jmcneill Attach aux devices to the codec
 1.1 09-May-2018  jmcneill Add SoC sound driver based on "simple-audio-card" DT binding spec.
 1.3.8.4 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.3.8.3 04-May-2019  isaki Move dev/audio_dai.h -> dev/audio/audio_dai.h
 1.3.8.2 04-May-2019  isaki Remove obsoleted methods in audio_hw_if.
- drain: is handled in audio upper layer now.
- mappage: is handled in audio upper layer now.
- setfd: no one uses and it's meaningless now.
 1.3.8.1 27-Apr-2019  isaki Adapt to audio2.
- XXX Name conflicts. audio2 replaces set_params with set_format
and audio_dai already have had its own set_format.
I named newly introduced one audio_dai_mi_set_format for now.
 1.3.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.4.1 10-Jun-2019  christos Sync with HEAD
 1.3.2.2 21-May-2018  pgoyette Sync with HEAD
 1.3.2.1 12-May-2018  pgoyette file ausoc.c was added on branch pgoyette-compat on 2018-05-21 04:36:05 +0000
 1.4.2.1 16-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #427):

sys/dev/ic/dw_hdmi_phy.c: revision 1.2
sys/dev/ic/dw_hdmi.c: revision 1.4
sys/dev/fdt/ausoc.c: revision 1.5
sys/dev/ic/dw_hdmi.h: revision 1.2
sys/dev/ic/dw_hdmi.h: revision 1.3
sys/dev/ic/dw_hdmi.h: revision 1.4
sys/conf/files: revision 1.1242
sys/dev/fdt/fdtvar.h: revision 1.57
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.11
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.12
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.13
sys/arch/evbarm/conf/GENERIC64: revision 1.110
sys/arch/arm/rockchip/rk_drm.c: revision 1.1
sys/arch/arm/rockchip/rk_drm.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.112
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.1
sys/dev/fdt/fdt_clock.c: revision 1.10
sys/arch/evbarm/conf/GENERIC64: revision 1.113
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.2
sys/arch/arm/rockchip/rk_drm.h: revision 1.1
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.3
sys/arch/arm/rockchip/rk_fb.c: revision 1.1
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.9
sys/arch/arm/rockchip/rk_vop.c: revision 1.1
sys/arch/arm/rockchip/rk_vop.c: revision 1.2
sys/arch/arm/rockchip/rk_i2c.c: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.7
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.4
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.5
sys/arch/arm/rockchip/files.rockchip: revision 1.21
sys/arch/arm/rockchip/rk_i2s.c: revision 1.1
sys/arch/arm/rockchip/files.rockchip: revision 1.22
sys/dev/ic/dw_hdmi.c: revision 1.2
sys/dev/ic/dw_hdmi_phy.c: revision 1.1
sys/dev/ic/dw_hdmi.c: revision 1.3

Support reads of more than 32 bytes in a single xfer.

Add support for internal DesignWare HDMI PHYs

Add fdtbus_clock_enable and fdtbus_clock_enable_index shortcuts

Add HDMI and VOP clocks

WIP display driver for Rockchip RK3399

Add (commented out) Rockchip display support

Select the correct MPLL and PHY settings for the requested pixel clock
Force DCLK_VOP0/1 dividers to 1 and select closest match when setting PLL
rates.

Fix typo in phy config table

Fix a few swapped fields

Remove debug output

Enable Rockchip display support

Set sysclk rate at set_format time, so the link set_format callback can read the new sysclk

Add I2S audio input support.
Add software volume controls.
Add support for I2S clocks.
Add driver for Rockchip I2S/PCM controller.
Enable HDMI audio on ROCKPro64
Add rki2s
Add audio support
 1.5.8.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1 18-Jan-2024  skrll risc-v: attach the Cadence XHCI usb controller on the JH7100 SoC
 1.3 16-Sep-2025  thorpej As with ACPI, perform the fdtbus_register_i2c_controller() in a centralized
location.
 1.2 16-Sep-2025  thorpej Garbage-collect fdtbus_attach_i2cbus(); the regular iicbus_attach() is
sufficient now.
 1.1 05-Nov-2022  jmcneill Add driver for Cadence I2C controller.
 1.5 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.4 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.3 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.2 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.1 03-Apr-2018  bouyer branches: 1.1.2; 1.1.18;
Add connector and panel drivers (panel supports only panel-lvds and
panel-dual-lvds at this time, but can easily be extended to other types
of panels).
Add an API for ports/endpoints.
Proposed on tech-kern@ a few days ago, ok jmcneill@
 1.1.18.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 03-Apr-2018  pgoyette file connector_fdt.c was added on branch pgoyette-compat on 2018-04-07 04:12:14 +0000
 1.1 03-Apr-2018  bouyer branches: 1.1.2;
Add connector and panel drivers (panel supports only panel-lvds and
panel-dual-lvds at this time, but can easily be extended to other types
of panels).
Add an API for ports/endpoints.
Proposed on tech-kern@ a few days ago, ok jmcneill@
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 03-Apr-2018  pgoyette file connector_fdt.h was added on branch pgoyette-compat on 2018-04-07 04:12:14 +0000
 1.20 06-Sep-2025  thorpej Re-factor the operating point defintions into fdt_opp.h
 1.19 22-Feb-2021  ryo It is more appropriate to use clk_get_rate() rather than sc->sc_freq_target * 1000000.
ci_data.cpu_cc_freq should be set to a higher precision value.

In addition, when cpufreq_dt_init(), or while throttling, sc->sc_freq_target should not
be referenced by cpufreq_dt_change_cb() because it does not have the correct value.
 1.18 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.17 03-Jun-2020  jmcneill branches: 1.17.2;
Re-enable "set cpufreq at boot" code.
 1.16 03-Jun-2020  jmcneill Disable setting cpufreq at boot for now
 1.15 03-Jun-2020  jmcneill Highest speed is first opp, not last
 1.14 02-Jun-2020  jmcneill Select the highest rate at boot, and update cycle counter frequency when rates change
 1.13 29-Oct-2019  jmcneill Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty
 1.12 28-Oct-2019  jmcneill Add support for platform specific opp table filters.
 1.11 28-Oct-2019  jmcneill Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.
 1.10 07-Oct-2019  martin Fix argument to fdtbus_get_reg, from Jared.
 1.9 06-Oct-2019  jmcneill Change sysctl to be named after the first CPU in the DVFS domain.

old: machdep.cpu.frequency.*, machdep.cpufreqdt4.frequency.*
new: machdep.cpufreq.cpu0.*, machdep.cpufreq.cpu4.*
 1.8 21-May-2019  jmcneill branches: 1.8.2;
opp-v2 table seems to list opps from lowest to highest, so swap the order to ensure the highest frequency is first
 1.7 01-Nov-2018  jmcneill Support for "opp-microvolt" with more than one cell
 1.6 20-Sep-2018  jmcneill Use machdep.cpu for the first instance
 1.5 01-Sep-2018  jmcneill Don't print an error message for shared opp tables
 1.4 01-Sep-2018  jmcneill Add support for opp-v2 tables and multiple instances of the cpufreqdt
driver.
 1.3 16-Dec-2017  jmcneill branches: 1.3.2; 1.3.4;
Support cpu nodes without a cpu-supply property.
 1.2 05-Oct-2017  jmcneill branches: 1.2.2;
Listen for PMFE_THROTTLE_* events and limit CPU frequency when throttling
is enabled.
 1.1 02-Oct-2017  jmcneill Add generic DT cpu frequency and voltage scaling driver.
 1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.2.2.1 05-Oct-2017  jdolecek file cpufreq_dt.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.3.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.4.1 10-Jun-2019  christos Sync with HEAD
 1.3.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.3.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.3.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.8.2.2 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.8.2.1 08-Oct-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #291):

sys/dev/fdt/cpufreq_dt.c: revision 1.9
sys/dev/fdt/cpufreq_dt.c: revision 1.10

Change sysctl to be named after the first CPU in the DVFS domain.
old: machdep.cpu.frequency.*, machdep.cpufreqdt4.frequency.*
new: machdep.cpufreq.cpu0.*, machdep.cpufreq.cpu4.*
 1.17.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8 12-Jun-2023  skrll Call / define fdtbus_cpus_md_attach for platforms with cpus @ fdt.

The RISC-V binding here seems somewhat of an abuse, but it exists in
mainline linux.
 1.7 07-May-2023  skrll RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).
 1.6 05-Nov-2022  skrll Fix inverted result when status is "okay"
 1.5 02-Jan-2019  jmcneill Do not sort cpu nodes when enumerating so they attach in the order listed
in the devicetree.
 1.4 09-Sep-2018  jmcneill Attach cpu nodes with status "disabled" if they have an enable-method
property. This is a valid configuration according to the devicetree
specification.
 1.3 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.2 02-Jun-2017  jmcneill branches: 1.2.6; 1.2.10; 1.2.12; 1.2.14;
Allow devices to attach to cpu devices
 1.1 28-May-2017  jmcneill Add CPUs ("/cpus" node) driver. CPUs is a container of cpu nodes.
 1.2.14.1 10-Jun-2019  christos Sync with HEAD
 1.2.12.3 18-Jan-2019  pgoyette Synch with HEAD
 1.2.12.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.12.1 28-Jul-2018  pgoyette Sync with HEAD
 1.2.10.2 03-Dec-2017  jdolecek update from HEAD
 1.2.10.1 02-Jun-2017  jdolecek file cpus.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.2.6.2 28-Aug-2017  skrll Sync with HEAD
 1.2.6.1 02-Jun-2017  skrll file cpus.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.1 03-Jun-2017  jmcneill branches: 1.1.6; 1.1.10;
Add helper for parsing display timings.
 1.1.10.2 03-Dec-2017  jdolecek update from HEAD
 1.1.10.1 03-Jun-2017  jdolecek file display_timing.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 03-Jun-2017  skrll file display_timing.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.2 11-Dec-2020  skrll Multiple inclusion protection define consistency
 1.1 03-Jun-2017  jmcneill branches: 1.1.6; 1.1.10; 1.1.28;
Add helper for parsing display timings.
 1.1.28.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.10.2 03-Dec-2017  jdolecek update from HEAD
 1.1.10.1 03-Jun-2017  jdolecek file display_timing.h was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 03-Jun-2017  skrll file display_timing.h was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.13 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.12 08-Apr-2022  andvar fix various typos, mainly in comments, but also log messages, docs, game text.
 1.11 12-Nov-2021  jmcneill dw_apb_uart: Honour reg-io-width property
 1.10 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.9 15-Jan-2021  ryo use fdtbus_intr_establish_xname
 1.8 02-Oct-2020  rin branches: 1.8.2;
Revert rev 1.5:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/fdt/dw_apb_uart.c#rev1.5

The device is capable to recognize break signal actually.
Reset cnmagic from +++++ to default.

Pointed out by jakllsch. Thanks!
 1.7 28-Sep-2020  jmcneill Default reg-shift is 2, not 0, for DW APB UART
 1.6 28-Sep-2020  jmcneill Use com_init_regs_stride instead of a4x tag
 1.5 21-Jul-2019  rin branches: 1.5.2;
The device cannot recognize break signal. Use +++++ (five plus signs) as
cnmagic in the same manner with bcm2835_com.c.
 1.4 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.3 17-Jul-2018  christos Use PRI?64 instead of ll?
 1.2 27-May-2018  jmcneill branches: 1.2.2; 1.2.4;
Enable apb_pclk clock if present
 1.1 27-May-2018  jmcneill Rename sunxi_com to dw_apb_uart and move it to dev/fdt since it is not
sunxi-specific.
 1.2.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.1 10-Jun-2019  christos Sync with HEAD
 1.2.2.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.2.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.2.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.2.2.1 27-May-2018  pgoyette file dw_apb_uart.c was added on branch pgoyette-compat on 2018-06-25 07:25:49 +0000
 1.5.2.1 04-Oct-2020  martin Pull up following revision(s) (requested by rin in ticket #1096):

sys/dev/fdt/dw_apb_uart.c: revision 1.8

Revert rev 1.5:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/fdt/dw_apb_uart.c#rev1.5

The device is capable to recognize break signal actually.
Reset cnmagic from +++++ to default.

Pointed out by jakllsch. Thanks!
 1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13 31-Jul-2023  rin dw2c_fdt: Terminate statements by ; instead of , (from Mori Hiroki)
No binary changes.
 1.12 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.10 27-Jan-2021  thorpej branches: 1.10.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.9 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.8 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.7 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.6 15-Jan-2021  jmcneill use fdtbus_intr_establish_xname
 1.5 02-Mar-2019  jmcneill branches: 1.5.12;
Add support for Meson GXBB
 1.4 19-Jan-2019  jmcneill Add support for Meson8b
 1.3 15-Aug-2018  skrll Remove useless header arm/broadcom/bcm2835reg.h

From Aymeric Vincent on port-arm
 1.2 16-Jun-2018  jmcneill branches: 1.2.2; 1.2.4;
Match generic snps,dwc2 compat string
 1.1 16-Jun-2018  jmcneill Add initial support for Rockchip RK3328 SoC.
 1.2.4.1 10-Jun-2019  christos Sync with HEAD
 1.2.2.4 26-Jan-2019  pgoyette Sync with HEAD
 1.2.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.2.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.2.2.1 16-Jun-2018  pgoyette file dwc2_fdt.c was added on branch pgoyette-compat on 2018-06-25 07:25:49 +0000
 1.5.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10.2.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.20 12-Jun-2022  skrll Attach when dr_mode is "otg" and the controller has the "usb-role-switch" and
"role-switch-default-mode" as seen in the Apple M1 dts.

This assumes the controller is properly setup for host mode already.
 1.19 07-Nov-2021  jmcneill Look for child node by compat string snps,dwc3 instead of by name.
 1.18 14-Sep-2021  jmcneill Remove "no IOMMU" hack.
 1.17 30-Aug-2021  jmcneill Until we have proper FDT iommu support, refuse to attach when an iommu
is required.
 1.16 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.15 18-May-2021  jmcneill branches: 1.15.4;
Unbreak previous; we have to look for a child node iff our node isn't
compatible with snps,dwc3.
 1.14 24-Apr-2021  thorpej branches: 1.14.2; 1.14.4;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.13 27-Jan-2021  thorpej branches: 1.13.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.12 15-Jan-2021  ryo use fdtbus_intr_establish_xname
 1.11 15-Oct-2020  jmcneill branches: 1.11.2;
Initialise xhci_softc sc_ios
 1.10 26-Mar-2020  thorpej Add "snps,dwc3" to the list of compatible strings we match against.
The code already handles "snps,dwc3" not being a subordinate of
an SoC-specific node, but the string was missing from the match
routine.

Necessitated by the sun50i-h6 device tree update on Jan 3 2020, which
elimiated the "allwinner,sun50i-h6-dwc3" node and placed all of the
clocks, resets, etc. directly under the "snps,dwc3" node.
 1.9 15-Jan-2020  jmcneill Add support for NXP i.MX 8M Dual/8M QuadLite/8M Quad family SoCs.
 1.8 12-Dec-2019  jmcneill branches: 1.8.2;
Add support for snps,dis-tx-ipgap-linecheck-quirk quirk
 1.7 19-Apr-2019  jmcneill branches: 1.7.4;
Add support for Meson GXL USB3 controller
 1.6 12-Aug-2018  jmcneill Add support for RK3399
 1.5 03-Jul-2018  jmcneill Add support for Samsung Exynos USB3 DRD.
 1.4 03-Jul-2018  jmcneill Fix name of snps,dis_u2_susphy_quirk property
 1.3 29-Jun-2018  msaitoh Detect USB 3.1.
 1.2 21-Jun-2018  jmcneill branches: 1.2.2;
Add support for RK3328
 1.1 01-May-2018  jmcneill branches: 1.1.2;
Add DesignWare DWC3 XHCI driver.
 1.1.2.5 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.4 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.3 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.2 02-May-2018  pgoyette Synch with HEAD
 1.1.2.1 01-May-2018  pgoyette file dwc3_fdt.c was added on branch pgoyette-compat on 2018-05-02 07:20:06 +0000
 1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.7.4.1 12-Dec-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #545):

sys/arch/arm/dts/rk3328.dtsi: revision 1.2
sys/dev/fdt/dwc3_fdt.c: revision 1.8
sys/arch/arm/dts/rk3328-rock64.dts: revision 1.5

Add support for snps,dis-tx-ipgap-linecheck-quirk quirk

Enable USB3 support on RK3328
 1.8.2.1 17-Jan-2020  ad Sync with head.
 1.11.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.2.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.14.4.1 31-May-2021  cjep sync with head
 1.14.2.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.15.4.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.24 19-Aug-2024  skrll Match "starfive,jh7110-mmc"
 1.23 09-Feb-2024  skrll branches: 1.23.2;
Restrict dwcmmc to 32bit DMA (<4GB) regardless of attachment
 1.22 09-Feb-2024  skrll Limit DMA to below 4GB - the supported controllers are limited this
way.

Thanks to jmcneill for a version of this patch.
 1.21 09-Feb-2024  skrll spaces to tabs
 1.20 29-Dec-2023  skrll dwcmmc_fdt_bus_clock: fix an aprint_debug_dev frequency units botch.
 1.19 06-Feb-2022  jmcneill fdt: dwcmmc: Honour broken-cd and non-removable DT properties
 1.18 24-Mar-2021  skrll Fix previous
 1.17 23-Mar-2021  jmcneill Match generic "snps,dw-mshc" compat string as found in BeagleV.
 1.16 27-Jan-2021  thorpej branches: 1.16.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.15 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.14 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.13 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.12 15-Jan-2021  ryo use fdtbus_intr_establish_xname
 1.11 22-Jan-2020  jmcneill branches: 1.11.6;
dwc_mmc fixes:
- Rockchip uses a different SDIO int bit, so take this into consideration
- Avoid unnecessary resets and always wait for resets to complete
- kpause instead of delay while holding spinlock
- Do not attempt autostop for SD_IO_RW_EXTENDED commands
- Allow for sub-blklen byte counts for single block transfers
 1.10 01-Jan-2020  jmcneill branches: 1.10.2;
Fix performance regression with previous
 1.9 01-Jan-2020  jmcneill dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
 1.8 30-Apr-2019  jmcneill branches: 1.8.2;
Use correct size of softc in CFATTACH_DECL_NEW
 1.7 12-Aug-2018  jmcneill Use more generic rk3288 compatible string, and do clock assignments when present
 1.6 17-Jul-2018  christos Use PRI?64 instead of ll?
 1.5 02-Jul-2018  jmcneill sc_clock_freq is in Hz, not kHz
 1.4 01-Jul-2018  jmcneill Fix 32-bit build
 1.3 22-Jun-2018  jmcneill branches: 1.3.2; 1.3.4;
If max-frequency is not specified, use UINT_MAX instead of the rate programmed by the bootloader.
 1.2 19-Jun-2018  jmcneill dwcmmc: set ciu clock rate rather than assuming fixed input rate
 1.1 16-Jun-2018  jmcneill Add initial support for Rockchip RK3328 SoC.
 1.3.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3.4.1 10-Jun-2019  christos Sync with HEAD
 1.3.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.3.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.3.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.3.2.1 22-Jun-2018  pgoyette file dwcmmc_fdt.c was added on branch pgoyette-compat on 2018-06-25 07:25:49 +0000
 1.8.2.2 25-Feb-2020  martin Pull up following revision(s) (requested by mrg in ticket #717):

sys/dev/fdt/dwcmmc_fdt.c 1.11
sys/dev/ic/bwfm.c 1.15-1.18
sys/dev/ic/bwfmreg.h 1.4-1.6
sys/dev/ic/bwfmvar.h 1.4,1.5
sys/dev/ic/dwc_mmc.c 1.21,1.22
sys/dev/ic/dwc_mmc_reg.h 1.8,1.9,1.12,1.13
sys/dev/pcmcia/pcmciareg.h 1.11
sys/dev/sdmmc/if_bwfm_sdio.c 1.4,1.6-1.12
sys/dev/sdmmc/if_bwfm_sdio.h 1.1,1.2
sys/dev/sdmmc/sdhc.c 1.105,1.106
sys/dev/sdmmc/sdmmc.c 1.37,1.39
sys/dev/sdmmc/sdmmc_cis.c 1.6,1.8
sys/dev/sdmmc/sdmmc_io.c 1.15-1.19
sys/dev/sdmmc/sdmmc_ioreg.h 1.4,1.5
sys/dev/sdmmc/sdmmc_mem.c 1.69-1.71
sys/dev/sdmmc/sdmmcdevs 1.5-1.8
sys/dev/sdmmc/sdmmcvar.h 1.31,1.33,1.34
sys/net/if_media.h 1.66

Add Broadcom devices
-
Fix typo
-
add PCMCIA_CISTPL_SDIO definition.
-
From OpenBSD:
- move event handling to workqueue
- check for save/restore capability
-
Tag work queue as MPsafe and increase length.
-
Juse use bpf_mtap(), the 802.11 encapsulation is handled by firmware.
-
From OpenBSD:
- support block length per function
- add functions to read/write regions
-
Decode (but not use) SDIO tuple in CIS.
-
Fix locking.
-
Add more SDIO defines (partially from version 3.0).
-
From OpenBSD:
- All the missing pieces (firmware load, chip setup, protocol handling)
TX queue and interrupt handling via sdmmc_task.
-
Fix locking.
-
Fix packet parsing.
-
Add parser for original firmware config files.
-
tagging work queue as MPSAFE was premature. Revert.
-
SD_IO_RW_EXTENDED is a data transfer command, so set ADTC flag instead of AC
Use correct function to verify if a task has been queued. Avoids race
that can corrupt the task queue.
-
More register definitions.
-
Add IFM_IEEE80211_VHT subtype, IFM_IEEE80211_11AC operating mode, and missing descriptions
-
If firmware is connected in HT or VHT mode, report it to SIOCGIFMEDIA
-
white space police.

Skip setting power when the voltage doesn't change.
Also increase some timeouts.
-
Add and use sdmmc_pause to avoid long-term busy waits.
-
Add sdio abort function.
-
Additional error messages.
-
Print parameters for SDIO devices.
-
Minor cosmetics.
-
Simplyfy sdmmc_io_set_blocklen function signature by dropping the
extra softc pointer. Aligns with OpenBSD.
-
Missing commit for sdio abort function.
-
More code from OpenBSD
-
no need to splnet() when enqueing packets
-
explicit structure padding
-
make internal functions static
-
also prepare for GPIO interrupts.
-
Avoid warnings for tautological shifts as sole conditional.
-
Follow the Linux driver an use the FDT "compatible" property to build a
filename for the nvram config file, fall back to the standard filename.
E.g.
[Caching 123 nodes and 1093 properties]
compatible 73696e6f 766f6970 2c627069 2d6d322d "sinovoip,bpi-m2-
0010: 7a65726f 00...... ........ ........ zero"
0015: 616c6c77 696e6e65 722c7375 6e38692d "allwinner,sun8i-
0025: 68322d70 6c757300 ........ ........ h2-plus"
interrupt-parent 00000001 ........ ........ ........ ....
model 42616e61 6e612050 69204250 492d4d32 "Banana Pi BPI-M2
0010: 2d5a6572 6f00.... ........ ........ -Zero"
name 00...... ........ ........ ........ ""
serial-number 30326330 30303432 65636431 36376566 02c00042ecd167ef
0010: 00...... ........ ........ ........ .
-rw-r--r-- 1 root wheel 875 Nov 2 12:06 brcmfmac43430-sdio.AP6212.txt
lrwxr-xr-x 1 root wheel 29 Dec 30 16:19 brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt -> brcmfmac43430-sdio.AP6212.txt
-rw-r--r-- 1 root wheel 874 Jun 30 2019 brcmfmac43430-sdio.raspberrypi,3-model-b.txt
-rw-r--r-- 1 root wheel 1864 Jun 30 2019 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
lrwxr-xr-x 1 root wheel 29 Dec 30 11:24 brcmfmac43455-sdio.raspberrypi,4-model-b-plus.txt -> brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
-
Add product ID for Broadcom BCM43455
-
Use correct firmware for BCM43456
-
size check was backwards.
-
Be less noisy for some commands.
-
Fix DWC_MMC_INT_SDIO_INT bit
-
dwc_mmc fixes:
- Rockchip uses a different SDIO int bit, so take this into consideration
- Avoid unnecessary resets and always wait for resets to complete
- kpause instead of delay while holding spinlock
- Do not attempt autostop for SD_IO_RW_EXTENDED commands
- Allow for sub-blklen byte counts for single block transfers
-
More SDIO stability and performance fixes
 1.8.2.1 21-Jan-2020  martin Pull up following revision(s) (requested by mrg in ticket #616):

sys/dev/ic/anx_dp.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.126
sys/dev/ic/anx_dp.h: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.128
sys/dev/ic/anx_dp.h: revision 1.2
sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
sys/dev/i2c/cwfg.c: revision 1.1
sys/conf/files: revision 1.1247
sys/dev/fdt/pwm_backlight.c: revision 1.5
sys/dev/fdt/pwm_backlight.c: revision 1.6
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
sys/dev/ic/dwc_mmc.c: revision 1.20
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
sys/dev/usb/usbdevs: revision 1.775
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
sys/dev/fdt/simple_amplifier.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.105
sys/arch/evbarm/conf/GENERIC64: revision 1.117
sys/arch/evbarm/conf/GENERIC64: revision 1.118
sys/dev/i2c/files.i2c: revision 1.107
sys/dev/fdt/files.fdt: revision 1.49
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
sys/dev/ic/dwc_mmc_var.h: revision 1.9
sys/dev/i2c/rkpmic.c: revision 1.4
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
sys/dev/i2c/rkpmic.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.6
sys/arch/arm/rockchip/rk_vop.c: revision 1.4
sys/arch/arm/rockchip/rk_vop.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.8
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
sys/dev/usb/ums.c: revision 1.96 (via patch)
sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
sys/dev/i2c/es8316ac.c: revision 1.1
sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
sys/dev/i2c/es8316ac.c: revision 1.2
sys/dev/fdt/fdt_panel.c: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.18
sys/dev/fdt/fdt_panel.c: revision 1.2
sys/dev/ic/dwc_mmc.c: revision 1.19
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.5
sys/dev/ic/dwc_mmc_var.h: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.6
sys/arch/evbarm/conf/GENERIC64: revision 1.122
sys/dev/ic/dwc_mmc_var.h: revision 1.11
sys/dev/fdt/files.fdt: revision 1.50
sys/arch/evbarm/conf/GENERIC64: revision 1.123
sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
sys/arch/arm/rockchip/files.rockchip: revision 1.23
sys/arch/evbarm/conf/GENERIC64: revision 1.124
sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability. This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs
 1.10.2.1 25-Jan-2020  ad Sync with head.
 1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.23.2.1 02-Aug-2025  perseant Sync with HEAD
 1.6 16-Apr-2023  jmcneill Separate DesignWare watchdog driver and FDT glue.
 1.5 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.4 19-Oct-2019  tnn branches: 1.4.8;
dwcwdt: make this work correctly

- sysmon_wdog.smw_period is seconds, not milliseconds
- tickle the watchdog before enabling it
 1.3 28-Oct-2018  aymeric branches: 1.3.4;
Deactivate the watchdog timer during attach.

Recent u-boot starts up the watchdog timer, and we don't detect this so
e.g. my DE0 nanosoc reboots after about 20 seconds. Applying a reset to
the watchdog circuit is the only way to stop it according to the
documentation.
 1.2 14-Oct-2018  aymeric Make compile
 1.1 30-Jun-2018  jmcneill branches: 1.1.2;
Add driver for DesignWare Watchdog Timer. Untested as I can't seem to find
the parent clock for this in the RK3328 documentation.
 1.1.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.1 30-Jun-2018  pgoyette file dwcwdt_fdt.c was added on branch pgoyette-compat on 2018-07-28 04:37:44 +0000
 1.3.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.4.2 10-Jun-2019  christos Sync with HEAD
 1.3.4.1 28-Oct-2018  christos file dwcwdt_fdt.c was added on branch phil-wifi on 2019-06-10 22:07:07 +0000
 1.4.8.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9 16-Sep-2025  thorpej As with ACPI, perform the fdtbus_register_i2c_controller() in a centralized
location.
 1.8 16-Sep-2025  thorpej Garbage-collect fdtbus_attach_i2cbus(); the regular iicbus_attach() is
sufficient now.
 1.7 02-Jan-2025  skrll Fix previous with respect to the binding specification which I misread.
There must be 1 clocks (but there can be two) and the reset is optional.
 1.6 02-Jan-2025  skrll dwiic_fdt: enable the clock and de-assert the reset

Improve some error handling while I'm here.
 1.5 19-Oct-2022  riastradh branches: 1.5.8;
dwiic(4): Don't try to attach children if dwiic_attach failed.

PR kern/57063
 1.4 27-Jan-2021  thorpej branches: 1.4.4; 1.4.14;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.3 15-Jan-2021  jmcneill use fdtbus_intr_establish_xname
 1.2 23-Dec-2020  thorpej Change fdtbus_register_i2c_controller() to directly register the i2c_tag_t,
rather than the device and a set of functions (the only of which was to
return the i2c_tag_t anyway). Previously, this assumed only a single
i2c controller node per device_t, which is not true with an i2c mux.
 1.1 26-Sep-2018  jakllsch branches: 1.1.2; 1.1.6; 1.1.16;
Add dwiic_fdt attachment for "snps,designware-i2c".
 1.1.16.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.16.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 26-Sep-2018  christos file dwiic_fdt.c was added on branch phil-wifi on 2019-06-10 22:07:07 +0000
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 26-Sep-2018  pgoyette file dwiic_fdt.c was added on branch pgoyette-compat on 2018-09-30 01:45:49 +0000
 1.4.14.1 09-Aug-2021  thorpej Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.
 1.4.4.1 19-May-2021  thorpej fdtbus_attach_i2cbus() is no longer anything other than a wrapper around
config_found(); just get rid of it and make its callers look like all of
the other I2C controller drivers.
 1.5.8.1 02-Aug-2025  perseant Sync with HEAD
 1.8 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.7 24-Apr-2021  thorpej branches: 1.7.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.6 27-Jan-2021  thorpej branches: 1.6.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.5 15-Jan-2021  ryo use fdtbus_intr_establish_xname
 1.4 12-Aug-2018  jmcneill branches: 1.4.14;
Register shutdown handlers
 1.3 09-Apr-2018  jakllsch branches: 1.3.2;
Stop potential misuse of vendor names and USB vendor IDs in root hub
device and string descriptors.

Firstly: Few vendors have identical PCI-SIG vendor IDs and USB-IF vendor
IDs. As such, using the PCI vendor ID as a USB vendor ID may trample
on whomever is allocated that USB vendor ID.

Secondly: The vendor of the host controller hardware implementation has
little to nothing to do with our usbroothub implementation. Thus we
should not potentially associate any problems therewith to such third
party.

This change will result in root hubs being identified by USB Vendor ID
0x0000. Root hub vendor string will now be "NetBSD" (or, specifically:
ostype). Product ID (0x0000) and product strings remain unchanged.
 1.2 08-Jul-2017  jmcneill branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10;
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
 1.1 29-Jun-2017  jmcneill Add glue for generic ehci/ohci bindings.
 1.2.10.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.2.10.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.2.8.2 03-Dec-2017  jdolecek update from HEAD
 1.2.8.1 08-Jul-2017  jdolecek file ehci_fdt.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.2.6.2 28-Aug-2017  skrll Sync with HEAD
 1.2.6.1 08-Jul-2017  skrll file ehci_fdt.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.2.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.2.4.1 08-Jul-2017  snj file ehci_fdt.c was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.4.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6.2.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.7.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.7 20-Dec-2024  mlelstv Allocate enough address space for unaligned start/end values.
 1.6 21-Jan-2024  kre branches: 1.6.2;

Include <sys/bootblock.h> for struct mbr_sector
 1.5 19-Jan-2024  skrll Make fdt_cpu_rootconf available for other machines/platforms.
 1.4 11-Jul-2023  skrll G/C some #if 0 / #endif code
 1.3 10-Jul-2023  rin fdt(4): Factor out bootargs support from evbarm and riscv.
 1.2 10-Jul-2023  rin Factor out some fdt(4) features from {,evb}arm into dev/fdt.

Now, FDT-based support to efirt, initrd, rndseed, and efirng can be
used from, e.g., riscv.

Mostly from Nick Hudson.

XXX
As Nick comments, there can be some optimizations for fdt_map_range().
efiboot may also be modified to load these objects into aligned PAs.
 1.1 22-Apr-2023  skrll Move fdt_update_stdout_path from evbarm code to MI code
 1.6.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 19-Jan-2024  skrll Make fdt_cpu_rootconf available for other machines/platforms.
 1.3 10-Jul-2023  rin fdt(4): Factor out bootargs support from evbarm and riscv.
 1.2 10-Jul-2023  rin Factor out some fdt(4) features from {,evb}arm into dev/fdt.

Now, FDT-based support to efirt, initrd, rndseed, and efirng can be
used from, e.g., riscv.

Mostly from Nick Hudson.

XXX
As Nick comments, there can be some optimizations for fdt_map_range().
efiboot may also be modified to load these objects into aligned PAs.
 1.1 22-Apr-2023  skrll Move fdt_update_stdout_path from evbarm code to MI code
 1.10 09-Nov-2019  jmcneill Add fdtbus_clock_enable and fdtbus_clock_enable_index shortcuts
 1.9 28-Oct-2019  jmcneill Add fdtbus_clock_count to count the number of clock references on a given node
 1.8 27-Feb-2019  jakllsch branches: 1.8.4;
Consolidate FDT [find "names" index by string] logic.
 1.7 27-Feb-2019  jakllsch Adjust residual calculation in "find index by name" idioms to take into
account the trailing NUL on each name. Some other similar instances of
this idiom already account for this.

(In preparation to factor out this idiom into its own function.)
 1.6 09-Sep-2018  aymeric Pass clock provider's phandle to fdtbus_clock_controller_func.decode()
and update callers.

This allows to accomodate clock managers whose clocks are identified
directly by a clock instead of a pair (clock provider, index).

ok jmcneill@ on port-arm
 1.5 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.4 16-Jun-2018  jmcneill branches: 1.4.2;
fdtbus_clock_assign: simplify
 1.3 12-Jun-2018  jmcneill Process assigned clock parents and rates on clock provider nodes.
 1.2 10-Jun-2018  jmcneill Add fdtbus_clock_byname, which can be used by clock backends to
lookup clocks in other domains by "clock-output-names" property.
Not intended for ordinary driver use.
 1.1 22-Dec-2015  jmcneill branches: 1.1.2; 1.1.18; 1.1.20;
Add support for fdt clock and reset controllers.
 1.1.20.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.20.2 28-Jul-2018  pgoyette Sync with HEAD
 1.1.20.1 25-Jun-2018  pgoyette Sync with HEAD
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 22-Dec-2015  jdolecek file fdt_clock.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 22-Dec-2015  skrll file fdt_clock.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.4.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.8.4.2 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.8.4.1 16-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #427):

sys/dev/ic/dw_hdmi_phy.c: revision 1.2
sys/dev/ic/dw_hdmi.c: revision 1.4
sys/dev/fdt/ausoc.c: revision 1.5
sys/dev/ic/dw_hdmi.h: revision 1.2
sys/dev/ic/dw_hdmi.h: revision 1.3
sys/dev/ic/dw_hdmi.h: revision 1.4
sys/conf/files: revision 1.1242
sys/dev/fdt/fdtvar.h: revision 1.57
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.11
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.12
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.13
sys/arch/evbarm/conf/GENERIC64: revision 1.110
sys/arch/arm/rockchip/rk_drm.c: revision 1.1
sys/arch/arm/rockchip/rk_drm.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.112
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.1
sys/dev/fdt/fdt_clock.c: revision 1.10
sys/arch/evbarm/conf/GENERIC64: revision 1.113
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.2
sys/arch/arm/rockchip/rk_drm.h: revision 1.1
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.3
sys/arch/arm/rockchip/rk_fb.c: revision 1.1
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.9
sys/arch/arm/rockchip/rk_vop.c: revision 1.1
sys/arch/arm/rockchip/rk_vop.c: revision 1.2
sys/arch/arm/rockchip/rk_i2c.c: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.7
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.4
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.5
sys/arch/arm/rockchip/files.rockchip: revision 1.21
sys/arch/arm/rockchip/rk_i2s.c: revision 1.1
sys/arch/arm/rockchip/files.rockchip: revision 1.22
sys/dev/ic/dw_hdmi.c: revision 1.2
sys/dev/ic/dw_hdmi_phy.c: revision 1.1
sys/dev/ic/dw_hdmi.c: revision 1.3

Support reads of more than 32 bytes in a single xfer.

Add support for internal DesignWare HDMI PHYs

Add fdtbus_clock_enable and fdtbus_clock_enable_index shortcuts

Add HDMI and VOP clocks

WIP display driver for Rockchip RK3399

Add (commented out) Rockchip display support

Select the correct MPLL and PHY settings for the requested pixel clock
Force DCLK_VOP0/1 dividers to 1 and select closest match when setting PLL
rates.

Fix typo in phy config table

Fix a few swapped fields

Remove debug output

Enable Rockchip display support

Set sysclk rate at set_format time, so the link set_format callback can read the new sysclk

Add I2S audio input support.
Add software volume controls.
Add support for I2S clocks.
Add driver for Rockchip I2S/PCM controller.
Enable HDMI audio on ROCKPro64
Add rki2s
Add audio support
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.1 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.1 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.3 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.2 03-Jun-2018  jmcneill branches: 1.2.2;
Remove unnecessary include
 1.1 09-May-2018  jmcneill branches: 1.1.2;
Add SoC sound driver based on "simple-audio-card" DT binding spec.
 1.1.2.4 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.3 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.2.1 09-May-2018  pgoyette file fdt_dai.c was added on branch pgoyette-compat on 2018-05-21 04:36:05 +0000
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.2 06-Mar-2021  skrll Improve fdt_isprint so that it returns false if there are consecutive
zeroes.
 1.1 30-Oct-2020  skrll branches: 1.1.2;
Add a "show fdt" ddb command
 1.1.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 11-Dec-2020  skrll Multiple inclusion protection define consistency
 1.1 30-Oct-2020  skrll branches: 1.1.2;
Add a "show fdt" ddb command
 1.1.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.4 27-Feb-2019  jakllsch Consolidate FDT [find "names" index by string] logic.
 1.3 27-Feb-2019  jakllsch Adjust residual calculation in "find index by name" idioms to take into
account the trailing NUL on each name. Some other similar instances of
this idiom already account for this.

(In preparation to factor out this idiom into its own function.)
 1.2 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.1 29-Apr-2017  jmcneill branches: 1.1.2; 1.1.8; 1.1.12; 1.1.14; 1.1.16;
Add FDT DMA controller API.
 1.1.16.1 10-Jun-2019  christos Sync with HEAD
 1.1.14.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.12.1 29-Apr-2017  jdolecek file fdt_dma.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.8.2 28-Aug-2017  skrll Sync with HEAD
 1.1.8.1 29-Apr-2017  skrll file fdt_dma.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.1.2.2 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.2.1 29-Apr-2017  pgoyette file fdt_dma.c was added on branch prg-localcount2 on 2017-05-02 03:19:18 +0000
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.7 23-Dec-2020  thorpej Add fdtbus_gpio_count(), which counts the number of GPIO entries
in a specified property.
 1.6 30-Jun-2018  jmcneill branches: 1.6.14;
Use queue(3) API to manage lists. NFCI.
 1.5 13-Aug-2017  jmcneill branches: 1.5.2; 1.5.4; 1.5.6;
Add fdtbus_gpio_acquire_index for accessing multi-xref gpios properties.
 1.4 15-Oct-2016  maxv Memory leak, found by mootja; not tested, but obvious enough
 1.3 22-Dec-2015  jmcneill branches: 1.3.2; 1.3.4;
Add fdtbus_gpio_{read,write}_raw, which tells the controller not to take
polarity into account. Tegra GPIO pin data includes pin polarity, but so
does a regulator-fixed node, so the end result was that the enable value
was being swapped twice. Change fregulator to use the raw APIs, and adapt
Tegra and Exynos GPIO drivers to support this flag.
 1.2 16-Dec-2015  jmcneill Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.1 16-Dec-2015  jmcneill split gpio, i2c, intr, and regulator helpers into separate files
 1.3.4.1 04-Nov-2016  pgoyette Sync with HEAD
 1.3.2.4 28-Aug-2017  skrll Sync with HEAD
 1.3.2.3 05-Dec-2016  skrll Sync with HEAD
 1.3.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.3.2.1 22-Dec-2015  skrll file fdt_gpio.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.5.6.1 10-Jun-2019  christos Sync with HEAD
 1.5.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 13-Aug-2017  jdolecek file fdt_gpio.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.6.14.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.16 23-Sep-2025  thorpej G/C fdtbus_copy_i2c_devs() and directly enumerate the devices using
the device tree in the FDT case.
 1.15 16-Sep-2025  thorpej As with ACPI, perform the fdtbus_register_i2c_controller() in a centralized
location.
 1.14 16-Sep-2025  thorpej Garbage-collect fdtbus_attach_i2cbus(); the regular iicbus_attach() is
sufficient now.
 1.13 16-Sep-2025  thorpej As with ACPI, iic_attach() now fetches the child device array directly
in the FDT case. Adjust the OFW case so that we're not forced to indirect
through a dictionary if it's not needed.
 1.12 23-Feb-2022  skrll API naming consistency. NFC.
 1.11 07-Aug-2021  thorpej branches: 1.11.2;
Merge thorpej-cfargs2.
 1.10 24-Apr-2021  thorpej branches: 1.10.2; 1.10.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.9 23-Dec-2020  thorpej branches: 1.9.2;
Change fdtbus_register_i2c_controller() to directly register the i2c_tag_t,
rather than the device and a set of functions (the only of which was to
return the i2c_tag_t anyway). Previously, this assumed only a single
i2c controller node per device_t, which is not true with an i2c mux.
 1.8 12-Jun-2020  thorpej branches: 1.8.2;
i2c-indirect-config == false --> i2c-no-indirect-config == true
 1.7 24-Apr-2019  thorpej Fix leak of iba.iba_child_devices in fdtbus_attach_i2cbus(). Patch
provided by yarl-baudig %%at%% mailoo.org
 1.6 30-Jan-2019  jmcneill Add support for Allwinner A64's display pipeline.
 1.5 26-Sep-2018  jakllsch Set "i2c-indirect-config" to false in the right place so that iic(4)
better behaves itself.
 1.4 01-Jul-2018  jmcneill Add fdtbus_attach_i2cbus, used to attach an i2cbus to an fdt device node.
 1.3 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.2 16-Dec-2015  jmcneill branches: 1.2.2; 1.2.18; 1.2.20; 1.2.22;
Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.1 16-Dec-2015  jmcneill split gpio, i2c, intr, and regulator helpers into separate files
 1.2.22.1 10-Jun-2019  christos Sync with HEAD
 1.2.20.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.20.1 28-Jul-2018  pgoyette Sync with HEAD
 1.2.18.2 03-Dec-2017  jdolecek update from HEAD
 1.2.18.1 16-Dec-2015  jdolecek file fdt_i2c.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.2.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1 16-Dec-2015  skrll file fdt_i2c.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.8.2.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.9.2.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.10.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.10.2.2 19-May-2021  thorpej fdtbus_attach_i2cbus() is no longer anything other than a wrapper around
config_found(); just get rid of it and make its callers look like all of
the other I2C controller drivers.
 1.10.2.1 25-Apr-2021  thorpej - Don't call of_enter_i2c_devs() -- it no longer exists.
- Pass along the provided devhandle to the i2c bus instance.

XXX fdtbus_attach_i2cbus() is now just a thin wrapper around config_found()
and should probably just go away in favor of making FDT-attached i2c
controller drivers consistent with everyone else.
 1.11.2.1 09-Aug-2021  thorpej Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.
 1.5 23-Sep-2025  thorpej G/C fdtbus_copy_i2c_devs() and directly enumerate the devices using
the device tree in the FDT case.
 1.4 16-Sep-2025  thorpej As with ACPI, perform the fdtbus_register_i2c_controller() in a centralized
location.
 1.3 16-Sep-2025  thorpej Garbage-collect fdtbus_attach_i2cbus(); the regular iicbus_attach() is
sufficient now.
 1.2 16-Sep-2025  thorpej As with ACPI, iic_attach() now fetches the child device array directly
in the FDT case. Adjust the OFW case so that we're not forced to indirect
through a dictionary if it's not needed.
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.30 07-Nov-2021  jmcneill fdt: add helper for finding intr parent phandle
 1.29 15-Jan-2021  jmcneill Add 'const char *xname' param to fdtbus_intr_establish_byname
 1.28 15-Jan-2021  ryo add fdtbus_intr_establish_xname() function
 1.27 15-Jan-2021  jmcneill Add 'const char *xname' arg to fdtbus_interrupt_controller_func .establish
 1.26 08-Mar-2020  skrll branches: 1.26.4;
Use MUTEX_DEFAULT to avoid confusion
 1.25 16-Feb-2020  thorpej Add fdt_intr_mask() / fdt_intr_unmask() functions, for masking and
unmasking invididual interrupt sources (similar to acpi_intr_mask()
and acpi_intr_unmask()).
 1.24 31-Dec-2019  jmcneill branches: 1.24.2;
Remove a stupid printf
 1.23 16-Nov-2019  mlelstv be more verbose about errors.
 1.22 14-Jun-2019  hkenken Add support "interrupts-extended".

* fdtbus_get_phandle_with_data().
Add utility subroutine to get phandle with data.
 1.21 27-Feb-2019  jakllsch Add fdtbus_intr_establish_byname() helper.
 1.20 13-Nov-2018  jakllsch Avoid using the "interrupt-map" table on our own interrupts.

This is needed by the rk3399.dtsi's pcie0 node, which needs to map its
interrupts an entity other than itself.

Suggested by jmcneill@
 1.19 21-Oct-2018  skrll Fix sense of test in fdtbus_intr_disestablish.

Reported by yarl-baudig on port-arm.
 1.18 06-Sep-2018  jmcneill Add fdtbus_intr_establish_raw and fdtbus_intr_str_raw, for establishing
interrupts directly using an interrupt controller's phandle and specifier.
 1.17 15-Jul-2018  jmcneill Get rid of unnecessary calls to kmem_alloc
 1.16 15-Jul-2018  jmcneill Return the interrupt controller's cookie directly from fdtbus_intr_establish
 1.15 02-Jul-2018  jmcneill When searching for interrupt parent, stop as soon as we see an
interrupt-controller property on a node other than the starting node.
 1.14 02-Jul-2018  jmcneill Fix a regression with interrupt-map handling in previous.
 1.13 02-Jul-2018  jmcneill interrupt-map bug fixes
 1.12 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.11 11-Jun-2017  jmcneill branches: 1.11.4; 1.11.6; 1.11.8;
Fix an issue with interrupt controller lookup wrt cascading interrupt
controllers.
 1.10 02-Jun-2017  jmcneill branches: 1.10.2;
Fix interrupt-map support on vexpress-a15 and try to avoid unnecessary
calls to kmem_alloc.
 1.9 02-Jun-2017  jmcneill Rewrite interrupt-map support based on ePAPR spec.
 1.8 25-May-2016  jmcneill Fix get_specifier_by_index to work with indexes greater than 0.
 1.7 10-Jan-2016  marty FDT Interrupt handling - change memory allocation

This version does dynamic allocation of the specifier array.
 1.6 07-Jan-2016  marty FDT interrupts - bug fixing

Fix a pair of memory leaks
Add some descriptive messaging in fail cases.
Fix that _by_index wasn't walking the tree upward to find the interrupt-parent.
Fix a pair of messages so they include the function in the text.
 1.5 05-Jan-2016  marty FDT interrupts -- clean up debug printfs

Ooops. forgot to delete my debug printfs before my last checkin.
 1.4 05-Jan-2016  marty FDT: Interrupts -- add support for interrupt maps

The mct on exynos uses an interrupt map so we add support now. Devices
represent their interrupts either through a combination of interrupt-parent
and interrupts properties, where the 'interrupts' property is an array of
one or more interrupt specifiers; or through a combination of an
interrupt-parent that points to an interrupt-map, where the interrupt-map
contains 2 or more entries consisting of an index, a pointer to an
interrupt-controller, and a specifier for that controller.

This code adds the ability to walk the interrupt-map and return a specifier.
Unfortunately, the addition requires changing the interface to the
interrupt-controllers' _establish and _intstr functions, so this check in
contains a rototill of the three existing fdt interrupt controllers to use
the new interface.
 1.3 16-Dec-2015  jmcneill branches: 1.3.2;
Use of_getprop_bool/of_getprop_uint32
 1.2 16-Dec-2015  jmcneill Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.1 16-Dec-2015  jmcneill split gpio, i2c, intr, and regulator helpers into separate files
 1.3.2.5 28-Aug-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.3.2.1 16-Dec-2015  skrll file fdt_intr.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.10.2.1 14-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #30):
sys/dev/fdt/fdt_intr.c: revision 1.11
Fix an issue with interrupt controller lookup wrt cascading interrupt
controllers.
 1.11.8.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.8.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.8.1 10-Jun-2019  christos Sync with HEAD
 1.11.6.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.11.6.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.11.6.1 28-Jul-2018  pgoyette Sync with HEAD
 1.11.4.2 03-Dec-2017  jdolecek update from HEAD
 1.11.4.1 11-Jun-2017  jdolecek file fdt_intr.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.24.2.1 29-Feb-2020  ad Sync with head.
 1.26.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.1 04-Sep-2021  jmcneill Add facility for registering iommus.
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.1 04-Mar-2022  skrll Add mailbox and power-domain support.

power-domain support is very rudimentary.
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.10 14-Jan-2024  mlelstv Handle multiple memory nodes by type, but still allow an untyped
(non-standard) node named /memory.
 1.9 12-Jan-2024  skrll Cache the result from fdtbus_get_data() in fdt_memory_remove_reserved

NFCI.
 1.8 04-Nov-2022  jmcneill Size boot_physmem with FDT_MEMORY_RANGES.

This effectively increases the size from 64 to 256 entries for Arm kernels.
It turns out on large systems that memory can be quite fragmented by UEFI.
Increasing the size of this just kicks the can down the road, we need a
better solution to deal with boot_physmem/fdt_memory/bootparams.dram
sizing.
 1.7 20-Oct-2022  skrll Do what the comment says and reserve ranges that do and do not have the
"no-map" property.

Required for qemu/riscv
 1.6 06-Aug-2022  ryo In my previous change, it was necessary to consider the case where the first block size is zero.
 1.5 04-Aug-2022  ryo Don't pass a block of size 0 to fdt_memory_add_range().

There are some environments where size 0 blocks are passed from the loader.
 1.4 07-Jan-2022  mlelstv Calculate the minimum address, don't assume the first entry is the start.
 1.3 26-Jun-2021  jmcneill Fix 32-bit build.
 1.2 25-Jun-2021  ryo fdt "/reserved-memory" node should be handled
 1.1 12-Dec-2020  skrll branches: 1.1.2; 1.1.6;
Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and
some operations. This allows other architectures to use it.
 1.1.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.2.2 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.2.1 12-Dec-2020  thorpej file fdt_memory.c was added on branch thorpej-futex on 2020-12-14 14:38:05 +0000
 1.2 04-Nov-2022  jmcneill Size boot_physmem with FDT_MEMORY_RANGES.

This effectively increases the size from 64 to 256 entries for Arm kernels.
It turns out on large systems that memory can be quite fragmented by UEFI.
Increasing the size of this just kicks the can down the road, we need a
better solution to deal with boot_physmem/fdt_memory/bootparams.dram
sizing.
 1.1 12-Dec-2020  skrll branches: 1.1.2;
Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and
some operations. This allows other architectures to use it.
 1.1.2.2 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.2.1 12-Dec-2020  thorpej file fdt_memory.h was added on branch thorpej-futex on 2020-12-14 14:38:05 +0000
 1.2 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.1 22-Oct-2017  jmcneill branches: 1.1.2; 1.1.4; 1.1.6;
Add support for simple MMC power sequence provider bindings.
 1.1.6.1 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 22-Oct-2017  jdolecek file fdt_mmc_pwrseq.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.2 16-Dec-2015  jmcneill branches: 1.2.2; 1.2.18;
Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.1 13-Dec-2015  jmcneill Add a framework for enumerating devices using a Flattened Device Tree (FDT).
 1.2.18.2 03-Dec-2017  jdolecek update from HEAD
 1.2.18.1 16-Dec-2015  jdolecek file fdt_openfirm.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.2.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1 16-Dec-2015  skrll file fdt_openfirm.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.2 16-Dec-2015  jmcneill Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.1 13-Dec-2015  jmcneill Add a framework for enumerating devices using a Flattened Device Tree (FDT).
 1.1 06-Sep-2025  thorpej Re-factor the operating point defintions into fdt_opp.h
 1.6 19-Dec-2021  riastradh Sort includes.
 1.5 19-Dec-2021  riastradh Get drm to build on arm64 again.


Author: Jared McNeill <jmcneill@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.4 07-Nov-2021  jmcneill dts: adapt to dts-5.15 bindings
 1.3 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.2 19-Dec-2019  jakllsch branches: 1.2.4; 1.2.8; 1.2.12;
Abort panel driver attach if required regulator is missing.
 1.1 19-Dec-2019  jakllsch Add another panel@fdt driver, this time for DRM-style panels.

To do: migrate away from other panel driver.
 1.2.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2.8.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.8.1 19-Dec-2019  martin file fdt_panel.c was added on branch phil-wifi on 2020-04-08 14:08:04 +0000
 1.2.4.2 21-Jan-2020  martin Pull up following revision(s) (requested by mrg in ticket #616):

sys/dev/ic/anx_dp.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.126
sys/dev/ic/anx_dp.h: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.128
sys/dev/ic/anx_dp.h: revision 1.2
sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
sys/dev/i2c/cwfg.c: revision 1.1
sys/conf/files: revision 1.1247
sys/dev/fdt/pwm_backlight.c: revision 1.5
sys/dev/fdt/pwm_backlight.c: revision 1.6
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
sys/dev/ic/dwc_mmc.c: revision 1.20
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
sys/dev/usb/usbdevs: revision 1.775
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
sys/dev/fdt/simple_amplifier.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.105
sys/arch/evbarm/conf/GENERIC64: revision 1.117
sys/arch/evbarm/conf/GENERIC64: revision 1.118
sys/dev/i2c/files.i2c: revision 1.107
sys/dev/fdt/files.fdt: revision 1.49
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
sys/dev/ic/dwc_mmc_var.h: revision 1.9
sys/dev/i2c/rkpmic.c: revision 1.4
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
sys/dev/i2c/rkpmic.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.6
sys/arch/arm/rockchip/rk_vop.c: revision 1.4
sys/arch/arm/rockchip/rk_vop.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.8
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
sys/dev/usb/ums.c: revision 1.96 (via patch)
sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
sys/dev/i2c/es8316ac.c: revision 1.1
sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
sys/dev/i2c/es8316ac.c: revision 1.2
sys/dev/fdt/fdt_panel.c: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.18
sys/dev/fdt/fdt_panel.c: revision 1.2
sys/dev/ic/dwc_mmc.c: revision 1.19
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.5
sys/dev/ic/dwc_mmc_var.h: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.6
sys/arch/evbarm/conf/GENERIC64: revision 1.122
sys/dev/ic/dwc_mmc_var.h: revision 1.11
sys/dev/fdt/files.fdt: revision 1.50
sys/arch/evbarm/conf/GENERIC64: revision 1.123
sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
sys/arch/arm/rockchip/files.rockchip: revision 1.23
sys/arch/evbarm/conf/GENERIC64: revision 1.124
sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability. This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs
 1.2.4.1 19-Dec-2019  martin file fdt_panel.c was added on branch netbsd-9 on 2020-01-21 10:39:58 +0000
 1.6 30-Oct-2019  jmcneill Skip xref if it is 0
 1.5 27-Feb-2019  jakllsch branches: 1.5.4;
Consolidate FDT [find "names" index by string] logic.
 1.4 27-Feb-2019  jakllsch Adjust residual calculation in "find index by name" idioms to take into
account the trailing NUL on each name. Some other similar instances of
this idiom already account for this.

(In preparation to factor out this idiom into its own function.)
 1.3 30-Jan-2019  jmcneill Add support for Allwinner A64's display pipeline.
 1.2 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.1 29-Jun-2017  jmcneill branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12;
Add FDT PHY interface.
 1.1.12.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.12.1 10-Jun-2019  christos Sync with HEAD
 1.1.10.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.8.2 03-Dec-2017  jdolecek update from HEAD
 1.1.8.1 29-Jun-2017  jdolecek file fdt_phy.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 29-Jun-2017  skrll file fdt_phy.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.1.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1.4.1 29-Jun-2017  snj file fdt_phy.c was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.5.4.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.10 01-Oct-2019  jmcneill Add support for devices with separate "init" and "default" pinctrl states.
 1.9 27-Sep-2019  jmcneill Don't assume pinctrl-0 is the default configuration.
 1.8 27-Feb-2019  jakllsch branches: 1.8.4;
Consolidate FDT [find "names" index by string] logic.
 1.7 23-Jan-2019  thorpej Implement subroutines for parsing out some of the generic properties
specified in the pinctrl bindings, and adapt Meson, Rockchip, and
Allwinner pinctrl back-ends to use them.

Ok jmcneill@
 1.6 14-Jan-2019  mlelstv Fix infinite loop like in fdtbus_get_string_index.
 1.5 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.4 02-Jul-2017  jmcneill branches: 1.4.4; 1.4.6; 1.4.8;
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
 1.3 11-Oct-2016  maxv branches: 1.3.8;
Memory leak, found by mootja; not tested, but obvious enough. By the way,
I guess we should be handling the return value of OF_getprop.
 1.2 01-Jan-2016  marty branches: 1.2.2; 1.2.4;
FDT pinctl - review from Jared

These changes reflect a redesign based on a preliminary review by Jared.
Instead of the acquire/release/set/get approach of the original, this uses
a much simpler, and cleaner register/set approach.
 1.1 30-Dec-2015  marty FDT pinctrl

Add a pinctrl bus to FDT. This works against exynos, but someone(tm) needs
to think about whether it is general enough or too specific to exynos.
 1.2.4.1 04-Nov-2016  pgoyette Sync with HEAD
 1.2.2.4 28-Aug-2017  skrll Sync with HEAD
 1.2.2.3 05-Dec-2016  skrll Sync with HEAD
 1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.2.2.1 01-Jan-2016  skrll file fdt_pinctrl.c was added on branch nick-nhusb on 2016-03-19 11:30:09 +0000
 1.3.8.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.4.8.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.8.1 10-Jun-2019  christos Sync with HEAD
 1.4.6.3 26-Jan-2019  pgoyette Sync with HEAD
 1.4.6.2 18-Jan-2019  pgoyette Synch with HEAD
 1.4.6.1 28-Jul-2018  pgoyette Sync with HEAD
 1.4.4.2 03-Dec-2017  jdolecek update from HEAD
 1.4.4.1 02-Jul-2017  jdolecek file fdt_pinctrl.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.8.4.2 03-Oct-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #276):

sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.14
sys/arch/arm/rockchip/rk3399_iomux.c: revision 1.6
sys/dev/fdt/fdtvar.h: revision 1.54
sys/arch/arm/broadcom/bcm2835_gpio.c: revision 1.14
sys/dev/i2c/axppmic.c: revision 1.26
sys/arch/arm/nvidia/tegra_pinmux.c: revision 1.4
sys/arch/arm/rockchip/rk3328_iomux.c: revision 1.3
sys/dev/fdt/fdt_pinctrl.c: revision 1.10
sys/arch/arm/amlogic/meson_pinctrl.c: revision 1.6
sys/dev/fdt/fdtbus.c: revision 1.30
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.27

Add support for devices with separate "init" and "default" pinctrl states.
 1.8.4.1 28-Sep-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #256):

sys/dev/fdt/fdt_pinctrl.c: revision 1.9

Don't assume pinctrl-0 is the default configuration.
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.3 08-Sep-2025  rin G/C dummy FDT_PLATFORM to fix NULL-dereference crash during boot

observed for official test suite runs for aarch64 and riscv64.

This became apparent with link-order change due to FDT refactoring.
Need to pull up to netbsd-11.
 1.2 06-Sep-2025  thorpej Refactor the "platform" defitions into fdt_platform.h
 1.1 07-Apr-2023  skrll branches: 1.1.8;
Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
 1.1.8.1 12-Sep-2025  snj Pull up following revision(s) (requested by rin in ticket #31):

sys/dev/fdt/fdt_platform.c: revision 1.3

G/C dummy FDT_PLATFORM to fix NULL-dereference crash during boot
observed for official test suite runs for aarch64 and riscv64.
This became apparent with link-order change due to FDT refactoring.
Need to pull up to netbsd-11.
 1.1 06-Sep-2025  thorpej Refactor the "platform" defitions into fdt_platform.h
 1.7 21-Jan-2022  macallan when enumerating ports and endpoints treat missing 'reg' properties as zero
ok jmcneill:
Looking at Linux. If port or endpoint are missing a 'reg' property it defaults to 0.
Please make our code do the same.

see https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/graph.yaml

with this my pinebook has a usable console again
 1.6 01-Jan-2020  jmcneill Quiet chatty printfs
 1.5 15-Dec-2019  jakllsch style fix/KNF
 1.4 24-Nov-2019  skrll Fix build
 1.3 23-Nov-2019  jmcneill Use fdtbus_get_reg to read "reg" property
 1.2 30-Jan-2019  jmcneill branches: 1.2.4;
Add support for Allwinner A64's display pipeline.
 1.1 03-Apr-2018  bouyer branches: 1.1.2; 1.1.4;
Add connector and panel drivers (panel supports only panel-lvds and
panel-dual-lvds at this time, but can easily be extended to other types
of panels).
Add an API for ports/endpoints.
Proposed on tech-kern@ a few days ago, ok jmcneill@
 1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 03-Apr-2018  pgoyette file fdt_port.c was added on branch pgoyette-compat on 2018-04-07 04:12:14 +0000
 1.2.4.2 21-Jan-2020  martin Pull up following revision(s) (requested by mrg in ticket #616):

sys/dev/ic/anx_dp.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.126
sys/dev/ic/anx_dp.h: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.128
sys/dev/ic/anx_dp.h: revision 1.2
sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
sys/dev/i2c/cwfg.c: revision 1.1
sys/conf/files: revision 1.1247
sys/dev/fdt/pwm_backlight.c: revision 1.5
sys/dev/fdt/pwm_backlight.c: revision 1.6
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
sys/dev/ic/dwc_mmc.c: revision 1.20
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
sys/dev/usb/usbdevs: revision 1.775
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
sys/dev/fdt/simple_amplifier.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.105
sys/arch/evbarm/conf/GENERIC64: revision 1.117
sys/arch/evbarm/conf/GENERIC64: revision 1.118
sys/dev/i2c/files.i2c: revision 1.107
sys/dev/fdt/files.fdt: revision 1.49
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
sys/dev/ic/dwc_mmc_var.h: revision 1.9
sys/dev/i2c/rkpmic.c: revision 1.4
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
sys/dev/i2c/rkpmic.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.6
sys/arch/arm/rockchip/rk_vop.c: revision 1.4
sys/arch/arm/rockchip/rk_vop.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.8
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
sys/dev/usb/ums.c: revision 1.96 (via patch)
sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
sys/dev/i2c/es8316ac.c: revision 1.1
sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
sys/dev/i2c/es8316ac.c: revision 1.2
sys/dev/fdt/fdt_panel.c: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.18
sys/dev/fdt/fdt_panel.c: revision 1.2
sys/dev/ic/dwc_mmc.c: revision 1.19
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.5
sys/dev/ic/dwc_mmc_var.h: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.6
sys/arch/evbarm/conf/GENERIC64: revision 1.122
sys/dev/ic/dwc_mmc_var.h: revision 1.11
sys/dev/fdt/files.fdt: revision 1.50
sys/arch/evbarm/conf/GENERIC64: revision 1.123
sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
sys/arch/arm/rockchip/files.rockchip: revision 1.23
sys/arch/evbarm/conf/GENERIC64: revision 1.124
sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability. This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs
 1.2.4.1 25-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #470):

sys/arch/arm/sunxi/sunxi_hdmiphy.c: revision 1.4
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.16
sys/dev/ic/dw_hdmi.c: revision 1.5
sys/arch/arm/sunxi/sunxi_hdmiphy.h: revision 1.2
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.17
sys/dev/ic/dw_hdmi.c: revision 1.6
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.18
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.19
sys/dev/ic/dw_hdmi.h: revision 1.5
sys/arch/arm/sunxi/sunxi_mixer.c: revision 1.8
sys/arch/arm/sunxi/sunxi_mixer.c: revision 1.9
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.22
sys/arch/arm/sunxi/sunxi_dwhdmi.c: revision 1.5
sys/arch/arm/sunxi/sunxi_dwhdmi.c: revision 1.6
sys/arch/arm/sunxi/sunxi_dwhdmi.c: revision 1.7
sys/arch/arm/sunxi/sunxi_dwhdmi.c: revision 1.8
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.20
sys/arch/arm/sunxi/sunxi_mixer.c: revision 1.10
sys/arch/arm/dts/sun50i-a64-pinebook.dts: revision 1.17
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.38
sys/dev/fdt/fdt_port.c: revision 1.3
sys/dev/fdt/fdt_port.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu_fractional.c: revision 1.5
sys/arch/arm/sunxi/sunxi_lcdc.c: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_fractional.c: revision 1.6
sys/arch/arm/sunxi/sunxi_hdmiphy.c: revision 1.3

Fix CLK_BUS_HDMI bit

Enable TMDS clock

Store the flags passed to SUNXI_CCU_FRACTIONAL macro.
Previously the macro dropped the flags argument entirely, and did not
initialize the structure with it.

Allow bus glue to setup DDC clocks

Add TCON0 clock

HDMI PHY and TX share the same clocks. Do not enable clocks until both
reset resources have been deasserted. Explicitly set DDC clock dividers.
Honour SUNXI_CCU_FRACTIONAL_SET_ENABLE in fractional mode

Use fdtbus_get_reg to read "reg" property

Need to initialize the PHY before HPD sense and DDC will work

Set pixel clock on mode set

Set TCON1 parent to PLL_VIDEO1(1X)

Do not assume that an fb's pitch is width * 4 bytes.

Use actual hw mode, not proposed mode.

Set pre-divider M to 0 in fractional mode, as noted in user manual. Spotted by jak.

Support non-zero fb start pixels.

Set video PLLs to 297MHz

Do not assume the cursor pitch is the same as the primary fb

Enable HDMI and HDMI audio

Try to avoid changing hardware settings when the "nomodeset" kernel arg
is present.
 1.7 10-Feb-2024  andvar fix various typos in comments and log messages.
 1.6 24-May-2022  andvar fix various typos in comment, documentation and log messages.
 1.5 10-Apr-2022  andvar fix various typos in comments and output/log messages.
 1.4 11-Dec-2020  skrll Multiple inclusion protection define consistency
 1.3 03-Feb-2019  jmcneill branches: 1.3.12;
Add EP_DRM_PANEL endpoint type
 1.2 30-Jan-2019  jmcneill Add support for Allwinner A64's display pipeline.
 1.1 03-Apr-2018  bouyer branches: 1.1.2; 1.1.4;
Add connector and panel drivers (panel supports only panel-lvds and
panel-dual-lvds at this time, but can easily be extended to other types
of panels).
Add an API for ports/endpoints.
Proposed on tech-kern@ a few days ago, ok jmcneill@
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 03-Apr-2018  pgoyette file fdt_port.h was added on branch pgoyette-compat on 2018-04-07 04:12:14 +0000
 1.3.12.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.2 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.1 28-May-2017  jmcneill branches: 1.1.6; 1.1.10; 1.1.12; 1.1.14;
Add facility for fdt devices to register reset and poweroff handlers.
Use this to remove as3722-specific code in tegra_machdep.c
 1.1.14.1 10-Jun-2019  christos Sync with HEAD
 1.1.12.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.10.2 03-Dec-2017  jdolecek update from HEAD
 1.1.10.1 28-May-2017  jdolecek file fdt_power.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 28-May-2017  skrll file fdt_power.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.2 12-Jun-2024  rin fdt_powerdomain: Fix bug by which pd index >= 1 couldn't be enabled

Length in bytes was mistakenly used as number of uint32_t variables.
 1.1 04-Mar-2022  skrll branches: 1.1.4;
Add mailbox and power-domain support.

power-domain support is very rudimentary.
 1.1.4.1 21-Jun-2024  martin Pull up following revision(s) (requested by rin in ticket #715):

sys/dev/fdt/fdt_powerdomain.c: revision 1.2

fdt_powerdomain: Fix bug by which pd index >= 1 couldn't be enabled
Length in bytes was mistakenly used as number of uint32_t variables.
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.1 16-Feb-2020  thorpej branches: 1.1.2; 1.1.6;
Add fdt_intr_mask() / fdt_intr_unmask() functions, for masking and
unmasking invididual interrupt sources (similar to acpi_intr_mask()
and acpi_intr_unmask()).

(This file was missed in a previous commit.)
 1.1.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.1 16-Feb-2020  martin file fdt_private.h was added on branch phil-wifi on 2020-04-08 14:08:04 +0000
 1.1.2.2 29-Feb-2020  ad Sync with head.
 1.1.2.1 16-Feb-2020  ad file fdt_private.h was added on branch ad-namecache on 2020-02-29 20:19:07 +0000
 1.2 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.1 06-May-2018  jmcneill branches: 1.1.2; 1.1.4;
Add support for PWM backlights.
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.2.1 06-May-2018  pgoyette file fdt_pwm.c was added on branch pgoyette-compat on 2018-05-21 04:36:05 +0000
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.9 08-Aug-2021  jmcneill fdt: regulator: pre-allocate regulator handle

Workaround for PR# port-evbarm/54664
 1.8 27-May-2019  jmcneill Honour regulator-enable-ramp-delay
 1.7 02-Jan-2019  jmcneill Add a function to report if a regulator can support the requested voltage range
 1.6 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.5 06-Mar-2018  bouyer branches: 1.5.2;
I guess fdtbus_regulator_get_voltage() should check for the get_voltage()
callback, not set_voltage()
 1.4 22-Sep-2017  jmcneill branches: 1.4.2; 1.4.4;
Print an error if we fail to acquire a regulator
 1.3 22-Apr-2017  jmcneill Add regulator APIs for setting and getting voltage.
 1.2 16-Dec-2015  jmcneill branches: 1.2.2; 1.2.4;
Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.1 16-Dec-2015  jmcneill split gpio, i2c, intr, and regulator helpers into separate files
 1.2.4.1 26-Apr-2017  pgoyette Sync with HEAD
 1.2.2.3 28-Aug-2017  skrll Sync with HEAD
 1.2.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1 16-Dec-2015  skrll file fdt_regulator.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.4.4.3 18-Jan-2019  pgoyette Synch with HEAD
 1.4.4.2 28-Jul-2018  pgoyette Sync with HEAD
 1.4.4.1 15-Mar-2018  pgoyette Synch with HEAD
 1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.4.2.1 22-Sep-2017  jdolecek file fdt_regulator.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.4 27-Feb-2019  jakllsch Consolidate FDT [find "names" index by string] logic.
 1.3 27-Feb-2019  jakllsch Adjust residual calculation in "find index by name" idioms to take into
account the trailing NUL on each name. Some other similar instances of
this idiom already account for this.

(In preparation to factor out this idiom into its own function.)
 1.2 30-Jun-2018  jmcneill Use queue(3) API to manage lists. NFCI.
 1.1 22-Dec-2015  jmcneill branches: 1.1.2; 1.1.18; 1.1.20; 1.1.22;
Add support for fdt clock and reset controllers.
 1.1.22.1 10-Jun-2019  christos Sync with HEAD
 1.1.20.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 22-Dec-2015  jdolecek file fdt_reset.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 22-Dec-2015  skrll file fdt_reset.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.3 08-Sep-2025  thorpej Garbage-collect fdtbus_todr_attach(); todr_attach() does all the
necessary work now.

kern/59630
 1.2 08-Sep-2025  thorpej Introduce a device call "device-is-system-todr", which allows the
platform device tree to be consulted if there are multiple TODR / RTC
devices present on the system; if the call is not supported, the behavior
is un-changed: the first TODR device is attached, all others ignored. If
the call is supported, devices other than the specified system TODR are
skipped.

Implement this device call for FDT.

kern/59630
 1.1 22-Apr-2017  jmcneill branches: 1.1.2; 1.1.10; 1.1.14;
Add fdtbus_todr_attach.

The kernel will only ever use the first RTC driver to call todr_attach.
When drivers use fdtbus_todr_attach, if an "rtc0" alias exists in the
devicetree, ensure that only that device node calls todr_attach.
 1.1.14.2 03-Dec-2017  jdolecek update from HEAD
 1.1.14.1 22-Apr-2017  jdolecek file fdt_rtc.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.10.2 28-Aug-2017  skrll Sync with HEAD
 1.1.10.1 22-Apr-2017  skrll file fdt_rtc.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.1.2.2 26-Apr-2017  pgoyette Sync with HEAD
 1.1.2.1 22-Apr-2017  pgoyette file fdt_rtc.c was added on branch pgoyette-localcount on 2017-04-26 02:53:11 +0000
 1.13 14-Sep-2025  thorpej In spi_configure() attempt to fetch transfer mode information from the
platform device tree. Implement this for FDT per the SPI controller and
periperal Device Tree bindings.
 1.12 14-Sep-2025  thorpej Make SPI direct configuration less #ifdef'y. No more checking what kind
of platform device tree; instead, use a device call to enumerate the
direct config children of the bus.
 1.11 10-Sep-2025  thorpej Garbage-collect fdtbus_attach_spibus(). spibus_attach() does everything
now.
 1.10 10-Sep-2025  thorpej Put the task of getting the device array from the FDT onto the
SPI bus attach routine. This is slightly ugly now, but a prettier
solution is on the way, and this at least funnels the ugliness into
a single location.
 1.9 10-Sep-2025  thorpej Do the #address-cells dance inside of_copy_spi_devs(), and make calling
it a bit simpler.
 1.8 10-Sep-2025  thorpej Remove pointless containment of SPI device array inside a dictionary
that never gets passed on to anyone.
 1.7 10-Sep-2025  thorpej - Const poison references to spi_controller.
- Don't make a copy of the spi_controller in the SPI bus softc; just take
a reference to the one we got from the back-end driver.
 1.6 10-Sep-2025  thorpej Register the SPI controller with FDT in spi_attach(), not in each
driver.
 1.5 10-Sep-2025  thorpej It is not necessary to pass the phandle separately to fdtbus_spi_*(); it
can be retrieved from the device_t.
 1.4 10-Sep-2025  thorpej Don't bother registering a function that returns a SPI controller; just
register the controller directly.
 1.3 07-Aug-2021  thorpej branches: 1.3.2;
Merge thorpej-cfargs2.
 1.2 24-Apr-2021  thorpej branches: 1.2.2; 1.2.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.1 13-Aug-2019  tnn branches: 1.1.8; 1.1.12;
fdt: add SPI controller frontend
 1.1.12.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.1.8.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.8.1 13-Aug-2019  martin file fdt_spi.c was added on branch phil-wifi on 2020-04-13 08:04:19 +0000
 1.2.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2.2.2 19-May-2021  thorpej - As with i2c, just register the spi_controller directly.
- fdtbus_attach_spibus() is no longer anything other than a wrapper
around config_found(); just get rid of it and make its callers
look like all of the other SPI controller drivers.
 1.2.2.1 18-May-2021  thorpej Define a "spi-enumerate-devices" device call and use it for direct
configuration of SPI devices, rather than slinging arrays of dictionaries
around. Implement this device call for OpenFirmware / FDT, following
the SPI bindings for Device Tree.
 1.3.2.2 18-Jan-2022  thorpej G/C fdtbus_register_spi_controller(); it serves no purpose in the new
universe.
 1.3.2.1 09-Aug-2021  thorpej Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.
 1.5 10-Sep-2025  thorpej Garbage-collect fdtbus_attach_spibus(). spibus_attach() does everything
now.
 1.4 10-Sep-2025  thorpej - Const poison references to spi_controller.
- Don't make a copy of the spi_controller in the SPI bus softc; just take
a reference to the one we got from the back-end driver.
 1.3 10-Sep-2025  thorpej It is not necessary to pass the phandle separately to fdtbus_spi_*(); it
can be retrieved from the device_t.
 1.2 10-Sep-2025  thorpej Don't bother registering a function that returns a SPI controller; just
register the controller directly.
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.1 06-Sep-2025  thorpej Step towards modularizing the Flattened Device Tree code.

Define attributes for each of the specific device bindings: clock,
dai, dma, gpio, i2c, iommu, mbox, mmc_pwrseq, phy, power, power domain,
pwm, regulator, reset controller, spi, system controller, pin
controller. Include these support files only if either a provider
or consumer with one of these attributes is present in the kernel
config.

Add the necessary attributes to the device / attach declarations for
each provider and consumer.

There are some bindings that are consumed by generic code (iommu, pinctrl,
power, power domain). Provide weak stubs for these routines to handle
situations where there is no provider.

No actual code changed; NFCI.
 1.41 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.40 06-Sep-2025  thorpej G/C fdt_console_list -- nothing uses it.
 1.39 24-Jan-2021  thorpej Use strlist(9).
 1.38 16-Jul-2020  jmcneill branches: 1.38.2;
Add kernel option FDT_DEFAULT_STDOUT_PATH to set default (fallback)
stdout-path
 1.37 16-Jul-2020  jmcneill Allow kernels to link with no console drivers
 1.36 08-Mar-2020  skrll Fix LOCKDEBUG by calling fdtbus_intr_init as part of cpu_startup_hook, i.e.
later.
 1.35 24-Feb-2020  rin 0x%#x --> %#x for non-external codes.
Also, stop mixing up 0x%x and %#x in single files as far as possible.
 1.34 20-Feb-2020  jmcneill Add dma-ranges support.
 1.33 16-Feb-2020  thorpej Add fdt_intr_mask() / fdt_intr_unmask() functions, for masking and
unmasking invididual interrupt sources (similar to acpi_intr_mask()
and acpi_intr_unmask()).
 1.32 16-Feb-2020  thorpej Rename fdtbus_set_data() to fdtbus_init(). NFC.
 1.31 24-Sep-2019  jmcneill branches: 1.31.2;
Use correct #cells for parent address when decoding ranges
 1.30 14-Jun-2019  hkenken Add support "interrupts-extended".

* fdtbus_get_phandle_with_data().
Add utility subroutine to get phandle with data.
 1.29 27-Feb-2019  jakllsch Consolidate FDT [find "names" index by string] logic.
 1.28 27-Feb-2019  jakllsch Adjust residual calculation in "find index by name" idioms to take into
account the trailing NUL on each name. Some other similar instances of
this idiom already account for this.

(In preparation to factor out this idiom into its own function.)
 1.27 30-Jan-2019  jmcneill Hide address decoding debug messages under FDTBUS_DEBUG
 1.26 27-Jan-2019  rin Fix merge botches. I hope there's no more left...
 1.25 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.24 06-Oct-2018  skrll Provide an FDTBASE option which allows kernels to access FDT parsing
functions without requiring full blown FDTisation.

This will be used by ODROID-C1 in move to generic start code.
 1.23 17-Jul-2018  christos Use PRI?64 instead of ll?
 1.22 11-Jun-2018  jakllsch branches: 1.22.2;
Fix fdtbus_get_cells(, 2) when running big endian.
 1.21 06-Mar-2018  bouyer fdtbus_get_string_index(): decrease len when going to the next string,
otherwise we may read past the end of names.
 1.20 10-Dec-2017  skrll branches: 1.20.2;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.19 19-Sep-2017  jmcneill branches: 1.19.2;
fdtbus_get_string: support special 'name' property
 1.18 25-Aug-2017  jmcneill Add fdtbus_get_reg_byname
 1.17 19-Jul-2017  jmcneill Fix a problem with fdtbus_get_phandle where we were passing size -1 to
kmem_alloc when the property was not found. This seemed to work with
DIAGNOSTIC kernels, but panics in vmem with a non-DIAGNOSTIC kernel.
 1.16 08-Jul-2017  jmcneill Add fdtbus_get_string_index helper.
 1.15 02-Jul-2017  jmcneill Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
 1.14 30-Jun-2017  jmcneill Add fdtbus_get_string helper
 1.13 02-Jun-2017  jmcneill branches: 1.13.2;
The "ranges" property provides a means of translating between the
address space of a bus and the address space of the bus node's parent.
Translate addresses using these rules in fdtbus_get_reg{,64}.
 1.12 29-May-2017  jmcneill Move console initialization out of platform code into the console drivers
themselves.
 1.11 26-May-2017  jmcneill Handle reg values beyond 4GB for platforms with 32-bit bus_addr_t.

fdtbus_get_reg will do a range check and return ERANGE if addr+size
exceeds 4GB.

Add fdtbus_get_reg64 to allow for fetching raw values w/o range check.
 1.10 29-Apr-2017  jmcneill Move logic for checking "status" property out of fdtbus into a public
fdtbus_status_okay function.
 1.9 24-Apr-2017  jmcneill branches: 1.9.2;
If the stdout-path property is missing on /chosen, assume serial0:115200n8
 1.8 21-Apr-2017  jmcneill Add some helpers to find the stdout device.
 1.7 21-Apr-2017  jmcneill Avoid using kmem in fdtbus_get_reg so we can use it early at boot to read
the physical memory layout of the system.
 1.6 13-Apr-2017  jmcneill Print the full DT node path in "not configured" autoconf messages.

Before: clock at fdt2 not configured
After: /clocks/clock@0 at fdt2 not configured
 1.5 22-Dec-2015  jmcneill branches: 1.5.2; 1.5.4; 1.5.6;
Add support for fdt clock and reset controllers.
 1.4 16-Dec-2015  jmcneill Use of_getprop_bool/of_getprop_uint32
 1.3 16-Dec-2015  jmcneill Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.2 16-Dec-2015  jmcneill split gpio, i2c, intr, and regulator helpers into separate files
 1.1 13-Dec-2015  jmcneill Add a framework for enumerating devices using a Flattened Device Tree (FDT).
 1.5.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.4.1 26-Apr-2017  pgoyette Sync with HEAD
 1.5.2.3 28-Aug-2017  skrll Sync with HEAD
 1.5.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.5.2.1 22-Dec-2015  skrll file fdt_subr.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.9.2.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.13.2.2 20-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #147):
sys/dev/fdt/fdt_subr.c: revision 1.17
Fix a problem with fdtbus_get_phandle where we were passing size -1 to
kmem_alloc when the property was not found. This seemed to work with
DIAGNOSTIC kernels, but panics in vmem with a non-DIAGNOSTIC kernel.
 1.13.2.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.19.2.2 03-Dec-2017  jdolecek update from HEAD
 1.19.2.1 19-Sep-2017  jdolecek file fdt_subr.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.20.2.4 20-Oct-2018  pgoyette Sync with head
 1.20.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.20.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.20.2.1 15-Mar-2018  pgoyette Synch with HEAD
 1.22.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22.2.1 10-Jun-2019  christos Sync with HEAD
 1.31.2.1 29-Feb-2020  ad Sync with head.
 1.38.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.3 30-Jun-2018  jmcneill branches: 1.3.2; 1.3.8;
Simplify list initialization
 1.2 30-Jun-2018  jmcneill Add helper to lookup syscon by phandle
 1.1 30-Jun-2018  jmcneill Add support for system controller nodes.
 1.3.8.2 10-Jun-2019  christos Sync with HEAD
 1.3.8.1 30-Jun-2018  christos file fdt_syscon.c was added on branch phil-wifi on 2019-06-10 22:07:08 +0000
 1.3.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.3.2.1 30-Jun-2018  pgoyette file fdt_syscon.c was added on branch pgoyette-compat on 2018-07-28 04:37:44 +0000
 1.1 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.1 25-Mar-2022  jmcneill fdt: add support for USERCONF option
 1.48 04-Oct-2025  thorpej Nothing uses fdt-path anymore, and it's redundant with device-path,
so g/c.
 1.47 07-Sep-2025  thorpej Allow the fdtbus_attach_args to fdt_add_bus() to be NULL.
 1.46 04-Mar-2022  skrll Add mailbox and power-domain support.

power-domain support is very rudimentary.
 1.45 22-Jan-2022  thorpej Change the devhandle_from_*() functions to also take a "super handle",
from which the newly created handle will inherit it's implementation.
The root implementation for a new handle type is used if an invalid
"super handle" is passed.
 1.44 07-Nov-2021  jmcneill fdtbus: match simple-pm-bus
 1.43 06-Sep-2021  jmcneill Instead of requiring drivers to be explicit about their device memory
mapping requirements, move this decision into the fdt layer. This
introduces a new MD function, fdtbus_bus_tag_create, which is responsible
for returning per-node bus_space handles.
 1.42 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.41 24-Apr-2021  thorpej branches: 1.41.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.40 05-Feb-2021  thorpej branches: 1.40.2;
Assign device handles to devices that attach to the "fdt" interface attribute
in fdtbus_device_register().
 1.39 04-Feb-2021  thorpej Add fdtbus_device_register(). Just a placeholder for now.
 1.38 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.37 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.36 26-Jan-2021  thorpej Replace 2 uses of of_match_compatible().
 1.35 20-Sep-2020  jmcneill branches: 1.35.2;
Adjust fdt_rescan to speed up booting by significantly reducing the number
of times that we call config_match. Now we only call it 11 times per node.
Previously, each scan pass of an unconfigured device triggered 11 calls to
config_match, and adding a new simplebus causes the scan to restart, so
we are avoiding potentially hundreds of calls to config_match per node now.
 1.34 11-Jun-2020  thorpej Update for proplib(3) API changes.
 1.33 20-Feb-2020  jmcneill Add dma-ranges support.
 1.32 28-Jan-2020  martin First arg of cpu_setmodel needs to be a format string - fix the llvm build.
From maxv.
 1.31 09-Jan-2020  martin When attaching the first fdtbus, use the root "comptabile" (or failing that:
"model") property to set the cpu model (in userland aka sysctl hw.model).
When attaching the first cpu, do not overwrite a cpu model if it already
had been set.
 1.30 01-Oct-2019  jmcneill branches: 1.30.2;
Add support for devices with separate "init" and "default" pinctrl states.
 1.29 25-May-2019  jmcneill branches: 1.29.2;
Restore "not configured" autoconfiguration prints by using config_found_sm_loc on the default pass
 1.28 20-May-2019  jmcneill Reduce the number of times we need to call driver match functions. Makes
a noticeable difference in boot time on an ODROID-XU4.
 1.27 25-Feb-2019  jmcneill Attach syscon to "simple-mfd" devices and fix a bug with fdt_find_with_property
 1.26 19-Jan-2019  jmcneill Add a helper to search the tree for a node with the specified property
 1.25 02-Jan-2019  jmcneill Do not sort cpu nodes when enumerating so they attach in the order listed
in the devicetree.
 1.24 23-Sep-2018  jmcneill Support rescan and child detachment
 1.23 09-Sep-2018  jmcneill Add fdt_add_bus_match, which is like fdt_add_bus but allows for the caller to filter child nodes on their own
 1.22 30-Jun-2018  jmcneill Store node path in device properties "fdt-path" property:

# drvctl -p ehci0 fdt-path
/soc/usb@5101000

While here, remove fdt_scan_bus (no longer required) and some debug printfs.
 1.21 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.20 30-Jun-2018  jmcneill When attaching child devices, consider the best match for all passes
instead of just the current pass. Fixes an issue where a driver with a
lower match number and early pass number will attach instead of a better
match on a later pass.
 1.19 20-Jun-2018  thorpej branches: 1.19.2;
Revert previous.
 1.18 20-Jun-2018  thorpej In fdtbus_print(), aprint_normal the path to the device (rather than
aprint_debug). This info is every bit as useful as, say, PCI device
locations.
 1.17 12-Jun-2018  jmcneill If we don't have a native driver for a node and it has a simple-mfd
compatible string, treat it the same as a simple-bus.
 1.16 07-Apr-2018  bouyer Allow to remove entries from the fdt, either by handle or
by compatible string. Proposed on tech-kern and port-arm, ok jmcneill@
 1.15 27-Aug-2017  jmcneill branches: 1.15.2; 1.15.4;
Scan children of the /chosen node to pick up simplefb nodes
 1.14 28-Jun-2017  jmcneill Attach fdtbus to a /clocks node with no compatible string.
 1.13 28-May-2017  jmcneill branches: 1.13.2;
Change first pass from 1 to 0.
 1.12 29-Apr-2017  jmcneill Rename fdt_print to fdtbus_print and make it public.
 1.11 29-Apr-2017  jmcneill Move logic for checking "status" property out of fdtbus into a public
fdtbus_status_okay function.
 1.10 28-Apr-2017  jmcneill Print node path in debug log.
 1.9 26-Apr-2017  jmcneill branches: 1.9.2;
Allow for specifying (optional) pass number locator for devices at fdt.
 1.8 16-Apr-2017  jmcneill Attach devices in order of "phandle" property inserted by DTC.
 1.7 15-Apr-2017  jmcneill Change order in which nodes in the devicetree are processed.

1. Attach all known busses.
2. Attach all "early init" devices (by compatible string).
3. Finally, attach all other devices.
 1.6 14-Apr-2017  jmcneill Remove simplebus driver and allow fdtbus to attach directly to itself.
 1.5 13-Apr-2017  jmcneill Allow devices to attach to nodes without a "compatible" property, but only
print "not configured" messages for nodes with one.
 1.4 13-Apr-2017  jmcneill Print the full DT node path in "not configured" autoconf messages.

Before: clock at fdt2 not configured
After: /clocks/clock@0 at fdt2 not configured
 1.3 07-Feb-2017  skrll Fix non-DIAGNOSTIC build
 1.2 16-Dec-2015  jmcneill branches: 1.2.2; 1.2.4; 1.2.6;
sometimes status is "ok" instead of "okay", allow both
 1.1 13-Dec-2015  jmcneill Add a framework for enumerating devices using a Flattened Device Tree (FDT).
 1.2.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.4.2 26-Apr-2017  pgoyette Sync with HEAD
 1.2.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.3 28-Aug-2017  skrll Sync with HEAD
 1.2.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1 16-Dec-2015  skrll file fdtbus.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.9.2.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.13.2.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.15.4.6 26-Jan-2019  pgoyette Sync with HEAD
 1.15.4.5 18-Jan-2019  pgoyette Synch with HEAD
 1.15.4.4 30-Sep-2018  pgoyette Ssync with HEAD
 1.15.4.3 28-Jul-2018  pgoyette Sync with HEAD
 1.15.4.2 25-Jun-2018  pgoyette Sync with HEAD
 1.15.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.15.2.2 03-Dec-2017  jdolecek update from HEAD
 1.15.2.1 27-Aug-2017  jdolecek file fdtbus.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.19.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.19.2.1 10-Jun-2019  christos Sync with HEAD
 1.29.2.3 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #665):
sys/dev/fdt/fdtbus.c: revision 1.32
First arg of cpu_setmodel needs to be a format string - fix the llvm build.
From maxv.
 1.29.2.2 09-Jan-2020  snj Pull up following revision(s) (requested by martin in ticket #614):

sys/arch/aarch64/aarch64/cpu.c: 1.32
sys/arch/arm/arm32/cpu.c: 1.138
sys/dev/fdt/fdtbus.c: 1.31

When attaching the first fdtbus, use the root "comptabile" (or failing that:
"model") property to set the cpu model (in userland aka sysctl hw.model).
When attaching the first cpu, do not overwrite a cpu model if it already
had been set.
 1.29.2.1 03-Oct-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #276):

sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.14
sys/arch/arm/rockchip/rk3399_iomux.c: revision 1.6
sys/dev/fdt/fdtvar.h: revision 1.54
sys/arch/arm/broadcom/bcm2835_gpio.c: revision 1.14
sys/dev/i2c/axppmic.c: revision 1.26
sys/arch/arm/nvidia/tegra_pinmux.c: revision 1.4
sys/arch/arm/rockchip/rk3328_iomux.c: revision 1.3
sys/dev/fdt/fdt_pinctrl.c: revision 1.10
sys/arch/arm/amlogic/meson_pinctrl.c: revision 1.6
sys/dev/fdt/fdtbus.c: revision 1.30
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.27

Add support for devices with separate "init" and "default" pinctrl states.
 1.30.2.2 29-Feb-2020  ad Sync with head.
 1.30.2.1 17-Jan-2020  ad Sync with head.
 1.35.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.40.2.4 03-Apr-2021  thorpej - FDT device enumeration now sets the device handle using CFARG_DEVHANDLE.
- fdtbus_device_register() is now obsolete, so G/C it.
- of_device_register() is now obsolete, so G/C it.
 1.40.2.3 03-Apr-2021  thorpej config_attach_loc() -> config_attach() with CFARG_LOCATORS argument.
 1.40.2.2 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.40.2.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.41.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.86 08-Sep-2025  thorpej Garbage-collect fdtbus_todr_attach(); todr_attach() does all the
necessary work now.

kern/59630
 1.85 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.84 06-Sep-2025  thorpej Re-factor the operating point defintions into fdt_opp.h
 1.83 06-Sep-2025  thorpej G/C fdt_console_list -- nothing uses it.
 1.82 06-Sep-2025  thorpej Refactor the "platform" defitions into fdt_platform.h
 1.81 06-Sep-2025  thorpej Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.
 1.80 30-Jun-2024  jmcneill fdt: Add a fp_device_register_post_config callback to fdt_platform.
 1.79 12-Jun-2023  skrll branches: 1.79.6;
Call / define fdtbus_cpus_md_attach for platforms with cpus @ fdt.

The RISC-V binding here seems somewhat of an abuse, but it exists in
mainline linux.
 1.78 07-Apr-2023  skrll Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
 1.77 04-Mar-2022  skrll Add mailbox and power-domain support.

power-domain support is very rudimentary.
 1.76 23-Feb-2022  skrll Sort a bit. NFC
 1.75 23-Feb-2022  skrll API naming consistency. NFC.
 1.74 14-Jan-2022  skrll Formatting. NFCI.
 1.73 07-Nov-2021  jmcneill fdt: add helper for finding intr parent phandle
 1.72 06-Sep-2021  jmcneill Instead of requiring drivers to be explicit about their device memory
mapping requirements, move this decision into the fdt layer. This
introduces a new MD function, fdtbus_bus_tag_create, which is responsible
for returning per-node bus_space handles.
 1.71 04-Sep-2021  jmcneill Add facility for registering iommus.
 1.70 24-Apr-2021  thorpej branches: 1.70.2; 1.70.12;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.69 04-Feb-2021  thorpej branches: 1.69.2;
Add fdtbus_device_register(). Just a placeholder for now.
 1.68 16-Jan-2021  ryo oops, fix mistake in previous commit. removed unwanted member that had been added.
 1.67 15-Jan-2021  jmcneill Add 'const char *xname' param to fdtbus_intr_establish_byname
 1.66 15-Jan-2021  ryo add fdtbus_intr_establish_xname() function
 1.65 15-Jan-2021  jmcneill Add 'const char *xname' arg to fdtbus_interrupt_controller_func .establish
 1.64 23-Dec-2020  thorpej Change fdtbus_register_i2c_controller() to directly register the i2c_tag_t,
rather than the device and a set of functions (the only of which was to
return the i2c_tag_t anyway). Previously, this assumed only a single
i2c controller node per device_t, which is not true with an i2c mux.
 1.63 23-Dec-2020  thorpej Add fdtbus_gpio_count(), which counts the number of GPIO entries
in a specified property.
 1.62 11-Dec-2020  skrll Multiple inclusion protection define consistency
 1.61 28-Sep-2020  jmcneill branches: 1.61.2;
Get rid of a4x bus_space tag from fdtbus_attach_args. The only consumer
of this was various com(4) glue so modify all of that to use the new
com_init_regs_stride instead.
 1.60 20-Feb-2020  jmcneill Add dma-ranges support.
 1.59 16-Feb-2020  thorpej Add fdt_intr_mask() / fdt_intr_unmask() functions, for masking and
unmasking invididual interrupt sources (similar to acpi_intr_mask()
and acpi_intr_unmask()).
 1.58 16-Feb-2020  thorpej Rename fdtbus_set_data() to fdtbus_init(). NFC.
 1.57 09-Nov-2019  jmcneill branches: 1.57.2;
Add fdtbus_clock_enable and fdtbus_clock_enable_index shortcuts
 1.56 28-Oct-2019  jmcneill Add fdtbus_clock_count to count the number of clock references on a given node
 1.55 28-Oct-2019  jmcneill Add support for platform specific opp table filters.
 1.54 01-Oct-2019  jmcneill Add support for devices with separate "init" and "default" pinctrl states.
 1.53 13-Aug-2019  tnn fdt: add SPI controller frontend
 1.52 14-Jun-2019  hkenken branches: 1.52.2;
Add support "interrupts-extended".

* fdtbus_get_phandle_with_data().
Add utility subroutine to get phandle with data.
 1.51 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.50 27-Feb-2019  jakllsch branches: 1.50.2;
Add fdtbus_intr_establish_byname() helper.
 1.49 27-Feb-2019  jakllsch Consolidate FDT [find "names" index by string] logic.
 1.48 30-Jan-2019  jmcneill Add support for Allwinner A64's display pipeline.
 1.47 26-Jan-2019  thorpej Define constants for representing the standard interrupt types
({pos,neg,double}-edge, {high,low}-level) from the FDT "interrupts"
bindings. Use these defined constants rather than magic numbers.
 1.46 23-Jan-2019  thorpej Implement subroutines for parsing out some of the generic properties
specified in the pinctrl bindings, and adapt Meson, Rockchip, and
Allwinner pinctrl back-ends to use them.

Ok jmcneill@
 1.45 19-Jan-2019  jmcneill Add a helper to search the tree for a node with the specified property
 1.44 02-Jan-2019  jmcneill Add a function to report if a regulator can support the requested voltage range
 1.43 02-Jan-2019  jmcneill Do not sort cpu nodes when enumerating so they attach in the order listed
in the devicetree.
 1.42 15-Sep-2018  jakllsch fdtvar.h: Use _KERNEL_OPT wrapper where necessary.
 1.41 09-Sep-2018  jmcneill Add fdt_add_bus_match, which is like fdt_add_bus but allows for the caller to filter child nodes on their own
 1.40 09-Sep-2018  aymeric Pass clock provider's phandle to fdtbus_clock_controller_func.decode()
and update callers.

This allows to accomodate clock managers whose clocks are identified
directly by a clock instead of a pair (clock provider, index).

ok jmcneill@ on port-arm
 1.39 06-Sep-2018  jmcneill Add fdtbus_intr_establish_raw and fdtbus_intr_str_raw, for establishing
interrupts directly using an interrupt controller's phandle and specifier.
 1.38 01-Jul-2018  jmcneill Add fdtbus_attach_i2cbus, used to attach an i2cbus to an fdt device node.
 1.37 30-Jun-2018  jmcneill Add helper to lookup syscon by phandle
 1.36 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.35 30-Jun-2018  jmcneill Add support for system controller nodes.
 1.34 12-Jun-2018  jmcneill branches: 1.34.2;
Process assigned clock parents and rates on clock provider nodes.
 1.33 10-Jun-2018  jmcneill Add fdtbus_clock_byname, which can be used by clock backends to
lookup clocks in other domains by "clock-output-names" property.
Not intended for ordinary driver use.
 1.32 15-May-2018  jmcneill Build fix for FDT kernels without audio
 1.31 09-May-2018  jmcneill Add SoC sound driver based on "simple-audio-card" DT binding spec.
 1.30 06-May-2018  jmcneill Add support for PWM backlights.
 1.29 07-Apr-2018  bouyer Allow to remove entries from the fdt, either by handle or
by compatible string. Proposed on tech-kern and port-arm, ok jmcneill@
 1.28 10-Dec-2017  skrll branches: 1.28.2;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.27 22-Oct-2017  jmcneill branches: 1.27.2;
Add support for simple MMC power sequence provider bindings.
 1.26 25-Aug-2017  jmcneill Add fdtbus_get_reg_byname
 1.25 13-Aug-2017  jmcneill Add fdtbus_gpio_acquire_index for accessing multi-xref gpios properties.
 1.24 08-Jul-2017  jmcneill Add fdtbus_get_string_index helper.
 1.23 02-Jul-2017  jmcneill Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
 1.22 30-Jun-2017  jmcneill Add fdtbus_get_string helper
 1.21 29-Jun-2017  jmcneill Add FDT PHY interface.
 1.20 02-Jun-2017  jmcneill branches: 1.20.2;
Allow platform code to specify the UART frequency for consinit
 1.19 29-May-2017  jmcneill Move console initialization out of platform code into the console drivers
themselves.
 1.18 28-May-2017  jmcneill Add facility for fdt devices to register reset and poweroff handlers.
Use this to remove as3722-specific code in tegra_machdep.c
 1.17 26-May-2017  jmcneill Handle reg values beyond 4GB for platforms with 32-bit bus_addr_t.

fdtbus_get_reg will do a range check and return ERANGE if addr+size
exceeds 4GB.

Add fdtbus_get_reg64 to allow for fetching raw values w/o range check.
 1.16 29-Apr-2017  jmcneill Rename fdt_print to fdtbus_print and make it public.
 1.15 29-Apr-2017  jmcneill Move logic for checking "status" property out of fdtbus into a public
fdtbus_status_okay function.
 1.14 29-Apr-2017  jmcneill Add FDT DMA controller API.
 1.13 26-Apr-2017  jmcneill branches: 1.13.2;
Allow for specifying (optional) pass number locator for devices at fdt.
 1.12 22-Apr-2017  jmcneill Add regulator APIs for setting and getting voltage.
 1.11 22-Apr-2017  jmcneill Add fdtbus_todr_attach.

The kernel will only ever use the first RTC driver to call todr_attach.
When drivers use fdtbus_todr_attach, if an "rtc0" alias exists in the
devicetree, ensure that only that device node calls todr_attach.
 1.10 21-Apr-2017  jmcneill Add some helpers to find the stdout device.
 1.9 16-Apr-2017  jmcneill Attach devices in order of "phandle" property inserted by DTC.
 1.8 13-Apr-2017  jmcneill Print the full DT node path in "not configured" autoconf messages.

Before: clock at fdt2 not configured
After: /clocks/clock@0 at fdt2 not configured
 1.7 05-Jan-2016  marty branches: 1.7.2; 1.7.4;
FDT: Interrupts -- add support for interrupt maps

The mct on exynos uses an interrupt map so we add support now. Devices
represent their interrupts either through a combination of interrupt-parent
and interrupts properties, where the 'interrupts' property is an array of
one or more interrupt specifiers; or through a combination of an
interrupt-parent that points to an interrupt-map, where the interrupt-map
contains 2 or more entries consisting of an index, a pointer to an
interrupt-controller, and a specifier for that controller.

This code adds the ability to walk the interrupt-map and return a specifier.
Unfortunately, the addition requires changing the interface to the
interrupt-controllers' _establish and _intstr functions, so this check in
contains a rototill of the three existing fdt interrupt controllers to use
the new interface.
 1.6 01-Jan-2016  marty FDT pinctl - review from Jared

These changes reflect a redesign based on a preliminary review by Jared.
Instead of the acquire/release/set/get approach of the original, this uses
a much simpler, and cleaner register/set approach.
 1.5 30-Dec-2015  marty FDT pinctrl

Add a pinctrl bus to FDT. This works against exynos, but someone(tm) needs
to think about whether it is general enough or too specific to exynos.
 1.4 22-Dec-2015  jmcneill branches: 1.4.2;
Add fdtbus_gpio_{read,write}_raw, which tells the controller not to take
polarity into account. Tegra GPIO pin data includes pin polarity, but so
does a regulator-fixed node, so the end result was that the enable value
was being swapped twice. Change fregulator to use the raw APIs, and adapt
Tegra and Exynos GPIO drivers to support this flag.
 1.3 22-Dec-2015  jmcneill Add support for fdt clock and reset controllers.
 1.2 16-Dec-2015  jmcneill Only OF_* functions should be in fdt_openfirm.c, move the rest to fdt_subr.c.
 1.1 13-Dec-2015  jmcneill Add a framework for enumerating devices using a Flattened Device Tree (FDT).
 1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.4.2.3 19-Mar-2016  skrll Sync with HEAD
 1.4.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.4.2.1 22-Dec-2015  skrll file fdtvar.h was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.13.2.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.20.2.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.27.2.2 03-Dec-2017  jdolecek update from HEAD
 1.27.2.1 22-Oct-2017  jdolecek file fdtvar.h was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.28.2.7 26-Jan-2019  pgoyette Sync with HEAD
 1.28.2.6 18-Jan-2019  pgoyette Synch with HEAD
 1.28.2.5 30-Sep-2018  pgoyette Ssync with HEAD
 1.28.2.4 28-Jul-2018  pgoyette Sync with HEAD
 1.28.2.3 25-Jun-2018  pgoyette Sync with HEAD
 1.28.2.2 21-May-2018  pgoyette Sync with HEAD
 1.28.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.34.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.34.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.34.2.1 10-Jun-2019  christos Sync with HEAD
 1.50.2.1 04-May-2019  isaki Move dev/audio_dai.h -> dev/audio/audio_dai.h
 1.52.2.3 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.52.2.2 16-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #427):

sys/dev/ic/dw_hdmi_phy.c: revision 1.2
sys/dev/ic/dw_hdmi.c: revision 1.4
sys/dev/fdt/ausoc.c: revision 1.5
sys/dev/ic/dw_hdmi.h: revision 1.2
sys/dev/ic/dw_hdmi.h: revision 1.3
sys/dev/ic/dw_hdmi.h: revision 1.4
sys/conf/files: revision 1.1242
sys/dev/fdt/fdtvar.h: revision 1.57
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.11
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.12
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.13
sys/arch/evbarm/conf/GENERIC64: revision 1.110
sys/arch/arm/rockchip/rk_drm.c: revision 1.1
sys/arch/arm/rockchip/rk_drm.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.112
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.1
sys/dev/fdt/fdt_clock.c: revision 1.10
sys/arch/evbarm/conf/GENERIC64: revision 1.113
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.2
sys/arch/arm/rockchip/rk_drm.h: revision 1.1
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.3
sys/arch/arm/rockchip/rk_fb.c: revision 1.1
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.9
sys/arch/arm/rockchip/rk_vop.c: revision 1.1
sys/arch/arm/rockchip/rk_vop.c: revision 1.2
sys/arch/arm/rockchip/rk_i2c.c: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.7
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.4
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.5
sys/arch/arm/rockchip/files.rockchip: revision 1.21
sys/arch/arm/rockchip/rk_i2s.c: revision 1.1
sys/arch/arm/rockchip/files.rockchip: revision 1.22
sys/dev/ic/dw_hdmi.c: revision 1.2
sys/dev/ic/dw_hdmi_phy.c: revision 1.1
sys/dev/ic/dw_hdmi.c: revision 1.3

Support reads of more than 32 bytes in a single xfer.

Add support for internal DesignWare HDMI PHYs

Add fdtbus_clock_enable and fdtbus_clock_enable_index shortcuts

Add HDMI and VOP clocks

WIP display driver for Rockchip RK3399

Add (commented out) Rockchip display support

Select the correct MPLL and PHY settings for the requested pixel clock
Force DCLK_VOP0/1 dividers to 1 and select closest match when setting PLL
rates.

Fix typo in phy config table

Fix a few swapped fields

Remove debug output

Enable Rockchip display support

Set sysclk rate at set_format time, so the link set_format callback can read the new sysclk

Add I2S audio input support.
Add software volume controls.
Add support for I2S clocks.
Add driver for Rockchip I2S/PCM controller.
Enable HDMI audio on ROCKPro64
Add rki2s
Add audio support
 1.52.2.1 03-Oct-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #276):

sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.14
sys/arch/arm/rockchip/rk3399_iomux.c: revision 1.6
sys/dev/fdt/fdtvar.h: revision 1.54
sys/arch/arm/broadcom/bcm2835_gpio.c: revision 1.14
sys/dev/i2c/axppmic.c: revision 1.26
sys/arch/arm/nvidia/tegra_pinmux.c: revision 1.4
sys/arch/arm/rockchip/rk3328_iomux.c: revision 1.3
sys/dev/fdt/fdt_pinctrl.c: revision 1.10
sys/arch/arm/amlogic/meson_pinctrl.c: revision 1.6
sys/dev/fdt/fdtbus.c: revision 1.30
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.27

Add support for devices with separate "init" and "default" pinctrl states.
 1.57.2.1 29-Feb-2020  ad Sync with head.
 1.61.2.3 03-Apr-2021  thorpej Sync with HEAD.
 1.61.2.2 03-Jan-2021  thorpej Sync w/ HEAD.
 1.61.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.69.2.1 03-Apr-2021  thorpej - FDT device enumeration now sets the device handle using CFARG_DEVHANDLE.
- fdtbus_device_register() is now obsolete, so G/C it.
- of_device_register() is now obsolete, so G/C it.
 1.70.12.2 18-Jan-2022  thorpej G/C fdtbus_register_spi_controller(); it serves no purpose in the new
universe.
 1.70.12.1 09-Aug-2021  thorpej Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.
 1.70.2.2 19-May-2021  thorpej fdtbus_attach_i2cbus() is no longer anything other than a wrapper around
config_found(); just get rid of it and make its callers look like all of
the other I2C controller drivers.
 1.70.2.1 19-May-2021  thorpej - As with i2c, just register the spi_controller directly.
- fdtbus_attach_spibus() is no longer anything other than a wrapper
around config_found(); just get rid of it and make its callers
look like all of the other SPI controller drivers.
 1.79.6.1 01-Jul-2024  perseant Sync with HEAD.
 1.76 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.75 06-Sep-2025  thorpej Refactor the "platform" defitions into fdt_platform.h
 1.74 06-Sep-2025  thorpej Step towards modularizing the Flattened Device Tree code.

Define attributes for each of the specific device bindings: clock,
dai, dma, gpio, i2c, iommu, mbox, mmc_pwrseq, phy, power, power domain,
pwm, regulator, reset controller, spi, system controller, pin
controller. Include these support files only if either a provider
or consumer with one of these attributes is present in the kernel
config.

Add the necessary attributes to the device / attach declarations for
each provider and consumer.

There are some bindings that are consumed by generic code (iommu, pinctrl,
power, power domain). Provide weak stubs for these routines to handle
situations where there is no provider.

No actual code changed; NFCI.
 1.73 09-May-2024  pho branches: 1.73.4;
port-arm/58194: Resurrect vmt(4) from bitrot

On this architecture vmt(4) used to search for a node "/hypervisor" in the
FDT and probed the VMware hypervisor call only when the node was
found. However, things appear to have changed and VMware no longer provides
the FDT node.

Since vmt(4) doesn't actually need to read anything from FDT, and the
hypervisor call logically resides in virtual CPUs themselves, it would be
better to attach it directly to cpu, just like how it's probed on x86.
 1.72 18-Jan-2024  skrll risc-v: attach the Cadence XHCI usb controller on the JH7100 SoC
 1.71 29-Dec-2023  thorpej Re-factor the Goldfish RTC driver into attach-front-end and generic
back-end; Goldfish virtual devices can be found on virtual platforms
that don't use FDT.
 1.70 08-May-2023  skrll Google goldfish config goop
 1.69 22-Apr-2023  skrll Move fdt_update_stdout_path from evbarm code to MI code
 1.68 16-Apr-2023  jmcneill Separate DesignWare watchdog driver and FDT glue.
 1.67 07-Apr-2023  skrll Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
 1.66 05-Nov-2022  jmcneill Add driver for Cadence I2C controller.
 1.65 20-Jul-2022  riastradh drm: Use CPPFLAGS.drmkms in all local drm drivers too.

This way we don't pollute the NetBSD kernel namespace with all the
Linux compat shim definitions needed to build drm, except for the
local drm drivers that need the API.
 1.64 25-Mar-2022  jmcneill fdt: add support for USERCONF option
 1.63 04-Mar-2022  skrll Add mailbox and power-domain support.

power-domain support is very rudimentary.
 1.62 04-Sep-2021  jmcneill Add facility for registering iommus.
 1.61 26-Apr-2021  thorpej branches: 1.61.10;
simplebus, cpus, and syscon do not need their own interface attribute; they
use the "fdt" interface attribute to attach children.
 1.60 31-Dec-2020  ryo branches: 1.60.4;
add fdt pwm regulator
 1.59 28-Dec-2020  thorpej Re-factor the "iicmux" driver to support other types of muxes that are
themselves i2c devices.
 1.58 23-Dec-2020  thorpej Add support for i2c-mux-gpio and i2c-mux-pinctrl I2C mux virtual
controllers.
 1.57 12-Dec-2020  skrll Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and
some operations. This allows other architectures to use it.
 1.56 30-Oct-2020  skrll branches: 1.56.2;
Add a "show fdt" ddb command
 1.55 27-Oct-2020  ryo move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb
 1.54 16-Jul-2020  jmcneill Add kernel option FDT_DEFAULT_STDOUT_PATH to set default (fallback)
stdout-path
 1.53 16-Jul-2020  jmcneill Add glue for 8250 compatible UARTs.
 1.52 24-Mar-2020  tnn ohci@fdt, ehci@fdt are machine independent; move from sunxi to sys/dev/fdt
 1.51 22-Feb-2020  jmcneill Add support for Broadcom GENET v5 ethernet controller as found on the
Raspberry Pi 4 (BCM2711).
 1.50 02-Jan-2020  jmcneill branches: 1.50.2;
Add driver for simple-audio-amplifier binding
 1.49 19-Dec-2019  jakllsch Add another panel@fdt driver, this time for DRM-style panels.

To do: migrate away from other panel driver.
 1.48 17-Nov-2019  jmcneill Add driver for dummy spdif transmitter bindings.
 1.47 30-Oct-2019  jmcneill Add generic USB PHY driver
 1.46 27-Oct-2019  jmcneill Add driver for one-register-per-pin type pinctrl devices.
 1.45 13-Aug-2019  tnn fdt: add SPI controller frontend
 1.44 13-Mar-2019  jmcneill branches: 1.44.4;
Add support for Arasan SDHCI 5.1
 1.43 03-Mar-2019  jmcneill Add eMMC reset sequence provider
 1.42 30-Jan-2019  jmcneill Add support for Allwinner A64's display pipeline.
 1.41 19-Oct-2018  jakllsch Add amdccp(4) driver for AMD Cryptographic Coprocessor, as found on the
A11xx Opterons. Driver currently provides RNG service only.
 1.40 15-Oct-2018  jmcneill Rename pl061gpio to plgpio and split the device logic from the FDT glue.
 1.39 06-Oct-2018  skrll Provide an FDTBASE option which allows kernels to access FDT parsing
functions without requiring full blown FDTisation.

This will be used by ODROID-C1 in move to generic start code.
 1.38 26-Sep-2018  jakllsch Add dwiic_fdt attachment for "snps,designware-i2c".
 1.37 03-Sep-2018  jmcneill Add generic AHCI SATA controller bus glue
 1.36 04-Jul-2018  jmcneill Add basic pwm-fan driver. This doesn't have any smarts yet other than
turning the fan on at 100% duty cycle.
 1.35 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.34 30-Jun-2018  jmcneill Add support for system controller nodes.
 1.33 30-Jun-2018  jmcneill Add driver for DesignWare Watchdog Timer. Untested as I can't seem to find
the parent clock for this in the RK3328 documentation.
 1.32 16-Jun-2018  jmcneill branches: 1.32.2;
Add initial support for Rockchip RK3328 SoC.
 1.31 15-Jun-2018  jakllsch Add basic ARM PL061 GPIO driver with FDT attachment.

Mostly for Qemu 'virt' platform; really needs interrupt support
in gpiokeys(4) and this driver to work efficently and reliably.
 1.30 15-Jun-2018  jakllsch add FDT "qemu,fw-cfg-mmio" glue for qemufwcfg
 1.29 06-Jun-2018  jakllsch Add Virtio MMIO transport.

Adapted in part from OpenBSD.
 1.28 01-Jun-2018  jmcneill Move simplefb declaration to files.fdt
 1.27 27-May-2018  jmcneill Rename sunxi_com to dw_apb_uart and move it to dev/fdt since it is not
sunxi-specific.
 1.26 09-May-2018  jmcneill Add SoC sound driver based on "simple-audio-card" DT binding spec.
 1.25 06-May-2018  jmcneill Add support for PWM backlights.
 1.24 01-May-2018  jmcneill Add DesignWare DWC3 XHCI driver.
 1.23 03-Apr-2018  bouyer Add connector and panel drivers (panel supports only panel-lvds and
panel-dual-lvds at this time, but can easily be extended to other types
of panels).
Add an API for ports/endpoints.
Proposed on tech-kern@ a few days ago, ok jmcneill@
 1.22 22-Oct-2017  jmcneill branches: 1.22.2; 1.22.4;
Add support for simple MMC power sequence provider bindings.
 1.21 23-Sep-2017  jmcneill For known Linux keycodes, report key press events through a wskbd device
instead of using sysmon pswitch hotkey events.
 1.20 13-Aug-2017  jmcneill Add GPIO regulator driver.
 1.19 08-Jul-2017  jmcneill Add driver for fixed-factor clocks.
 1.18 08-Jul-2017  jmcneill Add GPIO LED driver.
 1.17 29-Jun-2017  jmcneill Add FDT PHY interface.
 1.16 03-Jun-2017  jmcneill branches: 1.16.2;
Add helper for parsing display timings.
 1.15 02-Jun-2017  jmcneill gpiokeys depends on sysmon_envsys and sysmon_power
 1.14 28-May-2017  jmcneill Add facility for fdt devices to register reset and poweroff handlers.
Use this to remove as3722-specific code in tegra_machdep.c
 1.13 28-May-2017  jmcneill Add CPUs ("/cpus" node) driver. CPUs is a container of cpu nodes.
 1.12 29-Apr-2017  jmcneill Add FDT DMA controller API.
 1.11 26-Apr-2017  jmcneill branches: 1.11.2;
Allow for specifying (optional) pass number locator for devices at fdt.
 1.10 22-Apr-2017  jmcneill Add fdtbus_todr_attach.

The kernel will only ever use the first RTC driver to call todr_attach.
When drivers use fdtbus_todr_attach, if an "rtc0" alias exists in the
devicetree, ensure that only that device node calls todr_attach.
 1.9 16-Apr-2017  jmcneill Add support for simple fixed-rate clock source bindings.
 1.8 14-Apr-2017  jmcneill Remove simplebus driver and allow fdtbus to attach directly to itself.
 1.7 30-Dec-2015  marty branches: 1.7.2; 1.7.4;
FDT pinctrl

Add a pinctrl bus to FDT. This works against exynos, but someone(tm) needs
to think about whether it is general enough or too specific to exynos.
 1.6 23-Dec-2015  jmcneill branches: 1.6.2;
fdtbus depends on clk
 1.5 22-Dec-2015  jmcneill Add support for fdt clock and reset controllers.
 1.4 16-Dec-2015  jmcneill fix FDT build without openfirm pseudo-device
 1.3 16-Dec-2015  jmcneill split gpio, i2c, intr, and regulator helpers into separate files
 1.2 14-Dec-2015  jmcneill Add driver for device tree "gpio-keys" device. Each GPIO key is mapped to
a sysmon pswitch; code KEY_POWER is a power button, KEY_SLEEP is a sleep
button, and everything else is treated as a hotkey button.
 1.1 13-Dec-2015  jmcneill Add a framework for enumerating devices using a Flattened Device Tree (FDT).
 1.6.2.4 28-Aug-2017  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.6.2.1 23-Dec-2015  skrll file files.fdt was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.11.2.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.16.2.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.22.4.8 20-Oct-2018  pgoyette Sync with head
 1.22.4.7 30-Sep-2018  pgoyette Ssync with HEAD
 1.22.4.6 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.22.4.5 28-Jul-2018  pgoyette Sync with HEAD
 1.22.4.4 25-Jun-2018  pgoyette Sync with HEAD
 1.22.4.3 21-May-2018  pgoyette Sync with HEAD
 1.22.4.2 02-May-2018  pgoyette Synch with HEAD
 1.22.4.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.22.2.2 03-Dec-2017  jdolecek update from HEAD
 1.22.2.1 22-Oct-2017  jdolecek file files.fdt was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.32.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.32.2.1 10-Jun-2019  christos Sync with HEAD
 1.44.4.3 21-Jan-2020  martin Pull up following revision(s) (requested by mrg in ticket #616):

sys/dev/ic/anx_dp.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.126
sys/dev/ic/anx_dp.h: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.128
sys/dev/ic/anx_dp.h: revision 1.2
sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
sys/dev/i2c/cwfg.c: revision 1.1
sys/conf/files: revision 1.1247
sys/dev/fdt/pwm_backlight.c: revision 1.5
sys/dev/fdt/pwm_backlight.c: revision 1.6
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
sys/dev/ic/dwc_mmc.c: revision 1.20
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
sys/dev/usb/usbdevs: revision 1.775
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
sys/dev/fdt/simple_amplifier.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.105
sys/arch/evbarm/conf/GENERIC64: revision 1.117
sys/arch/evbarm/conf/GENERIC64: revision 1.118
sys/dev/i2c/files.i2c: revision 1.107
sys/dev/fdt/files.fdt: revision 1.49
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
sys/dev/ic/dwc_mmc_var.h: revision 1.9
sys/dev/i2c/rkpmic.c: revision 1.4
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
sys/dev/i2c/rkpmic.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.6
sys/arch/arm/rockchip/rk_vop.c: revision 1.4
sys/arch/arm/rockchip/rk_vop.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.8
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
sys/dev/usb/ums.c: revision 1.96 (via patch)
sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
sys/dev/i2c/es8316ac.c: revision 1.1
sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
sys/dev/i2c/es8316ac.c: revision 1.2
sys/dev/fdt/fdt_panel.c: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.18
sys/dev/fdt/fdt_panel.c: revision 1.2
sys/dev/ic/dwc_mmc.c: revision 1.19
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.5
sys/dev/ic/dwc_mmc_var.h: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.6
sys/arch/evbarm/conf/GENERIC64: revision 1.122
sys/dev/ic/dwc_mmc_var.h: revision 1.11
sys/dev/fdt/files.fdt: revision 1.50
sys/arch/evbarm/conf/GENERIC64: revision 1.123
sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
sys/arch/arm/rockchip/files.rockchip: revision 1.23
sys/arch/evbarm/conf/GENERIC64: revision 1.124
sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability. This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs
 1.44.4.2 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.44.4.1 18-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #438):

sys/dev/fdt/spdif_tx.c: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.114
sys/dev/fdt/files.fdt: revision 1.48

Add driver for dummy spdif transmitter bindings.
Add spdiftx
 1.50.2.1 29-Feb-2020  ad Sync with head.
 1.56.2.2 03-Jan-2021  thorpej Sync w/ HEAD.
 1.56.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.60.4.1 13-May-2021  thorpej Sync with HEAD.
 1.61.10.1 18-Jan-2022  thorpej G/C fdtbus_register_spi_controller(); it serves no purpose in the new
universe.
 1.73.4.1 16-Sep-2025  snj Pull up following revision(s) (requested by rin in ticket #31):

sys/arch/arm/fdt/files.fdt: revision 1.37
sys/arch/riscv/fdt/files.fdt: revision 1.5
sys/dev/fdt/files.fdt: revision 1.75 via patch

Prune fdt_platform.c from sys/dev/fdt/files.fdt and explicitly pull
in at sys/arch/arm/fdt/files.fdt and sys/arch/riscv/fdt/files.fdt.
Unbreaks OCTEON build.
 1.6 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.5 09-Sep-2018  aymeric branches: 1.5.12;
Pass clock provider's phandle to fdtbus_clock_controller_func.decode()
and update callers.

This allows to accomodate clock managers whose clocks are identified
directly by a clock instead of a pair (clock provider, index).

ok jmcneill@ on port-arm
 1.4 16-Jun-2018  jmcneill branches: 1.4.2;
If clock-output-names is specified, use it for the clock name instead of the node name
 1.3 28-Apr-2018  jmcneill Initialize clk domain name and call clk_attach to register sysctl nodes
 1.2 21-Apr-2017  jmcneill branches: 1.2.2; 1.2.10; 1.2.14; 1.2.16;
dmesg fix
 1.1 16-Apr-2017  jmcneill branches: 1.1.2;
Add support for simple fixed-rate clock source bindings.
 1.1.2.2 21-Apr-2017  bouyer Sync with HEAD
 1.1.2.1 16-Apr-2017  bouyer file fixedclock.c was added on branch bouyer-socketcan on 2017-04-21 16:53:45 +0000
 1.2.16.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.16.2 25-Jun-2018  pgoyette Sync with HEAD
 1.2.16.1 02-May-2018  pgoyette Synch with HEAD
 1.2.14.2 03-Dec-2017  jdolecek update from HEAD
 1.2.14.1 21-Apr-2017  jdolecek file fixedclock.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.2.10.2 28-Aug-2017  skrll Sync with HEAD
 1.2.10.1 21-Apr-2017  skrll file fixedclock.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.2.2.2 26-Apr-2017  pgoyette Sync with HEAD
 1.2.2.1 21-Apr-2017  pgoyette file fixedclock.c was added on branch pgoyette-localcount on 2017-04-26 02:53:11 +0000
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.5.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.3 09-Sep-2018  aymeric branches: 1.3.12;
Pass clock provider's phandle to fdtbus_clock_controller_func.decode()
and update callers.

This allows to accomodate clock managers whose clocks are identified
directly by a clock instead of a pair (clock provider, index).

ok jmcneill@ on port-arm
 1.2 28-Apr-2018  jmcneill branches: 1.2.2;
Initialize clk domain name and call clk_attach to register sysctl nodes
 1.1 08-Jul-2017  jmcneill branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Add driver for fixed-factor clocks.
 1.1.10.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.10.1 02-May-2018  pgoyette Synch with HEAD
 1.1.8.2 03-Dec-2017  jdolecek update from HEAD
 1.1.8.1 08-Jul-2017  jdolecek file fixedfactorclock.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 08-Jul-2017  skrll file fixedfactorclock.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.1.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1.4.1 08-Jul-2017  snj file fixedfactorclock.c was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.3.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.9 17-Jan-2021  jmcneill trailing whitespace
 1.8 23-May-2019  jmcneill branches: 1.8.10;
Revert previous
 1.7 23-May-2019  jmcneill Honour the polarity of the pin xref
 1.6 28-Jan-2018  jmcneill branches: 1.6.4;
Allow set_voltage/get_voltage to succeed on a fixed regulator so long as
the requested range overlaps with the fixed rate defined in the devicetree.
 1.5 24-Apr-2017  jmcneill branches: 1.5.10;
Defer acquiring the gpio until first use.
 1.4 15-Jun-2016  jmcneill branches: 1.4.2;
If either "regulator-boot-on" or "regulator-always-on" properties are true,
explicitly enable the regulator at attach time. In addition, if the
"startup-delay-us" property is present, delay after enabling the regulator.
 1.3 22-Dec-2015  jmcneill branches: 1.3.2;
Add fdtbus_gpio_{read,write}_raw, which tells the controller not to take
polarity into account. Tegra GPIO pin data includes pin polarity, but so
does a regulator-fixed node, so the end result was that the enable value
was being swapped twice. Change fregulator to use the raw APIs, and adapt
Tegra and Exynos GPIO drivers to support this flag.
 1.2 16-Dec-2015  jmcneill Use of_getprop_bool/of_getprop_uint32
 1.1 13-Dec-2015  jmcneill Add a framework for enumerating devices using a Flattened Device Tree (FDT).
 1.3.2.4 28-Aug-2017  skrll Sync with HEAD
 1.3.2.3 09-Jul-2016  skrll Sync with HEAD
 1.3.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.3.2.1 22-Dec-2015  skrll file fixedregulator.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.4.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.5.10.2 03-Dec-2017  jdolecek update from HEAD
 1.5.10.1 24-Apr-2017  jdolecek file fixedregulator.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.6.4.1 10-Jun-2019  christos Sync with HEAD
 1.8.10.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7 15-Sep-2024  skrll genet(4): Remove the non-MP-safe scaffolding...

I forgot two files in the previous commit.
 1.6 03-May-2021  rin branches: 1.6.20;
genet(4): Add support for rnd(9).
 1.5 08-Mar-2021  mlelstv branches: 1.5.4;
Interrupt no longer needs kernel lock.
 1.4 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.3 15-Jan-2021  jmcneill use fdtbus_intr_establish_xname
 1.2 25-May-2020  jmcneill branches: 1.2.2;
Improve RGMII TX / RX delay handling, from OpenBSD.
 1.1 22-Feb-2020  jmcneill branches: 1.1.2; 1.1.6;
Add support for Broadcom GENET v5 ethernet controller as found on the
Raspberry Pi 4 (BCM2711).
 1.1.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.1 22-Feb-2020  martin file genet_fdt.c was added on branch phil-wifi on 2020-04-08 14:08:04 +0000
 1.1.2.2 29-Feb-2020  ad Sync with head.
 1.1.2.1 22-Feb-2020  ad file genet_fdt.c was added on branch ad-namecache on 2020-02-29 20:19:07 +0000
 1.2.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.5.4.1 13-May-2021  thorpej Sync with HEAD.
 1.6.20.1 02-Aug-2025  perseant Sync with HEAD
 1.3 02-Jan-2024  thorpej Adapt to changes in the generic gfrtc code.
 1.2 29-Dec-2023  thorpej Re-factor the Goldfish RTC driver into attach-front-end and generic
back-end; Goldfish virtual devices can be found on virtual platforms
that don't use FDT.
 1.1 08-May-2023  skrll Add a Google Goldfish RTC driver
 1.11 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.10 24-Apr-2021  thorpej branches: 1.10.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.9 27-Jan-2021  thorpej branches: 1.9.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.8 10-May-2018  jmcneill branches: 1.8.16;
Emit initial lid switch state event at startup
 1.7 28-Apr-2018  jmcneill Add support for lid switch event codes.
 1.6 10-Dec-2017  bouyer branches: 1.6.2;
Factor out bus-independant HID code so that it can be shared by USB, bluetooth
and i2c.
dev/usb/ukbdmap.c is renamed to dev/hid/hidkbdmap.c
dev/usb/hid.[ch] moved to dev/hid/
usage pages moved from dev/usb/usbhid.h moved to dev/hid/hid.h,
and updated with OpenBSD entries.
bus-independant code moved from dev/usb/ums.c to dev/hid/hidms.c
(the same should be done for keyboard and touchpad drivers)

Needed for the upcoming HID over I2C support, proposed on tech-kern@
on Dec, 1.
 1.5 23-Sep-2017  jmcneill branches: 1.5.2;
For known Linux keycodes, report key press events through a wskbd device
instead of using sysmon pswitch hotkey events.
 1.4 06-Jul-2017  jmcneill Only read gpio pin if the pin is valid
 1.3 06-Jul-2017  jmcneill Read the initial key state at startup so we only trigger events on state
changes. Prevents a misconfigured power button from shutting us down at
boot.
 1.2 16-Dec-2015  jmcneill branches: 1.2.2; 1.2.12;
Use of_getprop_bool/of_getprop_uint32
 1.1 14-Dec-2015  jmcneill Add driver for device tree "gpio-keys" device. Each GPIO key is mapped to
a sysmon pswitch; code KEY_POWER is a power button, KEY_SLEEP is a sleep
button, and everything else is treated as a hotkey button.
 1.2.12.1 07-Jul-2017  martin Pull up following revision(s) (requested by jmcneill in ticket #101):
sys/dev/fdt/gpiokeys.c: revision 1.3
sys/dev/fdt/gpiokeys.c: revision 1.4
Read the initial key state at startup so we only trigger events on state
changes. Prevents a misconfigured power button from shutting us down at
boot.
Only read gpio pin if the pin is valid
 1.2.2.3 28-Aug-2017  skrll Sync with HEAD
 1.2.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1 16-Dec-2015  skrll file gpiokeys.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 23-Sep-2017  jdolecek file gpiokeys.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.6.2.2 21-May-2018  pgoyette Sync with HEAD
 1.6.2.1 02-May-2018  pgoyette Synch with HEAD
 1.8.16.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9.2.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.10.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.1 08-Jul-2017  jmcneill branches: 1.1.4; 1.1.6; 1.1.8; 1.1.26;
Add GPIO LED driver.
 1.1.26.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.8.2 03-Dec-2017  jdolecek update from HEAD
 1.1.8.1 08-Jul-2017  jdolecek file gpioleds.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 08-Jul-2017  skrll file gpioleds.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.1.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1.4.1 08-Jul-2017  snj file gpioleds.c was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.4 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.3 17-Jan-2021  jmcneill trailing whitespace
 1.2 19-Jan-2019  jmcneill branches: 1.2.12;
Set initial regulator states at attach time
 1.1 13-Aug-2017  jmcneill branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add GPIO regulator driver.
 1.1.8.1 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1.4.2 03-Dec-2017  jdolecek update from HEAD
 1.1.4.1 13-Aug-2017  jdolecek file gpioregulator.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.2.2 28-Aug-2017  skrll Sync with HEAD
 1.1.2.1 13-Aug-2017  skrll file gpioregulator.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.2.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4 19-Dec-2021  riastradh Sort includes.
 1.3 19-Dec-2021  riastradh Get drm to build on arm64 again.


Author: Jared McNeill <jmcneill@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.2 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.1 30-Jan-2019  jmcneill branches: 1.1.4; 1.1.14;
Add support for Allwinner A64's display pipeline.
 1.1.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 30-Jan-2019  christos file hdmi_connector.c was added on branch phil-wifi on 2019-06-10 22:07:08 +0000
 1.11 16-Sep-2025  thorpej Now that the common I2C code hides many of the FDT vs ACPI differences,
perform the reductions currently possible in the I2C mux layer. Note
some additional enhancements necessary for further reductions.
 1.10 27-Jan-2021  thorpej branches: 1.10.4; 1.10.14;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.9 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.8 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.7 25-Jan-2021  jmcneill Add support for ACPI-based I2C mux attachment.
 1.6 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.5 17-Jan-2021  jmcneill trailing whitespace
 1.4 28-Dec-2020  thorpej branches: 1.4.2;
Re-factor the "iicmux" driver to support other types of muxes that are
themselves i2c devices.
 1.3 28-Dec-2020  thorpej The i2c-mux bindings specify that if the mux device has a child node named
"i2c-mux", then it is that node that is the parent of the i2c bus children.
This is to accommodate mux devices that may also have other kinds of child
nodes in addition to i2c bus child nodes.
 1.2 23-Dec-2020  thorpej Register each virtual bus's i2c_tag_t so that references for e.g. HDMI DDC
in the device tree work.
 1.1 23-Dec-2020  thorpej Add support for i2c-mux-gpio and i2c-mux-pinctrl I2C mux virtual
controllers.
 1.4.2.3 03-Apr-2021  thorpej Sync with HEAD.
 1.4.2.2 03-Jan-2021  thorpej Sync w/ HEAD.
 1.4.2.1 28-Dec-2020  thorpej file i2cmux_fdt.c was added on branch thorpej-futex on 2021-01-03 16:34:57 +0000
 1.10.14.1 09-Aug-2021  thorpej Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.
 1.10.4.1 08-May-2021  thorpej Update the i2c mux code for the new enumeration methods.
 1.2 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.1 03-Mar-2019  jmcneill branches: 1.1.4; 1.1.14;
Add eMMC reset sequence provider
 1.1.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 03-Mar-2019  christos file mmc_pwrseq_emmc.c was added on branch phil-wifi on 2019-06-10 22:07:08 +0000
 1.3 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.2 03-Mar-2019  jmcneill branches: 1.2.12;
Add eMMC reset sequence provider
 1.1 22-Oct-2017  jmcneill branches: 1.1.2; 1.1.6;
Add support for simple MMC power sequence provider bindings.
 1.1.6.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 22-Oct-2017  jdolecek file mmc_pwrseq_simple.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.2.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.7 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.6 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.5 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.4 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.3 15-Jan-2021  jmcneill use fdtbus_intr_establish_xname
 1.2 16-Jul-2020  jmcneill branches: 1.2.2;
Make consinit actually work
 1.1 16-Jul-2020  jmcneill Add glue for 8250 compatible UARTs.
 1.2.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.6 24-Apr-2021  thorpej branches: 1.6.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.5 27-Jan-2021  thorpej branches: 1.5.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.4 15-Jan-2021  ryo use fdtbus_intr_establish_xname
 1.3 12-Aug-2018  jmcneill branches: 1.3.14;
Register shutdown handlers
 1.2 09-Apr-2018  jakllsch branches: 1.2.2;
Stop potential misuse of vendor names and USB vendor IDs in root hub
device and string descriptors.

Firstly: Few vendors have identical PCI-SIG vendor IDs and USB-IF vendor
IDs. As such, using the PCI vendor ID as a USB vendor ID may trample
on whomever is allocated that USB vendor ID.

Secondly: The vendor of the host controller hardware implementation has
little to nothing to do with our usbroothub implementation. Thus we
should not potentially associate any problems therewith to such third
party.

This change will result in root hubs being identified by USB Vendor ID
0x0000. Root hub vendor string will now be "NetBSD" (or, specifically:
ostype). Product ID (0x0000) and product strings remain unchanged.
 1.1 29-Jun-2017  jmcneill branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Add glue for generic ehci/ohci bindings.
 1.1.10.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.10.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.8.2 03-Dec-2017  jdolecek update from HEAD
 1.1.8.1 29-Jun-2017  jdolecek file ohci_fdt.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 29-Jun-2017  skrll file ohci_fdt.c was added on branch nick-nhusb on 2017-08-28 17:52:02 +0000
 1.1.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1.4.1 29-Jun-2017  snj file ohci_fdt.c was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.3.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.5.2.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.6.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.5 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.4 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.3 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.2 24-Jun-2019  skrll branches: 1.2.10;
Fix 'unknown' spellos
 1.1 03-Apr-2018  bouyer branches: 1.1.2; 1.1.4;
Add connector and panel drivers (panel supports only panel-lvds and
panel-dual-lvds at this time, but can easily be extended to other types
of panels).
Add an API for ports/endpoints.
Proposed on tech-kern@ a few days ago, ok jmcneill@
 1.1.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 03-Apr-2018  pgoyette file panel_fdt.c was added on branch pgoyette-compat on 2018-04-07 04:12:14 +0000
 1.2.10.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 11-Dec-2020  skrll Trailing whitespace
 1.1 03-Apr-2018  bouyer branches: 1.1.2; 1.1.18;
Add connector and panel drivers (panel supports only panel-lvds and
panel-dual-lvds at this time, but can easily be extended to other types
of panels).
Add an API for ports/endpoints.
Proposed on tech-kern@ a few days ago, ok jmcneill@
 1.1.18.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 03-Apr-2018  pgoyette file panel_fdt.h was added on branch pgoyette-compat on 2018-04-07 04:12:14 +0000
 1.6 07-Nov-2021  jmcneill pinctrl-single: support #pinctrl-cells 2
 1.5 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.4 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.3 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.2 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.1 27-Oct-2019  jmcneill branches: 1.1.2; 1.1.10; 1.1.12;
Add driver for one-register-per-pin type pinctrl devices.
 1.1.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.10.1 27-Oct-2019  martin file pinctrl_single.c was added on branch phil-wifi on 2020-04-13 08:04:19 +0000
 1.1.2.2 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.1.2.1 27-Oct-2019  martin file pinctrl_single.c was added on branch netbsd-9 on 2019-11-27 13:46:45 +0000
 1.5 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.4 15-Oct-2018  jmcneill branches: 1.4.12;
Don't use a4x bus tag
 1.3 15-Oct-2018  jmcneill Rename pl061gpio to plgpio and split the device logic from the FDT glue.
 1.2 03-Sep-2018  jmcneill Use PRIx64 (fixes 64-bit build)
 1.1 15-Jun-2018  jakllsch branches: 1.1.2; 1.1.4;
Add basic ARM PL061 GPIO driver with FDT attachment.

Mostly for Qemu 'virt' platform; really needs interrupt support
in gpiokeys(4) and this driver to work efficently and reliably.
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.4 20-Oct-2018  pgoyette Sync with head
 1.1.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.1 15-Jun-2018  pgoyette file pl061gpio_fdt.c was added on branch pgoyette-compat on 2018-06-25 07:25:49 +0000
 1.4.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10 07-Nov-2021  jmcneill pwm_backlight: pick defaults if none are provided
 1.9 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.8 20-May-2020  hkenken branches: 1.8.2;
Modified debug message.
 1.7 22-Jan-2020  mrg save the new current level when set by the user.

stops PBP display from going back to default brightness after
dpms, etc.

ok jmcneill.
 1.6 04-Jan-2020  jmcneill branches: 1.6.2;
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
 1.5 01-Jan-2020  jmcneill No need to print all supported levels at attach, print the range and total number of steps
 1.4 10-May-2018  jmcneill branches: 1.4.2; 1.4.4; 1.4.10;
Keep the backlight off while the lid is closed.
 1.3 07-May-2018  jmcneill Build fix
 1.2 06-May-2018  jmcneill Use enable gpio to turn the display on/off
 1.1 06-May-2018  jmcneill Add support for PWM backlights.
 1.4.10.2 12-Dec-2020  martin Pull up following revision(s) (requested by mrg in ticket #1149):

sys/dev/fdt/pwm_backlight.c: revision 1.7

save the new current level when set by the user.

stops PBP display from going back to default brightness after
dpms, etc.

ok jmcneill.
 1.4.10.1 21-Jan-2020  martin Pull up following revision(s) (requested by mrg in ticket #616):

sys/dev/ic/anx_dp.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.126
sys/dev/ic/anx_dp.h: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.128
sys/dev/ic/anx_dp.h: revision 1.2
sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
sys/dev/i2c/cwfg.c: revision 1.1
sys/conf/files: revision 1.1247
sys/dev/fdt/pwm_backlight.c: revision 1.5
sys/dev/fdt/pwm_backlight.c: revision 1.6
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
sys/dev/ic/dwc_mmc.c: revision 1.20
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
sys/dev/usb/usbdevs: revision 1.775
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
sys/dev/fdt/simple_amplifier.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.105
sys/arch/evbarm/conf/GENERIC64: revision 1.117
sys/arch/evbarm/conf/GENERIC64: revision 1.118
sys/dev/i2c/files.i2c: revision 1.107
sys/dev/fdt/files.fdt: revision 1.49
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
sys/dev/ic/dwc_mmc_var.h: revision 1.9
sys/dev/i2c/rkpmic.c: revision 1.4
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
sys/dev/i2c/rkpmic.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.6
sys/arch/arm/rockchip/rk_vop.c: revision 1.4
sys/arch/arm/rockchip/rk_vop.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.8
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
sys/dev/usb/ums.c: revision 1.96 (via patch)
sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
sys/dev/i2c/es8316ac.c: revision 1.1
sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
sys/dev/i2c/es8316ac.c: revision 1.2
sys/dev/fdt/fdt_panel.c: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.18
sys/dev/fdt/fdt_panel.c: revision 1.2
sys/dev/ic/dwc_mmc.c: revision 1.19
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.5
sys/dev/ic/dwc_mmc_var.h: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.6
sys/arch/evbarm/conf/GENERIC64: revision 1.122
sys/dev/ic/dwc_mmc_var.h: revision 1.11
sys/dev/fdt/files.fdt: revision 1.50
sys/arch/evbarm/conf/GENERIC64: revision 1.123
sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
sys/arch/arm/rockchip/files.rockchip: revision 1.23
sys/arch/evbarm/conf/GENERIC64: revision 1.124
sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability. This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs
 1.4.4.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.4.2.2 21-May-2018  pgoyette Sync with HEAD
 1.4.2.1 10-May-2018  pgoyette file pwm_backlight.c was added on branch pgoyette-compat on 2018-05-21 04:36:05 +0000
 1.6.2.1 25-Jan-2020  ad Sync with head.
 1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.1 04-Jul-2018  jmcneill branches: 1.1.2; 1.1.8; 1.1.18;
Add basic pwm-fan driver. This doesn't have any smarts yet other than
turning the fan on at 100% duty cycle.
 1.1.18.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.8.2 10-Jun-2019  christos Sync with HEAD
 1.1.8.1 04-Jul-2018  christos file pwm_fan.c was added on branch phil-wifi on 2019-06-10 22:07:08 +0000
 1.1.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.1 04-Jul-2018  pgoyette file pwm_fan.c was added on branch pgoyette-compat on 2018-07-28 04:37:44 +0000
 1.4 07-Feb-2024  msaitoh Remove ryo@'s mail addresses.
 1.3 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.2 01-Jan-2021  ryo branches: 1.2.2;
- remove unnecessary code
- handle "enable-gpios" property, and enable/disable GPIOs in pwmregulator_enable()

pointed out by thorpej@, thanks
 1.1 31-Dec-2020  ryo add fdt pwm regulator
 1.2.2.3 03-Apr-2021  thorpej Sync with HEAD.
 1.2.2.2 03-Jan-2021  thorpej Sync w/ HEAD.
 1.2.2.1 01-Jan-2021  thorpej file pwmregulator.c was added on branch thorpej-futex on 2021-01-03 16:34:57 +0000
 1.2 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.1 15-Jun-2018  jakllsch branches: 1.1.2; 1.1.18;
add FDT "qemu,fw-cfg-mmio" glue for qemufwcfg
 1.1.18.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.1 15-Jun-2018  pgoyette file qemufwcfg_fdt.c was added on branch pgoyette-compat on 2018-06-25 07:25:49 +0000
 1.2 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.1 02-Jan-2020  jmcneill branches: 1.1.4; 1.1.8; 1.1.12;
Add driver for simple-audio-amplifier binding
 1.1.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.8.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.8.1 02-Jan-2020  martin file simple_amplifier.c was added on branch phil-wifi on 2020-04-08 14:08:04 +0000
 1.1.4.2 21-Jan-2020  martin Pull up following revision(s) (requested by mrg in ticket #616):

sys/dev/ic/anx_dp.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.126
sys/dev/ic/anx_dp.h: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.128
sys/dev/ic/anx_dp.h: revision 1.2
sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
sys/dev/i2c/cwfg.c: revision 1.1
sys/conf/files: revision 1.1247
sys/dev/fdt/pwm_backlight.c: revision 1.5
sys/dev/fdt/pwm_backlight.c: revision 1.6
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
sys/dev/ic/dwc_mmc.c: revision 1.20
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
sys/dev/usb/usbdevs: revision 1.775
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
sys/dev/fdt/simple_amplifier.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.105
sys/arch/evbarm/conf/GENERIC64: revision 1.117
sys/arch/evbarm/conf/GENERIC64: revision 1.118
sys/dev/i2c/files.i2c: revision 1.107
sys/dev/fdt/files.fdt: revision 1.49
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
sys/dev/ic/dwc_mmc_var.h: revision 1.9
sys/dev/i2c/rkpmic.c: revision 1.4
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
sys/dev/i2c/rkpmic.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.6
sys/arch/arm/rockchip/rk_vop.c: revision 1.4
sys/arch/arm/rockchip/rk_vop.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.8
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
sys/dev/usb/ums.c: revision 1.96 (via patch)
sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
sys/dev/i2c/es8316ac.c: revision 1.1
sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
sys/dev/i2c/es8316ac.c: revision 1.2
sys/dev/fdt/fdt_panel.c: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.18
sys/dev/fdt/fdt_panel.c: revision 1.2
sys/dev/ic/dwc_mmc.c: revision 1.19
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.5
sys/dev/ic/dwc_mmc_var.h: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.6
sys/arch/evbarm/conf/GENERIC64: revision 1.122
sys/dev/ic/dwc_mmc_var.h: revision 1.11
sys/dev/fdt/files.fdt: revision 1.50
sys/arch/evbarm/conf/GENERIC64: revision 1.123
sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
sys/arch/arm/rockchip/files.rockchip: revision 1.23
sys/arch/evbarm/conf/GENERIC64: revision 1.124
sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability. This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs
 1.1.4.1 02-Jan-2020  martin file simple_amplifier.c was added on branch netbsd-9 on 2020-01-21 10:39:58 +0000
 1.2 14-Apr-2017  jmcneill Remove simplebus driver and allow fdtbus to attach directly to itself.
 1.1 13-Dec-2015  jmcneill branches: 1.1.2; 1.1.4; 1.1.6;
Add a framework for enumerating devices using a Flattened Device Tree (FDT).
 1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.4.1 26-Apr-2017  pgoyette Sync with HEAD
 1.1.2.3 28-Aug-2017  skrll Sync with HEAD
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 13-Dec-2015  skrll file simplebus.c was added on branch nick-nhusb on 2015-12-27 12:09:49 +0000
 1.16 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.15 30-Aug-2021  jmcneill Add 10-bit pixel format support.
 1.14 02-Mar-2021  jmcneill Fix previous: Each line is "stride" bytes wide, not "width * depth".

While here, add a comment explaining what this test is doing.
 1.13 02-Mar-2021  skrll Sanity check size vs width x height x depth. Buggy firmware exists.
 1.12 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.11 21-Oct-2020  rin branches: 1.11.2;
sfb_addr should be uint64_t, not bus_addr_t. Otherwise, its value
cannot be obtained via prop_dictionary_get_uint64() for most ILP32
architectures where bus_addr_t is 32-bit width.
 1.10 20-Oct-2020  jmcneill Instead of trying to prevent pciconf from reconfiguring the firmware's
framebuffer, instead allow MD code to register callbacks. If a resource is
changed, the driver can unmap the old resource and remap the new. Do this
with simplefb so the console doesn't explode when the VGA device is
(potentially) reconfigured at boot.
 1.9 19-Oct-2020  rin Fix colors of 32-bpp raster console for evbarm/aarch64eb and armeb.

Most boards are configured to little-endian in initial, and switched
to big-endian after kernel is loaded. In this case, framebuffer seems
byte-swapped to CPU.

It is best to reconfigure framebuffer (as done recently for sunxi_mixer
by jmcneill), but in most cases, HW is incapable, or we just don't know
register bits to configure them.

Therefore, override "format" FDT property for "simple-framebuffer" to
let drivers know byte-order for 32-bpp framebuffer.

Then, make fdt/simplefb (genfb) and arm_simplefb (early console) detect
byte-swapped FB, and configure genfb(4) or rasops(4) layers accordingly.

Tested on Pine A64+ (arm_simplefb) and Cubietruck (both fdt/simplefb and
arm_simplefb).

Discussed with jmcneill. Thanks!!
 1.8 23-Jul-2019  rin For drivers whose framebuffer is located not page-aligned, permit
offset of mmap up to (length of framebuffer) + (page offset of base
address of framebuffer). This is necessary in order to map the
highest page of framebuffer correctly, see,
http://cvsweb.netbsd.org/bsdweb.cgi/xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c#rev1.35
 1.7 30-Jan-2019  jmcneill Call genfb_cnattach when WSDISPLAY_MULTICONS is defined
 1.6 23-Jul-2018  macallan if the framebuffer address isn't page aligned, set fbi_fboffset appropriately
 1.5 06-May-2018  jmcneill branches: 1.5.2;
Pass WSDISPLAYIO_SVIDEO through to pmf
 1.4 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.3 18-Dec-2017  jmcneill branches: 1.3.2;
Always set "is_console" property to true when WSDISPLAY_MULTICONS is defined
 1.2 04-Sep-2017  jmcneill branches: 1.2.2;
Add console support.
 1.1 27-Aug-2017  jmcneill Add an FDT "Simple Framebuffer" driver. This lets us take over framebuffers
configured by U-Boot without any knowledge of the underlying hardware.
 1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.2.2.1 04-Sep-2017  jdolecek file simplefb.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.3.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.3.2.2 21-May-2018  pgoyette Sync with HEAD
 1.3.2.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.5.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.1 17-Nov-2019  jmcneill branches: 1.1.2; 1.1.10; 1.1.12;
Add driver for dummy spdif transmitter bindings.
 1.1.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.10.1 17-Nov-2019  martin file spdif_tx.c was added on branch phil-wifi on 2020-04-13 08:04:19 +0000
 1.1.2.2 18-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #438):

sys/dev/fdt/spdif_tx.c: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.114
sys/dev/fdt/files.fdt: revision 1.48

Add driver for dummy spdif transmitter bindings.
Add spdiftx
 1.1.2.1 17-Nov-2019  martin file spdif_tx.c was added on branch netbsd-9 on 2019-11-18 19:33:10 +0000
 1.5 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.4 28-Oct-2019  jmcneill branches: 1.4.8;
enumerate devices under child "clocks" node
 1.3 25-Feb-2019  jmcneill branches: 1.3.4; 1.3.6;
Attach syscon to "simple-mfd" devices and fix a bug with fdt_find_with_property
 1.2 30-Jun-2018  jmcneill branches: 1.2.2;
Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.1 30-Jun-2018  jmcneill Add support for system controller nodes.
 1.2.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.2.2.1 30-Jun-2018  pgoyette file syscon.c was added on branch pgoyette-compat on 2018-07-28 04:37:44 +0000
 1.3.6.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.3.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.4.2 10-Jun-2019  christos Sync with HEAD
 1.3.4.1 25-Feb-2019  christos file syscon.c was added on branch phil-wifi on 2019-06-10 22:07:08 +0000
 1.4.8.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 11-Dec-2020  skrll Multiple inclusion protection define consistency
 1.1 30-Jun-2018  jmcneill branches: 1.1.2; 1.1.8; 1.1.18;
Add support for system controller nodes.
 1.1.18.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.8.2 10-Jun-2019  christos Sync with HEAD
 1.1.8.1 30-Jun-2018  christos file syscon.h was added on branch phil-wifi on 2019-06-10 22:07:08 +0000
 1.1.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.1 30-Jun-2018  pgoyette file syscon.h was added on branch pgoyette-compat on 2018-07-28 04:37:44 +0000
 1.2 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.1 30-Oct-2019  jmcneill branches: 1.1.2; 1.1.10; 1.1.12;
Add generic USB PHY driver
 1.1.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.10.1 30-Oct-2019  martin file usbnopphy.c was added on branch phil-wifi on 2020-04-13 08:04:19 +0000
 1.1.2.2 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.1.2.1 30-Oct-2019  martin file usbnopphy.c was added on branch netbsd-9 on 2019-11-27 13:46:45 +0000
 1.11 14-Jan-2025  riastradh virtio@acpi, virtio@fdt: Nix DVF_DETACH_SHUTDOWN.

There is no reason to force _all_ devices attached at the virtio bus
to detach at shutdown. This only makes sense for devices that
require detach in order to force buffered writes to persistant
storage so we don't lose them (or, in principle, require detach in
order to release hardware resources).

And the only virtio devices I found that require detach-on-shutdown,
namely scsi@virtio, already set DVF_DETACH_SHUTDOWN, so there's no
need for the bus to do it. (The only other obvious case, ld@virtio,
uses a pmf shutdown handler instead of detach, so it doesn't need
DVF_DETACH_SHUTDOWN.)
 1.10 22-Oct-2021  yamaguchi branches: 1.10.10;
rename "setup_interrupts" to "alloc_interrupts"
in virtio_mmio and virtio_acpi

This should fix build failure on evbarm.
 1.9 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.8 24-Apr-2021  thorpej branches: 1.8.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.7 27-Jan-2021  thorpej branches: 1.7.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.6 20-Jan-2021  reinoud Remove the virtio child driver finalisation check KASSERT that, while it
should never trigger, a possible bug in a child driver shouldn't have to panic
the kernel. Instead report the internal error.
 1.5 20-Jan-2021  reinoud Add VirtIO PCI v1.0 attachments and fix the drivers affected.

The vioif, ld, scsi, viornd and viomb devices were adjusted when needed and
tested both in legacy 0.9 and v1.0 attachments trough PCI on amd64, sparc64,
aarch64 and aarch64-eb. ACPI/FDT attachments also tested on
aarch64/aarch64-eb.

Known issues

* viomb on aarch64 works only with ACPI/FDT attachment but not with PCI
attachment. PCI and ACPI/FDT attachment works on aarch64-eb.

* virtio on sparc64 attaches but is it not functioning though not a
regression.
 1.4 15-Jan-2021  jmcneill use fdtbus_intr_establish_xname
 1.3 29-Sep-2018  jmcneill branches: 1.3.12;
Fix 64-bit build
 1.2 15-Jun-2018  jakllsch branches: 1.2.2; 1.2.4;
Add cfprint_t virtiobusprint() and use it for virtio_mmio.
 1.1 06-Jun-2018  jakllsch Add Virtio MMIO transport.

Adapted in part from OpenBSD.
 1.2.4.1 10-Jun-2019  christos Sync with HEAD
 1.2.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.2.2.1 15-Jun-2018  pgoyette file virtio_mmio_fdt.c was added on branch pgoyette-compat on 2018-06-25 07:25:49 +0000
 1.3.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7.2.1 27-Mar-2021  thorpej - config_found_ia() -> config_found().
- virtio only carries a single interface attribute, so no need to
specify it explicitly.
 1.8.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.10.10.1 02-Aug-2025  perseant Sync with HEAD
 1.7 09-May-2024  pho port-arm/58194: Resurrect vmt(4) from bitrot

On this architecture vmt(4) used to search for a node "/hypervisor" in the
FDT and probed the VMware hypervisor call only when the node was
found. However, things appear to have changed and VMware no longer provides
the FDT node.

Since vmt(4) doesn't actually need to read anything from FDT, and the
hypervisor call logically resides in virtual CPUs themselves, it would be
better to attach it directly to cpu, just like how it's probed on x86.
 1.6 07-Feb-2024  msaitoh Remove ryo@'s mail addresses.
 1.5 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.4 27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.3 25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.2 18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.1 28-Oct-2020  ryo branches: 1.1.2;
add missing vmt_fdt.c.

sorry, I forgot to commit vmt_fdt.c in http://mail-index.netbsd.org/source-changes/2020/10/27/msg123452.html
 1.1.2.1 03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed