1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-04 18:22:02 +02:00

clk: Extend clock control with an optional data field

Some systems require more than a single ID to identify and configure any
clock provider. For those scenarios add an optional data field to the
clock control structure.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
Andreas Dannenberg
2018-08-27 15:57:42 +05:30
committed by Tom Rini
parent 65c8a79811
commit 3b3969bd36

View File

@@ -40,10 +40,12 @@ struct udevice;
* *
* @dev: The device which implements the clock signal. * @dev: The device which implements the clock signal.
* @id: The clock signal ID within the provider. * @id: The clock signal ID within the provider.
* @data: An optional data field for scenarios where a single integer ID is not
* sufficient. If used, it can be populated through an .of_xlate op and
* processed during the various clock ops.
* *
* Currently, the clock API assumes that a single integer ID is enough to * Should additional information to identify and configure any clock signal
* identify and configure any clock signal for any clock provider. If this * for any provider be required in the future, the struct could be expanded to
* assumption becomes invalid in the future, the struct could be expanded to
* either (a) add more fields to allow clock providers to store additional * either (a) add more fields to allow clock providers to store additional
* information, or (b) replace the id field with an opaque pointer, which the * information, or (b) replace the id field with an opaque pointer, which the
* provider would dynamically allocated during its .of_xlate op, and process * provider would dynamically allocated during its .of_xlate op, and process
@@ -53,10 +55,10 @@ struct udevice;
struct clk { struct clk {
struct udevice *dev; struct udevice *dev;
/* /*
* Written by of_xlate. We assume a single id is enough for now. In the * Written by of_xlate. In the future, we might add more fields here.
* future, we might add more fields here.
*/ */
unsigned long id; unsigned long id;
unsigned long data;
}; };
/** /**