From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v0 5/5] spi: Add support for Armada 38x second controller
Date: Wed, 28 Oct 2015 17:39:20 +0100 [thread overview]
Message-ID: <5630FA38.5090000@denx.de> (raw)
In-Reply-To: <CAD6G_RQos2Bq3McVCabvATGk1hk11x46LpAn=bANEotb57zBHw@mail.gmail.com>
Hi Dirk,
On 28.10.2015 17:29, Jagan Teki wrote:
> On 28 October 2015 at 21:14, <dirk.eibach@gdsys.cc> wrote:
>> From: Dirk Eibach <dirk.eibach@gdsys.cc>
>>
>> Armada 38x has two spi controllers.
>>
>> Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
>> ---
>>
>> drivers/spi/kirkwood_spi.c | 52 +++++++++++++++++++++++++++++++++++++++-------
>> 1 file changed, 45 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/spi/kirkwood_spi.c b/drivers/spi/kirkwood_spi.c
>> index e7b0982..200c391 100644
>> --- a/drivers/spi/kirkwood_spi.c
>> +++ b/drivers/spi/kirkwood_spi.c
>> @@ -18,17 +18,25 @@
>> #endif
>> #include <asm/arch-mvebu/spi.h>
>>
>> -static struct kwspi_registers *spireg =
>> - (struct kwspi_registers *)MVEBU_SPI_BASE;
>> -
>> #ifdef CONFIG_KIRKWOOD
>> static u32 cs_spi_mpp_back[2];
>> #endif
>>
>> +struct kwspi_slave {
>> + struct spi_slave slave;
>> + struct kwspi_registers *spireg;
>> +};
>> +
>> +static inline struct kwspi_slave *to_kwspi(struct spi_slave *slave)
>> +{
>> + return container_of(slave, struct kwspi_slave, slave);
>> +}
>> +
>> struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
>> unsigned int max_hz, unsigned int mode)
>> {
>> - struct spi_slave *slave;
>> + struct kwspi_slave *kwspi_slave;
>> + struct kwspi_registers *spireg;
>> u32 data;
>> #ifdef CONFIG_KIRKWOOD
>> static const u32 kwspi_mpp_config[2][2] = {
>> @@ -40,10 +48,27 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
>> if (!spi_cs_is_valid(bus, cs))
>> return NULL;
>>
>> - slave = spi_alloc_slave_base(bus, cs);
>> - if (!slave)
>> + kwspi_slave = spi_alloc_slave(struct kwspi_slave, bus, cs);
>> + if (!kwspi_slave)
>> return NULL;
>>
>> + switch (bus) {
>> + case 0:
>> + kwspi_slave->spireg = (struct kwspi_registers *)MVEBU_SPI_BASE;
>> + break;
>> +#ifdef CONFIG_ARMADA_38X
>> + /* Armada 38x has two SPI controllers */
>
> Can you please add this through driver-model, I understand it's bit
> big task but I can help you at any moment.
Yes, please do. I know this is additional work. But we really need to
get there at some time. And please note that you can use the
runtime SoC detection for this:
if (mvebu_soc_family() == MVEBU_SOC_A38X)
So no new #idefs are needed in such places.
Thanks,
Stefan
next prev parent reply other threads:[~2015-10-28 16:39 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-28 15:44 [U-Boot] [PATCH v0 0/5] Some improvements for mvebu/a38x dirk.eibach at gdsys.cc
2015-10-28 15:44 ` [U-Boot] [PATCH v0 1/5] pci: mvebu: Fix Armada 38x support dirk.eibach at gdsys.cc
2015-10-28 16:24 ` Stefan Roese
2015-11-17 12:55 ` Anton Schubert
2015-11-18 12:48 ` Dirk Eibach
2015-11-18 13:23 ` Anton Schubert
2015-11-18 14:51 ` Dirk Eibach
2015-10-28 15:44 ` [U-Boot] [PATCH v0 2/5] arm: mvebu: Add gpio support dirk.eibach at gdsys.cc
2015-10-28 16:41 ` Stefan Roese
2015-10-28 15:44 ` [U-Boot] [PATCH v0 3/5] arm: mvebu: Fix SAR1_CPU_CORE_MASK dirk.eibach at gdsys.cc
2015-10-28 16:34 ` Stefan Roese
2015-10-29 9:41 ` Dirk Eibach
2015-10-29 9:45 ` Luka Perkov
2015-10-28 15:44 ` [U-Boot] [PATCH v0 4/5] arm: mvebu: Fix ddr3_init() cpu config dirk.eibach at gdsys.cc
2015-10-28 16:35 ` Stefan Roese
2015-10-29 9:51 ` Dirk Eibach
2015-10-29 10:03 ` Stefan Roese
2016-03-24 8:37 ` Stefan Roese
2015-10-28 15:44 ` [U-Boot] [PATCH v0 5/5] spi: Add support for Armada 38x second controller dirk.eibach at gdsys.cc
2015-10-28 16:29 ` Jagan Teki
2015-10-28 16:39 ` Stefan Roese [this message]
2015-10-29 9:54 ` Dirk Eibach
2015-10-29 10:02 ` Stefan Roese
2015-10-29 10:31 ` Dirk Eibach
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5630FA38.5090000@denx.de \
--to=sr@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.