History log of /src/sys/dev/fdt/
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
1.1 03-Sep-2018 jmcneill

branches: 1.1.2; 1.1.6; 1.1.16;
Add generic AHCI SATA controller bus glue


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
1.7 18-Dec-2022 reinoud

Add amdsmn(4) and amdccp(4) power management stubs.


Revision tags: netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
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.14 11-Dec-2025 mrg

fix RK3399 emmc and set SDHC_FLAG_NO_PWR0.

tested on rockpro64 and pinebookpro.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base
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.


Revision tags: bouyer-sunxi-drm-base
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


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
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


Revision tags: phil-wifi-20190609 isaki-audio2-base
1.1 13-Mar-2019 jmcneill

branches: 1.1.4;
Add support for Arasan SDHCI 5.1


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
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


Revision tags: netbsd-9-base phil-wifi-20190609
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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base
1.1 05-Nov-2022 jmcneill

Add driver for Cadence I2C controller.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
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@


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
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.20 06-Sep-2025 thorpej

Re-factor the operating point defintions into fdt_opp.h


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
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.*


Revision tags: netbsd-9-base phil-wifi-20190609
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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
1.7 01-Nov-2018 jmcneill

Support for "opp-microvolt" with more than one cell


Revision tags: pgoyette-compat-1020 pgoyette-compat-0930
1.6 20-Sep-2018 jmcneill

Use machdep.cpu for the first instance


Revision tags: pgoyette-compat-0906
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.


Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
1.3 16-Dec-2017 jmcneill

branches: 1.3.2; 1.3.4;
Support cpu nodes without a cpu-supply property.


Revision tags: tls-maxphys-base-20171202
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
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).


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
1.6 05-Nov-2022 skrll

Fix inverted result when status is "okay"


Revision tags: netbsd-9-4-RELEASE bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118
1.5 02-Jan-2019 jmcneill

Do not sort cpu nodes when enumerating so they attach in the order listed
in the devicetree.


Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
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.


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.3 30-Jun-2018 jmcneill

cpus: use fdt_add_bus


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
1.1 03-Jun-2017 jmcneill

branches: 1.1.6; 1.1.10;
Add helper for parsing display timings.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.2 11-Dec-2020 skrll

Multiple inclusion protection define consistency


Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
1.1 03-Jun-2017 jmcneill

branches: 1.1.6; 1.1.10; 1.1.28;
Add helper for parsing display timings.


1.13 06-Sep-2025 thorpej

Re-factor the console-related code into fdt_console.[ch]


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
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.


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
1.4 08-Dec-2018 thorpej

Clean up initialization of com_regs structure, in preparation for
some additional changers.


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.3 17-Jul-2018 christos

Use PRI?64 instead of ll?


Revision tags: phil-wifi-base pgoyette-compat-0625
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
1.13 31-Jul-2023 rin

dw2c_fdt: Terminate statements by ; instead of , (from Mori Hiroki)
No binary changes.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base
1.12 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
1.5 02-Mar-2019 jmcneill

branches: 1.5.12;
Add support for Meson GXBB


Revision tags: pgoyette-compat-20190127
1.4 19-Jan-2019 jmcneill

Add support for Meson8b


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base
1.3 15-Aug-2018 skrll

Remove useless header arm/broadcom/bcm2835reg.h

From Aymeric Vincent on port-arm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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.


Revision tags: thorpej-i2c-spi-conf2-base
1.16 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 thorpej-i2c-spi-conf-base
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.


Revision tags: cjep_staticlib_x-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
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.


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1
1.9 15-Jan-2020 jmcneill

Add support for NXP i.MX 8M Dual/8M QuadLite/8M Quad family SoCs.


Revision tags: ad-namecache-base
1.8 12-Dec-2019 jmcneill

branches: 1.8.2;
Add support for snps,dis-tx-ipgap-linecheck-quirk quirk


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
1.7 19-Apr-2019 jmcneill

