linux/drivers
Lorenzo Bianconi 23020f0493 net: airoha: Introduce ethernet support for EN7581 SoC
Add airoha_eth driver in order to introduce ethernet support for
Airoha EN7581 SoC available on EN7581 development board (en7581-evb).
EN7581 mac controller is mainly composed by the Frame Engine (PSE+PPE)
and QoS-DMA (QDMA) modules. FE is used for traffic offloading (just
basic functionalities are currently supported) while QDMA is used for
DMA operations and QOS functionalities between the mac layer and the
external modules conncted to the FE GDM ports (e.g MT7530 DSA switch
or external phys).
A general overview of airoha_eth architecture is reported below:

               ┌───────┐                                     ┌───────┐
               │ QDMA2 │                                     │ QDMA1 │
               └───┬───┘                                     └───┬───┘
                   │                                             │
           ┌───────▼─────────────────────────────────────────────▼────────┐
           │                                                              │
           │       P5                                            P0       │
           │                                                              │
           │                                                              │
           │                                                              │    ┌──────┐
           │                                                           P3 ├────► GDM3 │
           │                                                              │    └──────┘
           │                                                              │
           │                                                              │
┌─────┐    │                                                              │
│ PPE ◄────┤ P4                          PSE                              │
└─────┘    │                                                              │
           │                                                              │
           │                                                              │
           │                                                              │    ┌──────┐
           │                                                           P9 ├────► GDM4 │
           │                                                              │    └──────┘
           │                                                              │
           │                                                              │
           │                                                              │
           │        P2                                           P1       │
           └─────────┬───────────────────────────────────────────┬────────┘
                     │                                           │
                 ┌───▼──┐                                     ┌──▼───┐
                 │ GDM2 │                                     │ GDM1 │
                 └──────┘                                     └──┬───┘
                                                                 │
                                                            ┌────▼─────┐
                                                            │  MT7530  │
                                                            └──────────┘

Currently only hw LAN features (QDMA1+GDM1) are available while hw WAN
(QDMA2+GDM{2,3,4}) ones will be added with subsequent patches introducing
traffic offloading support.

