From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH V2 3/4] ARM: shmobile: koelsch: Add QSPI support
Date: Sun, 12 Jan 2014 21:46:40 +0000 [thread overview]
Message-ID: <30881023.1VWPBCH6CR@avalon> (raw)
In-Reply-To: <1389524433-2823-4-git-send-email-geert@linux-m68k.org>
Hi Geert,
Thank you for the patch.
On Sunday 12 January 2014 12:00:32 Geert Uytterhoeven wrote:
> From: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
>
> Enable support for the Spansion s25fl512s SPI FLASH on the Koelsch board:
> - Add QSPI platform device, resources, platform data, and pinmux,
> - Add FLASH data and MTD partitions.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> V2:
> - Split in 2 groups (qspi_ctrl/qspi_data4)
>
> arch/arm/mach-shmobile/board-koelsch.c | 64
> ++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+)
>
> diff --git a/arch/arm/mach-shmobile/board-koelsch.c
> b/arch/arm/mach-shmobile/board-koelsch.c index de7cc64b1f37..37e4a6fd36b3
> 100644
> --- a/arch/arm/mach-shmobile/board-koelsch.c
> +++ b/arch/arm/mach-shmobile/board-koelsch.c
> @@ -25,12 +25,17 @@
> #include <linux/input.h>
> #include <linux/kernel.h>
> #include <linux/leds.h>
> +#include <linux/mtd/mtd.h>
> +#include <linux/mtd/partitions.h>
> #include <linux/phy.h>
> #include <linux/pinctrl/machine.h>
> #include <linux/platform_data/gpio-rcar.h>
> #include <linux/platform_data/rcar-du.h>
> #include <linux/platform_device.h>
> #include <linux/sh_eth.h>
> +#include <linux/spi/flash.h>
> +#include <linux/spi/rspi.h>
> +#include <linux/spi/spi.h>
> #include <mach/common.h>
> #include <mach/irqs.h>
> #include <mach/r8a7791.h>
> @@ -148,6 +153,55 @@ static const struct gpio_keys_platform_data
> koelsch_keys_pdata __initconst = { .nbuttons = ARRAY_SIZE(gpio_buttons),
> };
>
> +/* QSPI */
> +static const struct resource qspi_resources[] __initconst = {
> + DEFINE_RES_MEM(0xe6b10000, 0x1000),
> + DEFINE_RES_IRQ(gic_spi(184)),
> +};
> +
> +static const struct rspi_plat_data qspi_pdata __initconst = {
> + .num_chipselect = 1,
> +};
> +
> +/* SPI Flash memory (Spansion S25FL512SAGMFIG11 64 MiB) */
> +static struct mtd_partition spi_flash_part[] = {
> + {
> + .name = "loader",
> + .offset = 0x00000000,
> + .size = 512 * 1024,
> + .mask_flags = MTD_WRITEABLE,
> + },
> + {
> + .name = "bootenv",
> + .offset = MTDPART_OFS_APPEND,
> + .size = 512 * 1024,
> + .mask_flags = MTD_WRITEABLE,
> + },
> + {
> + .name = "data",
> + .offset = MTDPART_OFS_APPEND,
> + .size = MTDPART_SIZ_FULL,
> + },
> +};
> +
> +static const struct flash_platform_data spi_flash_data = {
> + .name = "m25p80",
> + .parts = spi_flash_part,
> + .nr_parts = ARRAY_SIZE(spi_flash_part),
> + .type = "s25fl512s",
> +};
> +
> +static const struct spi_board_info spi_info[] __initconst = {
> + {
> + .modalias = "m25p80",
> + .platform_data = &spi_flash_data,
> + .mode = SPI_MODE_0,
> + .max_speed_hz = 30000000,
> + .bus_num = 0,
> + .chip_select = 0,
> + },
> +};
> +
> static const struct pinctrl_map koelsch_pinctrl_map[] = {
> /* DU */
> PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7791", "pfc-r8a7791",
> @@ -165,6 +219,11 @@ static const struct pinctrl_map koelsch_pinctrl_map[] > { "eth_rmii", "eth"),
> PIN_MAP_MUX_GROUP_DEFAULT("r8a7791-ether", "pfc-r8a7791",
> "intc_irq0", "intc"),
> + /* QSPI */
> + PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791",
> + "qspi_ctrl", "qspi"),
> + PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791",
> + "qspi_data4", "qspi"),
> /* SCIF0 (CN19: DEBUG SERIAL0) */
> PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7791",
> "scif0_data_d", "scif0"),
> @@ -190,6 +249,11 @@ static void __init koelsch_add_standard_devices(void)
> platform_device_register_data(&platform_bus, "gpio-keys", -1,
> &koelsch_keys_pdata,
> sizeof(koelsch_keys_pdata));
> + platform_device_register_resndata(&platform_bus, "qspi", 0,
> + qspi_resources,
> + ARRAY_SIZE(qspi_resources),
> + &qspi_pdata, sizeof(qspi_pdata));
> + spi_register_board_info(spi_info, ARRAY_SIZE(spi_info));
>
> koelsch_add_du_device();
> }
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Simon Horman <horms@verge.net.au>,
Magnus Damm <magnus.damm@gmail.com>,
linux-sh@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-spi@vger.kernel.org,
Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Subject: Re: [PATCH V2 3/4] ARM: shmobile: koelsch: Add QSPI support
Date: Sun, 12 Jan 2014 22:46:40 +0100 [thread overview]
Message-ID: <30881023.1VWPBCH6CR@avalon> (raw)
In-Reply-To: <1389524433-2823-4-git-send-email-geert@linux-m68k.org>
Hi Geert,
Thank you for the patch.
On Sunday 12 January 2014 12:00:32 Geert Uytterhoeven wrote:
> From: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
>
> Enable support for the Spansion s25fl512s SPI FLASH on the Koelsch board:
> - Add QSPI platform device, resources, platform data, and pinmux,
> - Add FLASH data and MTD partitions.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> V2:
> - Split in 2 groups (qspi_ctrl/qspi_data4)
>
> arch/arm/mach-shmobile/board-koelsch.c | 64
> ++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+)
>
> diff --git a/arch/arm/mach-shmobile/board-koelsch.c
> b/arch/arm/mach-shmobile/board-koelsch.c index de7cc64b1f37..37e4a6fd36b3
> 100644
> --- a/arch/arm/mach-shmobile/board-koelsch.c
> +++ b/arch/arm/mach-shmobile/board-koelsch.c
> @@ -25,12 +25,17 @@
> #include <linux/input.h>
> #include <linux/kernel.h>
> #include <linux/leds.h>
> +#include <linux/mtd/mtd.h>
> +#include <linux/mtd/partitions.h>
> #include <linux/phy.h>
> #include <linux/pinctrl/machine.h>
> #include <linux/platform_data/gpio-rcar.h>
> #include <linux/platform_data/rcar-du.h>
> #include <linux/platform_device.h>
> #include <linux/sh_eth.h>
> +#include <linux/spi/flash.h>
> +#include <linux/spi/rspi.h>
> +#include <linux/spi/spi.h>
> #include <mach/common.h>
> #include <mach/irqs.h>
> #include <mach/r8a7791.h>
> @@ -148,6 +153,55 @@ static const struct gpio_keys_platform_data
> koelsch_keys_pdata __initconst = { .nbuttons = ARRAY_SIZE(gpio_buttons),
> };
>
> +/* QSPI */
> +static const struct resource qspi_resources[] __initconst = {
> + DEFINE_RES_MEM(0xe6b10000, 0x1000),
> + DEFINE_RES_IRQ(gic_spi(184)),
> +};
> +
> +static const struct rspi_plat_data qspi_pdata __initconst = {
> + .num_chipselect = 1,
> +};
> +
> +/* SPI Flash memory (Spansion S25FL512SAGMFIG11 64 MiB) */
> +static struct mtd_partition spi_flash_part[] = {
> + {
> + .name = "loader",
> + .offset = 0x00000000,
> + .size = 512 * 1024,
> + .mask_flags = MTD_WRITEABLE,
> + },
> + {
> + .name = "bootenv",
> + .offset = MTDPART_OFS_APPEND,
> + .size = 512 * 1024,
> + .mask_flags = MTD_WRITEABLE,
> + },
> + {
> + .name = "data",
> + .offset = MTDPART_OFS_APPEND,
> + .size = MTDPART_SIZ_FULL,
> + },
> +};
> +
> +static const struct flash_platform_data spi_flash_data = {
> + .name = "m25p80",
> + .parts = spi_flash_part,
> + .nr_parts = ARRAY_SIZE(spi_flash_part),
> + .type = "s25fl512s",
> +};
> +
> +static const struct spi_board_info spi_info[] __initconst = {
> + {
> + .modalias = "m25p80",
> + .platform_data = &spi_flash_data,
> + .mode = SPI_MODE_0,
> + .max_speed_hz = 30000000,
> + .bus_num = 0,
> + .chip_select = 0,
> + },
> +};
> +
> static const struct pinctrl_map koelsch_pinctrl_map[] = {
> /* DU */
> PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7791", "pfc-r8a7791",
> @@ -165,6 +219,11 @@ static const struct pinctrl_map koelsch_pinctrl_map[] =
> { "eth_rmii", "eth"),
> PIN_MAP_MUX_GROUP_DEFAULT("r8a7791-ether", "pfc-r8a7791",
> "intc_irq0", "intc"),
> + /* QSPI */
> + PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791",
> + "qspi_ctrl", "qspi"),
> + PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791",
> + "qspi_data4", "qspi"),
> /* SCIF0 (CN19: DEBUG SERIAL0) */
> PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7791",
> "scif0_data_d", "scif0"),
> @@ -190,6 +249,11 @@ static void __init koelsch_add_standard_devices(void)
> platform_device_register_data(&platform_bus, "gpio-keys", -1,
> &koelsch_keys_pdata,
> sizeof(koelsch_keys_pdata));
> + platform_device_register_resndata(&platform_bus, "qspi", 0,
> + qspi_resources,
> + ARRAY_SIZE(qspi_resources),
> + &qspi_pdata, sizeof(qspi_pdata));
> + spi_register_board_info(spi_info, ARRAY_SIZE(spi_info));
>
> koelsch_add_du_device();
> }
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: laurent.pinchart@ideasonboard.com (Laurent Pinchart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2 3/4] ARM: shmobile: koelsch: Add QSPI support
Date: Sun, 12 Jan 2014 22:46:40 +0100 [thread overview]
Message-ID: <30881023.1VWPBCH6CR@avalon> (raw)
In-Reply-To: <1389524433-2823-4-git-send-email-geert@linux-m68k.org>
Hi Geert,
Thank you for the patch.
On Sunday 12 January 2014 12:00:32 Geert Uytterhoeven wrote:
> From: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
>
> Enable support for the Spansion s25fl512s SPI FLASH on the Koelsch board:
> - Add QSPI platform device, resources, platform data, and pinmux,
> - Add FLASH data and MTD partitions.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> V2:
> - Split in 2 groups (qspi_ctrl/qspi_data4)
>
> arch/arm/mach-shmobile/board-koelsch.c | 64
> ++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+)
>
> diff --git a/arch/arm/mach-shmobile/board-koelsch.c
> b/arch/arm/mach-shmobile/board-koelsch.c index de7cc64b1f37..37e4a6fd36b3
> 100644
> --- a/arch/arm/mach-shmobile/board-koelsch.c
> +++ b/arch/arm/mach-shmobile/board-koelsch.c
> @@ -25,12 +25,17 @@
> #include <linux/input.h>
> #include <linux/kernel.h>
> #include <linux/leds.h>
> +#include <linux/mtd/mtd.h>
> +#include <linux/mtd/partitions.h>
> #include <linux/phy.h>
> #include <linux/pinctrl/machine.h>
> #include <linux/platform_data/gpio-rcar.h>
> #include <linux/platform_data/rcar-du.h>
> #include <linux/platform_device.h>
> #include <linux/sh_eth.h>
> +#include <linux/spi/flash.h>
> +#include <linux/spi/rspi.h>
> +#include <linux/spi/spi.h>
> #include <mach/common.h>
> #include <mach/irqs.h>
> #include <mach/r8a7791.h>
> @@ -148,6 +153,55 @@ static const struct gpio_keys_platform_data
> koelsch_keys_pdata __initconst = { .nbuttons = ARRAY_SIZE(gpio_buttons),
> };
>
> +/* QSPI */
> +static const struct resource qspi_resources[] __initconst = {
> + DEFINE_RES_MEM(0xe6b10000, 0x1000),
> + DEFINE_RES_IRQ(gic_spi(184)),
> +};
> +
> +static const struct rspi_plat_data qspi_pdata __initconst = {
> + .num_chipselect = 1,
> +};
> +
> +/* SPI Flash memory (Spansion S25FL512SAGMFIG11 64 MiB) */
> +static struct mtd_partition spi_flash_part[] = {
> + {
> + .name = "loader",
> + .offset = 0x00000000,
> + .size = 512 * 1024,
> + .mask_flags = MTD_WRITEABLE,
> + },
> + {
> + .name = "bootenv",
> + .offset = MTDPART_OFS_APPEND,
> + .size = 512 * 1024,
> + .mask_flags = MTD_WRITEABLE,
> + },
> + {
> + .name = "data",
> + .offset = MTDPART_OFS_APPEND,
> + .size = MTDPART_SIZ_FULL,
> + },
> +};
> +
> +static const struct flash_platform_data spi_flash_data = {
> + .name = "m25p80",
> + .parts = spi_flash_part,
> + .nr_parts = ARRAY_SIZE(spi_flash_part),
> + .type = "s25fl512s",
> +};
> +
> +static const struct spi_board_info spi_info[] __initconst = {
> + {
> + .modalias = "m25p80",
> + .platform_data = &spi_flash_data,
> + .mode = SPI_MODE_0,
> + .max_speed_hz = 30000000,
> + .bus_num = 0,
> + .chip_select = 0,
> + },
> +};
> +
> static const struct pinctrl_map koelsch_pinctrl_map[] = {
> /* DU */
> PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7791", "pfc-r8a7791",
> @@ -165,6 +219,11 @@ static const struct pinctrl_map koelsch_pinctrl_map[] =
> { "eth_rmii", "eth"),
> PIN_MAP_MUX_GROUP_DEFAULT("r8a7791-ether", "pfc-r8a7791",
> "intc_irq0", "intc"),
> + /* QSPI */
> + PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791",
> + "qspi_ctrl", "qspi"),
> + PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791",
> + "qspi_data4", "qspi"),
> /* SCIF0 (CN19: DEBUG SERIAL0) */
> PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7791",
> "scif0_data_d", "scif0"),
> @@ -190,6 +249,11 @@ static void __init koelsch_add_standard_devices(void)
> platform_device_register_data(&platform_bus, "gpio-keys", -1,
> &koelsch_keys_pdata,
> sizeof(koelsch_keys_pdata));
> + platform_device_register_resndata(&platform_bus, "qspi", 0,
> + qspi_resources,
> + ARRAY_SIZE(qspi_resources),
> + &qspi_pdata, sizeof(qspi_pdata));
> + spi_register_board_info(spi_info, ARRAY_SIZE(spi_info));
>
> koelsch_add_du_device();
> }
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2014-01-12 21:46 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-12 11:00 [PATCH V2 0/3] SoC and board integration for QSPI on r8a7791/koelsch Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 11:00 ` [PATCH V2 1/4] pinctrl: sh-pfc: r8a7791: Add QSPI pin groups Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 21:42 ` Laurent Pinchart
2014-01-12 21:42 ` Laurent Pinchart
2014-01-12 21:42 ` Laurent Pinchart
2014-01-12 11:00 ` [PATCH V2 2/4] ARM: shmobile: r8a7791: add QSPI clocks Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 21:45 ` Laurent Pinchart
2014-01-12 21:45 ` Laurent Pinchart
2014-01-12 21:45 ` Laurent Pinchart
2014-01-12 11:00 ` [PATCH V2 3/4] ARM: shmobile: koelsch: Add QSPI support Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 21:46 ` Laurent Pinchart [this message]
2014-01-12 21:46 ` Laurent Pinchart
2014-01-12 21:46 ` Laurent Pinchart
2014-01-12 11:00 ` [PATCH V2 4/4] ARM: shmobile: koelsch: Enable RSPI and MTD_M25P80 in defconfig Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-12 11:00 ` Geert Uytterhoeven
2014-01-14 0:46 ` [PATCH V2 0/3] SoC and board integration for QSPI on r8a7791/koelsch Simon Horman
2014-01-14 0:46 ` Simon Horman
2014-01-14 0:46 ` Simon Horman
2014-01-14 9:05 ` Geert Uytterhoeven
2014-01-14 9:05 ` Geert Uytterhoeven
2014-01-14 9:05 ` Geert Uytterhoeven
2014-01-14 23:53 ` Simon Horman
2014-01-14 23:53 ` Simon Horman
2014-01-14 23:53 ` Simon Horman
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=30881023.1VWPBCH6CR@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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.