branches: 1.7.4;
Add support for Meson GXL USB3 controller


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base
1.6 12-Aug-2018 jmcneill

Add support for RK3399


Revision tags: pgoyette-compat-0728
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.


Revision tags: phil-wifi-base pgoyette-compat-0625
1.2 21-Jun-2018 jmcneill

branches: 1.2.2;
Add support for RK3328


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502
1.1 01-May-2018 jmcneill

branches: 1.1.2;
Add DesignWare DWC3 XHCI driver.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
1.24 19-Aug-2024 skrll

Match "starfive,jh7110-mmc"


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
1.19 06-Feb-2022 jmcneill

fdt: dwcmmc: Honour broken-cd and non-removable DT properties


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2
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


Revision tags: ad-namecache-base1 ad-namecache-base
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


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
1.8 30-Apr-2019 jmcneill

branches: 1.8.2;
Use correct size of softc in CFATTACH_DECL_NEW


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base
1.7 12-Aug-2018 jmcneill

Use more generic rk3288 compatible string, and do clock assignments when present


Revision tags: pgoyette-compat-0728
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


Revision tags: phil-wifi-base pgoyette-compat-0625
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
1.6 16-Apr-2023 jmcneill

Separate DesignWare watchdog driver and FDT glue.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
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.


Revision tags: pgoyette-compat-1020
1.2 14-Oct-2018 aymeric

Make compile


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
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.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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
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.


Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base
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


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
1.1 26-Sep-2018 jakllsch

branches: 1.1.2; 1.1.6; 1.1.16;
Add dwiic_fdt attachment for "snps,designware-i2c".


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base
1.8 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base
1.4 12-Aug-2018 jmcneill

branches: 1.4.14;
Register shutdown handlers


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
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.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
1.7 20-Dec-2024 mlelstv

Allocate enough address space for unaligned start/end values.


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: thorpej-ifq-base thorpej-altq-separation-base
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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
1.4 19-Jan-2024 skrll

Make fdt_cpu_rootconf available for other machines/platforms.


Revision tags: thorpej-ifq-base thorpej-altq-separation-base
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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
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


Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base
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.)


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
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


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.5 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: phil-wifi-base pgoyette-compat-0625
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.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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 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]


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.3 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: phil-wifi-base pgoyette-compat-0625
1.2 03-Jun-2018 jmcneill

branches: 1.2.2;
Remove unnecessary include


Revision tags: pgoyette-compat-0521
1.1 09-May-2018 jmcneill

branches: 1.1.2;
Add SoC sound driver based on "simple-audio-card" DT binding spec.


1.1 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
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.)


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.2 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1
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 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.7 23-Dec-2020 thorpej

Add fdtbus_gpio_count(), which counts the number of GPIO entries
in a specified property.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.6 30-Jun-2018 jmcneill

branches: 1.6.14;
Use queue(3) API to manage lists. NFCI.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
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.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
1.4 15-Oct-2016 maxv

Memory leak, found by mootja; not tested, but obvious enough


Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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.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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
1.12 23-Feb-2022 skrll

API naming consistency. NFC.


Revision tags: thorpej-i2c-spi-conf2-base
1.11 07-Aug-2021 thorpej

branches: 1.11.2;
Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
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


Revision tags: isaki-audio2-base
1.6 30-Jan-2019 jmcneill

Add support for Allwinner A64's display pipeline.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
1.5 26-Sep-2018 jakllsch

Set "i2c-indirect-config" to false in the right place so that iic(4)
better behaves itself.


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
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.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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.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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
1.30 07-Nov-2021 jmcneill

fdt: add helper for finding intr parent phandle


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
1.26 08-Mar-2020 skrll

branches: 1.26.4;
Use MUTEX_DEFAULT to avoid confusion


Revision tags: is-mlppp-base ad-namecache-base3
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()).


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
1.24 31-Dec-2019 jmcneill

branches: 1.24.2;
Remove a stupid printf


Revision tags: phil-wifi-20191119
1.23 16-Nov-2019 mlelstv

