Home | History | Annotate | only in /src/sys/arch/zaurus/dev
History log of /src/sys/arch/zaurus/dev
RevisionDateAuthorComments
 1.2 16-Jun-2018  thorpej More cleanup to i2c autoconfiguration:

- Get all of the drivers onto the new match quality constants.
- Introduce a new helper function, iic_use_direct_match(), that has
all of the logic for direct-config matching. If it returns true,
the driver returns the match result (which may be 0). If it returns
false, the driver does indirect-config matching.
- iic_compat_match() now returns a weighted match quality; matches to
lower-indexed "compatible" device property are more-specific matches,
and return a better match quality accordingly.
 1.1 19-Jun-2011  nonaka branches: 1.1.2; 1.1.54;
more support SL-C1000.
 1.1.54.1 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.2.1 19-Jun-2011  cherry file ioexp.c was added on branch cherry-xenmp on 2011-06-23 14:19:51 +0000
 1.1 19-Jun-2011  nonaka branches: 1.1.2;
more support SL-C1000.
 1.1.2.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.2.1 19-Jun-2011  cherry file ioexpreg.h was added on branch cherry-xenmp on 2011-06-23 14:19:51 +0000
 1.1 19-Jun-2011  nonaka branches: 1.1.2;
more support SL-C1000.
 1.1.2.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.2.1 19-Jun-2011  cherry file ioexpvar.h was added on branch cherry-xenmp on 2011-06-23 14:19:51 +0000
 1.3 29-Jan-2012  tsutsui branches: 1.3.4; 1.3.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.2 27-Jan-2012  tsutsui Allow calling scoop_set_backlight() even before scoop is attached and
schedule initial values in that case as ioexp does. Suggested by nonaka@.
Now lcdctl no longer has to defer lcdctl_set_brightness() by
config_finalize_register(9), which is a bit too late.
(i.e. no backlight during USB/SD probe by config_interrupt(9) in previous)
 1.1 25-Jan-2012  tsutsui Reorganlization zlcd(4) and ztp(4) device attachments from nonaka@:
- ztp depends on zssp so attach ztp at zssp rather than pxaip
- split LCD backlight controls from zlcd(4) into new lcdctl device
to share it among forthcoming SL-C7x0 variants
 1.3.6.2 17-Apr-2012  yamt sync with head
 1.3.6.1 29-Jan-2012  yamt file lcdctl.c was added on branch yamt-pagecache on 2012-04-17 00:07:12 +0000
 1.3.4.2 18-Feb-2012  mrg merge to -current.
 1.3.4.1 29-Jan-2012  mrg file lcdctl.c was added on branch jmcneill-usbmp on 2012-02-18 07:33:49 +0000
 1.1 25-Jan-2012  tsutsui branches: 1.1.4; 1.1.6;
Reorganlization zlcd(4) and ztp(4) device attachments from nonaka@:
- ztp depends on zssp so attach ztp at zssp rather than pxaip
- split LCD backlight controls from zlcd(4) into new lcdctl device
to share it among forthcoming SL-C7x0 variants
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 25-Jan-2012  yamt file lcdctlvar.h was added on branch yamt-pagecache on 2012-04-17 00:07:12 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 25-Jan-2012  mrg file lcdctlvar.h was added on branch jmcneill-usbmp on 2012-02-18 07:33:49 +0000
 1.13 23-Sep-2014  nonaka Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.12 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.11 29-Jan-2012  tsutsui branches: 1.11.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.10 27-Jan-2012  tsutsui Allow calling scoop_set_backlight() even before scoop is attached and
schedule initial values in that case as ioexp does. Suggested by nonaka@.
Now lcdctl no longer has to defer lcdctl_set_brightness() by
config_finalize_register(9), which is a bit too late.
(i.e. no backlight during USB/SD probe by config_interrupt(9) in previous)
 1.9 19-Jul-2011  dyoung branches: 1.9.2; 1.9.6;
Change <machine/bus.h> to <sys/bus.h> throughout.

Split bus.h -> bus_{defs,funcs}.h.
 1.8 19-Jun-2011  nonaka more support SL-C1000.
 1.7 18-Apr-2009  nonaka branches: 1.7.10;
zaudio(4): Support recording.
 1.6 29-Jan-2009  nonaka branches: 1.6.2;
- device_t/softc split.
- use aprint_* function.
 1.5 13-Jun-2008  cegger branches: 1.5.4;
use device_lookup_private to get softc
 1.4 17-Oct-2007  garbled branches: 1.4.16; 1.4.18; 1.4.20; 1.4.22; 1.4.24;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.3 29-Jul-2007  nonaka branches: 1.3.6;
sync with OpenBSD.
 1.2 17-Dec-2006  peter branches: 1.2.2; 1.2.4; 1.2.6; 1.2.12; 1.2.20; 1.2.22; 1.2.24;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.24.1 15-Aug-2007  skrll Sync with HEAD.
 1.2.22.1 07-Aug-2007  matt Sync with HEAD.
 1.2.20.1 03-Oct-2007  garbled Sync with HEAD
 1.2.12.1 20-Aug-2007  ad Sync with HEAD.
 1.2.6.2 12-Jan-2007  ad Sync with head.
 1.2.6.1 17-Dec-2006  ad file scoop.c was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 17-Dec-2006  yamt file scoop.c was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file scoop.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.6.1 06-Nov-2007  matt sync with HEAD
 1.4.24.1 18-Jun-2008  simonb Sync with head.
 1.4.22.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.4.20.1 04-May-2009  yamt sync with head.
 1.4.18.1 17-Jun-2008  yamt sync with head.
 1.4.16.1 29-Jun-2008  mjf Sync with HEAD.
 1.5.4.2 28-Apr-2009  skrll Sync with HEAD.
 1.5.4.1 03-Mar-2009  skrll Sync with HEAD.
 1.6.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.6.1 18-Feb-2012  mrg merge to -current.
 1.9.2.2 30-Oct-2012  yamt sync with head
 1.9.2.1 17-Apr-2012  yamt sync with head
 1.11.6.2 03-Dec-2017  jdolecek update from HEAD
 1.11.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4 19-Jun-2011  nonaka more support SL-C1000.
 1.3 29-Jan-2009  nonaka branches: 1.3.12;
- device_t/softc split.
- use aprint_* function.
 1.2 17-Dec-2006  peter branches: 1.2.2; 1.2.4; 1.2.6; 1.2.54; 1.2.62;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.62.1 03-Mar-2009  skrll Sync with HEAD.
 1.2.54.1 04-May-2009  yamt sync with head.
 1.2.6.2 12-Jan-2007  ad Sync with head.
 1.2.6.1 17-Dec-2006  ad file scoop_pcic.c was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 17-Dec-2006  yamt file scoop_pcic.c was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file scoop_pcic.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.12.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6 23-Sep-2014  nonaka Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.5 29-Jan-2012  tsutsui branches: 1.5.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.4 17-Oct-2007  garbled branches: 1.4.54; 1.4.58;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.3 29-Jul-2007  nonaka branches: 1.3.6;
sync with OpenBSD.
 1.2 17-Dec-2006  peter branches: 1.2.2; 1.2.4; 1.2.6; 1.2.12; 1.2.20; 1.2.22; 1.2.24;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.24.1 15-Aug-2007  skrll Sync with HEAD.
 1.2.22.1 07-Aug-2007  matt Sync with HEAD.
 1.2.20.1 03-Oct-2007  garbled Sync with HEAD
 1.2.12.1 20-Aug-2007  ad Sync with HEAD.
 1.2.6.2 12-Jan-2007  ad Sync with head.
 1.2.6.1 17-Dec-2006  ad file scoopreg.h was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 17-Dec-2006  yamt file scoopreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file scoopreg.h was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.6.1 06-Nov-2007  matt sync with HEAD
 1.4.58.1 18-Feb-2012  mrg merge to -current.
 1.4.54.1 17-Apr-2012  yamt sync with head
 1.5.6.1 03-Dec-2017  jdolecek update from HEAD
 1.6 23-Sep-2014  nonaka Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.5 18-Apr-2009  nonaka branches: 1.5.22;
zaudio(4): Support recording.
 1.4 17-Oct-2007  garbled branches: 1.4.20; 1.4.28; 1.4.34;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.3 29-Jul-2007  nonaka branches: 1.3.6;
sync with OpenBSD.
 1.2 17-Dec-2006  peter branches: 1.2.2; 1.2.4; 1.2.6; 1.2.12; 1.2.20; 1.2.22; 1.2.24;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.24.1 15-Aug-2007  skrll Sync with HEAD.
 1.2.22.1 07-Aug-2007  matt Sync with HEAD.
 1.2.20.1 03-Oct-2007  garbled Sync with HEAD
 1.2.12.1 20-Aug-2007  ad Sync with HEAD.
 1.2.6.2 12-Jan-2007  ad Sync with head.
 1.2.6.1 17-Dec-2006  ad file scoopvar.h was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 17-Dec-2006  yamt file scoopvar.h was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file scoopvar.h was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.6.1 06-Nov-2007  matt sync with HEAD
 1.4.34.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.28.1 28-Apr-2009  skrll Sync with HEAD.
 1.4.20.1 04-May-2009  yamt sync with head.
 1.5.22.1 03-Dec-2017  jdolecek update from HEAD
 1.4 20-Nov-2021  rin - Accept anti-aliased fonts.
- Clear garbage from screen when attach.
 1.3 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.2 10-Nov-2019  chs branches: 1.2.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.1 29-Jan-2012  tsutsui branches: 1.1.4; 1.1.6; 1.1.52;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.1.52.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 29-Jan-2012  yamt file w100.c was added on branch yamt-pagecache on 2012-04-17 00:07:12 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 29-Jan-2012  mrg file w100.c was added on branch jmcneill-usbmp on 2012-02-18 07:33:49 +0000
 1.2.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.6 28-May-2022  andvar fix various typos, mainly in comments.
 1.5 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.4 24-Apr-2021  thorpej branches: 1.4.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.3 13-Apr-2021  tsutsui Make LCD BrightnessUp/BrightnessDown work on C7x0/860.

Patch from steleto:
https://gist.github.com/steleto/10f62a074bff0c188fcc10c14ef40b5a
and also confirmed by me on SL-C700.

Worth to pullup to netbsd-9.
 1.2 10-Feb-2012  tsutsui branches: 1.2.4; 1.2.6; 1.2.56; 1.2.66;
More SL-C7x0/860 support for Xorg server usage:
- pull touchpanel adjustment ioctls to w100lcd.c for SL-C7x0/860
from zlcd.c for SL-C1000/3x00
- add sample xorg.conf for C7x0/860 (which have hardware screen rotation)
- rename old xorg.conf.sample for C1000/C3x00 to xorg.conf.C3x00
- adjust md set list

