[U-Boot] [PATCH 1/7] drivers: Add AXI uclass and ihs_axi driver

Mario Six mario.six at gdsys.cc
Wed Apr 11 06:43:14 UTC 2018


Hi Simon,

On Fri, Mar 30, 2018 at 10:41 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi Mario,
>
> On 28 March 2018 at 20:40, Mario Six <mario.six at gdsys.cc> wrote:
>> 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 <mario.six at gdsys.cc>
>> ---
>>  drivers/Kconfig          |   2 +
>>  drivers/Makefile         |   1 +
>>  drivers/axi/Kconfig      |  24 ++++++
>>  drivers/axi/Makefile     |   9 +++
>>  drivers/axi/axi-uclass.c |  40 ++++++++++
>>  drivers/axi/ihs_axi.c    | 199 +++++++++++++++++++++++++++++++++++++++++++++++
>>  include/axi.h            |  75 ++++++++++++++++++
>>  include/dm/uclass-id.h   |   1 +
>>  8 files changed, 351 insertions(+)
>>  create mode 100644 drivers/axi/Kconfig
>>  create mode 100644 drivers/axi/Makefile
>>  create mode 100644 drivers/axi/axi-uclass.c
>>  create mode 100644 drivers/axi/ihs_axi.c
>>  create mode 100644 include/axi.h
>
> Would UCLASS_MAILBOX be suitable here?
>
> It's fine if you want a new uclass, just checking.
>

>From what I understand about the mailbox uclass, it's more for "one-off"
devices that need to transfer messages, while AXI is a type of bus, much like
I2C or SPI, so I think the mailbox uclass doesn't really encompass all that AXI
is about.

> Please split out your driver into a separate patch. Adding the new
> uclass should be in its own patch.
>

OK, will split them in v2.

>>
>> diff --git a/drivers/Kconfig b/drivers/Kconfig
>> index c2e813f5ad..eeaaa7575c 100644
>> --- a/drivers/Kconfig
>> +++ b/drivers/Kconfig
>> @@ -8,6 +8,8 @@ source "drivers/adc/Kconfig"
>>
>>  source "drivers/ata/Kconfig"
>>
>> +source "drivers/axi/Kconfig"
>> +
>>  source "drivers/block/Kconfig"
>>
>>  source "drivers/bootcount/Kconfig"
>> diff --git a/drivers/Makefile b/drivers/Makefile
>> index 6846d181aa..f54a10f3ad 100644
>> --- a/drivers/Makefile
>> +++ b/drivers/Makefile
>> @@ -100,6 +100,7 @@ obj-y += input/
>>  obj-y += soc/
>>  obj-$(CONFIG_REMOTEPROC) += remoteproc/
>>  obj-y += thermal/
>> +obj-y += axi/
>>
>>  obj-$(CONFIG_MACH_PIC32) += ddr/microchip/
>>  endif
>> diff --git a/drivers/axi/Kconfig b/drivers/axi/Kconfig
>> new file mode 100644
>> index 0000000000..19e1b7fd2f
>> --- /dev/null
>> +++ b/drivers/axi/Kconfig
>> @@ -0,0 +1,24 @@
>> +menuconfig AXI
>> +       bool "AXI bus drivers"
>> +       help
>> +         Support AXI (Advanced eXtensible Interface) busses, a on-chip
>> +         interconnect specification for managing functional blocks in SoC
>> +         designs, which is also often used in designs involving FPGAs (e.g.
>> +         communication with IP cores in Xilinx FPGAs).
>> +
>> +         These types of busses expose a virtual address space that can be
>> +         accessed using different address widths (8, 16, and 32 are supported
>> +         for now).
>> +
>> +         Other similar bus architectures may be compatible as well.
>> +
>> +if AXI
>> +
>> +config IHS_AXI
>> +       bool "Enable IHS AXI driver"
>> +       depends on DM
>> +       help
>> +         Support for IHS AXI bus on a gdsys IHS FPGA used to communicate with
>> +         IP cores in the FPGA (e.g. video transmitter cores).
>
> Please also spell out the abbreviations in the help
>

Will do in v2.

> [...]
>
> Regards,
> Simon
>

Best regards,

Mario


More information about the U-Boot mailing list