be more verbose about errors.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
1.22 14-Jun-2019 hkenken

Add support "interrupts-extended".

* fdtbus_get_phandle_with_data().
Add utility subroutine to get phandle with data.


Revision tags: phil-wifi-20190609 isaki-audio2-base
1.21 27-Feb-2019 jakllsch

Add fdtbus_intr_establish_byname() helper.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
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.


Revision tags: pgoyette-compat-1020 pgoyette-compat-0930
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.


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
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.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
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.


Revision tags: netbsd-8-base
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.


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
1.8 25-May-2016 jmcneill

Fix get_specifier_by_index to work with indexes greater than 0.


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319
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.


Revision tags: nick-nhusb-base-20151226
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.1 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base
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


Revision tags: bouyer-sunxi-drm-base
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.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
1.3 26-Jun-2021 jmcneill

Fix 32-bit build.


1.2 25-Jun-2021 ryo

fdt "/reserved-memory" node should be handled


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base
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.


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.2 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
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 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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).


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
1.6 30-Oct-2019 jmcneill

Skip xref if it is 0


Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base
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.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.2 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
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 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
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.


Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base
1.8 27-Feb-2019 jakllsch

branches: 1.8.4;
Consolidate FDT [find "names" index by string] logic.


Revision tags: pgoyette-compat-20190127
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@


Revision tags: pgoyette-compat-20190118
1.6 14-Jan-2019 mlelstv

Fix infinite loop like in fdtbus_get_string_index.


Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.5 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
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.


Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
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.


Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
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.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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
1.1 07-Apr-2023 skrll

branches: 1.1.8;
Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.


1.1 06-Sep-2025 thorpej

Refactor the "platform" defitions into fdt_platform.h


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
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


Revision tags: phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
1.2 30-Jan-2019 jmcneill

branches: 1.2.4;
Add support for Allwinner A64's display pipeline.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
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@


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
1.7 10-Feb-2024 andvar

fix various typos in comments and log messages.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.4 11-Dec-2020 skrll

Multiple inclusion protection define consistency


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
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.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
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@


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.2 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
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 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
1.1 04-Mar-2022 skrll

branches: 1.1.4;
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
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.)


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.2 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
1.1 06-May-2018 jmcneill

branches: 1.1.2; 1.1.4;
Add support for PWM backlights.


1.1 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base
1.9 08-Aug-2021 jmcneill

fdt: regulator: pre-allocate regulator handle

Workaround for PR# port-evbarm/54664


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
1.8 27-May-2019 jmcneill

Honour regulator-enable-ramp-delay


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118
1.7 02-Jan-2019 jmcneill

Add a function to report if a regulator can support the requested voltage range


Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.6 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
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()


Revision tags: pgoyette-compat-base tls-maxphys-base-20171202
1.4 22-Sep-2017 jmcneill

branches: 1.4.2; 1.4.4;
Print an error if we fail to acquire a regulator


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426
1.3 22-Apr-2017 jmcneill

Add regulator APIs for setting and getting voltage.


Revision tags: bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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.1 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
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.)


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.2 30-Jun-2018 jmcneill

Use queue(3) API to manage lists. NFCI.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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 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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426
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.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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base
1.3 07-Aug-2021 thorpej

branches: 1.3.2;
Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
1.1 13-Aug-2019 tnn

branches: 1.1.8; 1.1.12;
fdt: add SPI controller frontend


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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
1.36 08-Mar-2020 skrll

Fix LOCKDEBUG by calling fdtbus_intr_init as part of cpu_startup_hook, i.e.
later.


Revision tags: is-mlppp-base ad-namecache-base3
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.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
1.31 24-Sep-2019 jmcneill

branches: 1.31.2;
Use correct #cells for parent address when decoding ranges


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
1.30 14-Jun-2019 hkenken

Add support "interrupts-extended".

* fdtbus_get_phandle_with_data().
Add utility subroutine to get phandle with data.


Revision tags: phil-wifi-20190609 isaki-audio2-base
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


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
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.


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.23 17-Jul-2018 christos