Ok releng@ nonaka@
 1.1 29-Jan-2012  tsutsui Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.2.66.2 17-Apr-2021  thorpej Sync with HEAD.
 1.2.66.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.2.56.1 21-Apr-2021  martin Pull up following revision(s) (requested by tsutsui in ticket #1247):

sys/arch/zaurus/dev/w100lcd.c: revision 1.3

Make LCD BrightnessUp/BrightnessDown work on C7x0/860.

Patch from steleto:
https://gist.github.com/steleto/10f62a074bff0c188fcc10c14ef40b5a

and also confirmed by me on SL-C700.

Worth to pullup to netbsd-9.
 1.2.6.2 17-Apr-2012  yamt sync with head
 1.2.6.1 10-Feb-2012  yamt file w100lcd.c was added on branch yamt-pagecache on 2012-04-17 00:07:13 +0000
 1.2.4.2 18-Feb-2012  mrg merge to -current.
 1.2.4.1 10-Feb-2012  mrg file w100lcd.c was added on branch jmcneill-usbmp on 2012-02-18 07:33:49 +0000
 1.4.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.1 29-Jan-2012  tsutsui branches: 1.1.4; 1.1.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 29-Jan-2012  yamt file w100lcdvar.h was added on branch yamt-pagecache on 2012-04-17 00:07:13 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 29-Jan-2012  mrg file w100lcdvar.h was added on branch jmcneill-usbmp on 2012-02-18 07:33:49 +0000
 1.2 12-Aug-2012  nonaka fix RCSID.
 1.1 29-Jan-2012  tsutsui branches: 1.1.4; 1.1.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.1.6.3 30-Oct-2012  yamt sync with head
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 29-Jan-2012  yamt file w100reg.h was added on branch yamt-pagecache on 2012-04-17 00:07:13 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 29-Jan-2012  mrg file w100reg.h was added on branch jmcneill-usbmp on 2012-02-18 07:33:50 +0000
 1.1 29-Jan-2012  tsutsui branches: 1.1.4; 1.1.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 29-Jan-2012  yamt file w100var.h was added on branch yamt-pagecache on 2012-04-17 00:07:13 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 29-Jan-2012  mrg file w100var.h was added on branch jmcneill-usbmp on 2012-02-18 07:33:50 +0000
 1.3 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.2 16-Jun-2018  thorpej branches: 1.2.2; 1.2.4;
More cleanup to i2c autoconfiguration:

- Get all of the drivers onto the new match quality constants.
- Introduce a new helper function, iic_use_direct_match(), that has
all of the logic for direct-config matching. If it returns true,
the driver returns the match result (which may be 0). If it returns
false, the driver does indirect-config matching.
- iic_compat_match() now returns a weighted match quality; matches to
lower-indexed "compatible" device property are more-specific matches,
and return a better match quality accordingly.
 1.1 23-Sep-2014  nonaka branches: 1.1.18; 1.1.20;
Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.1.20.1 25-Jun-2018  pgoyette Sync with HEAD
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 23-Sep-2014  jdolecek file wm8731_zaudio.c was added on branch tls-maxphys on 2017-12-03 11:36:52 +0000
 1.2.4.3 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.2.4.2 04-May-2019  isaki Remove obsoleted methods in audio_hw_if.
- drain: is handled in audio upper layer now.
- mappage: is handled in audio upper layer now.
- setfd: no one uses and it's meaningless now.
 1.2.4.1 24-Apr-2019  isaki Adapt zaudio family to audio2.
- wm8731 and wm8750 can share zaudio_formats[].
- Drop INDEPENDENT property. These share sample rate in play and rec.
- pxa2x0_i2s_setspeed() no longer needs to writeback sample rate.
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1 23-Sep-2014  nonaka branches: 1.1.18;
Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 23-Sep-2014  jdolecek file wm8731reg.h was added on branch tls-maxphys on 2017-12-03 11:36:52 +0000
 1.1 23-Sep-2014  nonaka branches: 1.1.18;
Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 23-Sep-2014  jdolecek file wm8731var.h was added on branch tls-maxphys on 2017-12-03 11:36:52 +0000
 1.4 01-May-2024  andvar s/Diffrential/Differential/ in comment.
 1.3 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.2 16-Jun-2018  thorpej branches: 1.2.2; 1.2.4;
More cleanup to i2c autoconfiguration:

- Get all of the drivers onto the new match quality constants.
- Introduce a new helper function, iic_use_direct_match(), that has
all of the logic for direct-config matching. If it returns true,
the driver returns the match result (which may be 0). If it returns
false, the driver does indirect-config matching.
- iic_compat_match() now returns a weighted match quality; matches to
lower-indexed "compatible" device property are more-specific matches,
and return a better match quality accordingly.
 1.1 23-Sep-2014  nonaka branches: 1.1.18; 1.1.20;
Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.1.20.1 25-Jun-2018  pgoyette Sync with HEAD
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 23-Sep-2014  jdolecek file wm8750_zaudio.c was added on branch tls-maxphys on 2017-12-03 11:36:52 +0000
 1.2.4.4 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.2.4.3 04-May-2019  isaki Remove obsoleted methods in audio_hw_if.
- drain: is handled in audio upper layer now.
- mappage: is handled in audio upper layer now.
- setfd: no one uses and it's meaningless now.
 1.2.4.2 24-Apr-2019  isaki Adapt zaudio family to audio2.
- wm8731 and wm8750 can share zaudio_formats[].
- Drop INDEPENDENT property. These share sample rate in play and rec.
- pxa2x0_i2s_setspeed() no longer needs to writeback sample rate.
 1.2.4.1 21-Apr-2019  isaki Use C99 style struct initializer to audio_format.
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1 16-Dec-2006  ober branches: 1.1.2; 1.1.4; 1.1.6;
Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 16-Dec-2006  ad file wm8750reg.h was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 16-Dec-2006  yamt file wm8750reg.h was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.1.2.2 18-Dec-2006  yamt sync with head.
 1.1.2.1 16-Dec-2006  yamt file wm8750reg.h was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.1 23-Sep-2014  nonaka branches: 1.1.18;
Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 23-Sep-2014  jdolecek file wm8750var.h was added on branch tls-maxphys on 2017-12-03 11:36:52 +0000
 1.14 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.13 24-Apr-2021  thorpej branches: 1.13.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.12 29-Jan-2012  tsutsui branches: 1.12.62;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.11 19-Jun-2011  nonaka branches: 1.11.2; 1.11.6;
more support SL-C1000.
 1.10 13-Nov-2010  uebayasi branches: 1.10.6;
Some missing sys/device.h dependencies.
 1.9 12-Dec-2009  nonaka branches: 1.9.4;
report collect charge state.
 1.8 12-Dec-2009  nonaka Use mutex(9).
 1.7 12-Dec-2009  nonaka use APM_BATT_FLAG_CHARGING.
 1.6 03-Apr-2009  uwe Switch apmdev to use apm(4) structures from dev/apm/apmvar.h.
Add batteryid argument to aa_get_powstat method implementations.
 1.5 11-Mar-2009  nonaka Reports the residual quantity of the battery in detail.
 1.4 29-Jan-2009  nonaka branches: 1.4.2;
- device_t/softc split.
- use aprint_* function.
 1.3 29-Jul-2007  nonaka branches: 1.3.6; 1.3.8; 1.3.12; 1.3.36; 1.3.44;
Added support to detect AC adapter and charge battery.
 1.2 30-Dec-2006  nonaka branches: 1.2.6;
remove unused files.
 1.1 16-Dec-2006  ober branches: 1.1.2;
Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.1.2.2 18-Dec-2006  yamt sync with head.
 1.1.2.1 16-Dec-2006  yamt file zapm.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.2.6.1 20-Aug-2007  ad Sync with HEAD.
 1.3.44.2 28-Apr-2009  skrll Sync with HEAD.
 1.3.44.1 03-Mar-2009  skrll Sync with HEAD.
 1.3.36.2 11-Mar-2010  yamt sync with head
 1.3.36.1 04-May-2009  yamt sync with head.
 1.3.12.2 03-Sep-2007  yamt sync with head.
 1.3.12.1 29-Jul-2007  yamt file zapm.c was added on branch yamt-lazymbuf on 2007-09-03 14:31:41 +0000
 1.3.8.2 15-Aug-2007  skrll Sync with HEAD.
 1.3.8.1 29-Jul-2007  skrll file zapm.c was added on branch nick-csl-alignment on 2007-08-15 13:48:03 +0000
 1.3.6.2 07-Aug-2007  matt Sync with HEAD.
 1.3.6.1 29-Jul-2007  matt file zapm.c was added on branch matt-mips64 on 2007-08-07 18:05:57 +0000
 1.4.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.4.1 05-Mar-2011  rmind sync with head
 1.10.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.6.1 18-Feb-2012  mrg merge to -current.
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.12.62.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.13.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 19-Jun-2011  nonaka Delete unused file.
 1.3 06-Dec-2008  ober branches: 1.3.4; 1.3.16;
Initial APM support for Zaurus. Ported from OpenBSD by mjf@.
 1.2 30-Dec-2006  nonaka branches: 1.2.30; 1.2.34; 1.2.38;
remove unused files.
 1.1 16-Dec-2006  ober branches: 1.1.2;
Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.1.2.2 18-Dec-2006  yamt sync with head.
 1.1.2.1 16-Dec-2006  yamt file zapm.h was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.2.38.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.34.1 04-May-2009  yamt sync with head.
 1.2.30.1 17-Jan-2009  mjf Sync with HEAD.
 1.3.16.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.3.4.1 06-Dec-2008  skrll file zapm.h was added on branch nick-hppapmap on 2009-01-19 13:17:13 +0000
 1.23 08-Jun-2019  isaki Clean get_props().
- Make get_props() return AUDIO_PROP_{PLAYBACK,CAPTURE} properly.
This eliminates need for audio.c to take care of such (old)
drivers which don't return both of PLAYBACK and CAPTURE.
- All get_props() doesn't need to return AUDIO_PROP_MMAP.
It is handled in the audio layer now.
 1.22 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.21 23-Sep-2014  nonaka branches: 1.21.20; 1.21.22;
Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.20 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.19 29-Jan-2012  tsutsui branches: 1.19.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.18 25-Jan-2012  tsutsui Defer device initializations which implicitly depend on scoop or ioexp
via config_finalize_register(9).
 1.17 21-Jan-2012  nonaka fix my license notice.
 1.16 23-Nov-2011  jmcneill branches: 1.16.2;
Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From
the original ad-audiomp branch notes:

Add MP locking to the audio drivers.

Making the audio drivers MP safe is necessary before efforts
can be made to make the VM system MP safe.

The are two locks per device instance, an ISR lock and
a character device lock. The ISR lock replaces calls to
splaudio()/splx(), and will be held across calls to device
methods which were called at splaudio() before (e.g.
trigger_output). The character device lock is held across
calls to nearly all of the methods, excluding some only
used for initialization, e.g. get_locks.

Welcome to 5.99.57.
 1.15 23-Jun-2011  nonaka branches: 1.15.2; 1.15.4;
set PXA2X0_I2C_BASE to sc->sc_addr in the correct position.
 1.14 22-Jun-2011  kiyohara Add member sc_addr to struct pxa2x0_i2c_softc.
And use sc_addr to bus_space_map() instead of macro-directly.
 1.13 19-Jun-2011  nonaka more support SL-C1000.
 1.12 24-Feb-2010  dyoung branches: 1.12.8;
A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
 1.11 08-Jan-2010  dyoung branches: 1.11.2;
Expand PMF_FN_* macros.
 1.10 18-Apr-2009  nonaka zaudio(4): Support recording.
 1.9 13-Mar-2009  nonaka zaudio(4) works now.
 1.8 11-Mar-2009  nonaka fix typo.
 1.7 29-Jan-2009  nonaka branches: 1.7.2;
Use pmf(9) instead of powerhook_*.
 1.6 29-Jan-2009  nonaka - device_t/softc split.
- use aprint_* function.
 1.5 17-Oct-2007  garbled branches: 1.5.20; 1.5.28;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 09-Jul-2007  ad branches: 1.4.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.3 22-Feb-2007  thorpej branches: 1.3.4; 1.3.6; 1.3.12;
TRUE -> true, FALSE -> false
 1.2 17-Dec-2006  peter branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.8.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.2.6.2 12-Jan-2007  ad Sync with head.
 1.2.6.1 17-Dec-2006  ad file zaudio.c was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.2.4.4 03-Sep-2007  yamt sync with head.
 1.2.4.3 26-Feb-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 17-Dec-2006  yamt file zaudio.c was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file zaudio.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.12.1 03-Oct-2007  garbled Sync with HEAD
 1.3.6.1 11-Jul-2007  mjf Sync with head.
 1.3.4.1 01-Jul-2007  ad Adapt to callout API change.
 1.4.10.1 06-Nov-2007  matt sync with HEAD
 1.5.28.2 28-Apr-2009  skrll Sync with HEAD.
 1.5.28.1 03-Mar-2009  skrll Sync with HEAD.
 1.5.20.2 11-Mar-2010  yamt sync with head
 1.5.20.1 04-May-2009  yamt sync with head.
 1.7.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.12.8.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.15.4.3 22-Nov-2011  jmcneill get rid of unused 'powerstate' callback in audio_hw_if
 1.15.4.2 20-Nov-2011  jmcneill port zaudio to audiomp api changes for real this time
 1.15.4.1 20-Nov-2011  jmcneill adapt to audiomp api changes
 1.15.2.2 30-Oct-2012  yamt sync with head
 1.15.2.1 17-Apr-2012  yamt sync with head
 1.16.2.1 18-Feb-2012  mrg merge to -current.
 1.19.6.2 03-Dec-2017  jdolecek update from HEAD
 1.19.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.21.22.2 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.21.22.1 24-Apr-2019  isaki Adapt zaudio family to audio2.
- wm8731 and wm8750 can share zaudio_formats[].
- Drop INDEPENDENT property. These share sample rate in play and rec.
- pxa2x0_i2s_setspeed() no longer needs to writeback sample rate.
 1.21.20.1 10-Jun-2019  christos Sync with HEAD
 1.3 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.2 07-Jul-2016  msaitoh branches: 1.2.16; 1.2.20; 1.2.22;
KNF. Remove extra spaces. No functional change.
 1.1 23-Sep-2014  nonaka branches: 1.1.2;
Apply WM8731 support patch from TOYOKURA Atsushi, arranged by me.

- SL-C700: work fine
- SL-C750: attach failed
- SL-C860: not tested
 1.1.2.1 09-Jul-2016  skrll Sync with HEAD
 1.2.22.1 24-Apr-2019  isaki Adapt zaudio family to audio2.
- wm8731 and wm8750 can share zaudio_formats[].
- Drop INDEPENDENT property. These share sample rate in play and rec.
- pxa2x0_i2s_setspeed() no longer needs to writeback sample rate.
 1.2.20.1 10-Jun-2019  christos Sync with HEAD
 1.2.16.2 03-Dec-2017  jdolecek update from HEAD
 1.2.16.1 07-Jul-2016  jdolecek file zaudiovar.h was added on branch tls-maxphys on 2017-12-03 11:36:52 +0000
 1.7 15-Sep-2025  thorpej Encapsulate what's needed to attach an I2C bus into a iicbus_attach()
inline.
 1.6 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.5 24-Apr-2021  thorpej branches: 1.5.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.4 22-Dec-2019  thorpej branches: 1.4.10;
Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks
no longer need to be provided by back-end controller drivers (only if
they need special handling, e.g. powering on the i2c controller).
This results in the removal of a bunch of rendundant code from each
back-end controller driver.

Assert that we are not in hard interrupt context in iic_acquire_bus(),
iic_exec(), and iic_release_bus().
 1.3 14-Feb-2016  chs branches: 1.3.18;
zero the i2c_attach_args structure before filling it in.
fixes occasional crashes in iic_attach().
 1.2 23-Jun-2011  nonaka branches: 1.2.2; 1.2.14; 1.2.32;
set PXA2X0_I2C_BASE to sc->sc_addr in the correct position.
 1.1 19-Jun-2011  nonaka more support SL-C1000.
 1.2.32.1 19-Mar-2016  skrll Sync with HEAD
 1.2.14.1 03-Dec-2017  jdolecek update from HEAD
 1.2.2.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2.2.1 23-Jun-2011  cherry file ziic.c was added on branch cherry-xenmp on 2011-06-23 14:19:51 +0000
 1.3.18.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.4.10.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.5.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.22 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.21 24-Apr-2021  thorpej branches: 1.21.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.20 21-Nov-2020  thorpej branches: 1.20.2;
malloc(9) -> kmem(9)
 1.19 10-Nov-2019  chs branches: 1.19.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.18 30-Mar-2013  nonaka branches: 1.18.36;
Apply patch from steleto, arranged by me.
- Avoid chattering for SL-C7x0/860
- Add more stuck keys.
 1.17 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.16 29-Jan-2012  tsutsui branches: 1.16.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.15 25-Jan-2012  tsutsui Reorganlization zlcd(4) and ztp(4) device attachments from nonaka@:
- ztp depends on zssp so attach ztp at zssp rather than pxaip
- split LCD backlight controls from zlcd(4) into new lcdctl device
to share it among forthcoming SL-C7x0 variants
 1.14 21-Jun-2011  nonaka branches: 1.14.2; 1.14.6;
backout previous.
 1.13 21-Jun-2011  nonaka use pmf_event_inject() instead of call lcd_blank() directly.
 1.12 19-Jun-2011  nonaka more support SL-C1000.
 1.11 24-Feb-2010  dyoung branches: 1.11.8;
A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
 1.10 08-Jan-2010  dyoung branches: 1.10.2;
Expand PMF_FN_* macros.
 1.9 29-Jan-2009  nonaka Use pmf(9) instead of powerhook_*.
 1.8 29-Jan-2009  nonaka - device_t/softc split.
- use aprint_* function.
 1.7 17-Oct-2007  garbled branches: 1.7.20; 1.7.28;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.6 21-Jul-2007  nonaka branches: 1.6.6;
Add missing callout_init().
 1.5 09-Jul-2007  ad branches: 1.5.2; 1.5.4;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.4 28-Jun-2007  nonaka cosmetic.
 1.3 04-Mar-2007  christos branches: 1.3.2; 1.3.4; 1.3.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.2 17-Dec-2006  peter branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.2.6.2 12-Jan-2007  ad Sync with head.
 1.2.6.1 17-Dec-2006  ad file zkbd.c was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 17-Dec-2006  yamt file zkbd.c was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file zkbd.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.10.1 03-Oct-2007  garbled Sync with HEAD
 1.3.4.1 11-Jul-2007  mjf Sync with head.
 1.3.2.4 20-Aug-2007  ad Sync with HEAD.
 1.3.2.3 15-Jul-2007  ad Sync with head.
 1.3.2.2 15-Jul-2007  ad Sync with head.
 1.3.2.1 01-Jul-2007  ad Adapt to callout API change.
 1.5.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.5.2.1 07-Aug-2007  matt Sync with HEAD.
 1.6.6.1 06-Nov-2007  matt sync with HEAD
 1.7.28.1 03-Mar-2009  skrll Sync with HEAD.
 1.7.20.2 11-Mar-2010  yamt sync with head
 1.7.20.1 04-May-2009  yamt sync with head.
 1.10.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.11.8.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.14.6.1 18-Feb-2012  mrg merge to -current.
 1.14.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14.2.2 30-Oct-2012  yamt sync with head
 1.14.2.1 17-Apr-2012  yamt sync with head
 1.16.6.2 23-Jun-2013  tls resync from head
 1.16.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.18.36.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.20.2.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.21.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.7 07-May-2012  tsutsui Fix wrong raw keycode in xt_keymap_c860[] so that right shift properly works
on Xserver on C7x0/860. From steleto.

Should be pulled up to netbsd-6.
 1.6 29-Jan-2012  tsutsui branches: 1.6.2;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.5 19-Jun-2011  nonaka branches: 1.5.2; 1.5.6;
more support SL-C1000.
 1.4 17-Oct-2007  garbled branches: 1.4.52;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.3 28-Jun-2007  nonaka branches: 1.3.10;
Fix compile failure if defined WSDISPLAY_COMPAT_RAWKBD.
 1.2 17-Dec-2006  peter branches: 1.2.2; 1.2.4; 1.2.6; 1.2.12; 1.2.14; 1.2.20;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.20.1 03-Oct-2007  garbled Sync with HEAD
 1.2.14.1 11-Jul-2007  mjf Sync with head.
 1.2.12.1 15-Jul-2007  ad Sync with head.
 1.2.6.2 12-Jan-2007  ad Sync with head.
 1.2.6.1 17-Dec-2006  ad file zkbdmap.h was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 17-Dec-2006  yamt file zkbdmap.h was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file zkbdmap.h was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.10.1 06-Nov-2007  matt sync with HEAD
 1.4.52.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.5.6.2 02-Jun-2012  mrg sync to latest -current.
 1.5.6.1 18-Feb-2012  mrg merge to -current.
 1.5.2.2 23-May-2012  yamt sync with head.
 1.5.2.1 17-Apr-2012  yamt sync with head
 1.6.2.1 09-May-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #237):
sys/arch/zaurus/dev/zkbdmap.h: revision 1.7
Fix wrong raw keycode in xt_keymap_c860[] so that right shift properly works
on Xserver on C7x0/860. From steleto.
Should be pulled up to netbsd-6.
 1.21 28-May-2022  andvar fix various typos, mainly in comments.
 1.20 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.19 24-Apr-2021  thorpej branches: 1.19.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.18 29-Jan-2012  tsutsui branches: 1.18.62;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.17 27-Jan-2012  tsutsui Update comments for recent lcdctl changes.
 1.16 25-Jan-2012  tsutsui Reorganlization zlcd(4) and ztp(4) device attachments from nonaka@:
- ztp depends on zssp so attach ztp at zssp rather than pxaip
- split LCD backlight controls from zlcd(4) into new lcdctl device
to share it among forthcoming SL-C7x0 variants
 1.15 19-Jul-2011  dyoung branches: 1.15.2; 1.15.6;
Change <machine/bus.h> to <sys/bus.h> throughout.

Split bus.h -> bus_{defs,funcs}.h.
 1.14 21-Jun-2011  nonaka backout previous.
 1.13 21-Jun-2011  nonaka use pmf_event_inject() instead of call lcd_blank() directly.
 1.12 19-Jun-2011  nonaka more support SL-C1000.
 1.11 24-Feb-2010  dyoung branches: 1.11.8;
A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
 1.10 08-Jan-2010  dyoung branches: 1.10.2;
Expand PMF_FN_* macros.
 1.9 29-Jan-2009  nonaka Use pmf(9) instead of powerhook_*.
 1.8 29-Jan-2009  nonaka - device_t/softc split.
- use aprint_* function.
 1.7 17-Oct-2007  garbled branches: 1.7.20; 1.7.28;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.6 28-Jun-2007  nonaka branches: 1.6.10;
Implemented some HPC related ioctls for tpctl.
 1.5 04-Mar-2007  christos branches: 1.5.2; 1.5.4; 1.5.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.4 02-Feb-2007  ober branches: 1.4.2;
Updates to allow Zaurus screen to rotate 90 degrees to a usable state with the keyboard. Patch from peter@ copied from OpenBSD. Feedback and OK from matt@
 1.3 18-Dec-2006  nonaka branches: 1.3.2; 1.3.4;
Fix evbarm compile again.
 1.2 17-Dec-2006  peter branches: 1.2.2;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.2.3 21-Dec-2006  yamt sync with head.
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file zlcd.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.4.3 09-Feb-2007  ad Sync with HEAD.
 1.3.4.2 12-Jan-2007  ad Sync with head.
 1.3.4.1 18-Dec-2006  ad file zlcd.c was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.3.2.4 03-Sep-2007  yamt sync with head.
 1.3.2.3 26-Feb-2007  yamt sync with head.
 1.3.2.2 30-Dec-2006  yamt sync with head.
 1.3.2.1 18-Dec-2006  yamt file zlcd.c was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.4.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.5.10.1 03-Oct-2007  garbled Sync with HEAD
 1.5.4.1 11-Jul-2007  mjf Sync with head.
 1.5.2.1 15-Jul-2007  ad Sync with head.
 1.6.10.1 06-Nov-2007  matt sync with HEAD
 1.7.28.1 03-Mar-2009  skrll Sync with HEAD.
 1.7.20.2 11-Mar-2010  yamt sync with head
 1.7.20.1 04-May-2009  yamt sync with head.
 1.10.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.11.8.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.15.6.1 18-Feb-2012  mrg merge to -current.
 1.15.2.1 17-Apr-2012  yamt sync with head
 1.18.62.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.19.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 25-Jan-2012  tsutsui Reorganlization zlcd(4) and ztp(4) device attachments from nonaka@:
- ztp depends on zssp so attach ztp at zssp rather than pxaip
- split LCD backlight controls from zlcd(4) into new lcdctl device
to share it among forthcoming SL-C7x0 variants
 1.3 21-Jun-2011  nonaka branches: 1.3.2; 1.3.4; 1.3.8;
backout previous.
 1.2 21-Jun-2011  nonaka use pmf_event_inject() instead of call lcd_blank() directly.
 1.1 19-Jun-2011  nonaka more support SL-C1000.
 1.3.8.1 18-Feb-2012  mrg merge to -current.
 1.3.4.1 17-Apr-2012  yamt sync with head
 1.3.2.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.2.1 21-Jun-2011  cherry file zlcdvar.h was added on branch cherry-xenmp on 2011-06-23 14:19:51 +0000
 1.5 29-Jan-2012  tsutsui Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.4 21-Jan-2012  nonaka fix my license notice.
 1.3 19-Jun-2011  nonaka branches: 1.3.2; 1.3.6;
more support SL-C1000.
 1.2 06-Apr-2010  nonaka branches: 1.2.6;
Enable SD 4bit bus width mode.
 1.1 21-Apr-2009  nonaka branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Added SD/MMC support from OpenBSD.
tested on i386, amd64 at current-users ML by pgoyette@.
tested on zaurus by myself.
 1.1.10.1 30-May-2010  rmind sync with head
 1.1.8.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.6.2 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1.6.1 21-Apr-2009  jym file zmci.c was added on branch jym-xensuspend on 2009-05-13 17:18:51 +0000
 1.1.4.3 11-Aug-2010  yamt sync with head.
 1.1.4.2 04-May-2009  yamt sync with head.
 1.1.4.1 21-Apr-2009  yamt file zmci.c was added on branch yamt-nfs-mp on 2009-05-04 08:12:15 +0000
 1.1.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.1.2.1 21-Apr-2009  skrll file zmci.c was added on branch nick-hppapmap on 2009-04-28 07:35:02 +0000
 1.2.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.6.1 18-Feb-2012  mrg merge to -current.
 1.3.2.1 17-Apr-2012  yamt sync with head
 1.13 28-Mar-2023  andvar s/interrput/interrupt/ and s/accesss/access/ in comments.
 1.12 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.10 02-Nov-2019  tsutsui branches: 1.10.10;
Fix build errors with options WSDISPLAY_COMPAT_RAWKBD.

- Add missing RAWKEY_* macro definitions (taken from OpenBSD)
- Explicitly include "opt_wsdisplay_compat.h" for
#ifdef WSDISPLAY_COMPAT_RAWKBD conditionals.
(it is not properly pulled at least in netbsd-8)
https://mail-index.netbsd.org/port-zaurus/2019/11/02/msg000083.html

Should be pulled up to netbsd-8 and netbsd-9.
 1.9 27-Oct-2012  chs branches: 1.9.30; 1.9.38; 1.9.42;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.8 25-Jan-2012  tsutsui branches: 1.8.6;
Defer device initializations which implicitly depend on scoop or ioexp
via config_finalize_register(9).
 1.7 19-Jun-2011  nonaka branches: 1.7.2; 1.7.6;
more support SL-C1000.
 1.6 29-Jan-2009  nonaka branches: 1.6.12;
- device_t/softc split.
- use aprint_* function.
 1.5 17-Oct-2007  garbled branches: 1.5.20; 1.5.28;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 09-Jul-2007  ad branches: 1.4.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.3 04-Mar-2007  christos branches: 1.3.2; 1.3.4; 1.3.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.2 17-Dec-2006  peter branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1 16-Dec-2006  ober Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.2.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.2.6.2 12-Jan-2007  ad Sync with head.
 1.2.6.1 17-Dec-2006  ad file zrc.c was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 17-Dec-2006  yamt file zrc.c was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.2.2.2 18-Dec-2006  yamt sync with head.
 1.2.2.1 17-Dec-2006  yamt file zrc.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.3.10.1 03-Oct-2007  garbled Sync with HEAD
 1.3.4.1 11-Jul-2007  mjf Sync with head.
 1.3.2.1 01-Jul-2007  ad Adapt to callout API change.
 1.4.10.1 06-Nov-2007  matt sync with HEAD
 1.5.28.1 03-Mar-2009  skrll Sync with HEAD.
 1.5.20.1 04-May-2009  yamt sync with head.
 1.6.12.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7.6.1 18-Feb-2012  mrg merge to -current.
 1.7.2.2 30-Oct-2012  yamt sync with head
 1.7.2.1 17-Apr-2012  yamt sync with head
 1.8.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.42.1 04-Nov-2019  martin Pull up following revision(s) (requested by tsutsui in ticket #395):

sys/arch/zaurus/dev/zrc.c: revision 1.10

Fix build errors with options WSDISPLAY_COMPAT_RAWKBD.

- Add missing RAWKEY_* macro definitions (taken from OpenBSD)
- Explicitly include "opt_wsdisplay_compat.h" for
#ifdef WSDISPLAY_COMPAT_RAWKBD conditionals.
(it is not properly pulled at least in netbsd-8)
https://mail-index.netbsd.org/port-zaurus/2019/11/02/msg000083.html

Should be pulled up to netbsd-8 and netbsd-9.
 1.9.38.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.30.1 04-Nov-2019  martin Pull up following revision(s) (requested by tsutsui in ticket #1424):

sys/arch/zaurus/dev/zrc.c: revision 1.10

Fix build errors with options WSDISPLAY_COMPAT_RAWKBD.

- Add missing RAWKEY_* macro definitions (taken from OpenBSD)
- Explicitly include "opt_wsdisplay_compat.h" for
#ifdef WSDISPLAY_COMPAT_RAWKBD conditionals.
(it is not properly pulled at least in netbsd-8)
https://mail-index.netbsd.org/port-zaurus/2019/11/02/msg000083.html

Should be pulled up to netbsd-8 and netbsd-9.
 1.10.10.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.15 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.14 24-Apr-2021  thorpej branches: 1.14.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.13 29-Jan-2012  tsutsui branches: 1.13.62;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.12 25-Jan-2012  tsutsui Reorganlization zlcd(4) and ztp(4) device attachments from nonaka@:
- ztp depends on zssp so attach ztp at zssp rather than pxaip
- split LCD backlight controls from zlcd(4) into new lcdctl device
to share it among forthcoming SL-C7x0 variants
 1.11 19-Jul-2011  dyoung branches: 1.11.2; 1.11.6;
Change <machine/bus.h> to <sys/bus.h> throughout.

Split bus.h -> bus_{defs,funcs}.h.
 1.10 19-Jun-2011  nonaka more support SL-C1000.
 1.9 24-Feb-2010  dyoung branches: 1.9.8;
A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
 1.8 08-Jan-2010  dyoung branches: 1.8.2;
Expand PMF_FN_* macros.
 1.7 11-Mar-2009  nonaka collect same processing.
 1.6 29-Jan-2009  nonaka branches: 1.6.2;
Use pmf(9) instead of powerhook_*.
 1.5 29-Jan-2009  nonaka revert a part of previuos change.
 1.4 29-Jan-2009  nonaka - device_t/softc split.
- use aprint_* function.
 1.3 17-Oct-2007  garbled branches: 1.3.20; 1.3.28;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.2 28-Jun-2007  nonaka branches: 1.2.10;
- Added RCS Id.
- cosmetic.
 1.1 16-Dec-2006  ober branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; 1.1.14; 1.1.20;
Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.1.20.1 03-Oct-2007  garbled Sync with HEAD
 1.1.14.1 11-Jul-2007  mjf Sync with head.
 1.1.12.1 15-Jul-2007  ad Sync with head.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 16-Dec-2006  ad file zssp.c was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.1.4.3 03-Sep-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 16-Dec-2006  yamt file zssp.c was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.1.2.2 18-Dec-2006  yamt sync with head.
 1.1.2.1 16-Dec-2006  yamt file zssp.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.2.10.1 06-Nov-2007  matt sync with HEAD
 1.3.28.2 28-Apr-2009  skrll Sync with HEAD.
 1.3.28.1 03-Mar-2009  skrll Sync with HEAD.
 1.3.20.2 11-Mar-2010  yamt sync with head
 1.3.20.1 04-May-2009  yamt sync with head.
 1.6.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.9.8.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.6.1 18-Feb-2012  mrg merge to -current.
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.13.62.6 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.13.62.5 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.13.62.4 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.13.62.3 21-Mar-2021  thorpej CFARG_IATTR usage audit:

If a device carries only one interface attribute, there is no need
to specify it when calling config_search(); that specification is
meant only to disambiguate which interface attribute (which is a
proxy for "what kind of attach args are being used") is having
children attached. cfparent_match() will take care of ensuring that
any potential children can attach to one of the parent's iterface
attributes, and if the parent only carries one, no disambiguation is
necessary.
 1.13.62.2 20-Mar-2021  thorpej No need to pass the parent softc down to the indirect submatch routine;
it's available from the parent device_t there.
 1.13.62.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.14.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 25-Jan-2012  tsutsui Reorganlization zlcd(4) and ztp(4) device attachments from nonaka@:
- ztp depends on zssp so attach ztp at zssp rather than pxaip
- split LCD backlight controls from zlcd(4) into new lcdctl device
to share it among forthcoming SL-C7x0 variants
 1.1 16-Dec-2006  ober branches: 1.1.2; 1.1.4; 1.1.6; 1.1.88; 1.1.92;
Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.1.92.1 18-Feb-2012  mrg merge to -current.
 1.1.88.1 17-Apr-2012  yamt sync with head
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 16-Dec-2006  ad file zsspvar.h was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 16-Dec-2006  yamt file zsspvar.h was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.1.2.2 18-Dec-2006  yamt sync with head.
 1.1.2.1 16-Dec-2006  yamt file zsspvar.h was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.17 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.16 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.15 24-Apr-2021  thorpej branches: 1.15.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.14 27-Oct-2012  chs branches: 1.14.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.13 29-Jan-2012  tsutsui branches: 1.13.6;
Add PXA25x based Zaurus SL-C700/750/760/860 support.

All porting work was done by TOYOKURA Atsushi, with
several minor adjustments for integration by me and nonaka@.

His SL-C700 first running NetBSD/zaurus was demonstrated on
NetBSD booth at Open Source Canference 2011 Tokyo/Fall:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-tokyofall

Note GENERIC kernel works on SL-C750/760/860 (and C1000/3x00) but for now
SL-C700 requires its own kernel with special KERNEL_BASE_PHYS address
due to zbsdmod.o loader restriction (probably caused its small 32MB RAM).
 1.12 25-Jan-2012  tsutsui Reorganlization zlcd(4) and ztp(4) device attachments from nonaka@:
- ztp depends on zssp so attach ztp at zssp rather than pxaip
- split LCD backlight controls from zlcd(4) into new lcdctl device
to share it among forthcoming SL-C7x0 variants
 1.11 25-Jan-2012  tsutsui Defer device initializations which implicitly depend on scoop or ioexp
via config_finalize_register(9).
 1.10 24-Feb-2010  dyoung branches: 1.10.10; 1.10.14;
A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
 1.9 08-Jan-2010  dyoung branches: 1.9.2;
Expand PMF_FN_* macros.
 1.8 12-Dec-2009  nonaka Use tpcalib_ioctl() instead of hpc_tpanel_ioctl().
 1.7 03-Mar-2009  nonaka use pmf(9) instead of powerhook_*.
 1.6 29-Jan-2009  nonaka branches: 1.6.2;
- device_t/softc split.
- use aprint_* function.
 1.5 17-Oct-2007  garbled branches: 1.5.20; 1.5.28;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 09-Jul-2007  ad branches: 1.4.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.3 28-Jun-2007  nonaka Use tpcalib_trans() instead of own function.
 1.2 04-Mar-2007  christos branches: 1.2.2; 1.2.4; 1.2.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.1 17-Dec-2006  peter branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Update from the latest Zaurus source from NONAKA Kimihiro.

- LCD screen and keyboard are working now.
- Add bootstrap loader.
 1.1.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 17-Dec-2006  ad file ztp.c was added on branch newlock2 on 2007-01-12 01:01:03 +0000
 1.1.4.3 03-Sep-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 17-Dec-2006  yamt file ztp.c was added on branch yamt-lazymbuf on 2006-12-30 20:47:28 +0000
 1.1.2.2 18-Dec-2006  yamt sync with head.
 1.1.2.1 17-Dec-2006  yamt file ztp.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.2.10.1 03-Oct-2007  garbled Sync with HEAD
 1.2.4.1 11-Jul-2007  mjf Sync with head.
 1.2.2.3 15-Jul-2007  ad Sync with head.
 1.2.2.2 15-Jul-2007  ad Sync with head.
 1.2.2.1 01-Jul-2007  ad Adapt to callout API change.
 1.4.10.1 06-Nov-2007  matt sync with HEAD
 1.5.28.2 28-Apr-2009  skrll Sync with HEAD.
 1.5.28.1 03-Mar-2009  skrll Sync with HEAD.
 1.5.20.2 11-Mar-2010  yamt sync with head
 1.5.20.1 04-May-2009  yamt sync with head.
 1.6.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.10.14.1 18-Feb-2012  mrg merge to -current.
 1.10.10.2 30-Oct-2012  yamt sync with head
 1.10.10.1 17-Apr-2012  yamt sync with head
 1.13.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.14.52.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.15.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 18-Dec-2006  nonaka Remove unused files.
 1.1 16-Dec-2006  ober branches: 1.1.2;
Zaurus Port from OpenBSD by Nonaka Kimihiro
OK gimpy
 1.1.2.3 21-Dec-2006  yamt sync with head.
 1.1.2.2 18-Dec-2006  yamt sync with head.
 1.1.2.1 16-Dec-2006  yamt file zts.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:09 +0000
 1.6 19-Jul-2011  dyoung Change <machine/bus.h> to <sys/bus.h> throughout.

Split bus.h -> bus_{defs,funcs}.h.
 1.5 19-Jun-2011  nonaka more support SL-C1000.
 1.4 29-Jan-2009  nonaka branches: 1.4.12;
- device_t/softc split.
- use aprint_* function.
 1.3 28-Jan-2009  nonaka device_t/softc split.
 1.2 28-Jan-2009  nonaka don't print cable detect messages.
 1.1 31-Mar-2008  chris branches: 1.1.2; 1.1.6; 1.1.14;
Add zusb device for powering on the USB port. Also configure USB port 2
via the client USB on the pxa270, as it appears USB port 2 is the
externally routed port.

The linux driver was used as documentation for GPIO pins and port
settings.

Note that this only seems to work for one boot, a reboot loses for some
reason, perhaps something in the USB client area needs to be configured.

XXX: perhaps we should make zusb a device that attached/detaches the USB
USB host or client device depending on the plugged in cable.
 1.1.14.1 03-Mar-2009  skrll Sync with HEAD.
 1.1.6.1 04-May-2009  yamt sync with head.
 1.1.2.2 03-Apr-2008  mjf Sync with HEAD.
 1.1.2.1 31-Mar-2008  mjf file zusb.c was added on branch mjf-devfs2 on 2008-04-03 12:42:31 +0000
 1.4.12.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.

RSS XML Feed