[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