summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2020-05-02usb: dwc3: use the phy bulk API to get physChunfeng Yun
Get a group of phys by the phy bulk API Signed-off-by: Chunfeng Yun <[email protected]> Signed-off-by: Frank Wunderlich <[email protected]> Reviewed-by: Weijie Gao <[email protected]>
2020-05-02phy: Add API for a bulk of physChunfeng Yun
This patch adds a "bulk" API to the phy API in order to get/init/exit/power on/off a group of phys associated with a device. The bulk API will avoid adding a copy of the same code to manage a group of phys in drivers. Signed-off-by: Chunfeng Yun <[email protected]> Signed-off-by: Frank Wunderlich <[email protected]> Reviewed-by: Weijie Gao <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-05-02dm: core: Add function to get child count of ofnode or deviceChunfeng Yun
This patch add function used to get the child count of a ofnode or a device Signed-off-by: Chunfeng Yun <[email protected]> Signed-off-by: Frank Wunderlich <[email protected]> Reviewed-by: Weijie Gao <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-05-01clk: imx: clk-imxrt1050: fix lcdif clock gateGiulio Benetti
LCDIF clock gate was wrong so set it according to RM. Signed-off-by: Giulio Benetti <[email protected]> Reviewed-by: Anatolij Gustschin <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2020-05-01video: mxsfb: add clk_enable()Giulio Benetti
BROM doesn't enable lcdif by default so add clk_enable() after clk_set_rate(). Signed-off-by: Giulio Benetti <[email protected]> Reviewed-by: Anatolij Gustschin <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2020-05-01watchdog MediaTek add upstream compatibleMatthias Brugger
The upstream compatible is called mt6589-wdt. Add this compatible to the driver. Signed-off-by: Matthias Brugger <[email protected]>
2020-05-01timer MediaTek use upstream compatibleMatthias Brugger
The timers compatible string in upstream is called mt6577-timer. Add this compatible to the driver. Signed-off-by: Matthias Brugger <[email protected]>
2020-05-01rtc: pcf2127: don't add/subtract 1 to tm_monRasmus Villemoes
As noted in rtc_def.h, the tm_mon field in struct rtc_time is 1-12, unlike in struct tm where it is 0-11. Currently, running "date" prints the wrong Date: 2020-04-01 (Friday) Time: 13:05:30 and setting the RTC via the date command is also broken. Signed-off-by: Rasmus Villemoes <[email protected]>
2020-05-01net: smc911x: Add DM supportMarek Vasut
Add support for U-Boot DM and DT probing. Furthermore, build the SMC911x standalone EEPROM example only for the non-DM case, as it is not converted yet. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: fec: Add possibility to enable TXC delayPhilippe Schenker
This patch enables the possibility to set FEC_ENET_ENABLE_TXC_DELAY or FEC_ENET_ENABLE_RXC_DELAY so one can via a define enable the RXC or TXC delay in the MAC. Signed-off-by: Philippe Schenker <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2020-05-01net: phy: micrel: Add basic support for KSZ9131Philippe Schenker
This adds basic support for the new Micrel KSZ9131 phy. Signed-off-by: Philippe Schenker <[email protected]>
2020-05-01net: phy: micrel: Use defines for PHY_IDs and MASKPhilippe Schenker
Signed-off-by: Philippe Schenker <[email protected]>
2020-05-01imx8: Configure SNVSFranck LENORMAND
Add a module to configure the tamper and secure violation of the SNVS using the SCU API. The module also adds some commands: - snvs_cfg: Configure the SNVS HP and LP registers - snvs_dgo_cfg: Configure the SNVS DGO bloc if present (8QXP) - tamper_pin_cfg: Change the configuration of the tamper pins - snvs_clear_status: Allow to write to LPSR and LPTDSR to clear status bits Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Franck LENORMAND <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2020-05-01imx8: Update SCFW API to version 1.5Ye Li
Sync the latest SCFW API with below commit 6dcd0242ae7a53ac ("SCF-105: Revert accidental change") to add interfaces for PM resource reset and read/write SNVS security violation and tamper DGO registers. Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2020-05-01imx8: scu api: Add support for SECO manufacturing protection APIsBreno Lima
SECO provides APIs to support CAAM manufacturing protection: - sc_seco_get_mp_key() - sc_seco_get_mp_sign() - sc_seco_update_mpmr() Add SCFW APIs support. Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Breno Lima <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2020-05-01net: smc911x: Split non-DM specific bits from common codeMarek Vasut
Split network handling functions into non-DM specific parts and common code in preparation for conversion to DM. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2020-05-01net: smc911x: Clean up the status handling in smc911x_recv()Marek Vasut
Invert the status handling logic in smc911x_recv(), to make the function easier to read, no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Pass around driver private dataMarek Vasut
Introduce a private data structure for this driver with embedded struct eth_device and pass it around. This prepares the driver to work with both DM and non-DM systems. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Convert IO accessors to {read,write}{w,l}()Marek Vasut
Convert the IO accessors to standard ones instead of using volatile void pointers, as those do not cover all the bus access details. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Drop weak alias from 32bit accessorsMarek Vasut
These accessors are not overridden by any board, and even if they were, this is something which should be handled via DM now, so remove the weak alias option. Moreover, drop the inline keyword, as the compiler can decide better. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Inline all functions from header fileMarek Vasut
Inline all the functions from the header file, as they are not used outside of the driver or the standalone EEPROM example. Note that this does introduce considerable amount of duplication in the standalone EEPROM example, however that one has to be rewritten anyway, roughly such that the SMC911x driver would expose DM EEPROM interface and the standalone example would use that. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Pull MII registration into separate functionMarek Vasut
Pull the MII interface registration into separate function to avoid the ifdeffery in smc911x_initialize(). Moreover, adjust the fail path such that we use goto labels. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Fix potential memleak() in init fail pathMarek Vasut
Fix memleak in the init fail path, where if allocation or registration of MDIO bus fails, then ethernet interface is not unregistered and the private data are not freed, yet the probe function reports a failure. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Invert the logic in smc911x_miiphy_{read,write}()Marek Vasut
Invert the logic in the aforementioned functions to reduce indent, no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Rename smc911x_rx() to smc911x_recv()Marek Vasut
Rename the function to keep the naming scheme consistent, no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Replace malloc()+memset() with calloc()Marek Vasut
Replace combination of malloc()+memset() with calloc() as the behavior is exactly the same and the amount of code is reduced. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: smc911x: Remove pkt_data_{push,pull}Marek Vasut
These functions are never used and are likely a pre-DM remnant from times long past, just remove them. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Masahiro Yamada <[email protected]>
2020-05-01net: rtl8139: Fill in SPDX tagMarek Vasut
The rtl8139 driver is derived from Etherboot driver, which is in turn derived from Linux 8139too driver added in Linux 2.2.18pre14. An undocumented change in Linux 2.4.10.2 added a new field to the driver, MODULE_LICENSE("GPL"); . According to current Linux kernel licensing rules, Documentation/process/license-rules.rst, quote: "GPL" Module is licensed under GPL version 2. This does not express any distinction between GPL-2.0-only or GPL-2.0-or-later. The exact license information can only be determined via the license information in the corresponding source files. And since the code does not contain any "future" clause, the tag is therefore GPL-2.0 only. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Move functions aroundMarek Vasut
Just move functions around in preparation for easy DM conversion, rename rtl_bcast_addr() to rtl8139_bcast_addr(), no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Finish cleanupMarek Vasut
Finish the checkpatch cleanup of the driver, fix the remaining issues in probe and init function and in global variables, rename the probe function to rtl8139_init(), no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Factor out hardware resetMarek Vasut
This hardware reset and reset-wait implementation was twice in the driver, factor it out into a separate function. This really should use wait_for_bit() eventually and return -ETIMEDOUT, but thus far, handling of any of this is missing from the driver. This must be added later. Thus far, no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Minor cleanup of rtl_disable()Marek Vasut
Rename the function to rtl8139_stop(), clean up checkpatch errors in the stop polling function. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Minor cleanup of rtl_poll()Marek Vasut
Rename the function to rtl8139_recv(), clean up various checkpatch errors, line-over-80 conditions, and malformed comments. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Minor cleanup of rtl_transmit()Marek Vasut
Rename the function to rtl8139_send(), clean up the TX polling, the TX OK condition at the end, overuse of typecasts, and various line-over-80 problems. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Minor cleanup of rtl_reset()Marek Vasut
Rename the function to rtl8139_reset(), clean up the reset polling and various line-over-80 problems. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Minor cleanup of set_rx_mode()Marek Vasut
Rename the function to rtl8139_set_rx_mode(), use unsigned variables where applicable and inline mc_filter[] values. No functional chanage. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Consistently use rtl8139_rx_configMarek Vasut
This string of macros is exactly the same thing as rtl8139_rx_config, so just use rtl8139_rx_config. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Minor cleanup of read_eeprom()Marek Vasut
Rename the function to rtl8139_read_eeprom() to keep the naming consistent, keep the variables sorted in reverse xmas tree. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Rework eeprom_delay() macroMarek Vasut
The macro assumes ee_addr variable to be present when it's being used. Rework the macro into a function instead and pass it an argument specifying the register base address, to make it future proof for DM conversion. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: rtl8139: Register macro cleanupMarek Vasut
Clean up the horrible register definitions in the RTL8139 driver. This does create a couple of checkpatch errors, but the driver is full of them anyway, and those will be cleaned up later. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: dwc_eth_qos: Prevent DMA from writing updated RX DMA descriptorMarek Vasut
The DMA may attempt to write a DMA descriptor in the ring while it is being updated. By writing the DMA descriptor buffer address to 0, it is assured the DMA will not use such a buffer and the buffer can be updated without any interference. Reviewed-by: Patrick Delaunay <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Ramon Fried <[email protected]> Cc: Stephen Warren <[email protected]>
2020-05-01net: dwc_eth_qos: Invalidate RX packet DMA bufferMarek Vasut
This patch prevents an issue where the RX packet might have been accessed by the CPU, which now has cached data from the packet in the caches and possibly various write buffers, and these data may be evicted from the caches into the DRAM while the buffer is also written by the DMA. By invalidating the buffer after the CPU accessed it and before the DMA populates the buffer, it is assured that the buffer will not be corrupted. Reviewed-by: Patrick Delaunay <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Ramon Fried <[email protected]> Cc: Stephen Warren <[email protected]>
2020-05-01net: dwc_eth_qos: Invalidate RX descriptor before readingMarek Vasut
The current code polls the RX desciptor ring for new packets by reading the RX descriptor status. This works by accident, as the RX descriptors are often in non-cacheable memory. However, the driver does support use of RX descriptors in cacheable memory. This patch adds a missing RX descriptor invalidation, which assures the CPU will read a fresh copy of the RX descriptor instead of a cached one. Reviewed-by: Patrick Delaunay <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Ramon Fried <[email protected]> Cc: Stephen Warren <[email protected]>
2020-05-01net: dwc_eth_qos: Flush the RX descriptors on initMarek Vasut
Currently the code only flushes the first RX descriptor, not every entry in the RX descriptor ring. Fix this, to make sure the DMA engine can pick the RX descriptors correctly. Reviewed-by: Patrick Delaunay <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Ramon Fried <[email protected]> Cc: Stephen Warren <[email protected]>
2020-05-01net: dwc_eth_qos: Correctly wrap around TX descriptor tail pointerMarek Vasut
This code programs the next descriptor in the TX descriptor ring into the hardware as the last valid TX descriptor. The problem is that if the currenty descriptor is the last one in the array, the code will not wrap around correctly and use TX descriptor 0 again, but instead will use TX descriptor at address right past the TX descriptor ring, which is the first descriptor in the RX ring. Fix this by adding the necessary wrap-around. Reviewed-by: Patrick Delaunay <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Ramon Fried <[email protected]> Cc: Stephen Warren <[email protected]>
2020-05-01net: dwc_eth_qos: Fully rewrite RX descriptor field 3Marek Vasut
The RX descriptor field 3 should contain only OWN and BUF1V bits before being used for receiving data by the DMA engine. However, right now, if the descriptor was already used for receiving data and is being cleared, the field 3 is only modified and the aforementioned two bits are ORRed into the field. This could lead to a residual dirty bits being left in the field 3 from previous transfer, and it generally does. Fully set the field 3 instead to clear those residual dirty bits. Reviewed-by: Patrick Delaunay <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Ramon Fried <[email protected]> Cc: Stephen Warren <[email protected]>
2020-05-01net: dc2114x: Switch DEBUG_SROM{,2} to debug_cond()Marek Vasut
Replace the adhoc debugging ifdeffery with debug_cond() and an internal SROM_DEBUG macro to select the debug level. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: dc2114x: Reorganize driverMarek Vasut
Move the functions in the driver around to better fit future DM conversion, drop function forward declarations. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: dc2114x: Clean up INL/OUTL functionsMarek Vasut
Rename these functions to dc2114x_{inl,outl}(), use u32 values in them instead of plain signed integers as all those values are in fact register values and the driver code does bitwise operations on them. No functional change intended. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>
2020-05-01net: dc2114x: Clean up DE4X5 macrosMarek Vasut
Replace these macros with static functions to permit the compiler to do type checking on the functions. The INL()/OUTL() functions have to be moved in this patch as well, as those DE4X5 macros are using them. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]>