Home | History | Annotate | only in /src/sys/arch/arm/sociox
History log of /src/sys/arch/arm/sociox
RevisionDateAuthorComments
 1.12 06-Sep-2025  thorpej Step towards modularizing the Flattened Device Tree code.

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

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

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

No actual code changed; NFCI.
 1.11 01-Feb-2022  nisimura retire SocioNext AVE 32/64 GbE driver
 1.10 03-Dec-2021  nisimura retire sni_exiu.c in favour of ACPI0013 generic event device implemented
by dev/acpi/acpi_ged.c
 1.9 19-Mar-2020  nisimura branches: 1.9.4;
make sni_exiu.c fdt/ACPI dual attach device
 1.8 19-Mar-2020  nisimura make sni_gpio.c fdt/ACPI dual attach device
 1.7 18-Mar-2020  nisimura add SynQuacer EXIU external IRQ unit driver desciption
 1.6 18-Mar-2020  nisimura uncomment sniemmc and sniiic devices
 1.5 18-Mar-2020  nisimura more fdt/ACPI dual attach glue. SCX0002 and SCX0003 respectively
 1.4 18-Mar-2020  nisimura add ACPI attachment glue.
SynQuacer/SC2A11 has UEFI/tainocore firmware which is able to select
either FDT format or ACPI format for device description.
 1.3 17-Mar-2020  nisimura step forward to fdt/ACPI dual attach device
 1.2 16-Mar-2020  nisimura add a missing line
 1.1 15-Mar-2020  nisimura driver description file for Socionext products
 1.9.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.4.1 19-Mar-2020  martin file files.sociox was added on branch phil-wifi on 2020-04-13 08:03:37 +0000
 1.23 01-Feb-2022  nisimura retire SocioNext AVE 32/64 GbE driver
 1.22 31-Dec-2021  riastradh sys: Use if_init wrapper function.

Exception: Not in kern_pmf.c, for the kind of silly reason that it
avoids having kern_pmf.c refer to symbols defined only in net; this
avoids a pain in the rump.
 1.21 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

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

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.17 23-Sep-2020  nisimura branches: 1.17.2;
note more about AVE EMAC design
 1.16 27-Mar-2020  nisimura branches: 1.16.4;
extend mii_statchg() to use ether_mediachange(). care about hash filter selection.
 1.15 24-Mar-2020  nisimura correct inverted logic to determine RMII/MII
 1.14 23-Mar-2020  nisimura adapt dual descriptor design both for AVE64 and AVE32
 1.13 23-Mar-2020  nisimura replace some macro names for descriptor management
 1.12 23-Mar-2020  nisimura use sc_100mii variable name for RMII/MII
 1.11 23-Mar-2020  nisimura manifest non-MP_SAFE
 1.10 22-Mar-2020  nisimura improve comments
 1.9 22-Mar-2020  nisimura - move sc_flowflags = 0 line at earlier place.
- handle a set of speed selection operations.
 1.8 21-Mar-2020  nisimura - handle register adjustment when link speed change.
- make some more care on reset operation.
 1.7 21-Mar-2020  nisimura - add one more missing RXC_EN.
- handle link speed change.
- fix genmask0() bit mask generation error.
 1.6 21-Mar-2020  nisimura make comments about descriptor storage design detail
 1.5 21-Mar-2020  nisimura more on toward dual descriptor design
 1.4 21-Mar-2020  nisimura - add missing RXC_EN bit to resume receiving.
- an inch forward to absorb incompatible descriptor designs.
 1.3 20-Mar-2020  nisimura use correct product name. still unfinished
 1.2 20-Mar-2020  nisimura remove #ifdef _LP64 as jmcneil@ suggested
 1.1 20-Mar-2020  nisimura Socionext AVE GbE driver for UniPhier SoC family.
 1.16.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.16.4.1 27-Mar-2020  martin file if_ave.c was added on branch phil-wifi on 2020-04-13 08:03:37 +0000
 1.17.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.44 29-Jun-2024  riastradh scx(4): Fix if_statinc call.

We don't have a reference to the local statistics counters, so we
can't use if_statinc_ref. But, because net_stat_ref_t is just an
alias for void *, the compiler doesn't detect this mistake.

PR kern/58380
 1.43 15-Jun-2023  nisimura if_scx.c
 1.42 14-Jun-2023  nisimura force PHY loopback while uengine reloading process as tianocore/EDK2 UEFI
mentions. A piece of comment updates.
 1.41 13-Jun-2023  nisimura major code quality improvements, descriptive comments, code density.
 1.40 21-May-2023  nisimura small fixes, code shuffle for ease of understanding.
 1.39 27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.38 18-Sep-2022  thorpej Eliminate use of IFF_OACTIVE.
 1.37 12-Jun-2022  andvar fix few typos in comments.
 1.36 27-Jan-2022  nisimura always use mac_write/read to handle DWC registers
 1.35 25-Jan-2022  nisimura - don't put const for CFATTACH_DECL_NEW()
- MDIO now senses PHY correctly.
 1.34 31-Dec-2021  riastradh sys: Use if_init wrapper function.

Exception: Not in kern_pmf.c, for the kind of silly reason that it
avoids having kern_pmf.c refer to symbols defined only in net; this
avoids a pain in the rump.
 1.33 21-Dec-2021  nisimura pursue better register description
 1.32 21-Dec-2021  nisimura correct register definition error and improve naming
 1.31 21-Dec-2021  nisimura add interrupt logic stuff
 1.30 20-Dec-2021  nisimura - iron out attach error case messages
- use 64-bit paddr bus_dma_tag
- dig and decode FDT "clock-frequency" value
 1.29 20-Dec-2021  nisimura development snapshot; endianness and others.
 1.28 20-Dec-2021  nisimura fix and improve register definitions
 1.27 16-Dec-2021  nisimura interlim commit to snapshot SC2A11 GbE progress.
 1.26 16-Dec-2021  nisimura improve SC2A11 hardware register description.
 1.25 02-Aug-2021  andvar fix various typos in comments and log messages.
 1.24 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.23 10-Oct-2020  nisimura branches: 1.23.2;
reorder functions for better relevance
 1.22 28-Mar-2020  nisimura branches: 1.22.4;

- comb down rcvfilt() filter adjustment logic.
- some mii_statchg() can be written in simpler form.
 1.21 27-Mar-2020  nisimura extend mii_statchg() to use ether_mediachange(). care about hash filter selection.
 1.20 27-Mar-2020  nisimura try to be better register descriptions
 1.19 27-Mar-2020  nisimura more register mashup work
 1.18 27-Mar-2020  nisimura register definition mashed. from UEFI and CycloneV PDF
 1.17 26-Mar-2020  nisimura update register definition. from UEFI source code.
 1.16 26-Mar-2020  nisimura correct global reset logic. still remains MII speed trouble.
 1.15 26-Mar-2020  nisimura adjust minor comments
 1.14 25-Mar-2020  nisimura use dma32 for descriptor store. likely still missing freq designation(s)
 1.13 25-Mar-2020  nisimura make sure to use mac_write() for GMACxxx registers. try to decode xMII link status report
 1.12 24-Mar-2020  nisimura add more register description
 1.11 24-Mar-2020  nisimura add more registers supposed to exist
 1.10 24-Mar-2020  nisimura fix FDT 2nd addr to map EEPROM store. mention ACPI _DSD contains FDT equiv parameters.
 1.9 24-Mar-2020  nisimura try to be consistent for the number of address match filter. tentative util the reality.
 1.8 24-Mar-2020  nisimura small knit about multicast hash table handling. use sc_100mii as bool
 1.7 24-Mar-2020  nisimura add some more findings about SC2A11 GbE. do some code steamline practice.
 1.6 23-Mar-2020  nisimura replace some macro names for descriptor management
 1.5 23-Mar-2020  nisimura do better work in ifmedia_upd. fix ucode injection.
 1.4 23-Mar-2020  nisimura try to catch RMII/MII phy condition. fix divisor cal. nuke &= 03 error
 1.3 23-Mar-2020  nisimura improve comment descriptions. DRT for ucode load
 1.2 23-Mar-2020  nisimura try to DRT about EEPROM ucode
 1.1 23-Mar-2020  nisimura Socionext "NetSec" GbE driver
 1.22.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22.4.1 28-Mar-2020  martin file if_scx.c was added on branch phil-wifi on 2020-04-13 08:03:37 +0000
 1.23.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10 21-Dec-2021  nisimura improve consistency when attach error cases.
 1.9 10-Nov-2021  msaitoh s/intialize/initialize/
 1.8 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.7 31-May-2020  thorpej branches: 1.7.2;
Remove superfluous checking for a "disable" property in the device_t
properties dictionary.
 1.6 25-Mar-2020  nisimura branches: 1.6.4;
