History log of /src/sys/arch/mips/cavium |
Revision | Date | Author | Comments |
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file autoconf.h was added on branch tls-maxphys on 2017-12-03 11:36:26 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file autoconf.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.11 | 06-Sep-2025 |
thorpej | Re-factor the console-related code into fdt_console.[ch]
|
1.10 | 06-Sep-2021 |
jmcneill | Instead of requiring drivers to be explicit about their device memory mapping requirements, move this decision into the fdt layer. This introduces a new MD function, fdtbus_bus_tag_create, which is responsible for returning per-node bus_space handles.
|
1.9 | 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.8 | 10-May-2021 |
thorpej | branches: 1.8.4; Specify the "fdt" interface attribute when configuring via FDT, since mainbus also carries the "mainbus" interface attribute.
|
1.7 | 24-Apr-2021 |
thorpej | branches: 1.7.2; 1.7.4; 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.6 | 28-Sep-2020 |
jmcneill | branches: 1.6.4; faa_a4x_bst is gone
|
1.5 | 18-Aug-2020 |
simonb | We don't need to call the POW and FGA bootstrap functions from the FDT mainbus attach, the iobus attach code does this already and is called for both iobus-only and FDT cases anyway.
After discussion with jmcneill@.
|
1.4 | 17-Aug-2020 |
jmcneill | Attach an iobus with octrnm even if using devicetree (there is no corresponding node for this device in the DT).
|
1.3 | 16-Jul-2020 |
jmcneill | Initialize FDT console device
|
1.2 | 16-Jul-2020 |
jmcneill | FDT support for Cavium OCTEON MIPS SoCs. WIP.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file mainbus.c was added on branch tls-maxphys on 2017-12-03 11:36:26 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file mainbus.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.6.4.2 | 22-Mar-2021 |
thorpej | Mechanical conversion of config_found_sm_loc() -> config_found(). CFARG_IATTR usage needs to be audited.
|
1.6.4.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.7.4.1 | 31-May-2021 |
cjep | sync with head
|
1.7.2.1 | 13-May-2021 |
thorpej | Sync with HEAD.
|
1.8.4.1 | 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; 1.2.18; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 01-Jun-2015 |
jdolecek | file mainbus_octeon1p.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file mainbus_octeon1p.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.6 | 17-Aug-2020 |
jmcneill | Attach an iobus with octrnm even if using devicetree (there is no corresponding node for this device in the DT).
|
1.5 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus
|
1.4 | 31-May-2020 |
simonb | Finish rename of all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo" (missed octeon_uart + entries in iobus config).
|
1.3 | 31-May-2020 |
simonb | Clean up Cavium Octeon device names. Rename devices from "octeon_foo" to "octfoo" - this follows the naming conventions used by many other MIPS CPUs.
|
1.2 | 01-May-2015 |
hikaru | branches: 1.2.2; 1.2.18; Use dwc2 instead of octeon_usbc, and unify octeon_usbn to new octeon_dwctwo. Internal USB memory stick of EdgeRouter Lite works now.
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 01-May-2015 |
jdolecek | file octeon1p_iobus.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-May-2015 |
skrll | file octeon1p_iobus.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.3 | 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.2 | 24-Apr-2021 |
thorpej | branches: 1.2.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.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.36; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.36.2 | 22-Mar-2021 |
thorpej | Audit CFARG_IATTR in config_found() calls, and remove it in situations where the interface attribute is not ambiguous.
|
1.1.36.1 | 22-Mar-2021 |
thorpej | Mechanical conversion of config_found_sm_loc() -> config_found(). CFARG_IATTR usage needs to be audited.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_bootbus.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_bootbus.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2.8.1 | 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.22 | 03-Mar-2022 |
riastradh | mips: Carefully use device_set_private for cpuN.
But don't do it in cpu_attach_common because the callers aren't set up right -- instead leave a comment about what's wrong, to be dealt with later.
|
1.21 | 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.20 | 03-Aug-2021 |
andvar | Fix various typos in comments. Also add missing NetBSD RCS Id in some of these files.
|
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 | 28-Jul-2020 |
simonb | branches: 1.18.4; Change cpus_booted back to a simple variable instead of a kcpuset. octeon_cpu_spinup() was trying to set CPU status immediately on kernel startup _well_ before the kcpuset was initialised.
|
1.17 | 22-Jul-2020 |
jmcneill | Initialize PageMask and Wired registers on secondary processors.
|
1.16 | 21-Jul-2020 |
simonb | Support "boot -1" to start an MP kernel in uniprocessor mode. Sort sys/* includes while here.
|
1.15 | 19-Jul-2020 |
simonb | KNF whitespace nits.
|
1.14 | 17-Jul-2020 |
jmcneill | Remove 2 CPU limit in OCTEON interrupt controller driver.
|
1.13 | 23-Jun-2020 |
simonb | Minor tweaks and cleanup.
|
1.12 | 23-Jan-2018 |
maya | if 0 out unused code which is currently breaking my local builds
|
1.11 | 22-Jan-2018 |
maya | Fix RCSID (hopefully)
|
1.10 | 19-Aug-2016 |
skrll | branches: 1.10.14; Fix insn #2 printf in octeon_fixup_cpu_info_references
|
1.9 | 19-Aug-2016 |
skrll | Remove useless cast
|
1.8 | 19-Aug-2016 |
martin | Typo in #ifdef - the per cpu wdog softint wasn't initialized.
|
1.7 | 11-Jul-2016 |
matt | Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
1.6 | 11-Jul-2016 |
skrll | Fix an aprint_normal
|
1.5 | 10-Jun-2015 |
matt | Transition from __cpuset_t to kcpuset_t *. This brings the local pmap one step closer to uvm/pmap, its eventual replacement. Tested on ERLITE MP kernel.
|
1.4 | 09-Jun-2015 |
martin | Reenable preemption before returning an error when trying to set the watchdog to an invalid period.
|
1.3 | 06-Jun-2015 |
matt | Use ci_nmi_stack
|
1.2 | 06-Jun-2015 |
matt | Add wdog support cleanup IPI and MP support Add NMI support.
|
1.1 | 01-Jun-2015 |
matt | branches: 1.1.2; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1.2.4 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.1.2.3 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 01-Jun-2015 |
skrll | file octeon_cpunode.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.10.14.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.10.14.1 | 19-Aug-2016 |
jdolecek | file octeon_cpunode.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.18.4.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.3 | 15-Dec-2019 |
tsutsui | Remove clause 3 and 4 leftovers from TNF licenses in more sources.
Confirmed by martin@ in PR/54760.
|
1.2 | 11-Jul-2016 |
matt | branches: 1.2.16; 1.2.20; 1.2.24; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.2.3 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_dma.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2.24.1 | 18-Dec-2019 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #570):
sys/compat/netbsd32/netbsd32_compat_50_sysv.c: revision 1.3 sys/dev/raidframe/rf_compat50.h: revision 1.6 sys/arch/emips/emips/bus_space.c: revision 1.3 sys/compat/net/if.h: revision 1.5 sys/arch/emips/stand/common/bootinfo.c: revision 1.2 sys/compat/common/sysv_msg_50.c: revision 1.5 sys/compat/common/kern_time_30.c: revision 1.8 sys/arch/emips/stand/common/bootinfo.h: revision 1.2 sys/arch/ia64/include/bus.h: revision 1.4 sys/arch/ia64/ia64/bus_space.c: revision 1.2 sys/compat/common/sysv_shm_50.c: revision 1.5 sys/dev/ic/adw.h: revision 1.15 sys/compat/common/uipc_syscalls_50.c: revision 1.10 sys/arch/emips/ebus/flash_ebus.c: revision 1.22 sys/dev/ic/adv.h: revision 1.15 sys/dev/ic/adwmcode.c: revision 1.18 sys/dev/ic/advlib.c: revision 1.29 sys/arch/hpcarm/include/kloader.h: revision 1.3 sys/dev/usb/uberry.c: revision 1.16 sys/compat/common/sysv_sem_50.c: revision 1.5 sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.43 sys/dev/ic/advlib.h: revision 1.21 sys/dev/ic/adv.c: revision 1.50 sys/compat/netinet6/in6_var.h: revision 1.5 sys/arch/hpc/stand/hpcboot/arm/arm_sa1100_asm.asm: revision 1.2 sys/arch/emips/include/loadfile_machdep.h: revision 1.3 sys/arch/emips/stand/common/prom_iface.c: revision 1.7 sys/dev/ic/adw.c: revision 1.56 sys/dev/ic/adwmcode.h: revision 1.12 sys/dev/ic/advmcode.c: revision 1.10 sys/arch/emips/ebus/ace_ebus.c: revision 1.22 sys/compat/netbsd32/netbsd32_compat_60.c: revision 1.5 sys/dev/raidframe/rf_compat50.c: revision 1.13 sys/arch/x68k/dev/intiovar.h: revision 1.15 sys/dev/usb/uipad.c: revision 1.8 sys/arch/zaurus/include/kloader.h: revision 1.3 sys/arch/emips/stand/common/bootxx.c: revision 1.2 sys/dev/ic/adwlib.h: revision 1.23 sys/dev/ic/adwlib.c: revision 1.44 sys/compat/netbsd32/netbsd32_compat_16.c: revision 1.3 sys/arch/amigappc/include/intr.h: revision 1.27 sys/arch/x68k/dev/mfp.c: revision 1.27 sys/arch/arm/at91/at91dbgu.c: revision 1.17 sys/dev/ic/advmcode.h: revision 1.7 sys/compat/ultrix/ultrix_exec.h: revision 1.7 sys/compat/common/vfs_syscalls_50.c: revision 1.24 sys/arch/mips/cavium/octeon_dma.c: revision 1.3 sys/arch/hpc/stand/hpcboot/arm/arm_pxa2x0_asm.asm: revision 1.2
Remove clause 3 and 4 from TNF licenses. Ok'ed by martin@ in PR/54760.
Remove clause 3 and 4 leftovers from TNF licenses in more sources. Confirmed by martin@ in PR/54760.
|
1.2.20.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.2.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.16.1 | 11-Jul-2016 |
jdolecek | file octeon_dma.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.27 | 09-Apr-2022 |
riastradh | mips/cavium: Insert appropriate membars around IPIs.
|
1.26 | 26-Mar-2022 |
riastradh | mips/cavium: Simplify membars around interrupt establishment.
Previously I used xc_barrier to ensure the initialization of the struct octeon_intrhand was witnessed on all CPUs before publishing it, in order to avoid needing any barrier on the usage side to be issued by the interrupt handler.
But there's no need to avoid atomic_load_consume at time of interrupt: on MIPS it's the same as atomic_load_relaxed anyway, so there's no additional memory barrier cost here.
|
1.25 | 23-Mar-2022 |
riastradh | mips/cavium: Fix membars around establishing interrupt handlers.
|
1.24 | 18-Aug-2020 |
skrll | Fix MULTIPROCESSOR build
|
1.23 | 17-Aug-2020 |
jmcneill | IPI_SHOOTDOWN needs to be IPL_SCHED. Spotted by nick.
|
1.22 | 05-Aug-2020 |
simonb | Apply some static to some symbols.
|
1.21 | 05-Aug-2020 |
simonb | Target all device interrupts to cpu0.
Patch from skrll@. Code is conditional, hopefully not needed long term.
|
1.20 | 20-Jul-2020 |
jmcneill | Simplify IPI handling even more for now and run everything at IPL_HIGH.
|
1.19 | 20-Jul-2020 |
jmcneill | Fix confusion between ipi bitmask and mbox register bit assignments.
|
1.18 | 17-Jul-2020 |
jmcneill | Remove 2 CPU limit in OCTEON interrupt controller driver.
|
1.17 | 17-Jul-2020 |
jmcneill | Simplify IPI handling and change IPLs of IPI_HALT, IPI_XCALL, and IPI_GENERIC from IPL_SCHED to IPL_HIGH.
|
1.16 | 17-Jul-2020 |
jmcneill | Cleanup handling of multiple banks.
|
1.15 | 16-Jul-2020 |
jmcneill | Support 128 IRQs instead of 64. This is icky and needs to be cleaned up.
|
1.14 | 23-Jun-2020 |
simonb | Don't include "opt_octeon.h" any more.
|
1.13 | 20-Jun-2020 |
riastradh | Nix trailing whitespace.
|
1.12 | 19-Jun-2020 |
simonb | Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.11 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.10 | 30-Mar-2017 |
skrll | branches: 1.10.12; Indentation
|
1.9 | 28-Nov-2016 |
mrg | branches: 1.9.2; fix non-DIAG builds.
|
1.8 | 31-Oct-2016 |
skrll | Fixup IPI interrupt delivery and splsched mask so that sys/uvm/pmap/pmap_tlb.c
541 KASSERTMSG(ci->ci_cpl >= IPL_SCHED, 542 "%s: cpl (%d) < IPL_SCHED (%d)", 543 __func__, ci->ci_cpl, IPL_SCHED);
doesn't fire.
|
1.7 | 20-Aug-2016 |
skrll | Need to set ci_request_ipis otherwise they won't get delivered.
Correct the test for the IPL_HIGH ipis
|
1.6 | 12-Jul-2016 |
skrll | branches: 1.6.2; #include "opt_multiprocessor.h" as this file has #ifdef MULTIPROCESSOR
|
1.5 | 11-Jul-2016 |
matt | Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
1.4 | 06-Jun-2015 |
matt | Add wdog support cleanup IPI and MP support Add NMI support.
|
1.3 | 01-Jun-2015 |
matt | branches: 1.3.2; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.2 | 19-May-2015 |
matt | Add per irq evcnt's
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.3.2.6 | 28-Aug-2017 |
skrll | Sync with HEAD
|
1.3.2.5 | 05-Dec-2016 |
skrll | Sync with HEAD
|
1.3.2.4 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.3.2.3 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.3.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.3.2.1 | 01-Jun-2015 |
skrll | file octeon_intr.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.6.2.3 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.6.2.2 | 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.6.2.1 | 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.9.2.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.10.12.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.10.12.1 | 30-Mar-2017 |
jdolecek | file octeon_intr.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.7 | 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.6 | 24-Apr-2021 |
thorpej | branches: 1.6.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.5 | 17-Aug-2020 |
jmcneill | branches: 1.5.4; Attach an iobus with octrnm even if using devicetree (there is no corresponding node for this device in the DT).
|
1.4 | 23-Jun-2020 |
simonb | Minor tweaks and cleanup.
|
1.3 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; 1.2.18; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 01-Jun-2015 |
jdolecek | file octeon_iobus.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeon_iobus.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5.4.2 | 22-Mar-2021 |
thorpej | Audit CFARG_IATTR in config_found() calls, and remove it in situations where the interface attribute is not ambiguous.
|
1.5.4.1 | 22-Mar-2021 |
thorpej | Mechanical conversion of config_found_sm_loc() -> config_found(). CFARG_IATTR usage needs to be audited.
|
1.6.8.1 | 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.2 | 06-Feb-2022 |
andvar | fix various typos in comments, log messages and documentation. mainly s/aparently/apparently/ and s/implmented/implemented/.
|
1.1 | 15-Jun-2020 |
simonb | Finish CPU core support for Octeon Cavium CN70XX: - decode actual CPU name - per CPU core reset logic (partially adapted from OpenBSD) - handle Octeon 3 ioclock rate differences to other cores (from OpenBSD)
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 15-Jun-2020 |
simonb | Finish CPU core support for Octeon Cavium CN70XX: - decode actual CPU name - per CPU core reset logic (partially adapted from OpenBSD) - handle Octeon 3 ioclock rate differences to other cores (from OpenBSD)
|
1.18 | 26-Jan-2022 |
andvar | remove double t from targeted, add missing r to arbitrary And fix few more typos along the way in comments and man pages.
|
1.17 | 28-Jul-2020 |
simonb | Change cpus_booted back to a simple variable instead of a kcpuset. octeon_cpu_spinup() was trying to set CPU status immediately on kernel startup _well_ before the kcpuset was initialised.
|
1.16 | 17-Jul-2020 |
jmcneill | Remove 2 CPU limit in OCTEON interrupt controller driver.
|
1.15 | 17-Jul-2020 |
jmcneill | Cleanup handling of multiple banks.
|
1.14 | 16-Jul-2020 |
jmcneill | Support 128 IRQs instead of 64. This is icky and needs to be cleaned up.
|
1.13 | 23-Jun-2020 |
simonb | Cleanup - mostly removing unused code and defines.
|
1.12 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.11 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.10 | 15-Jun-2020 |
simonb | Finish CPU core support for Octeon Cavium CN70XX: - decode actual CPU name - per CPU core reset logic (partially adapted from OpenBSD) - handle Octeon 3 ioclock rate differences to other cores (from OpenBSD)
|
1.9 | 05-Jun-2020 |
simonb | Rework CVMSEG LM usage a litte: - remove unused LM slots - use #defines for defining the size of CVMSEG LM users
XXX: Need to dynamically set CVMMEMCTL[LMEMSZ] during startup so we can both adapt to any future increase in CVMSEG LM usage and not waste any more L2 that we need to. XXX: Still need to move general IOBDMA conf to a different (new?) header.
|
1.8 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.7 | 13-May-2020 |
riastradh | Rework octeon_rnm(4) random number generator driver.
- Do a little on-line self-test for fun. - Draw raw samples from the ring oscillators. - Draw substantially more samples: => early RO samples seem to have considerably lower entropy => consecutive RO samples are not independent - Make sure to use rnd_add_data_sync in the callback. => not technically needed in HEAD, but would be needed for pullup
|
1.6 | 19-Apr-2018 |
christos | branches: 1.6.6; s/static inline/static __inline/g for consistency.
|
1.5 | 11-Jul-2016 |
matt | branches: 1.5.16; 1.5.18; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
1.4 | 10-Jun-2015 |
matt | Transition from __cpuset_t to kcpuset_t *. This brings the local pmap one step closer to uvm/pmap, its eventual replacement. Tested on ERLITE MP kernel.
|
1.3 | 06-Jun-2015 |
matt | Add wdog support cleanup IPI and MP support Add NMI support.
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.2.4 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.2.2.3 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeonvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5.18.1 | 22-Apr-2018 |
pgoyette | Sync with HEAD
|
1.5.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.5.16.1 | 11-Jul-2016 |
jdolecek | file octeonvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.6.6.1 | 19-May-2020 |
martin | Pull up following revision(s) (requested by simonb in ticket #918):
sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.3 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.4 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.5 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.6 (+ patch) sys/arch/mips/cavium/dev/octeon_rnmreg.h: revision 1.2 sys/arch/mips/cavium/dev/octeon_rnmreg.h: revision 1.3 sys/arch/mips/cavium/octeonvar.h: revision 1.7
Add a few more bits. XXX convert to __BITS. -- If bus_space_map fails, just don't attach the driver instead of panicing. Check RNG built in self test, don't attach if that fails too. -- Oceton RNG/RNM driver modernisation to fit new entropy world order by riastradh@, with some tweaks to get working in RNG mode. XXX TODO: work out how to get raw entropy mode working. -- Rework octeon_rnm(4) random number generator driver. - Do a little on-line self-test for fun. - Draw raw samples from the ring oscillators. - Draw substantially more samples: =3D> early RO samples seem to have considerably lower entropy =3D> consecutive RO samples are not independent - Make sure to use rnd_add_data_sync in the callback. =3D> not technically needed in HEAD, but would be needed for pullup -- Adjust entropy estimate for the Octeon. We are hedging in serial and in parallel, and more conservative than the Linux driver from Cavium seems to be, so although I don't know exactly what the thermal jitter of the device is, this seems like a reasonable compromise.
|
1.30 | 04-Oct-2025 |
thorpej | Add a shared function to query the common properties used for configuring an Ethernet address.
|
1.29 | 29-Sep-2022 |
skrll | Remove unnecessary include of <sys/malloc.h>.
|
1.28 | 29-Sep-2022 |
skrll | Trailing whitespace
|
1.27 | 18-Sep-2022 |
thorpej | Eliminate use of IFF_OACTIVE.
|
1.26 | 27-May-2021 |
simonb | Move the send queue checking to a new function, and also call this in the rx interrupt path. Measureable improvement on a NFS "create small files" test.
|
1.25 | 27-May-2021 |
simonb | Schedule the send cleanup function for next tick in cnmac_start(). In the send cleanup function, schedule for the next tick instead of waiting for HZ ticks if there are still send requests outstanding. Greatly increases NFS throughput, perhaps other types of network traffic.
Use callout_setfunc() after callout_init() instead of callout_reset().
|
1.24 | 23-Jun-2020 |
simonb | branches: 1.24.6; 1.24.8; Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus Support SGMII mode used on CN70XX. Most functional changes from OpenBSD octeon port. Still more to come from the OpenBSD driver.
|
1.23 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.22 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.21 | 10-Jun-2020 |
simonb | Update for proplib(3) API changes.
|
1.20 | 05-Jun-2020 |
simonb | Rework CVMSEG LM usage a litte: - remove unused LM slots - use #defines for defining the size of CVMSEG LM users
XXX: Need to dynamically set CVMMEMCTL[LMEMSZ] during startup so we can both adapt to any future increase in CVMSEG LM usage and not waste any more L2 that we need to. XXX: Still need to move general IOBDMA conf to a different (new?) header.
|
1.19 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.18 | 24-Apr-2020 |
mrg | fetch properties in attach rather than every re-init.
this avoids a rwlock while spinlock held problem likely introduced with MII locking rework, as fetching a property takes an rwlock, and prior to the rework, only kernel lock would have been held.
ok skrll@.
|
1.17 | 18-Feb-2020 |
thorpej | branches: 1.17.4; - Use ether_mediachange(). - Don't call the media change function directly from the init function; bounce through mii_ifmedia_change().
|
1.16 | 29-Jan-2020 |
thorpej | Adopt <net/if_stats.h>.
|
1.15 | 28-Dec-2019 |
gutteridge | branches: 1.15.2; Fix typos in comments.
|
1.14 | 07-Jun-2019 |
martin | Delay setting of the filters at attach time a bit to avoid using an unitialized mutex. From msaitoh@.
|
1.13 | 29-May-2019 |
msaitoh | - Simplify MII structure initialization and reference. - Use the common path of SIOCGIFMEDIA in sys/net/if_ethersubr.c
|
1.12 | 26-Apr-2019 |
msaitoh | No functional change: - u_int_{8,16,32}_t -> uint_{8,16,32}_t - KNF. - Tabify. - Remove extra space.
|
1.11 | 22-Jan-2019 |
msaitoh | Change MII PHY read/write API from:
int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to:
int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t);
Now we can test if a read/write operation failed or not by the return value.
In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.
Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed:
arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c
Tested with the following device:
axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V)
Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url
Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
|
1.10 | 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.9 | 26-Jun-2018 |
msaitoh | branches: 1.9.2; Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
1.8 | 01-Jan-2018 |
jmcneill | branches: 1.8.2; Set and clear IFF_OACTIVE as necessary, and add support for queueing multiple packets before performing a PKO doorbell write.
|
1.7 | 26-Nov-2017 |
jmcneill | branches: 1.7.2; Set ETHERCAP_VLAN_MTU capability flag.
|
1.6 | 22-Aug-2017 |
maya | Reword warning message
|
1.5 | 15-Dec-2016 |
ozaki-r | branches: 1.5.8; Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
1.4 | 11-Jul-2016 |
matt | branches: 1.4.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
1.3 | 10-Jun-2016 |
ozaki-r | Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
1.2 | 09-Feb-2016 |
ozaki-r | Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.2.7 | 28-Aug-2017 |
skrll | Sync with HEAD
|
1.1.2.6 | 05-Feb-2017 |
skrll | Sync with HEAD
|
1.1.2.5 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.1.2.4 | 09-Jul-2016 |
skrll | Sync with HEAD
|
1.1.2.3 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file if_cnmac.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.4.2.1 | 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.5.8.1 | 27-Nov-2017 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #397): sys/arch/mips/cavium/dev/if_cnmac.c: revision 1.7 Set ETHERCAP_VLAN_MTU capability flag.
|
1.7.2.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.7.2.1 | 26-Nov-2017 |
jdolecek | file if_cnmac.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.8.2.3 | 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.8.2.2 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.8.2.1 | 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.9.2.2 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.9.2.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.15.2.1 | 29-Feb-2020 |
ad | Sync with head.
|
1.17.4.1 | 25-Apr-2020 |
bouyer | Sync with bouyer-xenpvh-base2 (HEAD)
|
1.24.8.1 | 31-May-2021 |
cjep | sync with head
|
1.24.6.1 | 17-Jun-2021 |
thorpej | Sync w/ HEAD.
|
1.5 | 18-Sep-2022 |
thorpej | Eliminate use of IFF_OACTIVE.
|
1.4 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus Support SGMII mode used on CN70XX. Most functional changes from OpenBSD octeon port. Still more to come from the OpenBSD driver.
|
1.3 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file if_cnmacvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file if_cnmacvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5 | 04-Jan-2021 |
thorpej | malloc(9) -> kmem(9)
|
1.4 | 23-Jun-2020 |
simonb | branches: 1.4.2; Minor tweaks and cleanup.
|
1.3 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_asx.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_asx.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.4.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.2 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_asxreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_asxreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.4 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.3 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_asxvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_asxvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.3 | 22-Jun-2020 |
simonb | Remove more snprintb _BITS bits.
|
1.2 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_bootbusreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_bootbusreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7 | 05-May-2021 |
simonb | Sprinkle some static.
|
1.6 | 27-Jan-2021 |
thorpej | branches: 1.6.4; 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.5 | 27-Jan-2021 |
thorpej | Use DEVICE_COMPAT_EOL.
|
1.4 | 25-Jan-2021 |
thorpej | Since we're using designated initialisers for compat data, we should use a completely empty initializer for the sentinel.
|
1.3 | 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.2 | 15-Jan-2021 |
jmcneill | Add 'const char *xname' arg to fdtbus_interrupt_controller_func .establish
|
1.1 | 16-Jul-2020 |
jmcneill | branches: 1.1.2; Add driver for Cavium Interrupt Bus.
|
1.1.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.6.4.1 | 13-May-2021 |
thorpej | Sync with HEAD.
|
1.5 | 29-Sep-2022 |
skrll | Remove unnecessary include of <sys/malloc.h>.
|
1.4 | 23-Jun-2020 |
simonb | Minor tweaks and cleanup.
|
1.3 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_ciu.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_ciu.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.11 | 20-Jul-2020 |
jmcneill | Fix coreX/IP4 summary register offsets
|
1.10 | 17-Jul-2020 |
jmcneill | Remove 2 CPU limit in OCTEON interrupt controller driver.
|
1.9 | 22-Jun-2020 |
simonb | Remove more snprintb _BITS bits.
|
1.8 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.7 | 19-Jun-2020 |
simonb | Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.6 | 02-Jun-2020 |
simonb | Add a missing entry, clean up a few other incorrect entries.
|
1.5 | 20-Aug-2016 |
skrll | branches: 1.5.14; Fix a couple of (unsed) definitions
|
1.4 | 06-Jun-2015 |
matt | Add CIU_BASE
|
1.3 | 06-Jun-2015 |
matt | branches: 1.3.2; Fix CUI_MBOX_{SET,CLR}1 values
|
1.2 | 01-Jun-2015 |
matt | Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.3.2.4 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.3.2.3 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.3.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.3.2.1 | 06-Jun-2015 |
skrll | file octeon_ciureg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5.14.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.5.14.1 | 20-Aug-2016 |
jdolecek | file octeon_ciureg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_cop2reg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_cop2reg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_cop2var.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_cop2var.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5 | 04-Aug-2020 |
simonb | Add some CvmCtl bits from newer cnMIPS cores.
|
1.4 | 26-Jul-2020 |
simonb | Remove mostly duplicate MIPS spec CP0 regs from octeon_corereg.h, move the Cavium specific CP0 regs to <mips/cpuregs.h> as done for other core specific regs.
|
1.3 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; 1.2.18; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 01-Jun-2015 |
jdolecek | file octeon_corereg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeon_corereg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
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 | 23-Jun-2020 |
simonb | branches: 1.13.4; Make sure we only attach to CN3xxx/CN5xxx. Cleanup - mostly removing unused code.
|
1.12 | 23-Jun-2020 |
simonb | Remove unused octeon*usb*var*h includes.
|
1.11 | 19-Jun-2020 |
simonb | Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.10 | 31-May-2020 |
simonb | Clean up Cavium Octeon device names. Rename devices from "octeon_foo" to "octfoo" - this follows the naming conventions used by many other MIPS CPUs.
|
1.9 | 12-Jul-2016 |
matt | branches: 1.9.16; Use mips_lwu
|
1.8 | 11-Jul-2016 |
matt | Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
1.7 | 26-Apr-2016 |
skrll | Adapt to nick-nhusb merge
|
1.6 | 30-Aug-2015 |
skrll | Update for latest dwc2
|
1.5 | 30-Jul-2015 |
skrll | Use IPL_VM for dwc2_intr and mark as MP safe where possible.
|
1.4 | 22-Jul-2015 |
skrll | Trailing whitespace.
|
1.3 | 07-Jun-2015 |
matt | assembly no longer include <machine/cpu.h>. Instead MIPS_CURLWP is gotten from regdef.h and everything else from assym.h. <mips/mips_param.h> no longer include <machine/cpu.h>
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 01-May-2015 |
hikaru | Use dwc2 instead of octeon_usbc, and unify octeon_usbn to new octeon_dwctwo. Internal USB memory stick of EdgeRouter Lite works now.
|
1.2.2.5 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.2.2.4 | 29-May-2016 |
skrll | Sync with HEAD
|
1.2.2.3 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeon_dwctwo.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.9.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.9.16.1 | 12-Jul-2016 |
jdolecek | file octeon_dwctwo.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.13.4.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.14.8.1 | 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.4 | 23-Jun-2020 |
simonb | Minor tweaks and cleanup.
|
1.3 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_fau.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_fau.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_faureg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_faureg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.4 | 23-Jun-2020 |
simonb | Minor tweaks and cleanup.
|
1.3 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_fauvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_fauvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.10 | 24-Mar-2021 |
simonb | Remove somewhat dubious empty octfpa_desc structure.
|
1.9 | 04-Jan-2021 |
thorpej | branches: 1.9.2; malloc(9) -> kmem(9)
|
1.8 | 23-Jun-2020 |
simonb | branches: 1.8.2; Minor tweaks and cleanup.
|
1.7 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.6 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.5 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.4 | 27-Jan-2019 |
dholland | Restore accidentally-dropped opt_octeon.h. (or at least it really looks like it was accidental)
|
1.3 | 27-Jan-2019 |
pgoyette | Merge the [pgoyette-compat] branch
|
1.2 | 04-Oct-2018 |
skrll | Remove duplicate #include
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.20; 1.1.22; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.22.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.1.20.1 | 20-Oct-2018 |
pgoyette | Sync with head
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_fpa.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_fpa.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.8.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.9.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.5 | 23-Jun-2020 |
simonb | Minor tweaks and cleanup.
|
1.4 | 22-Jun-2020 |
simonb | Remove more snprintb _BITS bits.
|
1.3 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_fpareg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_fpareg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7 | 23-Jun-2020 |
simonb | Minor tweaks and cleanup.
|
1.6 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.5 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.4 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.3 | 28-May-2019 |
msaitoh | s/recieve/receive/
|
1.2 | 19-Apr-2018 |
christos | branches: 1.2.2; s/static inline/static __inline/g for consistency.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.20; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.20.1 | 22-Apr-2018 |
pgoyette | Sync with HEAD
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_fpavar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_fpavar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2.2.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.25 | 24-Feb-2025 |
andvar | fix various typos in comments.
|
1.24 | 29-Jun-2024 |
riastradh | branches: 1.24.2; if_stats(9): Add ifp argument to if_stat..._ref.
This will enable us to pass the ifp through to a dtrace probe inside.
No functional change intended in this change, but this is an API change visible to modules so it shouldn't be pulled up.
PR kern/58377
|
1.23 | 20-Jul-2023 |
gutteridge | octeon_gmx.c: fix spelling in (default disabled) error messages
|
1.22 | 03-Jun-2022 |
andvar | fix folloing->following typos in more files. also s/begginning/beginning/.
|
1.21 | 04-May-2022 |
andvar | s/entires/entries/
|
1.20 | 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.19 | 14-May-2021 |
simonb | branches: 1.19.4; Fix a missed bitmask to __SHIFTOUT conversion in rev 1.12.
Fixes negotiation problems on non-gige switches. Problem discovered and tested by riastradh@.
|
1.18 | 05-May-2021 |
simonb | branches: 1.18.2; Sprinkle some static.
|
1.17 | 24-Apr-2021 |
thorpej | branches: 1.17.2; 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.16 | 04-Jan-2021 |
thorpej | branches: 1.16.2; malloc(9) -> kmem(9)
|
1.15 | 23-Jun-2020 |
simonb | branches: 1.15.2; Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus Support SGMII mode used on CN70XX. Most functional changes from OpenBSD octeon port. Still more to come from the OpenBSD driver.
|
1.14 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.13 | 19-Jun-2020 |
simonb | Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.12 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.11 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.10 | 31-May-2020 |
simonb | Clean up Cavium Octeon device names. Rename devices from "octeon_foo" to "octfoo" - this follows the naming conventions used by many other MIPS CPUs.
|
1.9 | 24-Apr-2020 |
mrg | fetch properties in attach rather than every re-init.
this avoids a rwlock while spinlock held problem likely introduced with MII locking rework, as fetching a property takes an rwlock, and prior to the rework, only kernel lock would have been held.
ok skrll@.
|
1.8 | 29-Jan-2020 |
thorpej | branches: 1.8.4; Adopt <net/if_stats.h>.
|
1.7 | 25-Jan-2020 |
thorpej | Remove the IFETHER_DOT3STATS stuff in this driver. ifi_dot3stats does not exist in NetBSD's "struct if_data", and what this driver does with it is incompatible with upcoming network stack changes.
|
1.6 | 10-Nov-2019 |
chs | branches: 1.6.2; 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.5 | 28-May-2019 |
msaitoh | Fix compile error.
|
1.4 | 28-May-2019 |
msaitoh | Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
|
1.3 | 20-Aug-2017 |
maxv | branches: 1.3.2; 1.3.6; as the xxx implicitly points out, there's a division by zero here, so panic right away; found by mootja
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.2.3 | 28-Aug-2017 |
skrll | Sync with HEAD
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeon_gmx.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.3.6.3 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.3.6.2 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.3.6.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.3.2.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.3.2.1 | 20-Aug-2017 |
jdolecek | file octeon_gmx.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.6.2.2 | 29-Feb-2020 |
ad | Sync with head.
|
1.6.2.1 | 25-Jan-2020 |
ad | Sync with head.
|
1.8.4.1 | 25-Apr-2020 |
bouyer | Sync with bouyer-xenpvh-base2 (HEAD)
|
1.15.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.16.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.17.2.2 | 17-Jun-2021 |
thorpej | Sync w/ HEAD.
|
1.17.2.1 | 13-May-2021 |
thorpej | Sync with HEAD.
|
1.18.2.1 | 31-May-2021 |
cjep | sync with head
|
1.19.4.1 | 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.24.2.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.7 | 23-May-2022 |
andvar | s/controll/control/ in comments.
|
1.6 | 17-Apr-2022 |
andvar | fix various typos in comments.
|
1.5 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus Support SGMII mode used on CN70XX. Most functional changes from OpenBSD octeon port. Still more to come from the OpenBSD driver.
|
1.4 | 22-Jun-2020 |
simonb | Remove more snprintb _BITS bits.
|
1.3 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_gmxreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_gmxreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus Support SGMII mode used on CN70XX. Most functional changes from OpenBSD octeon port. Still more to come from the OpenBSD driver.
|
1.6 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.5 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.4 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.3 | 24-Apr-2020 |
mrg | fetch properties in attach rather than every re-init.
this avoids a rwlock while spinlock held problem likely introduced with MII locking rework, as fetching a property takes an rwlock, and prior to the rework, only kernel lock would have been held.
ok skrll@.
|
1.2 | 19-Apr-2018 |
christos | branches: 1.2.12; s/static inline/static __inline/g for consistency.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.20; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.20.1 | 22-Apr-2018 |
pgoyette | Sync with HEAD
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_gmxvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_gmxvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2.12.1 | 25-Apr-2020 |
bouyer | Sync with bouyer-xenpvh-base2 (HEAD)
|
1.2 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_gpioreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_gpioreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7 | 05-May-2021 |
simonb | Sprinkle some static.
|
1.6 | 27-Jan-2021 |
thorpej | branches: 1.6.4; 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.5 | 27-Jan-2021 |
thorpej | Use DEVICE_COMPAT_EOL.
|
1.4 | 25-Jan-2021 |
thorpej | Since we're using designated initialisers for compat data, we should use a completely empty initializer for the sentinel.
|
1.3 | 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.2 | 15-Jan-2021 |
jmcneill | Add 'const char *xname' arg to fdtbus_interrupt_controller_func .establish
|
1.1 | 16-Jul-2020 |
jmcneill | branches: 1.1.2; FDT support for Cavium OCTEON MIPS SoCs. WIP.
|
1.1.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.6.4.1 | 13-May-2021 |
thorpej | Sync with HEAD.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_iobreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_iobreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.8 | 04-Jan-2021 |
thorpej | malloc(9) -> kmem(9)
|
1.7 | 23-Jun-2020 |
simonb | branches: 1.7.2; Cleanup - mostly removing unused code and defines.
|
1.6 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.5 | 19-Jun-2020 |
simonb | Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.4 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.3 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; 1.2.18; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 01-Jun-2015 |
jdolecek | file octeon_ipd.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeon_ipd.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.3 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_ipdreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_ipdreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5 | 23-Jun-2020 |
simonb | Cleanup - mostly removing unused code and defines.
|
1.4 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.3 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_ipdvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_ipdvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_l2creg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_l2creg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7 | 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.6 | 24-Apr-2021 |
thorpej | branches: 1.6.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.5 | 19-Jun-2020 |
simonb | branches: 1.5.4; Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.4 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.3 | 31-May-2020 |
simonb | Clean up Cavium Octeon device names. Rename devices from "octeon_foo" to "octfoo" - this follows the naming conventions used by many other MIPS CPUs.
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; 1.2.18; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 01-Jun-2015 |
jdolecek | file octeon_mpi.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeon_mpi.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5.4.1 | 02-Apr-2021 |
thorpej | config_found_ia() -> config_found() w/ CFARG_IATTR.
|
1.6.8.1 | 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.3 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_mpireg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_mpireg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_mpivar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_mpivar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_npireg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_npireg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.4 | 19-Jun-2020 |
simonb | Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.3 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; 1.2.18; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 01-Jun-2015 |
jdolecek | file octeon_pci.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeon_pci.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_pcmreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_pcmreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.14 | 05-Dec-2021 |
msaitoh | s/multple/multiple/ in comment.
|
1.13 | 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.12 | 24-Apr-2021 |
thorpej | branches: 1.12.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.11 | 27-Jan-2021 |
thorpej | branches: 1.11.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.10 | 04-Jan-2021 |
thorpej | malloc(9) -> kmem(9)
|
1.9 | 16-Jul-2020 |
jmcneill | branches: 1.9.2; FDT support for Cavium OCTEON MIPS SoCs. WIP.
|
1.8 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus
|
1.7 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.6 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.5 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.4 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.3 | 29-Jan-2020 |
thorpej | Adopt <net/if_stats.h>.
|
1.2 | 06-Feb-2018 |
mrg | branches: 1.2.4; 1.2.10; update for GCC 6:
hide octeon_pip_dump_regs_[] under OCTEON_ETH_DEBUG, the only user.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_pip.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_pip.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2.10.1 | 29-Feb-2020 |
ad | Sync with head.
|
1.2.4.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.9.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.11.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.12.8.1 | 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.5 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus
|
1.4 | 22-Jun-2020 |
simonb | Remove more snprintb _BITS bits.
|
1.3 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_pipreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_pipreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus
|
1.4 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.3 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_pipvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_pipvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7 | 17-Sep-2021 |
andvar | some love to double letters (in comments).
|
1.6 | 04-Jan-2021 |
thorpej | malloc(9) -> kmem(9)
|
1.5 | 23-Jun-2020 |
simonb | branches: 1.5.2; Cleanup - mostly removing unused code and defines.
|
1.4 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.3 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.2 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_pko.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_pko.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_pkoreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_pkoreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.6 | 23-Jun-2020 |
simonb | Cleanup - mostly removing unused code and defines.
|
1.5 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.4 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.3 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.2 | 19-Apr-2018 |
christos | s/static inline/static __inline/g for consistency.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.20; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.20.1 | 22-Apr-2018 |
pgoyette | Sync with HEAD
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_pkovar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_pkovar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.10 | 23-Jun-2020 |
simonb | Cleanup - mostly removing unused code and defines.
|
1.9 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.8 | 19-Jun-2020 |
simonb | Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.7 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.6 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.5 | 10-Nov-2019 |
chs | 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.4 | 28-May-2019 |
msaitoh | s/recieve/receive/
|
1.3 | 11-Apr-2019 |
kamil | Fix CVS Id
NFCI
|
1.2 | 01-Jun-2015 |
matt | branches: 1.2.2; 1.2.18; 1.2.22; Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.22.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.2.22.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 01-Jun-2015 |
jdolecek | file octeon_pow.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 01-Jun-2015 |
skrll | file octeon_pow.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.5 | 23-Jun-2020 |
simonb | Cleanup - mostly removing unused code and defines.
|
1.4 | 22-Jun-2020 |
simonb | Remove more snprintb _BITS bits.
|
1.3 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_powreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_powreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7 | 23-Jun-2020 |
simonb | Cleanup - mostly removing unused code and defines.
|
1.6 | 22-Jun-2020 |
simonb | Remove unmaintained CNMAC_DEBUG debug code.
|
1.5 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.4 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.3 | 19-Apr-2018 |
christos | s/static inline/static __inline/g for consistency.
|
1.2 | 11-Jul-2016 |
matt | branches: 1.2.16; 1.2.18; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.2.3 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_powvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2.18.1 | 22-Apr-2018 |
pgoyette | Sync with HEAD
|
1.2.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.16.1 | 11-Jul-2016 |
jdolecek | file octeon_powvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.17 | 30-Jan-2025 |
gutteridge | octeon_rnm.c: minor code formatting and grammar tweaks (NFC)
|
1.16 | 21-Mar-2023 |
riastradh | branches: 1.16.6; octrnm(4): Raise delay on startup.
According to CN50XX-HRM-V0.99E and CN78XX-HM-0.99E:
The entropy is provided by the jitter of 125 of 128 free-running oscillators XORed into a 128-bit LFSR. The LFSR accumulates entropy over 81 cycles, after which it is fed into a SHA-1 engine. [...] The SHA-1 engine runs once every 81 cycles. [...] The hardware produces new 64-bit random number every 81 cycles.
The last sentence means that we only need to wait 81 cycles _between_ consecutive SHA-1 outputs (which isn't relevant anyway because we reconfigure it into raw mode later), but the first two quotes might mean that we need to wait 81+81 cycles for the _first_ output to be produced on boot when running the self-test.
Now, in this case, the self-test is run with the LFSR unhooked, by clearing the RNM_CTL_STATUS[ENT_EN] bit, so that SHA-1 is computed from a known input -- this is really just paranoia to make sure that _some_ functions of the device (which is conjured out of thin air at a fixed virtual address, with no firmware bindings to guide us) behave as we expect.
And it's not clear if it really does take 81+81 cycles for the first SHA-1 output to appear when the LFSR isn't feeding into it anyway. But experimentally, delay of 81+81 cycles seems to work whereas a delay of only 81 cycles crashes.
PR kern/57280
XXX pullup-10 XXX pullup-9
|
1.15 | 19-Mar-2022 |
riastradh | branches: 1.15.4; rnd(9): Omit needless locks in various HWRNG drivers.
Now that the rnd(9) API guarantees serial callbacks, we can simplify everything a bit more.
(Some drivers like hifn(4) and sun8icrypto(4) still use locks to coordinate with other parts of the driver to submit requests to and process responses from the device.)
|
1.14 | 19-Mar-2022 |
riastradh | rnd(9): Adjust IPL of locks used by rndsource callbacks.
These no longer ever run from hard interrupt context or with a spin lock held, so there is no longer any need to have them at IPL_VM to block hard interrupts. Instead, lower them to IPL_SOFTSERIAL.
|
1.13 | 28-Dec-2021 |
riastradh | sys: Use preempt_point and preempt_needed, not open-coded versions.
|
1.12 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.11 | 08-Jun-2020 |
simonb | Fix tyop in a comment. Thanks riastradh@.
|
1.10 | 05-Jun-2020 |
simonb | Rework CVMSEG LM usage a litte: - remove unused LM slots - use #defines for defining the size of CVMSEG LM users
XXX: Need to dynamically set CVMMEMCTL[LMEMSZ] during startup so we can both adapt to any future increase in CVMSEG LM usage and not waste any more L2 that we need to. XXX: Still need to move general IOBDMA conf to a different (new?) header.
|
1.9 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.8 | 31-May-2020 |
simonb | Clean up Cavium Octeon device names. Rename devices from "octeon_foo" to "octfoo" - this follows the naming conventions used by many other MIPS CPUs.
|
1.7 | 30-May-2020 |
simonb | CN70XX iobdma limit appears to be 128 words, so gather that many samples as a time. Gather the full 512 bytes of samples and process in a single call to rnd_add_data_sync() - about 10% faster than 4 calls to rnd_add_data_sync(). Put sample buffer in the softc to save some stack usage.
|
1.6 | 18-May-2020 |
riastradh | Adjust entropy estimate for the Octeon.
We are hedging in serial and in parallel, and more conservative than the Linux driver from Cavium seems to be, so although I don't know exactly what the thermal jitter of the device is, this seems like a reasonable compromise.
|
1.5 | 13-May-2020 |
riastradh | Rework octeon_rnm(4) random number generator driver.
- Do a little on-line self-test for fun. - Draw raw samples from the ring oscillators. - Draw substantially more samples: => early RO samples seem to have considerably lower entropy => consecutive RO samples are not independent - Make sure to use rnd_add_data_sync in the callback. => not technically needed in HEAD, but would be needed for pullup
|
1.4 | 12-May-2020 |
simonb | Oceton RNG/RNM driver modernisation to fit new entropy world order by riastradh@, with some tweaks to get working in RNG mode.
XXX TODO: work out how to get raw entropy mode working.
|
1.3 | 12-May-2020 |
simonb | If bus_space_map fails, just don't attach the driver instead of panicing. Check RNG built in self test, don't attach if that fails too.
|
1.2 | 08-Jan-2019 |
jdolecek | branches: 1.2.4; no need to include <machine/param.h> if <sys/param.h> already included
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.20; 1.1.22; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.22.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.1.20.1 | 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_rnm.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_rnm.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2.4.3 | 30-Jul-2023 |
martin | Pull up following revision(s) (requested by gutteridge in ticket #256):
sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.16 (patch)
octrnm(4): Raise delay on startup.
According to CN50XX-HRM-V0.99E and CN78XX-HM-0.99E: The entropy is provided by the jitter of 125 of 128 free-running oscillators XORed into a 128-bit LFSR. The LFSR accumulates entropy over 81 cycles, after which it is fed into a SHA-1 engine. [...] The SHA-1 engine runs once every 81 cycles. [...] The hardware produces new 64-bit random number every 81 cycles.
The last sentence means that we only need to wait 81 cycles _between_ consecutive SHA-1 outputs (which isn't relevant anyway because we reconfigure it into raw mode later), but the first two quotes might mean that we need to wait 81+81 cycles for the _first_ output to be produced on boot when running the self-test.
Now, in this case, the self-test is run with the LFSR unhooked, by clearing the RNM_CTL_STATUS[ENT_EN] bit, so that SHA-1 is computed from a known input -- this is really just paranoia to make sure that _some_ functions of the device (which is conjured out of thin air at a fixed virtual address, with no firmware bindings to guide us) behave as we expect.
And it's not clear if it really does take 81+81 cycles for the first SHA-1 output to appear when the LFSR isn't feeding into it anyway.
But experimentally, delay of 81+81 cycles seems to work whereas a delay of only 81 cycles crashes. PR kern/57280
|
1.2.4.2 | 19-May-2020 |
martin | Apply patch, requested by simonb in ticket #918:
the updated octeon_rnm(4) driver fails a bogus randomness test in the netbsd-9 rnd(9) driver for RND_TYPE_RNG type devices so uses the RND_TYPE_UNKNOWN type. This approach is used by other drivers on the netbsd-9 branch.
|
1.2.4.1 | 19-May-2020 |
martin | Pull up following revision(s) (requested by simonb in ticket #918):
sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.3 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.4 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.5 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.6 (+ patch) sys/arch/mips/cavium/dev/octeon_rnmreg.h: revision 1.2 sys/arch/mips/cavium/dev/octeon_rnmreg.h: revision 1.3 sys/arch/mips/cavium/octeonvar.h: revision 1.7
Add a few more bits. XXX convert to __BITS. -- If bus_space_map fails, just don't attach the driver instead of panicing. Check RNG built in self test, don't attach if that fails too. -- Oceton RNG/RNM driver modernisation to fit new entropy world order by riastradh@, with some tweaks to get working in RNG mode. XXX TODO: work out how to get raw entropy mode working. -- Rework octeon_rnm(4) random number generator driver. - Do a little on-line self-test for fun. - Draw raw samples from the ring oscillators. - Draw substantially more samples: =3D> early RO samples seem to have considerably lower entropy =3D> consecutive RO samples are not independent - Make sure to use rnd_add_data_sync in the callback. =3D> not technically needed in HEAD, but would be needed for pullup -- Adjust entropy estimate for the Octeon. We are hedging in serial and in parallel, and more conservative than the Linux driver from Cavium seems to be, so although I don't know exactly what the thermal jitter of the device is, this seems like a reasonable compromise.
|
1.15.4.1 | 30-Jul-2023 |
martin | Pull up following revision(s) (requested by gutteridge in ticket #256):
sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.16
octrnm(4): Raise delay on startup.
According to CN50XX-HRM-V0.99E and CN78XX-HM-0.99E: The entropy is provided by the jitter of 125 of 128 free-running oscillators XORed into a 128-bit LFSR. The LFSR accumulates entropy over 81 cycles, after which it is fed into a SHA-1 engine. [...] The SHA-1 engine runs once every 81 cycles. [...] The hardware produces new 64-bit random number every 81 cycles.
The last sentence means that we only need to wait 81 cycles _between_ consecutive SHA-1 outputs (which isn't relevant anyway because we reconfigure it into raw mode later), but the first two quotes might mean that we need to wait 81+81 cycles for the _first_ output to be produced on boot when running the self-test.
Now, in this case, the self-test is run with the LFSR unhooked, by clearing the RNM_CTL_STATUS[ENT_EN] bit, so that SHA-1 is computed from a known input -- this is really just paranoia to make sure that _some_ functions of the device (which is conjured out of thin air at a fixed virtual address, with no firmware bindings to guide us) behave as we expect.
And it's not clear if it really does take 81+81 cycles for the first SHA-1 output to appear when the LFSR isn't feeding into it anyway.
But experimentally, delay of 81+81 cycles seems to work whereas a delay of only 81 cycles crashes. PR kern/57280
|
1.16.6.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.5 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.4 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.3 | 13-May-2020 |
riastradh | Rework octeon_rnm(4) random number generator driver.
- Do a little on-line self-test for fun. - Draw raw samples from the ring oscillators. - Draw substantially more samples: => early RO samples seem to have considerably lower entropy => consecutive RO samples are not independent - Make sure to use rnd_add_data_sync in the callback. => not technically needed in HEAD, but would be needed for pullup
|
1.2 | 12-May-2020 |
simonb | Add a few more bits. XXX convert to __BITS.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.26; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.26.1 | 19-May-2020 |
martin | Pull up following revision(s) (requested by simonb in ticket #918):
sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.3 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.4 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.5 sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.6 (+ patch) sys/arch/mips/cavium/dev/octeon_rnmreg.h: revision 1.2 sys/arch/mips/cavium/dev/octeon_rnmreg.h: revision 1.3 sys/arch/mips/cavium/octeonvar.h: revision 1.7
Add a few more bits. XXX convert to __BITS. -- If bus_space_map fails, just don't attach the driver instead of panicing. Check RNG built in self test, don't attach if that fails too. -- Oceton RNG/RNM driver modernisation to fit new entropy world order by riastradh@, with some tweaks to get working in RNG mode. XXX TODO: work out how to get raw entropy mode working. -- Rework octeon_rnm(4) random number generator driver. - Do a little on-line self-test for fun. - Draw raw samples from the ring oscillators. - Draw substantially more samples: =3D> early RO samples seem to have considerably lower entropy =3D> consecutive RO samples are not independent - Make sure to use rnd_add_data_sync in the callback. =3D> not technically needed in HEAD, but would be needed for pullup -- Adjust entropy estimate for the Octeon. We are hedging in serial and in parallel, and more conservative than the Linux driver from Cavium seems to be, so although I don't know exactly what the thermal jitter of the device is, this seems like a reasonable compromise.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_rnmreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_rnmreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.9 | 29-Sep-2022 |
skrll | Remove unnecessary include of <sys/malloc.h>.
|
1.8 | 29-Sep-2022 |
skrll | Trailing whitespace
|
1.7 | 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.6 | 16-Jul-2020 |
jmcneill | branches: 1.6.2; FDT support for Cavium OCTEON MIPS SoCs. WIP.
|
1.5 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus
|
1.4 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.3 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.2 | 22-Jan-2019 |
msaitoh | Change MII PHY read/write API from:
int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to:
int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t);
Now we can test if a read/write operation failed or not by the return value.
In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.
Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed:
arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c
Tested with the following device:
axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V)
Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url
Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.20; 1.1.22; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.22.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.1.20.1 | 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_smi.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_smi.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.6.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.3 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_smireg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_smireg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.6 | 23-Jun-2020 |
simonb | Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus
|
1.5 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.4 | 31-May-2020 |
simonb | Rename all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo", except "octeon_eth" becomes "cnmac".
|
1.3 | 22-Jan-2019 |
msaitoh | Change MII PHY read/write API from:
int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to:
int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t);
Now we can test if a read/write operation failed or not by the return value.
In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.
Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed:
arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c
Tested with the following device:
axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V)
Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url
Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
|
1.2 | 10-Jan-2019 |
msaitoh | KNF. No functional change.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.20; 1.1.22; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.22.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.1.20.2 | 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.1.20.1 | 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_smivar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_smivar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 31-May-2020 |
simonb | Remove unused Timer Unit register definitions and stubs. Can be resurrected from the attic in the unlikely event we'll ever have a driver for this device.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_tim.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_tim.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 31-May-2020 |
simonb | Remove unused Timer Unit register definitions and stubs. Can be resurrected from the attic in the unlikely event we'll ever have a driver for this device.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_timreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_timreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_twsi.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_twsi.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.3 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.2 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_twsireg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_twsireg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.10 | 26-Jan-2022 |
martin | Fix initialization of the register map by using the com_init_regs() helper function. Pointed out by jmcneill.
|
1.9 | 23-Jun-2020 |
simonb | Add support for a very simple output-only console so early printf() can work. Minor tweaks, remove some unused code.
|
1.8 | 19-Jun-2020 |
simonb | Simplify interrupt definition: remove mostly unused masks and just configure everything using interrupt numbers.
|
1.7 | 18-Jun-2020 |
simonb | General code cleanup: - use generic macros for building IO and IOBDMA addresses instead of many different variations of the same theme. - use #define's for CVMSEG addresses instead of magic numbers. - use __BIT/__BITS/__SHIFTIN/__SHIFTOUT in most places, instead of foo_SHIFT defines or (worse) shifting by magic numbers.
No functional changes.
|
1.6 | 15-Jun-2020 |
simonb | Finish CPU core support for Octeon Cavium CN70XX: - decode actual CPU name - per CPU core reset logic (partially adapted from OpenBSD) - handle Octeon 3 ioclock rate differences to other cores (from OpenBSD)
|
1.5 | 31-May-2020 |
simonb | Finish rename of all Cavium Octeon device driver functions, structs etc from "octeon_foo" to "octfoo" (missed octeon_uart + entries in iobus config).
|
1.4 | 31-May-2020 |
simonb | Clean up Cavium Octeon device names. Rename devices from "octeon_foo" to "octfoo" - this follows the naming conventions used by many other MIPS CPUs.
|
1.3 | 02-Jun-2015 |
matt | branches: 1.3.2; 1.3.18; Use structure copy instead of memcpy.
|
1.2 | 01-Jun-2015 |
matt | Rework cavium support in preparation for MULTIPROCESSOR support
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.3.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.3.18.1 | 02-Jun-2015 |
jdolecek | file octeon_uart.c was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.3.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.3.2.1 | 02-Jun-2015 |
skrll | file octeon_uart.c was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 11-Apr-2019 |
kamil | Fix CVS Id
NFCI
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; 1.1.22; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.22.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_uartreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_uartreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.1 | 27-Jun-2020 |
simonb | Add new file containing a couple of UART prototypes.
Missing file pointed out by rin@. Thanks!
|
1.2 | 01-May-2015 |
hikaru | Use dwc2 instead of octeon_usbc, and unify octeon_usbn to new octeon_dwctwo. Internal USB memory stick of EdgeRouter Lite works now.
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.4 | 23-Jun-2020 |
simonb | Remove USB controller register definitions, these match dwc2 core and weren't used anyway.
|
1.3 | 22-Jun-2020 |
simonb | Remove more snprintb _BITS bits.
|
1.2 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_usbcreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_usbcreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.7 | 23-Jun-2020 |
simonb | Remove unused include files.
|
1.6 | 18-Nov-2018 |
skrll | Remove unused struct member (usbd_xfer now has a struct usb_task)
|
1.5 | 18-Nov-2018 |
skrll | Whitespace
|
1.4 | 09-Apr-2018 |
jakllsch | branches: 1.4.2; Stop potential misuse of vendor names and USB vendor IDs in root hub device and string descriptors.
Firstly: Few vendors have identical PCI-SIG vendor IDs and USB-IF vendor IDs. As such, using the PCI vendor ID as a USB vendor ID may trample on whomever is allocated that USB vendor ID.
Secondly: The vendor of the host controller hardware implementation has little to nothing to do with our usbroothub implementation. Thus we should not potentially associate any problems therewith to such third party.
This change will result in root hubs being identified by USB Vendor ID 0x0000. Root hub vendor string will now be "NetBSD" (or, specifically: ostype). Product ID (0x0000) and product strings remain unchanged.
|
1.3 | 26-Apr-2016 |
skrll | branches: 1.3.16; 1.3.18; g/c usb_dma_reserve
|
1.2 | 26-Apr-2016 |
skrll | s/usbd_xfer_handle/struct usbd_xfer */
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.2.3 | 29-May-2016 |
skrll | Sync with HEAD
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_usbcvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.3.18.2 | 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.3.18.1 | 16-Apr-2018 |
pgoyette | Sync with HEAD, resolve some conflicts
|
1.3.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.3.16.1 | 26-Apr-2016 |
jdolecek | file octeon_usbcvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.4.2.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.2 | 01-May-2015 |
hikaru | Use dwc2 instead of octeon_usbc, and unify octeon_usbn to new octeon_dwctwo. Internal USB memory stick of EdgeRouter Lite works now.
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.3 | 23-Jun-2020 |
simonb | Minor tweaks and cleanup.
|
1.2 | 22-Jun-2020 |
simonb | Remove unused snprintb format strings.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_usbnreg.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_usbnreg.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 23-Jun-2020 |
simonb | Remove unused include files.
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file octeon_usbnvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file octeon_usbnvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.9 | 29-Sep-2022 |
skrll | Remove unnecessary include of <sys/malloc.h>.
|
1.8 | 29-Sep-2022 |
skrll | Trailing whitespace
|
1.7 | 10-Nov-2021 |
msaitoh | s/endianess/endianness/
|
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 | 27-Jan-2021 |
thorpej | branches: 1.4.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.3 | 15-Oct-2020 |
jmcneill | branches: 1.3.2; Initialise xhci_softc sc_ios
|
1.2 | 17-Jul-2020 |
simonb | Don't use a reserved value for the USB endian CSR selects and enable octxhci_uctl_init(). Between these, USB works without needing a "usb start" from u-boot.
XXX: Note the port power enable goop is still disabled until we get a GPIO driver.
|
1.1 | 16-Jul-2020 |
jmcneill | Add USB3 support.
|
1.3.2.1 | 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.4.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.5.8.1 | 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.2 | 17-Jul-2020 |
simonb | Don't use a reserved value for the USB endian CSR selects and enable octxhci_uctl_init(). Between these, USB works without needing a "usb start" from u-boot.
XXX: Note the port power enable goop is still disabled until we get a GPIO driver.
|
1.1 | 16-Jul-2020 |
jmcneill | Add USB3 support.
|
1.2 | 04-Jun-2015 |
matt | branches: 1.2.2; 1.2.18; minor constification
|
1.1 | 29-Apr-2015 |
hikaru | Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.2.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.18.1 | 04-Jun-2015 |
jdolecek | file bootbusvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.2.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.2.1 | 04-Jun-2015 |
skrll | file bootbusvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.2 | 17-Aug-2020 |
jmcneill | Attach an iobus with octrnm even if using devicetree (there is no corresponding node for this device in the DT).
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file iobusvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file iobusvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|
1.1 | 29-Apr-2015 |
hikaru | branches: 1.1.2; 1.1.18; Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 29-Apr-2015 |
jdolecek | file mainbusvar.h was added on branch tls-maxphys on 2017-12-03 11:36:27 +0000
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 29-Apr-2015 |
skrll | file mainbusvar.h was added on branch nick-nhusb on 2015-06-06 14:40:01 +0000
|