Home | History | Annotate | Download | only in gumstix
History log of /src/sys/arch/evbarm/gumstix/gxio.c
RevisionDateAuthorComments
 1.29  29-Oct-2022  jmcneill Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.28  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.27  24-Apr-2021  thorpej branches: 1.27.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.26  13-Mar-2018  ryo branches: 1.26.16;
fix compile error (unused variables)
 1.25  22-Jan-2017  christos branches: 1.25.12;
PR/51905: GXIO Expension boards arn't configured if GXIO_DEFAULT_EXPANSION
isn't defined. Fix a bunch of issues with the original code.
 1.24  28-Oct-2016  christos branches: 1.24.2;
sprinkle ifdef spices.
 1.23  18-Oct-2016  kiyohara Support tifb.
 1.22  16-Oct-2016  kiyohara Remove not commited header-file and variable.
 1.21  15-Oct-2016  kiyohara Support Duovero and Pepper.
 1.20  24-Dec-2012  kiyohara branches: 1.20.14; 1.20.18;
Add more comment.
 1.19  12-Dec-2012  matt Conditionalize omap includes on OVERO
 1.18  23-Sep-2010  kiyohara branches: 1.18.8; 1.18.18;
Remove #if !defined(OVERO) - #endif. Overo can call delay().
 1.17  28-Aug-2010  kiyohara Fix build failed. omap2_intr.h includes, if defined OMAP3530.
 1.16  28-Aug-2010  kiyohara + Add configuration function for NIC of Chestnut43/Tobi/Tobi-Duo.
tested Chestnut43 only.
+ Remove parenthesis for return.
 1.15  10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.14  15-Mar-2010  kiyohara branches: 1.14.2;
XXXX: More power is necessary for NIC and USB? (no document. from Linux)
tested on verdex + console-vx + netCF-vx
and verdex-pro + netpro-vx + consoleLCD-vx.
 1.13  02-Dec-2009  kiyohara branches: 1.13.2;
Enable latest bluetooth module (Infineon PBA31308).
 1.12  22-Nov-2009  kiyohara Add GPIO configuration 'LCD backlight on'.
Remove 'XXXX' in comment. That GPIO config is power on the Marvell 88W8385.
 1.11  15-Aug-2009  kiyohara Use __UNCONST().
 1.10  09-Aug-2009  kiyohara Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.9  18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.8  11-May-2008  kiyohara branches: 1.8.6; 1.8.12;
Split device_t/softc.
 1.7  17-Oct-2007  garbled branches: 1.7.16; 1.7.18; 1.7.20; 1.7.22;
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-Aug-2007  kiyohara branches: 1.6.2;
* Configure the GPIO to GXIO_DEFAULT_EXPANSION, if not specified 'busheader='
in boot args.
* Support NONAKA's <nonaka@netbsd.org> sdmmc.
* Add expansion target 'basix'. This is to configure GPIO to PXA MCI.
However, CardDetect is not connected as for mci of gumxtix. Therefore, it
is not possible to Insert/Remove.
* Remove white-spaces.
* Change format in comments.
 1.5  21-Aug-2007  kiyohara The initarm() should initialize GPIO. We must not initialize GPIO in
foo_attach() of the each drivers. And, it is necessary to confirm whether
to be initialized in foo_match(). To avoid a dangerous configuring on the
evaluation boards.
 1.4  20-Apr-2007  kiyohara branches: 1.4.2; 1.4.6; 1.4.8; 1.4.10;
Change to use pxapcic from sa11xx_pcic.
Support multiple socket. But not tested.
 1.3  18-Jan-2007  kiyohara branches: 1.3.2; 1.3.6; 1.3.8;
Initialize GPIO of *UARTs and supports.
 1.2  17-Oct-2006  kiyohara branches: 1.2.2; 1.2.4; 1.2.8;
Add $NetBSD$.
 1.1  16-Oct-2006  kiyohara Add initial support for the PXA255-based gumstix board.
 1.2.8.4  03-Sep-2007  yamt sync with head.
 1.2.8.3  26-Feb-2007  yamt sync with head.
 1.2.8.2  30-Dec-2006  yamt sync with head.
 1.2.8.1  17-Oct-2006  yamt file gxio.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.2.4.3  01-Feb-2007  ad Sync with head.
 1.2.4.2  18-Nov-2006  ad Sync with head.
 1.2.4.1  17-Oct-2006  ad file gxio.c was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.2.2.2  22-Oct-2006  yamt sync with head
 1.2.2.1  17-Oct-2006  yamt file gxio.c was added on branch yamt-splraiseipl on 2006-10-22 06:04:38 +0000
 1.3.8.1  11-Jul-2007  mjf Sync with head.
 1.3.6.2  09-Oct-2007  ad Sync with head.
 1.3.6.1  27-May-2007  ad Sync with head.
 1.3.2.1  07-May-2007  yamt sync with head.
 1.4.10.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.4.8.1  01-Nov-2007  rjs Sync with HEAD.
 1.4.6.1  03-Sep-2007  skrll Sync with HEAD.
 1.4.2.1  03-Oct-2007  garbled Sync with HEAD
 1.6.2.1  06-Nov-2007  matt sync with HEAD
 1.7.22.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.20.6  09-Oct-2010  yamt sync with head
 1.7.20.5  11-Aug-2010  yamt sync with head.
 1.7.20.4  11-Mar-2010  yamt sync with head
 1.7.20.3  19-Aug-2009  yamt sync with head.
 1.7.20.2  04-May-2009  yamt sync with head.
 1.7.20.1  16-May-2008  yamt sync with head.
 1.7.18.1  18-May-2008  yamt sync with head.
 1.7.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.8.12.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.6.1  28-Apr-2009  skrll Sync with HEAD.
 1.13.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.13.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.13.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.14.2.1  05-Mar-2011  rmind sync with head
 1.18.18.2  03-Dec-2017  jdolecek update from HEAD
 1.18.18.1  25-Feb-2013  tls resync with head
 1.18.8.2  23-Jan-2013  yamt sync with head
 1.18.8.1  16-Jan-2013  yamt sync with (a bit old) head
 1.20.18.2  20-Mar-2017  pgoyette Sync with HEAD
 1.20.18.1  04-Nov-2016  pgoyette Sync with HEAD
 1.20.14.2  05-Feb-2017  skrll Sync with HEAD
 1.20.14.1  05-Dec-2016  skrll Sync with HEAD
 1.24.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.25.12.1  15-Mar-2018  pgoyette Synch with HEAD
 1.26.16.5  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.26.16.4  04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.26.16.3  03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.26.16.2  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.26.16.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.27.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed