History log of /src/sys/arch/arm/sociox/
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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.


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


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


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


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


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


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


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


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


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base
1.25 02-Aug-2021 andvar

fix various typos in comments and log messages.


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


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


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

improve consistency when attach error cases.


1.9 10-Nov-2021 msaitoh

s/intialize/initialize/


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


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


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base
1.6 03-Dec-2021 nisimura

retire sni_exiu.c in favour of ACPI0013 generic event divice to
respond power button press.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.5 27-Jan-2021 thorpej

Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.


1.4 31-May-2020 thorpej

branches: 1.4.2;
Remove superfluous checking for a "disable" property in the device_t
properties dictionary.


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


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


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

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
1.10 24-Apr-2021 thorpej

branches: 1.10.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
1.9 27-Jan-2021 thorpej

branches: 1.9.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.


1.8 31-May-2020 thorpej

branches: 1.8.2;
Remove superfluous checking for a "disable" property in the device_t
properties dictionary.


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


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


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

branches: 1.12.2;
Merge thorpej-cfargs2.


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


Revision tags: thorpej-cfargs-base thorpej-futex-base
1.10 27-Jan-2021 thorpej

branches: 1.10.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.


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


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