Tested-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/274945d2391c195098ab180a46d0617b18b9e42c.1720818878.git.lorenzo@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-07-14 07:46:53 -07:00
..
accel The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
accessibility Char/Misc bugfix for 6.10-rc1 2024-05-24 08:43:25 -07:00
acpi ACPI: processor_idle: Fix invalid comparison with insertion sort for latency 2024-07-02 20:35:29 +02:00
amba
android binder: fix max_thread type inconsistency 2024-05-04 18:59:47 +02:00
ata ata: ahci: Clean up sysfs file on error 2024-06-30 22:23:39 +02:00
atm atm/fore200e: Delete unused 'fore200e_boards' 2024-05-06 18:26:47 -07:00
auxdisplay - Fix-ups 2024-05-22 10:45:12 -07:00
base drivers: core: synchronize really_probe() and dev_uevent() 2024-06-04 18:14:51 +02:00
bcma
block loop: Disable fallocate() zero and discard if not supported 2024-06-14 06:21:25 -06:00
bluetooth Bluetooth: btnxpuart: Enable Power Save feature on startup 2024-06-28 14:30:37 -04:00
bus tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
cache
cdrom cdrom: rearrange last_media_change check to avoid unintentional overflow 2024-05-15 12:59:55 -06:00
cdx
char Char/Misc driver fixes for 6.10-final 2024-07-12 08:45:27 -07:00
clk A set of clk fixes for the Qualcomm, Mediatek, and Allwinner drivers: 2024-07-07 10:59:38 -07:00
clocksource RISC-V Patches for the 6.10 Merge Window, Part 1 2024-05-22 09:56:00 -07:00
comedi
connector
counter counter: ti-eqep: enable clock at probe 2024-06-22 13:48:11 +09:00
cpufreq cpufreq: ACPI: Mark boost policy as enabled when setting boost 2024-07-01 18:10:52 +02:00
cpuidle pmdomain core: 2024-05-16 08:50:32 -07:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-07-04 14:16:11 -07:00
cxl cxl: documentation: add missing files to cxl driver-api 2024-06-25 14:45:27 -07:00
dax The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
dca
devfreq PM / devfreq: exynos: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions 2024-05-09 00:30:37 +09:00
dio
dma Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-06-27 12:14:11 -07:00
dma-buf Merge remote-tracking branch 'drm/drm-fixes' into drm-misc-fixes 2024-05-28 22:21:34 +02:00
dpll dpll: fix return value check for kmemdup 2024-05-13 16:53:53 -07:00
edac EDAC/igen6: Convert PCIBIOS_* return codes to errnos 2024-06-04 11:29:52 +02:00
eisa alpha: remove DECpc AXP150 (Jensen) support 2024-05-03 22:09:50 +02:00
extcon extcon: adc-jack: Document missing struct members 2024-05-09 01:03:39 +09:00
firewire firewire: core: record card index in bus_reset_handle tracepoints event 2024-06-15 14:59:26 +09:00
firmware sound fixes for 6.10-final 2024-07-12 08:32:40 -07:00
fpga Char/Misc and other driver subsystem changes for 6.10-rc1 2024-05-22 12:26:46 -07:00
fsi
gnss
gpio gpiolib: of: add polarity quirk for TSC2005 2024-07-05 11:00:45 +02:00
gpu amd-drm-fixes-6.10-2024-07-03: 2024-07-05 12:54:14 +02:00
greybus greybus: Fix use-after-free bug in gb_interface_release due to race condition. 2024-05-04 18:59:41 +02:00
hid for-linus-2024060801 2024-06-08 10:48:11 -07:00
hsi
hte
hv Drivers: hv: Cosmetic changes for hv.c and balloon.c 2024-06-06 06:03:29 +00:00
hwmon hwmon: (shtc1) Fix property misspelling 2024-05-30 09:05:19 -07:00
hwspinlock
hwtracing Char/Misc and other driver subsystem changes for 6.10-rc1 2024-05-22 12:26:46 -07:00
i2c i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr 2024-07-04 00:17:47 +02:00
i3c i3c: dw: Add hot-join support. 2024-05-23 00:29:19 +02:00
idle
iio iio: light: apds9306: Fix error handing 2024-06-29 18:51:25 +01:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-06-27 12:14:11 -07:00
input Input updates for v6.10-rc5 2024-06-24 14:36:11 -04:00
interconnect tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
iommu iommu/amd: Fix GT feature enablement again 2024-06-27 12:14:19 +02:00
ipack
irqchip irqchip/loongson-liointc: Set different ISRs for different cores 2024-06-23 17:09:26 +02:00
isdn isdn: add missing MODULE_DESCRIPTION() macros 2024-06-10 18:08:50 -07:00
leds leds: class: Revert: "If no default trigger is given, make hw_control trigger the default trigger" 2024-06-16 09:33:28 -07:00
macintosh powerpc updates for 6.10 2024-05-17 09:05:46 -07:00
mailbox mailbox: zynqmp-ipi: drop irq_to_desc() call 2024-05-31 12:39:15 -05:00
mcb
md - Fix broken discard for device mapper VDO target 2024-07-11 15:11:14 -07:00
media media fixes for v6.10-rc7 2024-07-03 10:10:45 -07:00
memory ARM development updates for v6.10-rc1 2024-05-17 08:53:47 -07:00
memstick
message SCSI misc on 20240514 2024-05-14 18:25:53 -07:00
mfd mfd: axp20x: AXP717: Fix missing IRQ status registers range 2024-06-14 08:43:39 +01:00
misc mei: vsc: Fix spelling error 2024-07-04 12:21:39 +02:00
mmc mmc: davinci_mmc: Prevent transmitted data size from exceeding sgm's length 2024-07-11 17:48:54 +02:00
most
mtd mtd: rawnand: rockchip: ensure NVDDR timings are rejected 2024-05-27 13:42:25 +02:00
mux
net net: airoha: Introduce ethernet support for EN7581 SoC 2024-07-14 07:46:53 -07:00
nfc nfc: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-20 19:28:31 -07:00
ntb
nubus
nvdimm virtio: features, fixes, cleanups 2024-05-23 12:04:36 -07:00
nvme nvmet-fc: Remove __counted_by from nvmet_fc_tgt_queue.fod[] 2024-06-26 10:13:04 -07:00
nvmem nvmem: core: limit cell sysfs permissions to main attribute ones 2024-07-03 16:37:51 +02:00
of of/irq: Disable "interrupt-map" parsing for PASEMI Nemo 2024-07-08 15:42:20 -06:00
opp OPP Updates for 6.10 2024-05-17 13:01:24 +02:00
parisc
parport parport: amiga: Mark driver struct with __refdata to prevent section mismatch 2024-06-04 18:08:31 +02:00
pci PCI/MSI: Fix UAF in msi_capability_init 2024-06-24 23:33:38 +02:00
pcmcia
peci
perf perf: RISC-V: Check standard event availability 2024-07-03 12:56:22 -07:00
phy phy: qcom: qmp-combo: Switch from V6 to V6 N4 register offsets 2024-06-03 19:30:47 +05:30
pinctrl pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set 2024-06-17 10:36:56 +02:00
platform platform/x86: toshiba_acpi: Fix array out-of-bounds access 2024-07-10 16:12:12 +02:00
pmdomain pmdomain: qcom: rpmhpd: Skip retention level for Power Domains 2024-07-09 12:47:46 +02:00
pnp PNP: Hide pnp_bus_type from the non-PNP code 2024-05-28 21:53:51 +02:00
power I2C core removes an argument from the i2c_mux_add_adapter() call to 2024-05-20 08:55:18 -07:00
powercap
pps
ps3
ptp ptp: fix integer overflow in max_vclocks_store 2024-06-18 13:26:44 -07:00
pwm pwm: stm32: Fix error message to not describe the previous error path 2024-06-22 16:13:19 +02:00
rapidio rapidio: remove choice for enumeration 2024-05-14 23:36:19 +09:00
ras RAS/AMD/ATL: Use system settings for MI300 DRAM to normalized address translation 2024-06-16 11:22:57 +02:00
regulator regulator: axp20x: AXP717: fix LDO supply rails and off-by-ones 2024-06-12 21:30:43 +01:00
remoteproc remoteproc: k3-r5: Jump to error handling labels in start/stop errors 2024-05-06 13:34:12 -06:00
reset reset: hisilicon: hi6220: add missing MODULE_DESCRIPTION() macro 2024-06-21 13:49:25 +02:00
rpmsg virtio: features, fixes, cleanups 2024-05-23 12:04:36 -07:00
rtc pcf8563: add wakeup-source support 2024-05-07 23:40:46 +02:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-07-04 14:16:11 -07:00
sbus
scsi SCSI fixes on 20240710 2024-07-10 14:47:35 -07:00
sh
siox
slimbus Linux 6.9-rc7 2024-05-08 19:21:51 +01:00
soc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-07-12 22:20:30 -07:00
soundwire soundwire: fix usages of device_get_named_child_node() 2024-06-03 17:35:24 +05:30
spi spi: mux: set ctlr->bits_per_word_mask 2024-07-09 17:42:33 +01:00
spmi spmi: pmic-arb: Add multi bus support 2024-05-08 19:46:11 +01:00
ssb
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-07-04 14:16:11 -07:00
target Assorted commits that had missed the last merge window... 2024-05-21 13:11:44 -07:00
tc
tee Fix optee missing-field-initializers warning 2024-06-27 17:10:38 +02:00
thermal thermal: core: Fix list sorting in __thermal_zone_device_update() 2024-07-08 17:24:22 +02:00
thunderbolt thunderbolt: debugfs: Fix margin debugfs node creation condition 2024-05-31 13:13:39 +03:00
tty serial: qcom-geni: do not kill the machine on fifo underrun 2024-07-04 12:30:30 +02:00
ufs scsi: ufs: core: Fix ufshcd_abort_one racing issue 2024-07-04 23:04:15 -04:00
uio
usb USB-serial fixes for 6.10-rc8 2024-07-10 19:55:07 +02:00
vdpa Merge tag 'stable/vduse-virtio-net' into vhost 2024-05-22 08:32:48 -04:00
vfio vfio/pci: Init the count variable in collecting hot-reset devices 2024-07-10 08:47:46 -06:00
vhost virtio: features, fixes, cleanups 2024-05-23 12:04:36 -07:00
video - Fix-ups 2024-05-22 10:45:12 -07:00
virt The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
virtio virtio: features, fixes, cleanups 2024-05-23 12:04:36 -07:00
w1
watchdog watchdog: add missing MODULE_DESCRIPTION() macros 2024-06-15 12:49:57 +02:00
xen xen: branch for v6.10-rc1 2024-05-24 10:24:49 -07:00
zorro
Kconfig
Makefile kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00