[U-Boot] [PATCH v3 1/3] drivers: Add board uclass
Mario Six
mario.six at gdsys.cc
Tue Jul 31 09:38:46 UTC 2018
Hi Simon,
On Wed, Jun 27, 2018 at 11:03 PM, Simon Glass <sjg at chromium.org> wrote:
> Hi Mario,
>
> On 27 June 2018 at 00:03, Mario Six <mario.six at gdsys.cc> wrote:
>>
>> 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.
>>
>> Signed-off-by: Mario Six <mario.six at gdsys.cc>
>>
>> ---
>>
>> v2 -> v3:
>> * Expanded comment on detect()
>> * Added error handling in example
>> * Renamed get_board() to board_get()
>> * Fixed style violations
>> * Documented board_get
>> * Made comments conform with kernel-doc
>> * Fixed SPDC-License-Identifier position
>>
>> v1 -> v2:
>> * Corrected description of dev parameter of devinfo_detect
>> * Added size parameter to devinfo_get_str
>> * Expanded uclass documentation
>> * Added function to get devinfo instance
>> * Renamed the uclass from devinfo to board
>>
>> ---
>> drivers/Kconfig | 2 +
>> drivers/Makefile | 1 +
>> drivers/board/Kconfig | 17 ++++++
>> drivers/board/Makefile | 6 ++
>> drivers/board/board-uclass.c | 60 +++++++++++++++++++
>> include/board.h | 139 +++++++++++++++++++++++++++++++++++++++++++
>> include/dm/uclass-id.h | 1 +
>> 7 files changed, 226 insertions(+)
>> create mode 100644 drivers/board/Kconfig
>> create mode 100644 drivers/board/Makefile
>> create mode 100644 drivers/board/board-uclass.c
>> create mode 100644 include/board.h
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> But please see below.
>
>>
>> diff --git a/drivers/Kconfig b/drivers/Kconfig
>> index 9e21b28750..48f7302506 100644
>> --- a/drivers/Kconfig
>> +++ b/drivers/Kconfig
>> @@ -22,6 +22,8 @@ source "drivers/ddr/Kconfig"
>>
>> source "drivers/demo/Kconfig"
>>
>> +source "drivers/board/Kconfig"
>> +
>> source "drivers/ddr/fsl/Kconfig"
>>
>> source "drivers/dfu/Kconfig"
>> diff --git a/drivers/Makefile b/drivers/Makefile
>> index a213ea9671..c2a363a66f 100644
>> --- a/drivers/Makefile
>> +++ b/drivers/Makefile
>> @@ -68,6 +68,7 @@ obj-y += ata/
>> obj-$(CONFIG_DM_DEMO) += demo/
>> obj-$(CONFIG_BIOSEMU) += bios_emulator/
>> obj-y += block/
>> +obj-y += board/
>> obj-$(CONFIG_BOOTCOUNT_LIMIT) += bootcount/
>> obj-$(CONFIG_CPU) += cpu/
>> obj-y += crypto/
>> diff --git a/drivers/board/Kconfig b/drivers/board/Kconfig
>> new file mode 100644
>> index 0000000000..cc1cf27205
>> --- /dev/null
>> +++ b/drivers/board/Kconfig
>> @@ -0,0 +1,17 @@
>> +menuconfig BOARD
>> + bool "Device Information"
>> + help
>> + Support methods to query hardware configurations from internal
>> + mechanisms (e.g. reading GPIO values, determining the presence of
>> + devices on busses, etc.). This enables the usage of U-Boot with
>> + modular board architectures.
>> +
>> +if BOARD
>> +
>> +
>> +config BOARD_GAZERBEAM
>> + bool "Enable device information for the Gazerbeam board"
>> + help
>> + Support querying device information for the gdsys Gazerbeam board.
>> +
>
> This should go in your board-specific patch, not the uclass.
> [..]
>
Indeed, that should be in the other patch.
Will be fixed in v4.
> Regards,
> Simon
Best regards,
Mario
More information about the U-Boot
mailing list