Use PRI?64 instead of ll?


Revision tags: phil-wifi-base pgoyette-compat-0625
1.22 11-Jun-2018 jakllsch

branches: 1.22.2;
Fix fdtbus_get_cells(, 2) when running big endian.


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315
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.


Revision tags: pgoyette-compat-base
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


Revision tags: tls-maxphys-base-20171202
1.19 19-Sep-2017 jmcneill

branches: 1.19.2;
fdtbus_get_string: support special 'name' property


Revision tags: nick-nhusb-base-20170825
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.


Revision tags: perseant-stdc-iso10646-base
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


Revision tags: netbsd-8-base
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.


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1
1.10 29-Apr-2017 jmcneill

Move logic for checking "status" property out of fdtbus into a public
fdtbus_status_okay function.


Revision tags: prg-localcount2-base pgoyette-localcount-20170426
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.


Revision tags: bouyer-socketcan-base1
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


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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).


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
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.1 06-Sep-2025 thorpej

Re-factor the FDT binding-specific definitions and function prototypes
into their own header files.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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.


Revision tags: thorpej-i2c-spi-conf2-base
1.42 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
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.


Revision tags: ad-namecache-base2 ad-namecache-base1
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.


Revision tags: ad-namecache-base phil-wifi-20191119
1.30 01-Oct-2019 jmcneill

branches: 1.30.2;
Add support for devices with separate "init" and "default" pinctrl states.


Revision tags: netbsd-9-base phil-wifi-20190609
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.


Revision tags: isaki-audio2-base
1.27 25-Feb-2019 jmcneill

Attach syscon to "simple-mfd" devices and fix a bug with fdt_find_with_property


Revision tags: pgoyette-compat-20190127
1.26 19-Jan-2019 jmcneill

Add a helper to search the tree for a node with the specified property


Revision tags: pgoyette-compat-20190118
1.25 02-Jan-2019 jmcneill

Do not sort cpu nodes when enumerating so they attach in the order listed
in the devicetree.


Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
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


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
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.


Revision tags: phil-wifi-base pgoyette-compat-0625
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.


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
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@


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
1.15 27-Aug-2017 jmcneill

branches: 1.15.2; 1.15.4;
Scan children of the /chosen node to pick up simplefb nodes


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
1.14 28-Jun-2017 jmcneill

Attach fdtbus to a /clocks node with no compatible string.


Revision tags: netbsd-8-base
1.13 28-May-2017 jmcneill

branches: 1.13.2;
Change first pass from 1 to 0.


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1
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.


Revision tags: prg-localcount2-base
1.9 26-Apr-2017 jmcneill

branches: 1.9.2;
Allow for specifying (optional) pass number locator for devices at fdt.


Revision tags: pgoyette-localcount-20170426 bouyer-socketcan-base1
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


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
1.3 07-Feb-2017 skrll

Fix non-DIAGNOSTIC build


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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.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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630
1.80 30-Jun-2024 jmcneill

fdt: Add a fp_device_register_post_config callback to fdt_platform.


Revision tags: perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
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.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
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.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
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


Revision tags: netbsd-9-base
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.


Revision tags: phil-wifi-20190609
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


Revision tags: isaki-audio2-base
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.


Revision tags: pgoyette-compat-20190127
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


Revision tags: pgoyette-compat-20190118
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.


Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
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.


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
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.


Revision tags: phil-wifi-base pgoyette-compat-0625
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.


Revision tags: pgoyette-compat-0521
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.


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
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@


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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


Revision tags: tls-maxphys-base-20171202
1.27 22-Oct-2017 jmcneill

branches: 1.27.2;
Add support for simple MMC power sequence provider bindings.


Revision tags: nick-nhusb-base-20170825
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.


Revision tags: perseant-stdc-iso10646-base
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.


Revision tags: netbsd-8-base
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.


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1
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.


Revision tags: prg-localcount2-base
1.13 26-Apr-2017 jmcneill

