summaryrefslogtreecommitdiff
path: root/drivers/net/ftgmac100.c
AgeCommit message (Collapse)Author
2025-08-01drivers/net/ftgmac100.c: Fix a debug printTom Rini
In the debug print in ftgmac100_send we want to say where the packet is in memory and what the length is, so use %p to print that. Signed-off-by: Tom Rini <[email protected]>
2024-09-11net: ftgmac100: Add Aspeed AST2700 supportJacky Chou
Add support of Aspeed AST2700 SoC. AST2700 is based on ARM64 so modify the DMA address related code to fit both ARM and ARM64. Besides, the RMII/RGMII mode control register is moved from SCU500 to MAC50 so initialize the register in ftgmac100_start correspondingly. Signed-off-by: Jacky Chou <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11net: ftgmac100: Modify desc. size to cache lineJacky Chou
The TX/RX descriptor size is 16 byte. When the cache line size is larger than 16 bytes, descriptors flushed to RAM will flush more than one descriptor. It is possible that it may mistakenly flush to other descriptor that has been updated by MAC in RAM. To avoid this issue, align the descriptors to cache line size. Only one desc will be flushed or invalidated at a time. Signed-off-by: Jacky Chou <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11net: ftgmac100: Fixed NC-SI PHY device cannot getJacky Chou
The NC-SI interface does not need the MDIO bus and the NC-SI PHY device cannot get from dm_eth_phy_connect. Therefore, use phy_connect directly here. Signed-off-by: Jacky Chou <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2024-09-11net: ftgmac100: Fixed the cache coherency issues of rx memoryJacky Chou
When executing TFTP, the ARP will be replied to after receiving the ARP. U-boot's ARP routine modifies the data in the receive packet in response to the ARP packet and then copies it into the transmit packet. At this point, the received packet cache is inconsistent. It is possible that the cache will perform a writeback action to affect the MAC receiving packets. Avoid the same problem that occurs in other networking protocols. In the free_pkt function, ensure cache and memory consistency. Signed-off-by: Jacky Chou <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2024-05-20Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"Tom Rini
As part of bringing the master branch back in to next, we need to allow for all of these changes to exist here. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-19Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""Tom Rini
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"' I failed to notice that b4 noticed it was based on next and so took that as the base commit and merged that part of next to master. This reverts commit c8ffd1356d42223cbb8c86280a083cc3c93e6426, reversing changes made to 2ee6f3a5f7550de3599faef9704e166e5dcace35. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-07net: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this driver directory and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2023-11-05net: ftgmac100: Add reset controlDylan Hung
Add optional reset control, especially for the Aspeed SOC. For the hardware without a reset line, the reset assertion/deassertion will be skipped. Signed-off-by: Dylan Hung <[email protected]> Reviewed-by: Ryan Chen <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-09-24common: Drop linux/printk.h from common headerSimon Glass
This old patch was marked as deferred. Bring it back to life, to continue towards the removal of common.h Move this out of the common header and include it only where needed. Signed-off-by: Simon Glass <[email protected]>
2022-10-21net/ftgmac100: Add NC-SI mode supportSamuel Mendoza-Jonas
Update the ftgmac100 driver to support NC-SI instead of an mdio phy where available. This is a common setup for Aspeed AST2x00 platforms. NC-SI mode is determined from the device-tree if either phy-mode sets it or the use-ncsi property exists. If set then normal mdio setup is skipped in favour of the NC-SI phy. Signed-off-by: Samuel Mendoza-Jonas <[email protected]> Signed-off-by: Joel Stanley <[email protected]> Reviewed-by: Cédric Le Goater <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2022-08-08net: ftgmac100: use bus name in mdio error messagesZev Weiss
Previously we'd been using a device name retrieved via ftgmac100_data->phydev, but the mdio read/write functions may be called before that member is initialized in ftgmac100_phy_init(), leading to a NULL pointer dereference while printing the error message issued if the mdio access fails. We can instead use bus->name, which is already available at that point. Signed-off-by: Zev Weiss <[email protected]> Fixes: 538e75d3fc54 ("net: ftgmac100: add MDIO bus and phylib support") Reviewed-by: Cédric Le Goater <[email protected]>
2022-04-10treewide: Rename PHY_INTERFACE_MODE_NONE to PHY_INTERFACE_MODE_NAMarek Behún
Rename constant PHY_INTERFACE_MODE_NONE to PHY_INTERFACE_MODE_NA to make it compatible with Linux' naming. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]>
2022-04-10net: introduce helpers to get PHY interface mode from a device/ofnodeMarek Behún
Add helpers ofnode_read_phy_mode() and dev_read_phy_mode() to parse the "phy-mode" / "phy-connection-type" property. Add corresponding UT test. Use them treewide. This allows us to inline the phy_get_interface_by_name() into ofnode_read_phy_mode(), since the former is not used anymore. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Tested-by: Patrice Chotard <[email protected]>
2022-01-18net: ftgmac100: Add Aspeed AST2600 supportDylan Hung
Add support of the MAC controller of Aspeed AST2600 SOC. The MAC controller is the same with AST2500, except it has stand-alone MDIO hardware block. Signed-off-by: Dylan Hung <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2022-01-18net: ftgmac100: Add DM_MDIO supportDylan Hung
Add support for DM_MDIO to connect to PHY. For the systems that have a stand-alone MDIO hardware block, enable CONFIG_DM_MDIO to use driver model for MDIO devices. Signed-off-by: Dylan Hung <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2021-01-19net: ftgmac100: Read and retain MAC addressHongwei Zhang
Read and retain MAC address across flash and QEMU support. Signed-off-by: Hongwei Zhang <[email protected]>
2020-12-18dm: Avoid accessing seq directlySimon Glass
At present various drivers etc. access the device's 'seq' member directly. This makes it harder to change the meaning of that member. Change access to go through a function instead. The drivers/i2c/lpc32xx_i2c.c file is left unchanged for now. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename ofdata_to_platdata() to of_to_plat()Simon Glass
This name is far too long. Rename it to remove the 'data' bits. This makes it consistent with the platdata->plat rename. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename dev_get_platdata() to dev_get_plat()Simon Glass
Rename this to be consistent with the change from 'platdata'. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename 'platdata' variables to just 'plat'Simon Glass
We use 'priv' for private data but often use 'platdata' for platform data. We can't really use 'pdata' since that is ambiguous (it could mean private or platform data). Rename some of the latter variables to end with 'plat' for consistency. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename auto_alloc_size members to be shorterSimon Glass
This construct is quite long-winded. In earlier days it made some sense since auto-allocation was a strange concept. But with driver model now used pretty universally, we can shorten this to 'auto'. This reduces verbosity and makes it easier to read. Coincidentally it also ensures that every declaration is on one line, thus making dtoc's job easier. Signed-off-by: Simon Glass <[email protected]>
2020-09-30net: ftgmac100: Add support for board specific PHY interface addressThirupathaiah Annapureddy
ftgmac100 driver is using hard-coded PHY interface address of zero. Each board can have different PHY interface address (phy_addr). This commit modifies the driver to make use of board specific address by leveraging CONFIG_PHY_ADDR. Signed-off-by: Thirupathaiah Annapureddy <[email protected]> Reviewed-by: Cédric Le Goater <[email protected]>
2020-07-25treewide: convert devfdt_get_addr() to dev_read_addr()Masahiro Yamada
When you enable CONFIG_OF_LIVE, you will end up with a lot of conversions. To generate this commit, I used coccinelle excluding drivers/core/, include/dm/, and test/ The semantic patch that makes this change is as follows: <smpl> @@ expression dev; @@ -devfdt_get_addr(dev) +dev_read_addr(dev) </smpl> Signed-off-by: Masahiro Yamada <[email protected]>
2020-07-24Revert "Merge tag 'dm-pull-20jul20' of git://git.denx.de/u-boot-dm"Tom Rini
This reverts commit 5d3a21df6694ebd66d5c34c9d62a26edc7456fc7, reversing changes made to 56d37f1c564107e27d873181d838571b7d7860e7. Unfortunately this is causing CI failures: https://travis-ci.org/github/trini/u-boot/jobs/711313649 Signed-off-by: Tom Rini <[email protected]>
2020-07-20treewide: convert devfdt_get_addr() to dev_read_addr()Masahiro Yamada
When you enable CONFIG_OF_LIVE, you will end up with a lot of conversions. To generate this commit, I used coccinelle excluding drivers/core/, include/dm/, and test/ The semantic patch that makes this change is as follows: <smpl> @@ expression dev; @@ -devfdt_get_addr(dev) +dev_read_addr(dev) </smpl> Signed-off-by: Masahiro Yamada <[email protected]>
2020-05-18common: Drop linux/bitops.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop log.h from common headerSimon Glass
Move this header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop net.h from common headerSimon Glass
Move this header out of the common header. Network support is used in quite a few places but it still does not warrant blanket inclusion. Note that this net.h header itself has quite a lot in it. It could be split into the driver-mode support, functions, structures, checksumming, etc. Signed-off-by: Simon Glass <[email protected]>
2020-02-05dm: core: Create a new header file for 'compat' featuresSimon Glass
At present dm/device.h includes the linux-compatible features. This requires including linux/compat.h which in turn includes a lot of headers. One of these is malloc.h which we thus end up including in every file in U-Boot. Apart from the inefficiency of this, it is problematic for sandbox which needs to use the system malloc() in some files. Move the compatibility features into a separate header file. Signed-off-by: Simon Glass <[email protected]>
2019-12-09net: ftgmac100: align RX/TX descriptors on ARCH_DMA_MINALIGNCédric Le Goater
Fixes: e766849713ff ("net: ftgmac100: convert the RX/TX descriptor arrays") Signed-off-by: Cédric Le Goater <[email protected]> Reviewed-by: Joel Stanley <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2019-12-02common: Move ARM cache operations out of common.hSimon Glass
These functions are CPU-related and do not use driver model. Move them to cpu_func.h Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2018-11-05net: ftgmac100: Add support for the Aspeed SoCCédric Le Goater
The Faraday ftgmac100 MAC controllers as found on the Aspeed SoCs have some slight differences in the HW interface (End-Of-Rx/Tx-Ring bits). Signed-off-by: Cédric Le Goater <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Joel Stanley <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2018-11-05net: ftgmac100: add clock supportCédric Le Goater
Signed-off-by: Cédric Le Goater <[email protected]> Reviewed-by: Joel Stanley <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2018-11-05net: ftgmac100: handle timeouts when transmittingCédric Le Goater
Signed-off-by: Cédric Le Goater <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2018-11-05net: ftgmac100: convert the RX/TX descriptor arraysCédric Le Goater
Use simple arrays under the device priv structure to hold the RX and TX descriptors and handle memory coherency by invalidating or flushing the d-cache when required. Signed-off-by: Cédric Le Goater <[email protected]> Reviewed-by: Joel Stanley <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2018-11-05net: ftgmac100: add MDIO bus and phylib supportCédric Le Goater
Implement the MDIO bus read/write functions using the readl_poll_timeout() routine, initialize the bus and scan for the PHY. RGMII and RMII mode are supported. Signed-off-by: Cédric Le Goater <[email protected]> Reviewed-by: Joel Stanley <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2018-11-05net: ftgmac100: use setbits_le32() in the reset methodCédric Le Goater
Signed-off-by: Cédric Le Goater <[email protected]> Reviewed-by: Joel Stanley <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2018-11-05net: ftgmac100: convert to driver modelCédric Le Goater
The driver is based on the previous one and the code is only adapted to fit the driver model. The support for the Faraday ftgmac100 controller is the same with MAC and MDIO bus support for RGMII/RMII modes. Configuration is updated to enable compile again. At this stage, the driver compiles but is not yet functional. Signed-off-by: Cédric Le Goater <[email protected]> Reviewed-by: Joel Stanley <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <[email protected]>
2017-08-16env: Rename eth_getenv_enetaddr() to eth_env_get_enetaddr()Simon Glass
Rename this function for consistency with env_get(). Signed-off-by: Simon Glass <[email protected]>
2016-01-14Fix GCC format-security errors and convert sprintfs.Ben Whitten
With format-security errors turned on, GCC picks up the use of sprintf with a format parameter not being a string literal. Simple uses of sprintf are also converted to use strcpy. Signed-off-by: Ben Whitten <[email protected]> Acked-by: Wolfgang Denk <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2015-04-18net: cosmetic: Fix var naming net <-> eth driversJoe Hershberger
Update the naming convention used in the network stack functions and variables that Ethernet drivers use to interact with it. This cleans up the temporary hacks that were added to this interface along with the DM support. This patch has a few remaining checkpatch.pl failures that would be out of the scope of this patch to fix (drivers that are in gross violation of checkpatch.pl). Signed-off-by: Joe Hershberger <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-06-24net: update FTGMAC100 for MMU/D-cache supportKuo-Jung Su
Signed-off-by: Kuo-Jung Su <[email protected]> CC: Joe Hershberger <[email protected]> CC: Tom Rini <[email protected]>
2012-05-23net: Fix remaining API interface breakageJoe Hershberger
These are all the files which use the API incorrectly but did not get built using MAKEALL -a powerpc|arm. I have no compiler for them, but the remaining issues should be far less than without this patch. Any outstanding issues are left to the maintainers of boards that use these drivers. Signed-off-by: Joe Hershberger <[email protected]>
2011-10-22consolidate mdelay by providing a common function for all usersAnatolij Gustschin
There are several mdelay() definitions in the driver and board code. Remove them all and provide a common mdelay() in lib/time.c. Signed-off-by: Anatolij Gustschin <[email protected]> Acked-by: Mike Frysinger <[email protected]>
2011-10-22ftgmac100: reset fix when supports wake on lanMacpaul Lin
This patch move the reset function from initialization to driver register procedure. Some embedded system supports wake on lan nowadays. On this kind of system, the ftgmac100 will be still supplied power after the system has been shut-down by Linux. Hence the register used by linux won't be clear when the system has been powered-off. The origin ftgmac100 driver in u-boot will only register driver and functions to network stack and won't reset the ftgmac100 hardware if the network won't be used during boot-up. This will lead ftgmac100 continue receiving packets and then might corrupt linux kernel when booting up. So we reorder the hardware reset function earlier to force the hardware to be reset whether it will be used or not. Signed-off-by: Macpaul Lin <[email protected]>
2011-01-09ftgmac100: support of gigabit eth ftgmac100Macpaul Lin
Add Faraday's ftgmac100 (gigabit ethernet) MAC controller's driver. Signed-off-by: Macpaul Lin <[email protected]>