summaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge branch 'for-next/misc'Sascha Hauer2023-08-231-6/+3
|\ \
| * | net: ksz9477: do not advertise EEE supportOleksij Rempel2023-08-181-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not advertise EEE support for all ksz9477 based chips. EEE needs proper handling which we can't guarantee with limited resources. At same time remove wrong comment and Gbit check. EEE is not coupled to Gbit and KSZ8565 supports EEE as well. So, it seems like there is nothing right on this comment. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230811115325.2646286-2-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | net: ksz9477: add support for ksz9893 switchOleksij Rempel2023-08-181-0/+1
| |/ | | | | | | | | | | | | | | | | | | Add support for Microchip KSZ9893 switch. No additional changes seems to be needed. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230811115325.2646286-1-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: designware: eqos: do not receive pause framesOleksij Rempel2023-08-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally we need to care only about packets with not local MAC address destination. It is needed to support HW setups with multiple MAC addresses forwarded over one MAC. For example systems using DSA switch as port multiplexer. In this case one single MAC should handle packets with different MAC address destinations. This functionality is provided by the EQOS_MAC_PACKET_FILTER_PR. EQOS_MAC_PACKET_FILTER_PCF on other hand allow to capture ethernet control frames like pause frames which are not handled by barebox. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230814053229.2311097-6-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: designware: eqos: fix NULL pointer dereference on LLDP packetsOleksij Rempel2023-08-142-20/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If promisc mode is enabled (which is enabled for DSA switches by default) a LLDP frame received by barebox will trigger following panic: DABT (current EL) exception (ESR 0x9600014b) at 0x0000000000000000 elr: 00000000bfd967d8 lr : 00000000bfd963e0 x0 : 0000000000000000 x1 : 00000000000000e9 x2 : 0000000000000040 x3 : 000000000000003f x4 : 0000000000000000 x5 : 00000000000001a0 x6 : 0000000000000005 x7 : 0000000030200000 x8 : 000000007feda6a8 x9 : 0000000000000000 x10: 0000000000000000 x11: 00000000fffffffa x12: 00000000fffffffa x13: 0000000000000020 x14: 0000000000000000 x15: 0000000000000001 x16: 00000000bfff74c8 x17: 0000000000000001 x18: 00000000bfff7a60 x19: 000000007fee20c0 x20: 0000000000000000 x21: 000000007fee0dc8 x22: 000000007fee0dc8 x23: 00000000000000ea x24: 0000000000000080 x25: 0000000000000000 x26: 00000000000000ea x27: 000000007fee2040 x28: 0000000000000000 x29: 00000000bfff7a60 Call trace: [<bfd967d8>] (v8_inv_dcache_range+0x1c/0x34) from [<bfd953fc>] (arch_sync_dma_for_cpu+0x14/0x20) [<bfd953fc>] (arch_sync_dma_for_cpu+0x14/0x20) from [<bfd25a64>] (eqos_recv+0x78/0x104) [<bfd25a64>] (eqos_recv+0x78/0x104) from [<bfd80724>] (eth_rx+0xd0/0x160) [<bfd80724>] (eth_rx+0xd0/0x160) from [<bfd80b84>] (net_poll+0x24/0x34) [<bfd80b84>] (net_poll+0x24/0x34) from [<bfd80bbc>] (__net_poll+0x28/0x3c) [<bfd80bbc>] (__net_poll+0x28/0x3c) from [<bfd0ec7c>] (poller_call+0x58/0x68) [<bfd0ec7c>] (poller_call+0x58/0x68) from [<bfd0ea98>] (resched+0x38/0x48) [<bfd0ea98>] (resched+0x38/0x48) from [<bfd77be0>] (readline+0xb4/0x89c) [<bfd77be0>] (readline+0xb4/0x89c) from [<bfd0f17c>] (file_get+0x94/0x1d8) [<bfd0f17c>] (file_get+0x94/0x1d8) from [<bfd0f92c>] (parse_stream.constprop.0+0x40/0x534) [<bfd0f92c>] (parse_stream.constprop.0+0x40/0x534) from [<bfd0ff10>] (parse_stream_outer+0xf0/0x1ec) [<bfd0ff10>] (parse_stream_outer+0xf0/0x1ec) from [<bfd10e0c>] (run_shell+0x60/0x98) [<bfd10e0c>] (run_shell+0x60/0x98) from [<bfd01854>] (run_init+0x170/0x2b0) [<bfd01854>] (run_init+0x170/0x2b0) from [<bfd019e4>] (start_barebox+0x50/0x8c) [<bfd019e4>] (start_barebox+0x50/0x8c) from [<bfd95794>] (barebox_non_pbl_start+0x11c/0x150) [<bfd95794>] (barebox_non_pbl_start+0x11c/0x150) from [<bfd0000c>] (__bare_init_start+0x0/0x4) [<bfd0000c>] (__bare_init_start+0x0/0x4) from [<402041fc>] (0x402041fc) [<402041fc>] (0x402041fc) from [<40203bac>] (0x40203bac) panic: unhandled exception This issue can be reproduced by using following command and link partner: mausezahn enp1s0f1 01:80:c2:00:00:0e:08:60:6e:1f:a3:9c:88:cc The problem caused this issue is wrong or may be different (depending on the HW) interpretation of DMA RX buffers. The DMA descriptors have distinct formats depending on their direction: Read Format for CPU-to-DMA and Write-Back Format for DMA-to-CPU. Previously, the driver did not distinguish between these, leading to misinterpretations of the descriptor fields. For example the driver expected a DMA buffer pointer in the Write-Back desc0 which is actually a VLAN tag descriptor and contains artifacts of DMA buffer pointer only by accident. To fix it we should store DMA buffer pointers in a separate array and use them. To prevent more of misunderstandings, i renamed variables to make it visible what format of DMA buffer we actually using. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230814053229.2311097-5-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: designware: eqos: add comment about external clock dependencies for the ↵Oleksij Rempel2023-08-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | soft reset This part of code is not error proof and may fail depending on implementation state of external HW. I hope this note help to find bugs later. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230814053229.2311097-4-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: designware: eqos: fix non-working promisc mode when set before ↵Oleksij Rempel2023-08-142-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interface start Promisc mode is not working if set before starting interface. This seen more with DSA switch driver when having many interfaces and different MACs. Make promisc mode work by saving configs before soft reset, then use them after reset. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230814053229.2311097-3-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: designware: eqos: initialize MAC address specific DMA channel configurationOleksij Rempel2023-08-141-0/+5
|/ | | | | | | | | | | Make sure we use predictable DMA Channel Select configuration. Otherwise bad things may happen. So far this fix is not related to any known issue and was noticed by investigating other bugs. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230814053229.2311097-2-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: Print device nodes with %pOFSascha Hauer2023-07-033-8/+8
| | | | | | | We have the %pOF format specifier for printing device nodes. Use it where appropriate. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* gpio: have gpiod_ functions return and accept pointersAhmad Fatoum2023-06-237-54/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | The gpiod_ (GPIO descriptor) API used with Linux differs from barebox' normal GPIO API: - gpiod handles are opaque pointers and not an integer, which users have an expectation of stability for - gpiod API uses logic levels by default with separate raw API for physical level instead of physical level by default and separate API taking active level into account. The barebox gpiod_ API mimics the latter point, but still uses integers requiring ugly and arguably error prone conversions when porting kernel code. Let's improve upon that by just encoding the integer into a pointer variable for API compatibility. Later commits will switch barebox GPIO support to use actual GPIO descriptors without consulting the numeric indices, but we do this temporary switch here, so we can split up provider and consumer changes. Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230622072329.1339317-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2023-06-227-7/+197
|\
| * nvmem: retire struct nvmem_bus for better Linux compatibilityAhmad Fatoum2023-06-131-6/+2
| | | | | | | | | | | | | | | | | | | | nvmem_bus is arguably a confusing name and serves no real purpose over just embedding its two members directly. That's what Linux currently does, so follow suit. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230612125711.1086786-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * net: phy: add driver for MotorComm PHYYegor Yefremov2023-06-093-0/+135
| | | | | | | | | | | | | | | | The driver corresponds to the kernel 6.1.27. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Link: https://lore.barebox.org/20230606081718.2246807-1-yegorslists@googlemail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * net: phy: dp83867: respect ti,clk-output-sel DT propertyRoland Hieber2023-06-061-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some boards it is necessary to configure the PHY to provide the correct clock to the FEC. This ports the rest of the following two kernel commits: | commit 9708fb630d19ee51ae3aeb3a533e3010da0e8570 | Author: Wadim Egorov <w.egorov@phytec.de> | Date: Mi 2018-02-14 17:07:11 | | net: phy: dp83867: Add binding for the CLK_OUT pin muxing option | | The DP83867 has a muxing option for the CLK_OUT pin. It is possible | to set CLK_OUT for different channels. | Create a binding to select a specific clock for CLK_OUT pin. | | Signed-off-by: Wadim Egorov <w.egorov@phytec.de> | Signed-off-by: Daniel Schultz <d.schultz@phytec.de> | Reviewed-by: Andrew Lunn <andrew@lunn.ch> | Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | | commit 13c83cf8af0dcc6103982b4dc0b70826f0b54f21 | Author: Trent Piepho <tpiepho@impinj.com> | Date: Mi 2019-05-22 18:43:22 | | net: phy: dp83867: Add ability to disable output clock | | Generally, the output clock pin is only used for testing and only serves | as a source of RF noise after this. It could be used to daisy-chain | PHYs, but this is uncommon. Since the PHY can disable the output, make | doing so an option. I do this by adding another enumeration to the | allowed values of ti,clk-output-sel. | | The code was not using the value DP83867_CLK_O_SEL_REF_CLK as one might | expect: to select the REF_CLK as the output. Rather it meant "keep | clock output setting as is", which, depending on PHY strapping, might | not be outputting REF_CLK. | | Change this so DP83867_CLK_O_SEL_REF_CLK means enable REF_CLK output. | Omitting the property will leave the setting as is (which was the | previous behavior in this case). | | Out of range values were silently converted into | DP83867_CLK_O_SEL_REF_CLK. Change this so they generate an error. | | Cc: Andrew Lunn <andrew@lunn.ch> | Cc: Florian Fainelli <f.fainelli@gmail.com> | Cc: Heiner Kallweit <hkallweit1@gmail.com> | Signed-off-by: Trent Piepho <tpiepho@impinj.com> | Reviewed-by: Andrew Lunn <andrew@lunn.ch> | Signed-off-by: David S. Miller <davem@davemloft.net> Link: https://git.kernel.org/torvalds/c/9708fb630d19ee51ae3a Link: https://git.kernel.org/torvalds/c/13c83cf8af0dcc610398 Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.barebox.org/20230605125748.3665121-2-rhi@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * net: phy: add phy_modify_mmd_indirect convenience functionRoland Hieber2023-06-061-0/+23
| | | | | | | | | | | | | | | | | | Add a read-modify-write convenience helper similar to phy_modify() for setting single bits in MMD registers. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.barebox.org/20230605125748.3665121-1-rhi@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * net: r8169: fix builds on archs without system.h headerDenis Orlov2023-06-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Some architectures do lack <asm/system.h> header, which breaks building RTL8169 for them. However, it doesn't even seem to be needed there. From a quick glance at archs that do have one such header, its contents are quite platform-specific. Getting rid of this include fixes building the driver, so do just that. Signed-off-by: Denis Orlov <denorl2009@gmail.com> Link: https://lore.barebox.org/20230604210609.17765-1-denorl2009@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/dma-streaming-interface'Sascha Hauer2023-06-2215-60/+68
|\ \
| * | net: macb: remove const from dev pointer in macb_deviceDenis Orlov2023-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, it leads to a bunch of warnings on passing those pointers to dma_*() functions. As every other driver seem to be having non-const dev pointers in their private structs, do the same here. Signed-off-by: Denis Orlov <denorl2009@gmail.com> Link: https://lore.barebox.org/20230604215002.20240-3-denorl2009@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | dma: rework dma_sync_single_for_*() interfaceDenis Orlov2023-06-0615-59/+67
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, a lot of code handles dma_addr_t values as if they actually hold CPU addresses. However, this is not always true. For example, MIPS architecture requires an explicit conversion from the physical address space to some virtual address space segment to get a valid CPU-side pointer. Another issue is that DMA ranges that may be specified in a device tree will not work this way. To get from a virtual address to a dma handle and vice versa we need to add/subtract some offset, which is calculated from "dma-ranges" property. Only dma_map_single() was doing this, but dma_sync_single_for_*() also should. Improve the interface by adding 'struct device' as the first argument to the dma_sync_single_for_*(). This allows to do cpu_to_dma/dma_to_cpu() conversions in common code and call into arch-specific code with proper cpu-side addresses. To make things more clear, make the virtual address argument of those arch-side functions be properly represented with a void* type. Apply the required changes in device drivers that use the affected functions, making them pass the appropriate device pointer. Signed-off-by: Denis Orlov <denorl2009@gmail.com> Link: https://lore.barebox.org/20230604215002.20240-2-denorl2009@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | treewide: add MODULE_DEVICE_TABLE markersAhmad Fatoum2023-06-1332-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Syncing device trees with Linux upstream can lead to breakage, when the device trees are switched to newer bindings, which are not yet supported in barebox. To make it easier to spot such issues, we want to start applying some heuristics to flag possibly problematic DT changes. One step towards being able to do that is to know what nodes barebox actually consumes. Most of the nodes have a compatible entry, which is matched by an array of of_device_id, so let's have MODULE_DEVICE_TABLE point at it for future extraction. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230612125908.1087340-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: smc1111: add missing drive's of_device_id array sentinelAhmad Fatoum2023-06-131-0/+1
| | | | | | | | | | | | | | | | | | | | ASAN on sandbox running allyesconfig detects that code reading smc91c111_dt_ids reads out of bounds. This is because driver match tables need to have sentinel elements, which was missing here. Fix this. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230612125331.1085059-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: cpsw: increase a delay before reading the ALIVE registerYegor Yefremov2023-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At leasr am335x, the delay is not enough to reliably detect all PHYs. Hence, increase the timeout. Tested with the followings PHYs: - MotorComm YT8511 - Atheros AT8035 - CPlus IP101A Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Link: https://lore.barebox.org/20230609090217.2492987-1-yegorslists@googlemail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: fec_mpc5200: fix false positive -Wmisleading-indentationAhmad Fatoum2023-06-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the preprocessor runs, the code in question looks like this: SDMA_INT_DISABLE while ((counter--) && (!(fec->eth->ievent & FEC_IEVENT_GRA))); { struct mpc5xxx_sdma *sdma = (struct mpc5xxx_sdma *)MPC5XXX_SDMA; sdma->IntMask |= (1 << tasknum); } Which understandably looks like a bug. Avoid this by using do { } while (0) and moving the semicolon to a separate line. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230605062939.242063-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: gianfar: make MAC addr setup endian safe, cleanupSascha Hauer2023-06-061-8/+2
|/ | | | | | | | | | | | | | | | | | | | | | This is an adoption of Linux commit: | commit 83bfc3c4765c35ef0dfff8a3d6dedab88f3f50ea | Author: Claudiu Manoil <claudiu.manoil@freescale.com> | Date: Tue Oct 7 10:44:33 2014 +0300 | | gianfar: Make MAC addr setup endian safe, cleanup | | Fix the 32-bit memory access that is not endian safe, | i.e. not giving the desired byte layout for a LE CPU: | tempval = *((u32 *) (tmpbuf + 4)), where 'char tmpbuf[]'. | | Get rid of rendundant local vars (tmpbuf[] and idx) and | forced casts. Cleanup comments. | | Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> | Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/versatile'Sascha Hauer2023-05-241-5/+11
|\
| * ARM: versatile: Use smc91c111 from device treeSascha Hauer2023-05-021-5/+11
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/rockchip'Sascha Hauer2023-05-249-563/+4730
|\ \
| * | net: Update Realtek r8169 driverSascha Hauer2023-05-238-563/+4724
| | | | | | | | | | | | | | | | | | | | | | | | This updates the r8169 driver from Linux-6.3-rc7. The driver code itself is mostly taken from the old driver, but all the initialization code and file structure has been taken from Linux. Tested on a RTL8125 chip. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | phy: realtek: Add RTL8125 internal phy supportSascha Hauer2023-05-231-0/+6
| |/ | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2023-05-242-3/+3
|\ \
| * | net: phy: print error messages to logJohannes Zink2023-05-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the phy core did just print info and error messages to console, but they did not show up in the system log. Now the dev_info and dev_err macros are used instead of raw puts, they are now nicely formatted and show up in the log. Signed-off-by: Johannes Zink <j.zink@pengutronix.de> Link: https://lore.barebox.org/20230509060521.707205-1-j.zink@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | treewide: drop trailing spaceAhmad Fatoum2023-05-021-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Found by manual inspection of the output of: rg '\s+$' | rg -v dts/ Patch can be verified by observing that no diff results from: git show --ignore-space-at-eol Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Link: https://lore.barebox.org/20230424121805.150434-4-ahmad@a3f.at Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: dsa: realtek: fix Kconfig selectsAhmad Fatoum2023-05-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | net: dsa: realtek: drop select of undefined REGMAP option Regmap support is available unconditionally in barebox and is only removed by linker garbage collection, unlike the kernel. Reported-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230519084009.2355024-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: dsa: realtek: fix Kconfig selectsAhmad Fatoum2023-05-091-2/+1
|/ | | | | | | | | | Unlike Linux, barebox has no CONFIG_FIXED_PHY or CONFIG_IRQ_DOMAIN. The former is implied by CONFIG_PHYLIB and the latter is unneeded, so revise the Kconfig option accordingly. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230503100609.1522959-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/usb'Sascha Hauer2023-04-196-12/+12
|\
| * usb: move include files to place where Linux has themSascha Hauer2023-03-206-12/+12
| | | | | | | | | | | | | | | | | | For easier patch merging and comparison with Linux move the usb gadget files to where Linux has them. For now do a plain git mv include/usb include/linux/usb, eventhough there might be some files which are purely barebox specific. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2023-04-194-23/+32
|\ \
| * | net: designware: eqos: pass physical device to DMA APIAhmad Fatoum2023-04-171-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ethernet interface device is just a child of the physical device with no DT node assigned. As such, it lacks all DMA settings that may be set in the DT. Fix this by using the hardware device instead. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230414145259.3644816-6-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | net: rtl8169: pass physical device for DMA APIAhmad Fatoum2023-04-171-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It shouldn't matter for now, but DMA API should always be called for the physical device, i.e. the struct device underlying the struct pci_device. This the Ethernet device interface parent, so use that instead. Cc: Denis Orlov <denorl2009@gmail.com> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230414145259.3644816-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | net: dsa: sja1105: fall back to default speed configuration if no link was ↵Oleksij Rempel2023-03-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | detected Rather than generating an error, revert to the default link configuration. Some configuration is performed during the port pre-enable sequence. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230316134209.4068801-3-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | net: dsa: sja1105: move port enable to adjust link code.Oleksij Rempel2023-03-211-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Execute port enable code dynamically based on link detection status. This enables proper MAC configuration during link detection events. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230316134209.4068801-2-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | net: dsa: add adjust_link supportOleksij Rempel2023-03-211-2/+2
| |/ | | | | | | | | | | | | | | | | | | The required functionality is essential for cable hot plugging or asynchronous link detection. In its current state, DSA will only operate if the cable was connected prior to booting. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20230316134209.4068801-1-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: dsa: realtek: include needed headers directlyAhmad Fatoum2023-04-116-0/+8
| | | | | | | | | | | | | | | | | | | | Building the driver for RISC-V instead of ARM, shows that the headers of some symbols depended on were included indirectly before. Fix this to enable RISC-V build. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230411071436.1630752-10-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | net: macb: Adjust zynq compatibles to upstream device treesSascha Hauer2023-03-211-2/+2
|/ | | | | | | | Linux v6.3-rc1 renamed the zynq macb compatibles from cdns,zynq-gem to xlnx,zynq-gem and cdns,zynqmp-gem to xlnx,zynqmp-gem. Adjust the compatibles in the driver accordingly. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc' into nextSascha Hauer2023-03-161-2/+5
|\
| * net: dsa: abort registration when master is unresolvableAhmad Fatoum2023-03-161-2/+5
| | | | | | | | | | | | | | | | | | | | ds->edev_master is used in a lot places and if we can't populate, because the Ethernet device wasn't found, we should abort instead of crashing later on. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230315143522.1512531-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/arm' into nextSascha Hauer2023-03-164-6/+6
|\ \
| * | ARM: at91: Move mach header files to include/mach/at91Sascha Hauer2023-03-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all at91 specific header files to include/mach/at91/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: ep93xx: Move mach header files to include/mach/ep93xxSascha Hauer2023-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all ep93xx specific header files to include/mach/ep93xx/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: omap: Move mach header files to include/mach/omapSascha Hauer2023-03-062-2/+2
| |/ | | | | | | | | | | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all omap specific header files to include/mach/omap/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>