branches: 1.13.2;
Allow for specifying (optional) pass number locator for devices at fdt.


Revision tags: pgoyette-localcount-20170426
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.


Revision tags: bouyer-socketcan-base1
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


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
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.


Revision tags: nick-nhusb-base-20151226
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.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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: thorpej-ifq-base thorpej-altq-separation-base
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.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
1.66 05-Nov-2022 jmcneill

Add driver for Cadence I2C controller.


Revision tags: bouyer-sunxi-drm-base
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.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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.


Revision tags: thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
1.52 24-Mar-2020 tnn

ohci@fdt, ehci@fdt are machine independent; move from sunxi to sys/dev/fdt


Revision tags: is-mlppp-base ad-namecache-base3
1.51 22-Feb-2020 jmcneill

Add support for Broadcom GENET v5 ethernet controller as found on the
Raspberry Pi 4 (BCM2711).


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
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.


Revision tags: phil-wifi-20191119
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


Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base
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.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
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.


Revision tags: pgoyette-compat-0930
1.38 26-Sep-2018 jakllsch

Add dwiic_fdt attachment for "snps,designware-i2c".


Revision tags: pgoyette-compat-0906
1.37 03-Sep-2018 jmcneill

Add generic AHCI SATA controller bus glue


Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728
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.


Revision tags: phil-wifi-base pgoyette-compat-0625
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.


Revision tags: pgoyette-compat-0521
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.


Revision tags: pgoyette-compat-0502
1.24 01-May-2018 jmcneill

Add DesignWare DWC3 XHCI driver.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
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@


Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
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.


Revision tags: nick-nhusb-base-20170825
1.20 13-Aug-2017 jmcneill

Add GPIO regulator driver.


Revision tags: perseant-stdc-iso10646-base
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.


Revision tags: netbsd-8-base
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.


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1
1.12 29-Apr-2017 jmcneill

Add FDT DMA controller API.


Revision tags: prg-localcount2-base
1.11 26-Apr-2017 jmcneill

branches: 1.11.2;
Allow for specifying (optional) pass number locator for devices at fdt.


Revision tags: pgoyette-localcount-20170426
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.


Revision tags: bouyer-socketcan-base1
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.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
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.


Revision tags: nick-nhusb-base-20151226
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).


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
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


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
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


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502
1.3 28-Apr-2018 jmcneill

Initialize clk domain name and call clk_attach to register sysctl nodes


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426
1.2 21-Apr-2017 jmcneill

branches: 1.2.2; 1.2.10; 1.2.14; 1.2.16;
dmesg fix


Revision tags: bouyer-socketcan-base1
1.1 16-Apr-2017 jmcneill

branches: 1.1.2;
Add support for simple fixed-rate clock source bindings.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
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


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502
1.2 28-Apr-2018 jmcneill

branches: 1.2.2;
Initialize clk domain name and call clk_attach to register sysctl nodes


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
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


Revision tags: isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426
1.5 24-Apr-2017 jmcneill

branches: 1.5.10;
Defer acquiring the gpio until first use.


Revision tags: bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
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.


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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).


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
1.7 15-Sep-2024 skrll

genet(4): Remove the non-MP-safe scaffolding...

I forgot two files in the previous commit.


Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
1.6 03-May-2021 rin

branches: 1.6.20;
genet(4): Add support for rnd(9).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
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).


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: thorpej-ifq-base thorpej-altq-separation-base
1.1 08-May-2023 skrll

Add a Google Goldfish RTC driver


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base
1.11 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
1.8 10-May-2018 jmcneill

branches: 1.8.16;
Emit initial lid switch state event at startup


Revision tags: pgoyette-compat-0502
1.7 28-Apr-2018 jmcneill

Add support for lid switch event codes.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
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.


Revision tags: tls-maxphys-base-20171202
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.


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
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.


Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
1.1 08-Jul-2017 jmcneill

branches: 1.1.4; 1.1.6; 1.1.8; 1.1.26;
Add GPIO LED driver.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127
1.2 19-Jan-2019 jmcneill

