08 Jan, 2020
1 commit
-
Add a uclass for reading a random number seed from a random number
generator device.Signed-off-by: Sughosh Ganu
Reviewed-by: Patrice Chotard
Reviewed-by: Heinrich Schuchardt
Reviewed-by: Simon Glass
24 Oct, 2019
1 commit
-
Add Support for UFS Host Controller Interface (UFSHCI) for communicating
with Universal Flash Storage (UFS) devices. The steps to initialize the
host controller interface are the following:- Initiate the Host Controller Initialization process by writing to the
Host controller enable register.
- Configure the Host Controller base address registers by allocating a
host memory space and related data structures.
- Unipro link startup procedure
- Check for connected device
- Configure UFS host controller to process requestsAlso register this host controller as a SCSI host controller.
Taken from Linux Kernel v5.2 (drivers/scsi/ufs/ufshcd.c) and ported to
U-boot.Signed-off-by: Faiz Abbas
12 Aug, 2019
1 commit
-
This is no-longer used in U-Boot and has not been converted to driver
model. Drop it.Signed-off-by: Simon Glass
11 Jul, 2019
1 commit
-
Introduce new UCLASS_PCI_EP class for handling PCI endpoint
devices, allowing to set various attributes of the PCI endpoint
device, such as:
* configuration space header
* BAR definitions
* outband memory mapping
* start/stop PCI linkSigned-off-by: Ramon Fried
Reviewed-by: Simon Glass
05 May, 2019
1 commit
-
The cache UCLASS will be used for configure settings that can be found
in a CPU's L2 cache controller.Add a uclass and a test for cache.
Reviewed-by: Simon Glass
Signed-off-by: Dinh Nguyen
12 Apr, 2019
1 commit
-
The Ring Accelerator (RINGACC or RA) provides hardware acceleration to
enable straightforward passing of work between a producer and a consumer.
There is one RINGACC module per NAVSS on TI AM65x SoCs.The RINGACC converts constant-address read and write accesses to equivalent
read or write accesses to a circular data structure in memory. The RINGACC
eliminates the need for each DMA controller which needs to access ring
elements from having to know the current state of the ring (base address,
current offset). The DMA controller performs a read or write access to a
specific address range (which maps to the source interface on the RINGACC)
and the RINGACC replaces the address for the transaction with a new address
which corresponds to the head or tail element of the ring (head for reads,
tail for writes). Since the RINGACC maintains the state, multiple DMA
controllers or channels are allowed to coherently share the same rings as
applicable. The RINGACC is able to place data which is destined towards
software into cached memory directly.Supported ring modes:
- Ring Mode
- Messaging Mode
- Credentials Mode
- Queue Manager ModeTI-SCI integration:
Texas Instrument's System Control Interface (TI-SCI) Message Protocol now
has control over Ringacc module resources management (RM) and Rings
configuration.The Ringacc driver manages Rings allocation by itself now and requests
TI-SCI firmware to allocate and configure specific Rings only. It's done
this way because, Linux driver implements two stage Rings allocation and
configuration (allocate ring and configure ring) while TI-SCI Message
Protocol supports only one combined operation (allocate+configure).Signed-off-by: Grygorii Strashko
Signed-off-by: Vignesh R
20 Feb, 2019
1 commit
-
At present this uclass is selected only on x86. In order to add a test for
it, it must also support sandbox. Create a new CONFIG_PCH option and
enable it on x86 and sandbox.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
07 Dec, 2018
1 commit
-
This is uclass for Hardware Spinlocks.
It implements two mandatory operations: lock and unlock
and one optional relax operation.Signed-off-by: Benjamin Gaignard
Reviewed-by: Simon Glass
Reviewed-by: Patrice Chotard
15 Nov, 2018
1 commit
-
This adds a new virtio uclass driver for “virtio” [1] family of
devices that are are found in virtual environments like QEMU,
yet by design they look like physical devices to the guest.The uclass driver provides child_pre_probe() and child_post_probe()
methods to do some common operations for virtio device drivers like
device and driver supported feature negotiation, etc.[1] http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf
Signed-off-by: Tuomas Tynkkynen
Signed-off-by: Bin Meng
Reviewed-by: Simon Glass
07 Oct, 2018
1 commit
-
Adds a uclass to interface with a TEE (Trusted Execution Environment).
A TEE driver is a driver that interfaces with a trusted OS running in
some secure environment, for example, TrustZone on ARM cpus, or a
separate secure co-processor etc.The TEE subsystem can serve a TEE driver for a Global Platform compliant
TEE, but it's not limited to only Global Platform TEEs.The over all design is based on the TEE subsystem in the Linux kernel,
tailored for U-Boot.Reviewed-by: Simon Glass
Tested-by: Igor Opaniuk
Signed-off-by: Jens Wiklander
01 Oct, 2018
1 commit
30 Sep, 2018
1 commit
-
Since there is no canonical "board device" that can be used in board
files, it is difficult to use DM function for board initialization in
these cases.Hence, add a uclass that implements a simple "board device", which can
hold devices not suitable anywhere else in the device tree, and is also
able to read encoded information, e.g. hard-wired GPIOs on a GPIO
expander, read-only memory ICs, etc. that carry information about the
hardware.The devices of this uclass expose methods to read generic data types
(integers, strings, booleans) to encode the information provided by the
hardware.Reviewed-by: Simon Glass
Signed-off-by: Mario Six
29 Sep, 2018
3 commits
-
Switch to driver model for eSDHC on Layerscape SoCs including LS1021A,
LS1043A, LS1046A, LS1088A, LS2088A.
Switch to driver model for SATA on LS1021A and LS1043A.
Add support for LS1012AFRWY rev C board.
Enable SMMU for LS1043A. -
We might want to access data stored onto one wire EEPROMs.
Create a framework to provide a consistent API.Signed-off-by: Maxime Ripard
[eugen.hristev@microchip.com: reworked patch]
Signed-off-by: Eugen Hristev -
We might want to use 1-Wire devices connected on boards such as EEPROMs in
U-Boot.Provide a framework to be able to do that.
Signed-off-by: Maxime Ripard
[eugen.hristev@microchip.com: reworked]
Signed-off-by: Eugen Hristev
28 Sep, 2018
1 commit
-
Signed-off-by: Ran Wang
[York S: revised subject line and removed commit message]
Reviewed-by: York Sun
11 Aug, 2018
1 commit
-
Add a uclass for AXI (Advanced eXtensible Interface) busses, and a
driver for the gdsys IHS AXI bus on IHS FPGAs.Signed-off-by: Mario Six
Reviewed-by: Simon Glass
20 Jul, 2018
1 commit
-
The Shared Memory Manager driver implements an interface for allocating
and accessing items in the memory area shared among all of the
processors in a Qualcomm platform.Adapted from the Linux driver (4.17)
Changes from the original Linux driver:
* Removed HW spinlock mechanism, which is irrelevant
in U-boot particualar use case, which is just reading from the smem.
* Adapted from Linux driver model to U-Boot's.Cc: Bjorn Andersson
Signed-off-by: Ramon Fried
Reviewed-by: Simon Glass
04 Jun, 2018
1 commit
30 May, 2018
1 commit
-
Separate CMD_FASTBOOT from FASTBOOT and move code and configuration to
drivers/fastboot.Switch dependencies on FASTBOOT to USB_FUNCTION_FASTBOOT as anyone who wants
FASTBOOT before this series wants USB_FUNCTION_FASTBOOT. Split
USB_FUNCTION_FASTBOOT from FASTBOOT so they retain their existing
behaviour.Signed-off-by: Alex Kiernan
Reviewed-by: Simon Glass
Acked-by: Joe Hershberger
28 May, 2018
1 commit
-
USB PHY implementation for Allwinner SOC's can be handling
in to single driver with different phy configs.This driver handle all Allwinner USB PHY's start from 4I to
50I(except 9I). Currently added A64 compatibility more will
add in next coming patches.Current implementation is unable to get pinctrl, clock and reset
details from DT since the dm code on these will add it future.Driver named as phy-sun4i-usb.c since the same PHY logic
work for all Allwinner SOC's start from 4I to A64 except 9I
with different phy configurations.Signed-off-by: Jagan Teki
Acked-by: Jun Nie
20 Nov, 2017
1 commit
-
Add support for bootcounter on an EXT filesystem.
Sync configuration whitelist.Signed-off-by: Ian Ray
Signed-off-by: Martyn Welch
14 Aug, 2017
1 commit
-
NVM Express (NVMe) is a register level interface that allows host
software to communicate with a non-volatile memory subsystem. This
interface is optimized for enterprise and client solid state drives,
typically attached to the PCI express interface.This adds a U-Boot driver support of devices that follow the NVMe
standard [1] and supports basic read/write operations.Tested with a 400GB Intel SSD 750 series NVMe card with controller
id 8086:0953.[1] http://www.nvmexpress.org/resources/specifications/
Signed-off-by: Zhikang Zhang
Signed-off-by: Wenbin Song
Signed-off-by: Bin Meng
Reviewed-by: Tom Rini
12 Jul, 2017
2 commits
-
At present we have the SCSI drivers in the drivers/block and common/
directories. It is better to split them out into their own place. Use
drivers/scsi which is what Linux does.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
At present we have the SATA and PATA drivers mixed up in the drivers/block
directory. It is better to split them out into their own place. Use
drivers/ata which is what Linux does.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
22 May, 2017
1 commit
-
This subsystem is quite old. It has been replaced with a driver-model
version (UCLASS_THERMAL). Boards are free to convert to that if required,
but here is a removal patch that could be applied in the meantime.Signed-off-by: Simon Glass
Reviewed-by: Heiko Schocher
Reviewed-by: Tom Rini
10 May, 2017
1 commit
-
The PHY framework provides a set of APIs to control a PHY. This API is
derived from the linux version of the generic PHY framework.
Currently the API supports init(), deinit(), power_on, power_off() and
reset(). The framework provides a way to get a reference to a phy from the
device-tree.Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Simon Glass
18 Apr, 2017
1 commit
-
If the system is running PSCI firmware, the System Reset function
(func ID: 0x80000009) is supposed to be handled by PSCI, that is,
the SoC/board specific reset implementation should be moved to PSCI.
U-Boot should call the PSCI service according to the arm-smccc
manner.The arm-smccc is supported on ARMv7 or later. Especially, ARMv8
generation SoCs are likely to run ARM Trusted Firmware BL31. In
this case, U-Boot is a non-secure world boot loader, so it should
not be able to reset the system directly.Signed-off-by: Masahiro Yamada
14 Apr, 2017
1 commit
-
Convert Altera DDR SDRAM driver to use Kconfig method.
Enable ALTERA_SDRAM by default if it is on Gen5 target.
Arria 10 will have different driver.Signed-off-by: Tien Fong Chee
Signed-off-by: Ley Foon Tan
05 Jan, 2017
1 commit
-
Create driver/ddr/fsl/Kconfig and move existing options. Clean up
existing macros.Signed-off-by: York Sun
[trini: Migrate sbc8641d, xpedite537x and MPC8536DS, run a moveconfig.py -s]
Signed-off-by: Tom Rini
27 Sep, 2016
1 commit
-
This version is based on the Marvell U-Boot version with this patch
applied as latest patch:Git ID 7f408573: "fix: comphy: cp110: add comphy initialization for usb
device mode" from 2016-07-05.Signed-off-by: Stefan Roese
Cc: Nadav Haklai
Cc: Kostya Porotchkin
Cc: Wilson Ding
Cc: Victor Gu
Cc: Hua Jing
Cc: Terry Zhou
Cc: Hanna Hawa
Cc: Haim Boot
22 Sep, 2016
1 commit
-
Add missing Kconfig to fpga subsystem to be able
to add new options.Signed-off-by: Michal Simek
12 Aug, 2016
1 commit
-
Create drivers/sysreset and move sysreset-uclass and all sysreset
drivers there.Signed-off-by: Max Filippov
Acked-by: Simon Glass
20 Jun, 2016
1 commit
-
A reset controller is a hardware module that controls reset signals that
affect other hardware modules or chips.This patch defines a standard API that connects reset clients (i.e. the
drivers for devices affected by reset signals) to drivers for reset
controllers/providers. Initially, DT is the only supported method for
connecting the two.The DT binding specification (reset.txt) was taken from Linux kernel
v4.5's Documentation/devicetree/bindings/reset/reset.txt.Signed-off-by: Stephen Warren
Acked-by: Simon Glass
27 May, 2016
1 commit
-
A mailbox is a hardware mechanism for transferring small message and/or
notifications between the CPU on which U-Boot runs and some other device
such as an auxilliary CPU running firmware or a hardware module.This patch defines a standard API that connects mailbox clients to mailbox
providers (drivers). Initially, DT is the only supported method for
connecting the two.The DT binding specification (mailbox.txt) was taken from Linux kernel
v4.5's Documentation/devicetree/bindings/mailbox/mailbox.txt.Signed-off-by: Stephen Warren
Acked-by: Simon Glass
19 Apr, 2016
1 commit
-
Not all Keystone2 devices has AEMIF NAND controller. So adding Kconfig
entry for CONFIG_TI_AEMIF and enabling it in respective defconfigs on
platforms with AEMIF controller.Reported-by: Nishanth Menon
Signed-off-by: Lokesh Vutla
Reviewed-by: Tom Rini
02 Apr, 2016
1 commit
-
Qualcom processors use proprietary bus to talk with PMIC devices -
SPMI (System Power Management Interface).
On wiring level it is similar to I2C, but on protocol level, it's
multi-master and has simple autodetection capabilities.
This commit adds simple uclass that provides bus read/write interface.Signed-off-by: Mateusz Kulikowski
Reviewed-by: Simon Glass
Tested-by: Simon Glass
22 Jan, 2016
1 commit
-
Add a uclass that supports Pulse Width Modulation (PWM) devices. It
provides methods to enable/disable and configure the device.Signed-off-by: Simon Glass
02 Nov, 2015
1 commit
-
This commit adds:
- new uclass id: UCLASS_ADC
- new uclass driver: drivers/adc/adc-uclass.cThe new uclass's API allows for ADC operation on:
* single-channel with channel selection by a number
* multti-channel with channel selection by bit maskADC uclass's functions:
* single-channel:
- adc_start_channel() - start channel conversion
- adc_channel_data() - get conversion data
- adc_channel_single_shot() - start/get conversion data
* multi-channel:
- adc_start_channels() - start selected channels conversion
- adc_channels_data() - get conversion data
- adc_channels_single_shot() - start/get conversion data for channels
selected by bit mask
* general:
- adc_stop() - stop the conversion
- adc_vdd_value() - positive reference Voltage value with polarity [uV]
- adc_vss_value() - negative reference Voltage value with polarity [uV]
- adc_data_mask() - conversion data bit maskThe device tree can provide below constraints/properties:
- vdd-polarity-negative: if true: Vdd = vdd-microvolts * (-1)
- vss-polarity-negative: if true: Vss = vss-microvolts * (-1)
- vdd-supply: phandle to Vdd regulator's node
- vss-supply: phandle to Vss regulator's node
And optional, checked only if the above corresponding, doesn't exist:
- vdd-microvolts: positive reference Voltage [uV]
- vss-microvolts: negative reference Voltage [uV]Signed-off-by: Przemyslaw Marczak
Cc: Simon Glass
Signed-off-by: Minkyu Kang
23 Oct, 2015
1 commit
-
Implement a Timer uclass to work with lib/time.c.
Signed-off-by: Thomas Chou
Acked-by: Simon Glass