History log of /netbsd-current/sys/arch/arm/fdt/gtmr_fdt.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.12 12-Nov-2021 jmcneill

gtmr: Add support for arm,cpu-registers-not-fw-configured property.

On armv7, arm,cpu-registers-not-fw-configured means that firmware hasn't
bothered to configure any generic timer registers and we need to
initialize cntfrq ourselves.


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


# 1.8 15-Jan-2021 ryo

use fdtbus_intr_establish_xname


Revision tags: 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 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.7 30-Nov-2017 skrll

branches: 1.7.2; 1.7.18;
typo


# 1.6 30-Nov-2017 skrll

When attaching gtmr at fdt use fdtbus_intr_establish to establish the
gtmr interrupt.


Revision tags: nick-nhusb-base-20170825
# 1.5 24-Aug-2017 jmcneill

branches: 1.5.2;
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export
cpu_initclocks from device drivers as common code (in this case FDT) will
provide its own copy.


# 1.4 20-Jul-2017 jmcneill

Match arm,armv8-timer compat string


Revision tags: 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
# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.


# 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.


# 1.8 15-Jan-2021 ryo

use fdtbus_intr_establish_xname


Revision tags: 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 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.7 30-Nov-2017 skrll

branches: 1.7.2; 1.7.18;
typo


# 1.6 30-Nov-2017 skrll

When attaching gtmr at fdt use fdtbus_intr_establish to establish the
gtmr interrupt.


Revision tags: nick-nhusb-base-20170825
# 1.5 24-Aug-2017 jmcneill

branches: 1.5.2;
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export
cpu_initclocks from device drivers as common code (in this case FDT) will
provide its own copy.


# 1.4 20-Jul-2017 jmcneill

Match arm,armv8-timer compat string


Revision tags: 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
# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.


# 1.10 24-Apr-2021 thorpej

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.


# 1.8 15-Jan-2021 ryo

use fdtbus_intr_establish_xname


Revision tags: 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 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.7 30-Nov-2017 skrll

branches: 1.7.2; 1.7.18;
typo


# 1.6 30-Nov-2017 skrll

When attaching gtmr at fdt use fdtbus_intr_establish to establish the
gtmr interrupt.


Revision tags: nick-nhusb-base-20170825
# 1.5 24-Aug-2017 jmcneill

branches: 1.5.2;
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export
cpu_initclocks from device drivers as common code (in this case FDT) will
provide its own copy.


# 1.4 20-Jul-2017 jmcneill

Match arm,armv8-timer compat string


Revision tags: 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
# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.


# 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 15-Jan-2021 ryo

use fdtbus_intr_establish_xname


Revision tags: 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-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 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.7 30-Nov-2017 skrll

branches: 1.7.2;
typo


# 1.6 30-Nov-2017 skrll

When attaching gtmr at fdt use fdtbus_intr_establish to establish the
gtmr interrupt.


Revision tags: nick-nhusb-base-20170825
# 1.5 24-Aug-2017 jmcneill

branches: 1.5.2;
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export
cpu_initclocks from device drivers as common code (in this case FDT) will
provide its own copy.


# 1.4 20-Jul-2017 jmcneill

Match arm,armv8-timer compat string


Revision tags: 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
# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.


# 1.8 15-Jan-2021 ryo

use fdtbus_intr_establish_xname


Revision tags: 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-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 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.7 30-Nov-2017 skrll

branches: 1.7.2;
typo


# 1.6 30-Nov-2017 skrll

When attaching gtmr at fdt use fdtbus_intr_establish to establish the
gtmr interrupt.


Revision tags: nick-nhusb-base-20170825
# 1.5 24-Aug-2017 jmcneill

branches: 1.5.2;
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export
cpu_initclocks from device drivers as common code (in this case FDT) will
provide its own copy.


# 1.4 20-Jul-2017 jmcneill

Match arm,armv8-timer compat string


Revision tags: 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
# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.


Revision tags: tls-maxphys-base-20171202
# 1.7 30-Nov-2017 skrll

branches: 1.7.2;
typo


# 1.6 30-Nov-2017 skrll

When attaching gtmr at fdt use fdtbus_intr_establish to establish the
gtmr interrupt.


Revision tags: nick-nhusb-base-20170825
# 1.5 24-Aug-2017 jmcneill

branches: 1.5.2;
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export
cpu_initclocks from device drivers as common code (in this case FDT) will
provide its own copy.


# 1.4 20-Jul-2017 jmcneill

Match arm,armv8-timer compat string


Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base
# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.


# 1.5 24-Aug-2017 jmcneill

Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export
cpu_initclocks from device drivers as common code (in this case FDT) will
provide its own copy.


# 1.4 20-Jul-2017 jmcneill

Match arm,armv8-timer compat string


Revision tags: perseant-stdc-iso10646-base netbsd-8-base
# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.


# 1.4 20-Jul-2017 jmcneill

Match arm,armv8-timer compat string


Revision tags: perseant-stdc-iso10646-base netbsd-8-base
# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.


# 1.3 30-May-2017 jmcneill

Use an FDT-based ARM_INTR_IMPL for Tegra.


# 1.2 30-May-2017 jmcneill

Allow ARM FDT drivers to register per-cpu init callbacks. Run through this
callback list when a CPU hatches instead of calling gtmr_init_cpu_clock
directly.


# 1.1 28-May-2017 jmcneill

Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.