DRT about config messages
 1.5 25-Mar-2020  nisimura better boot messaging, redo
 1.4 25-Mar-2020  nisimura better boot messaging
 1.3 18-Mar-2020  nisimura attempt graceful failure
 1.2 18-Mar-2020  nisimura enrich eMMC driver realities to work a bit
 1.1 18-Mar-2020  nisimura new skelton files for SC2A11 eMMC and I2C
 1.6.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.4.1 25-Mar-2020  martin file sni_emmc.c was added on branch phil-wifi on 2020-04-13 08:03:37 +0000
 1.7.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6 03-Dec-2021  nisimura retire sni_exiu.c in favour of ACPI0013 generic event divice to
respond power button press.
 1.5 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.4 31-May-2020  thorpej branches: 1.4.2;
Remove superfluous checking for a "disable" property in the device_t
properties dictionary.
 1.3 25-Mar-2020  nisimura branches: 1.3.4;
try to DRT about config messages
 1.2 19-Mar-2020  nisimura make sni_exiu.c fdt/ACPI dual attach device
 1.1 18-Mar-2020  nisimura add skelton external IRQ unit driver and GPIO driver.
 1.3.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.4.1 25-Mar-2020  martin file sni_exiu.c was added on branch phil-wifi on 2020-04-13 08:03:37 +0000
 1.4.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13 25-Jan-2022  nisimura - rectify attach messages.
- abandon irq to use for now.
 1.12 21-Dec-2021  nisimura improve consistency when attach error cases.
 1.11 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.10 24-Apr-2021  thorpej branches: 1.10.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

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

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.8 31-May-2020  thorpej branches: 1.8.2;
Remove superfluous checking for a "disable" property in the device_t
properties dictionary.
 1.7 25-Mar-2020  nisimura branches: 1.7.4;
try to DRT about config messages, redo ...
 1.6 25-Mar-2020  nisimura try to DRT about config messages
 1.5 25-Mar-2020  nisimura describe DeveloperBox pin assignment correctly
 1.4 25-Mar-2020  nisimura try to decode _DSD ACPI resource
 1.3 24-Mar-2020  nisimura try to show 32 GPIO line usage
 1.2 19-Mar-2020  nisimura make sni_gpio.c fdt/ACPI dual attach device
 1.1 18-Mar-2020  nisimura add skelton external IRQ unit driver and GPIO driver.
 1.7.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.4.1 25-Mar-2020  martin file sni_gpio.c was added on branch phil-wifi on 2020-04-13 08:03:37 +0000
 1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9.2.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.10.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.17 16-Sep-2025  thorpej As with ACPI, perform the fdtbus_register_i2c_controller() in a centralized
location.
 1.16 16-Sep-2025  thorpej Garbage-collect fdtbus_attach_i2cbus(); the regular iicbus_attach() is
sufficient now.
 1.15 24-Mar-2022  andvar s/interupt/interrupt/ in comments.
also add missing RCS ID in bcm53xx_reg.h and fix one more typo in there.
 1.14 22-Dec-2021  nisimura add register definitions. the design is BCM2835 I2C look-a-like.
 1.13 21-Dec-2021  nisimura improve consistency when attach error cases.
 1.12 07-Aug-2021  thorpej branches: 1.12.2;
Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.2; 1.11.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

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

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.9 23-Dec-2020  thorpej Change fdtbus_register_i2c_controller() to directly register the i2c_tag_t,
rather than the device and a set of functions (the only of which was to
return the i2c_tag_t anyway). Previously, this assumed only a single
i2c controller node per device_t, which is not true with an i2c mux.
 1.8 01-Jun-2020  thorpej branches: 1.8.2;
Oops, missed a line in the last change.
 1.7 31-May-2020  thorpej Remove superfluous checking for a "disable" property in the device_t
properties dictionary.
 1.6 25-Mar-2020  nisimura branches: 1.6.4;
DRT about config messages
 1.5 25-Mar-2020  nisimura better boot messaging, redo
 1.4 25-Mar-2020  nisimura better boot messaging
 1.3 18-Mar-2020  nisimura enrich I2C driver realities to work a bit
 1.2 18-Mar-2020  nisimura use correct compatible designation
 1.1 18-Mar-2020  nisimura new skelton files for SC2A11 eMMC and I2C
 1.6.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.4.1 25-Mar-2020  martin file sni_i2c.c was added on branch phil-wifi on 2020-04-13 08:03:37 +0000
 1.8.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.8.2.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.10.2.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.11.2.1 19-May-2021  thorpej fdtbus_attach_i2cbus() is no longer anything other than a wrapper around
config_found(); just get rid of it and make its callers look like all of
the other I2C controller drivers.
 1.12.2.1 09-Aug-2021  thorpej Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.

RSS XML Feed