diff mbox

[U-Boot,4/6] zynqmp: Add SPI driver support for ZynqMP

Message ID 3f37c0c8bd898317140725722fbc5ef0f883c249.1429104800.git.michal.simek@xilinx.com
State Accepted
Delegated to: Michal Simek
Headers show

Commit Message

Michal Simek April 15, 2015, 1:33 p.m. UTC
From: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>

Added the SPI driver support for ZynqMP
The controller is same as zynq SPI controller

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

 arch/arm/include/asm/arch-zynqmp/hardware.h | 3 +++
 include/configs/xilinx_zynqmp.h             | 8 ++++++++
 2 files changed, 11 insertions(+)

Comments

Jagan Teki April 16, 2015, 6:13 p.m. UTC | #1
On 15 April 2015 at 19:03, Michal Simek <michal.simek@xilinx.com> wrote:
> From: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
>
> Added the SPI driver support for ZynqMP
> The controller is same as zynq SPI controller
>
> Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
>
>  arch/arm/include/asm/arch-zynqmp/hardware.h | 3 +++
>  include/configs/xilinx_zynqmp.h             | 8 ++++++++
>  2 files changed, 11 insertions(+)
>
> diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h b/arch/arm/include/asm/arch-zynqmp/hardware.h
> index 1fedb1bb4b94..c9dc49d78317 100644
> --- a/arch/arm/include/asm/arch-zynqmp/hardware.h
> +++ b/arch/arm/include/asm/arch-zynqmp/hardware.h
> @@ -11,6 +11,9 @@
>  #define ZYNQ_SERIAL_BASEADDR0  0xFF000000
>  #define ZYNQ_SERIAL_BASEADDR1  0xFF001000
>
> +#define ZYNQ_SPI_BASEADDR0     0xFF040000
> +#define ZYNQ_SPI_BASEADDR1     0xFF050000
> +
>  #define ZYNQ_I2C_BASEADDR0     0xFF020000
>  #define ZYNQ_I2C_BASEADDR1     0xFF030000
>
> diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
> index 54bca6d47b72..df7541b85baf 100644
> --- a/include/configs/xilinx_zynqmp.h
> +++ b/include/configs/xilinx_zynqmp.h
> @@ -71,6 +71,14 @@
>  #define CONFIG_CMD_ELF
>  #define CONFIG_MP
>
> +/* SPI */
> +#ifdef CONFIG_ZYNQ_SPI
> +# define CONFIG_SPI_FLASH
> +# define CONFIG_SPI_FLASH_SST
> +# define CONFIG_CMD_SPI

CMD_SPI is never been verified I suppose, if so not required at this
point of time.

> +# define CONFIG_CMD_SF
> +#endif
> +
>  #if defined(CONFIG_ZYNQ_SDHCI0) || defined(CONFIG_ZYNQ_SDHCI1)
>  # define CONFIG_MMC
>  # define CONFIG_GENERIC_MMC
> --
> 2.3.5

thanks!
Michal Simek April 17, 2015, 5:32 a.m. UTC | #2
On 04/16/2015 08:13 PM, Jagan Teki wrote:
> On 15 April 2015 at 19:03, Michal Simek <michal.simek@xilinx.com> wrote:
>> From: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
>>
>> Added the SPI driver support for ZynqMP
>> The controller is same as zynq SPI controller
>>
>> Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>> ---
>>
>>  arch/arm/include/asm/arch-zynqmp/hardware.h | 3 +++
>>  include/configs/xilinx_zynqmp.h             | 8 ++++++++
>>  2 files changed, 11 insertions(+)
>>
>> diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h b/arch/arm/include/asm/arch-zynqmp/hardware.h
>> index 1fedb1bb4b94..c9dc49d78317 100644
>> --- a/arch/arm/include/asm/arch-zynqmp/hardware.h
>> +++ b/arch/arm/include/asm/arch-zynqmp/hardware.h
>> @@ -11,6 +11,9 @@
>>  #define ZYNQ_SERIAL_BASEADDR0  0xFF000000
>>  #define ZYNQ_SERIAL_BASEADDR1  0xFF001000
>>
>> +#define ZYNQ_SPI_BASEADDR0     0xFF040000
>> +#define ZYNQ_SPI_BASEADDR1     0xFF050000
>> +
>>  #define ZYNQ_I2C_BASEADDR0     0xFF020000
>>  #define ZYNQ_I2C_BASEADDR1     0xFF030000
>>
>> diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
>> index 54bca6d47b72..df7541b85baf 100644
>> --- a/include/configs/xilinx_zynqmp.h
>> +++ b/include/configs/xilinx_zynqmp.h
>> @@ -71,6 +71,14 @@
>>  #define CONFIG_CMD_ELF
>>  #define CONFIG_MP
>>
>> +/* SPI */
>> +#ifdef CONFIG_ZYNQ_SPI
>> +# define CONFIG_SPI_FLASH
>> +# define CONFIG_SPI_FLASH_SST
>> +# define CONFIG_CMD_SPI
> 
> CMD_SPI is never been verified I suppose, if so not required at this
> point of time.

