- 02 10月, 2020 7 次提交
-
-
由 Chunfeng Yun 提交于
Use TRB_TX_TYPE() instead of (TRB_DATA_OUT/IN << TRB_TX_TYPE_SHIFT) Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
For normal TRB fields: use TRB_LEN(x) instead of ((x) & TRB_LEN_MASK); and use TRB_INTR_TARGET(x) instead of (((x) & TRB_INTR_TARGET_MASK) << TRB_INTR_TARGET_SHIFT) Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
Use TRB_TYPE(p) instead of ((p) << TRB_TYPE_SHIFT) Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
Use HCS_MAX_PORTS(p) instead of ((p & HCS_MAX_PORTS_MASK) >> HCS_MAX_PORTS_SHIFT) Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
There some vendor quirks for MTK xHCI 0.96 host controller: 1. It defines some extra SW scheduling parameters for HW to minimize the scheduling effort for synchronous and interrupt endpoints. The parameters are put into reserved DWs of slot context and endpoint context. 2. Its TDS in Normal TRB defines a number of packets that remains to be transferred for a TD after processing all Max packets in all previous TRBs. Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Tested-by: NFrank Wunderlich <frank-w@public-files.de> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
xhci versions 1.0 and later report the untransferred data remaining in a TD a bit differently than older hosts. We used to have separate functions for these, and needed to check host version before calling the right function. Now Mediatek host has an additional quirk on how it uses the TD Size field for remaining data. To prevent yet another function for calculating remainder we instead want to make one quirk friendly unified function. Porting from the Linux: c840d6ce772d("xhci: create one unified function to calculate TRB TD remainder.") 124c39371114("xhci: use boolean to indicate last trb in td remainder calculation") Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
由 Chunfeng Yun 提交于
Add a member to save xHCI version, it's used some times. Signed-off-by: NChunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
-
- 01 10月, 2020 15 次提交
-
-
由 Tom Rini 提交于
- Generic UDP framework - TFTP fixes - dwc_eth_qos, smc911x, smc911x and mscc phy fixes
-
由 Philippe Reynes 提交于
This commits update the support of sntp to use the framework udp. This change allows to remove all the reference to sntp in the main network file net/net.c. Signed-off-by: NPhilippe Reynes <philippe.reynes@softathome.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philippe Reynes 提交于
This commit enable the support of the generic udp protocol. Signed-off-by: NPhilippe Reynes <philippe.reynes@softathome.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philippe Reynes 提交于
This commit adds a generic udp protocol framework in the network loop. So protocol based on udp may be implemented without modifying the network loop (for example custom wait magic packet). Signed-off-by: NPhilippe Reynes <philippe.reynes@softathome.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Patrick Delaunay 提交于
Use ofnode_ or dev_ APIs instead of fdt_ and fdtdec_ APIs so that the driver can support live DT. Signed-off-by: NPatrick Delaunay <patrick.delaunay@st.com>
-
由 Srinath Mannam 提交于
Add support for stingray PAXB PHY controller driver. This driver supports maximum 8 PAXB phys using pipemux data. Signed-off-by: NSrinath Mannam <srinath.mannam@broadcom.com> Signed-off-by: NRayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Reviewed-by: NStefan Roese <sr@denx.de>
-
由 Heinrich Schuchardt 提交于
Write the 'No ethernet found' message via the log drivers. This allows suppressing it during output via the syslog driver. This fixes the problem reported in: [PATCH 0/4] log: Fix the syslog spam when running tests https://lists.denx.de/pipermail/u-boot/2020-September/426343.htmlReported-by: NSimon Glass <sjg@chromium.org> Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Ley Foon Tan 提交于
When load the last block, the "len" might not be a block size. This cause loading the incorrect last block data. The fix change "len" to tftp_block_size and minus one tftp_block_size for offset calculation. Use same offset calculation formula as in store_block(). Signed-off-by: NLey Foon Tan <ley.foon.tan@intel.com> Reviewed-By: NRamon Fried <rfried.dev@gmail.com>
-
由 Ley Foon Tan 提交于
tftp_cur_block start with 1 for first block, but tftp_cur_block counter is start with zero when block number is rollover. The existing code "tftp_cur_block - 1" will cause the block number become -1 in store_block() when tftp_cur_block is 0 when tftp_cur_block is rollover. The fix pass in tftp_cur_block to store_block() and minus the tftp_block_size when do the offset calculation. Signed-off-by: NLey Foon Tan <ley.foon.tan@intel.com> Reviewed-By: NRamon Fried <rfried.dev@gmail.com>
-
由 Ley Foon Tan 提交于
Fixes missing update to tftp_prev_block counter before increase tftp_cur_block counter when do the tftpput operation. tftp_prev_block counter is used in update_block_number() function to check whether block number (sequence number) is rollover. This bug cause the tftpput command fail to upload a large file when block number is greater than 16-bit (0xFFFF). Signed-off-by: NLey Foon Tan <ley.foon.tan@intel.com> Reviewed-By: NRamon Fried <rfried.dev@gmail.com>
-
由 Adam Ford 提交于
The ethernet controller can read the MAC from EEPROM and display it, but if ethaddr is not set, the ethernet is still unavailable. This patch checks will automatically set the MAC address if it has not already been set. Signed-off-by: NAdam Ford <aford173@gmail.com> Acked-by: NJoe Hershberger <joe.hershberger@ni.com>
-
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: NThirupathaiah Annapureddy <thiruan@linux.microsoft.com> Reviewed-by: NCédric Le Goater <clg@kaod.org>
-
由 Heiko Stuebner 提交于
The Linux kernel does set the clock delays to - 0.2 ns (their default, and lowest, hardware value) if delays should not be enabled - 2.0 ns (which causes the data to be sampled at exactly half way between clock transitions at 1000 Mbps) if delays should be enabled depending on the interface mode See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy/mscc/mscc_main.c#n523 So instead of using arbitrary delay values like now, mimic this behaviour. The behaviour is the same for all of vsc8530/8531/8540/8541 so move that to a shared function while at it. Signed-off-by: NHeiko Stuebner <heiko.stuebner@theobroma-systems.com> Reviewed-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
由 Heiko Stuebner 提交于
The vsc8530/8531/8540/8541 phys have a configurable clock output that can emit 25, 50 and 125 MHz rates, which in turn may be needed for stable network connections. This follows a similar change introduced into the Linux kernel at https://lore.kernel.org/netdev/20200609133140.1421109-2-heiko@sntech.deSigned-off-by: NHeiko Stuebner <heiko.stuebner@theobroma-systems.com> Reviewed-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
由 Tom Rini 提交于
- SCMI firmware support - regmap, GPIO, reset API enhancements
-
- 30 9月, 2020 18 次提交
-
-
由 Etienne Carriere 提交于
Add tests for SCMI reset controllers. A test device driver sandbox-scmi_devices.c is used to get reset resources, allowing further resets manipulation. Change sandbox-smci_agent to emulate 1 reset controller exposed through an agent. Add DM test scmi_resets to test this reset controller. Signed-off-by: NEtienne Carriere <etienne.carriere@linaro.org> Cc: Simon Glass <sjg@chromium.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Etienne Carriere 提交于
This change introduces a reset controller driver for SCMI agent devices. When SCMI agent and SCMI reset domain drivers are enabled, SCMI agent binds a reset controller device for each SCMI reset domain protocol devices enabled in the FDT. SCMI reset driver is embedded upon CONFIG_RESET_SCMI=y. If enabled, CONFIG_SCMI_AGENT is also enabled. SCMI Reset Domain protocol is defined in the SCMI specification [1]. Links: [1] https://developer.arm.com/architectures/system-architectures/software-standards/scmiSigned-off-by: NEtienne Carriere <etienne.carriere@linaro.org> Cc: Simon Glass <sjg@chromium.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Etienne Carriere 提交于
Add tests for SCMI clocks. A test device driver sandbox-scmi_devices.c is used to get clock resources, allowing further clock manipulation. Change sandbox-smci_agent to emulate 3 clocks exposed through 2 agents. Add DM test scmi_clocks to test these 3 clocks. Update DM test sandbox_scmi_agent with load/remove test sequences factorized by {load|remove}_sandbox_scmi_test_devices() helper functions. Signed-off-by: NEtienne Carriere <etienne.carriere@linaro.org> Cc: Simon Glass <sjg@chromium.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Etienne Carriere 提交于
This change introduces a clock driver for SCMI agent devices. When SCMI agent and SCMI clock drivers are enabled, SCMI agent binds a clock device for each SCMI clock protocol devices enabled in the FDT. SCMI clock driver is embedded upon CONFIG_CLK_SCMI=y. If enabled, CONFIG_SCMI_AGENT is also enabled. SCMI Clock protocol is defined in the SCMI specification [1]. Links: [1] https://developer.arm.com/architectures/system-architectures/software-standards/scmiSigned-off-by: NEtienne Carriere <etienne.carriere@linaro.org> Cc: Lukasz Majewski <lukma@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Etienne Carriere 提交于
Dump SCMI DT bindings documentation from Linux kernel source tree v5.8-rc1. Signed-off-by: NEtienne Carriere <etienne.carriere@linaro.org> Reviewed-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Etienne Carriere 提交于
This change implements a SMCCC transport for SCMI exchanges. This implementation follows the Linux kernel as references implementation for SCMI message processing, using the SMT format for communication channel meta-data. Use of SMCCC transport in SCMI FDT bindings are defined in the Linux kernel DT bindings since v5.8. SMCCC with SMT is implemented in OP-TEE from tag 3.9.0 [2]. Links: [2] https://github.com/OP-TEE/optee_os/commit/a58c4d706d23Signed-off-by: NEtienne Carriere <etienne.carriere@linaro.org> Cc: Simon Glass <sjg@chromium.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Etienne Carriere 提交于
This change implements a mailbox transport using SMT format for SCMI exchanges. This implementation follows the Linux kernel and SCP-firmware [1] as references implementation for SCMI message processing using SMT format for communication channel meta-data. Use of mailboxes in SCMI FDT bindings are defined in the Linux kernel DT bindings since v4.17. Links: [1] https://github.com/ARM-software/SCP-firmwareSigned-off-by: NEtienne Carriere <etienne.carriere@linaro.org> Cc: Simon Glass <sjg@chromium.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Etienne Carriere 提交于
This change introduces SCMI agent uclass to interact with a firmware using the SCMI protocols [1]. SCMI agent uclass currently supports a single method to request processing of the SCMI message by an identified server. A SCMI message is made of a byte payload associated to a protocol ID and a message ID, all defined by the SCMI specification [1]. On return from process_msg() method, the caller gets the service response. SCMI agent uclass defines a post bind generic sequence for all devices. The sequence binds all the SCMI protocols listed in the FDT for that SCMI agent device. Currently none, but later change will introduce protocols. This change implements a simple sandbox device for the SCMI agent uclass. The sandbox nicely answers SCMI_NOT_SUPPORTED to SCMI messages. To prepare for further test support, the sandbox exposes a architecture function for test application to read the sandbox emulated devices state. Currently supports 2 SCMI agents, identified by an ID in the FDT device name. The simplistic DM test does nothing yet. SCMI agent uclass is designed for platforms that embed a SCMI server in a firmware hosted somewhere, for example in a companion co-processor or in the secure world of the executing processor. SCMI protocols allow an SCMI agent to discover and access external resources as clock, reset controllers and more. SCMI agent and server communicate following the SCMI specification [1]. This SCMI agent implementation complies with the DT bindings defined in the Linux kernel source tree regarding SCMI agent description since v5.8. Links: [1] https://developer.arm.com/architectures/system-architectures/software-standards/scmiSigned-off-by: NEtienne Carriere <etienne.carriere@linaro.org> Cc: Simon Glass <sjg@chromium.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
The tests rely on a dummy driver to allocate and initialize the regmaps and the regmap fields using the managed API. The first test checks if the regmap config fields like width, reg_offset_shift, range specifiers, etc work. The second test checks if regmap fields behave properly (mask and shift are ok) by peeking into the regmap. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: NPratyush Yadav <p.yadav@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Pratyush Yadav 提交于
When more nodes are added for a uclass the index might go into two or more digits. This means that there are less spaces printed because they are used up by the extra digits. Update the regular expression to allow variable-length spacing between the class name and and index. This was discovered when adding a simple_bus node in test.dts made test_bind_unbind_with_uclass() fail because the index went up to 10. Signed-off-by: NPratyush Yadav <p.yadav@ti.com>
-
由 Jean-Jacques Hiblot 提交于
A regmap field is an abstraction available in Linux. It provides to access bitfields in a regmap without having to worry about shifts and masks. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Signed-off-by: NPratyush Yadav <p.yadav@ti.com>
-
由 Pratyush Yadav 提交于
Some devices need to calculate the regmap base address at runtime. This makes it impossible to use device tree to get the regmap base. Instead, allow devices to specify it in the regmap config. This will create a regmap with a single range that corresponds to the start and size given by the driver. Signed-off-by: NPratyush Yadav <p.yadav@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Pratyush Yadav 提交于
Right now, the base of a regmap can only be obtained from the device tree. This makes it impossible for devices which calculate the base at runtime to use a regmap. An example of such a device is the Cadence Sierra PHY. Allow creating a regmap with one range whose start and size can be specified by the driver based on calculations at runtime. Signed-off-by: NPratyush Yadav <p.yadav@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Pratyush Yadav 提交于
Drivers can configure it to adjust the final read/write location. Signed-off-by: NPratyush Yadav <p.yadav@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Pratyush Yadav 提交于
Right now, regmap_read() and regmap_write() read/write a 32-bit value only. To write other lengths, regmap_raw_read() and regmap_raw_write() need to be used. This means that any driver ported from Linux that relies on regmap_{read,write}() to know the size already has to be updated at each callsite. This makes the port harder to maintain. So, allow specifying the read/write width to make it easier to port the drivers, since now the only change needed is when initializing the regmap. Signed-off-by: NPratyush Yadav <p.yadav@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Pratyush Yadav 提交于
Some fields will be introduced in the regmap structure that should be set to 0 by default. So, once we allocate a regmap, make sure it is zeroed out to avoid unexpected defaults for those values. Signed-off-by: NPratyush Yadav <p.yadav@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Jean-Jacques Hiblot 提交于
Most of new linux drivers are using managed-API to allocate resources. To ease porting drivers from linux to U-Boot, introduce devm_regmap_init() as a managed API to get a regmap from the device tree. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Signed-off-by: NPratyush Yadav <p.yadav@ti.com>
-
由 Jean-Jacques Hiblot 提交于
Add a test to verify that GPIOs can be acquired/released using the managed API. Also check that the GPIOs are released when the consumer device is removed. Signed-off-by: NJean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Signed-off-by: NPratyush Yadav <p.yadav@ti.com>
-