branches: 1.2.12;
Set initial regulator states at attach time


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
1.1 13-Aug-2017 jmcneill

branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add GPIO regulator driver.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
1.1 30-Jan-2019 jmcneill

branches: 1.1.4; 1.1.14;
Add support for Allwinner A64's display pipeline.


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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
1.1 03-Mar-2019 jmcneill

branches: 1.1.4; 1.1.14;
Add eMMC reset sequence provider


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
1.2 03-Mar-2019 jmcneill

branches: 1.2.12;
Add eMMC reset sequence provider


Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
1.1 22-Oct-2017 jmcneill

branches: 1.1.2; 1.1.6;
Add support for simple MMC power sequence provider bindings.


1.8 06-Sep-2025 thorpej

Re-factor the console-related code into fdt_console.[ch]


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base
1.7 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base
1.3 12-Aug-2018 jmcneill

branches: 1.3.14;
Register shutdown handlers


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
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.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
1.2 24-Jun-2019 skrll

branches: 1.2.10;
Fix 'unknown' spellos


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
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@


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.2 11-Dec-2020 skrll

Trailing whitespace


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
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@


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
1.6 07-Nov-2021 jmcneill

pinctrl-single: support #pinctrl-cells 2


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
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.


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906
1.2 03-Sep-2018 jmcneill

Use PRIx64 (fixes 64-bit build)


Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
1.10 07-Nov-2021 jmcneill

pwm_backlight: pick defaults if none are provided


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2
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.


Revision tags: ad-namecache-base1 ad-namecache-base
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


Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
1.4 07-Feb-2024 msaitoh

Remove ryo@'s mail addresses.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
1.1 15-Jun-2018 jakllsch

branches: 1.1.2; 1.1.18;
add FDT "qemu,fw-cfg-mmio" glue for qemufwcfg


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
1.1 02-Jan-2020 jmcneill

branches: 1.1.4; 1.1.8; 1.1.12;
Add driver for simple-audio-amplifier binding


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
1.2 14-Apr-2017 jmcneill

Remove simplebus driver and allow fdtbus to attach directly to itself.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
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.16 06-Sep-2025 thorpej

Re-factor the console-related code into fdt_console.[ch]


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
1.15 30-Aug-2021 jmcneill

Add 10-bit pixel format support.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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!!


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
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


Revision tags: phil-wifi-20190609 isaki-audio2-base
1.7 30-Jan-2019 jmcneill

Call genfb_cnattach when WSDISPLAY_MULTICONS is defined


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.6 23-Jul-2018 macallan

if the framebuffer address isn't page aligned, set fbi_fboffset appropriately


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
1.5 06-May-2018 jmcneill

branches: 1.5.2;
Pass WSDISPLAYIO_SVIDEO through to pmf


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
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@)


Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
1.3 18-Dec-2017 jmcneill

branches: 1.3.2;
Always set "is_console" property to true when WSDISPLAY_MULTICONS is defined


Revision tags: tls-maxphys-base-20171202
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
1.1 17-Nov-2019 jmcneill

branches: 1.1.2; 1.1.10; 1.1.12;
Add driver for dummy spdif transmitter bindings.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
1.4 28-Oct-2019 jmcneill

branches: 1.4.8;
enumerate devices under child "clocks" node


Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base
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


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.2 11-Dec-2020 skrll

Multiple inclusion protection define consistency


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728
1.1 30-Jun-2018 jmcneill

branches: 1.1.2; 1.1.8; 1.1.18;
Add support for system controller nodes.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
1.1 30-Oct-2019 jmcneill

branches: 1.1.2; 1.1.10; 1.1.12;
Add generic USB PHY driver


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
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.)


Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
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.


Revision tags: thorpej-i2c-spi-conf2-base
1.9 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
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?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
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


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
1.3 29-Sep-2018 jmcneill

branches: 1.3.12;
Fix 64-bit build


Revision tags: pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
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.


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base
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.


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
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