It is enabled on 75 platforms that's why I can't see any problem with
it. If something is not verified then it should be verified. If it is
completely broken it should be removed.

Thanks,
Michal
Jagan Teki April 17, 2015, 8:40 a.m. UTC | #3
On 17 April 2015 at 11:02, Michal Simek <michal.simek@xilinx.com> wrote:
> On 04/16/2015 08:13 PM, Jagan Teki wrote:
>> On 15 April 2015 at 19:03, Michal Simek <michal.simek@xilinx.com> wrote:
>>> From: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
>>>
>>> Added the SPI driver support for ZynqMP
>>> The controller is same as zynq SPI controller
>>>
>>> Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
>>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>>> ---
>>>
>>>  arch/arm/include/asm/arch-zynqmp/hardware.h | 3 +++
>>>  include/configs/xilinx_zynqmp.h             | 8 ++++++++
>>>  2 files changed, 11 insertions(+)
>>>
>>> diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h b/arch/arm/include/asm/arch-zynqmp/hardware.h
>>> index 1fedb1bb4b94..c9dc49d78317 100644
>>> --- a/arch/arm/include/asm/arch-zynqmp/hardware.h
>>> +++ b/arch/arm/include/asm/arch-zynqmp/hardware.h
>>> @@ -11,6 +11,9 @@
>>>  #define ZYNQ_SERIAL_BASEADDR0  0xFF000000
>>>  #define ZYNQ_SERIAL_BASEADDR1  0xFF001000
>>>
>>> +#define ZYNQ_SPI_BASEADDR0     0xFF040000
>>> +#define ZYNQ_SPI_BASEADDR1     0xFF050000
>>> +
>>>  #define ZYNQ_I2C_BASEADDR0     0xFF020000
>>>  #define ZYNQ_I2C_BASEADDR1     0xFF030000
>>>
>>> diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
>>> index 54bca6d47b72..df7541b85baf 100644
>>> --- a/include/configs/xilinx_zynqmp.h
>>> +++ b/include/configs/xilinx_zynqmp.h
>>> @@ -71,6 +71,14 @@
>>>  #define CONFIG_CMD_ELF
>>>  #define CONFIG_MP
>>>
>>> +/* SPI */
>>> +#ifdef CONFIG_ZYNQ_SPI
>>> +# define CONFIG_SPI_FLASH
>>> +# define CONFIG_SPI_FLASH_SST
>>> +# define CONFIG_CMD_SPI
>>
>> CMD_SPI is never been verified I suppose, if so not required at this
>> point of time.
>
> It is enabled on 75 platforms that's why I can't see any problem with
> it. If something is not verified then it should be verified. If it is
> completely broken it should be removed.

I do understand that it uses more boards based on their usage and need,
I believe zynq_spi mostly for flash related ops, if ie the case CMD_SF
enough I guess.

thaks!
Siva Durga Prasad Paladugu April 20, 2015, 6:52 a.m. UTC | #4
Hi Jagan,

> -----Original Message-----

> From: Jagan Teki [mailto:jagannadh.teki@gmail.com]

> Sent: Friday, April 17, 2015 2:11 PM

> To: Michal Simek

> Cc: u-boot@lists.denx.de; Tom Rini; Siva Durga Prasad Paladugu

> Subject: Re: [U-Boot] [PATCH 4/6] zynqmp: Add SPI driver support for

> ZynqMP

> 

> On 17 April 2015 at 11:02, Michal Simek <michal.simek@xilinx.com> wrote:

> > On 04/16/2015 08:13 PM, Jagan Teki wrote:

> >> On 15 April 2015 at 19:03, Michal Simek <michal.simek@xilinx.com> wrote:

> >>> From: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>

> >>>

> >>> Added the SPI driver support for ZynqMP The controller is same as

> >>> zynq SPI controller

> >>>

> >>> Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>

> >>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>

> >>> ---

> >>>

> >>>  arch/arm/include/asm/arch-zynqmp/hardware.h | 3 +++

> >>>  include/configs/xilinx_zynqmp.h             | 8 ++++++++

> >>>  2 files changed, 11 insertions(+)

> >>>

> >>> diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h

> >>> b/arch/arm/include/asm/arch-zynqmp/hardware.h

> >>> index 1fedb1bb4b94..c9dc49d78317 100644

> >>> --- a/arch/arm/include/asm/arch-zynqmp/hardware.h

> >>> +++ b/arch/arm/include/asm/arch-zynqmp/hardware.h

> >>> @@ -11,6 +11,9 @@

> >>>  #define ZYNQ_SERIAL_BASEADDR0  0xFF000000  #define

> >>> ZYNQ_SERIAL_BASEADDR1  0xFF001000

> >>>

> >>> +#define ZYNQ_SPI_BASEADDR0     0xFF040000

> >>> +#define ZYNQ_SPI_BASEADDR1     0xFF050000

> >>> +

> >>>  #define ZYNQ_I2C_BASEADDR0     0xFF020000

> >>>  #define ZYNQ_I2C_BASEADDR1     0xFF030000

> >>>

> >>> diff --git a/include/configs/xilinx_zynqmp.h

> >>> b/include/configs/xilinx_zynqmp.h index 54bca6d47b72..df7541b85baf

> >>> 100644

> >>> --- a/include/configs/xilinx_zynqmp.h

> >>> +++ b/include/configs/xilinx_zynqmp.h

> >>> @@ -71,6 +71,14 @@

> >>>  #define CONFIG_CMD_ELF

> >>>  #define CONFIG_MP

> >>>

> >>> +/* SPI */

> >>> +#ifdef CONFIG_ZYNQ_SPI

> >>> +# define CONFIG_SPI_FLASH

> >>> +# define CONFIG_SPI_FLASH_SST

> >>> +# define CONFIG_CMD_SPI

> >>

> >> CMD_SPI is never been verified I suppose, if so not required at this

> >> point of time.

> >

> > It is enabled on 75 platforms that's why I can't see any problem with

> > it. If something is not verified then it should be verified. If it is

> > completely broken it should be removed.

> 

> I do understand that it uses more boards based on their usage and need, I

> believe zynq_spi mostly for flash related ops, if ie the case CMD_SF enough I

> guess.


We didn’t need it at this point of time and also not verified. 
Its mostly flash related ops which we use. Will send v2 for the same.

Regards,
Siva

> 

> thaks!

> --

> Jagan.
diff mbox

Patch

diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h b/arch/arm/include/asm/arch-zynqmp/hardware.h
index 1fedb1bb4b94..c9dc49d78317 100644
--- a/arch/arm/include/asm/arch-zynqmp/hardware.h
+++ b/arch/arm/include/asm/arch-zynqmp/hardware.h
@@ -11,6 +11,9 @@ 
 #define ZYNQ_SERIAL_BASEADDR0	0xFF000000
 #define ZYNQ_SERIAL_BASEADDR1	0xFF001000
 
+#define ZYNQ_SPI_BASEADDR0	0xFF040000
+#define ZYNQ_SPI_BASEADDR1	0xFF050000
+
 #define ZYNQ_I2C_BASEADDR0	0xFF020000
 #define ZYNQ_I2C_BASEADDR1	0xFF030000
 
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index 54bca6d47b72..df7541b85baf 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -71,6 +71,14 @@ 
 #define CONFIG_CMD_ELF
 #define CONFIG_MP
 
+/* SPI */
+#ifdef CONFIG_ZYNQ_SPI
+# define CONFIG_SPI_FLASH
+# define CONFIG_SPI_FLASH_SST
+# define CONFIG_CMD_SPI
+# define CONFIG_CMD_SF
+#endif
+
 #if defined(CONFIG_ZYNQ_SDHCI0) || defined(CONFIG_ZYNQ_SDHCI1)
 # define CONFIG_MMC
 # define CONFIG_GENERIC_MMC