From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/12] mfd: syscon: Add atmel-matrix registers definition
Date: Sun, 18 Jan 2015 12:52:59 +0000 [thread overview]
Message-ID: <20150118125259.GW3574@x1> (raw)
In-Reply-To: <1421252524-24452-2-git-send-email-alexandre.belloni@free-electrons.com>
On Wed, 14 Jan 2015, Alexandre Belloni wrote:
> From: Boris Brezillon <boris.brezillon@free-electrons.com>
>
> AT91 SoCs have a memory range reserved for internal bus configuration.
> Expose those registers so that drivers can make use of the matrix syscon
> declared in at91 DTs.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> Acked-by: Lee Jones <lee.jones@linaro.org>
> ---
> include/linux/mfd/syscon/atmel-matrix.h | 117 ++++++++++++++++++++++++++++++++
> 1 file changed, 117 insertions(+)
> create mode 100644 include/linux/mfd/syscon/atmel-matrix.h
Applied, thanks.
> diff --git a/include/linux/mfd/syscon/atmel-matrix.h b/include/linux/mfd/syscon/atmel-matrix.h
> new file mode 100644
> index 000000000000..8293c3e2a82a
> --- /dev/null
> +++ b/include/linux/mfd/syscon/atmel-matrix.h
> @@ -0,0 +1,117 @@
> +/*
> + * Copyright (C) 2014 Atmel Corporation.
> + *
> + * Memory Controllers (MATRIX, EBI) - System peripherals registers.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#ifndef _LINUX_MFD_SYSCON_ATMEL_MATRIX_H
> +#define _LINUX_MFD_SYSCON_ATMEL_MATRIX_H
> +
> +#define AT91SAM9260_MATRIX_MCFG 0x00
> +#define AT91SAM9260_MATRIX_SCFG 0x40
> +#define AT91SAM9260_MATRIX_PRS 0x80
> +#define AT91SAM9260_MATRIX_MRCR 0x100
> +#define AT91SAM9260_MATRIX_EBICSA 0x11c
> +
> +#define AT91SAM9261_MATRIX_MRCR 0x0
> +#define AT91SAM9261_MATRIX_SCFG 0x4
> +#define AT91SAM9261_MATRIX_TCR 0x24
> +#define AT91SAM9261_MATRIX_EBICSA 0x30
> +#define AT91SAM9261_MATRIX_USBPUCR 0x34
> +
> +#define AT91SAM9263_MATRIX_MCFG 0x00
> +#define AT91SAM9263_MATRIX_SCFG 0x40
> +#define AT91SAM9263_MATRIX_PRS 0x80
> +#define AT91SAM9263_MATRIX_MRCR 0x100
> +#define AT91SAM9263_MATRIX_TCR 0x114
> +#define AT91SAM9263_MATRIX_EBI0CSA 0x120
> +#define AT91SAM9263_MATRIX_EBI1CSA 0x124
> +
> +#define AT91SAM9RL_MATRIX_MCFG 0x00
> +#define AT91SAM9RL_MATRIX_SCFG 0x40
> +#define AT91SAM9RL_MATRIX_PRS 0x80
> +#define AT91SAM9RL_MATRIX_MRCR 0x100
> +#define AT91SAM9RL_MATRIX_TCR 0x114
> +#define AT91SAM9RL_MATRIX_EBICSA 0x120
> +
> +#define AT91SAM9G45_MATRIX_MCFG 0x00
> +#define AT91SAM9G45_MATRIX_SCFG 0x40
> +#define AT91SAM9G45_MATRIX_PRS 0x80
> +#define AT91SAM9G45_MATRIX_MRCR 0x100
> +#define AT91SAM9G45_MATRIX_TCR 0x110
> +#define AT91SAM9G45_MATRIX_DDRMPR 0x118
> +#define AT91SAM9G45_MATRIX_EBICSA 0x128
> +
> +#define AT91SAM9N12_MATRIX_MCFG 0x00
> +#define AT91SAM9N12_MATRIX_SCFG 0x40
> +#define AT91SAM9N12_MATRIX_PRS 0x80
> +#define AT91SAM9N12_MATRIX_MRCR 0x100
> +#define AT91SAM9N12_MATRIX_EBICSA 0x118
> +
> +#define AT91SAM9X5_MATRIX_MCFG 0x00
> +#define AT91SAM9X5_MATRIX_SCFG 0x40
> +#define AT91SAM9X5_MATRIX_PRS 0x80
> +#define AT91SAM9X5_MATRIX_MRCR 0x100
> +#define AT91SAM9X5_MATRIX_EBICSA 0x120
> +
> +#define SAMA5D3_MATRIX_MCFG 0x00
> +#define SAMA5D3_MATRIX_SCFG 0x40
> +#define SAMA5D3_MATRIX_PRS 0x80
> +#define SAMA5D3_MATRIX_MRCR 0x100
> +
> +#define AT91_MATRIX_MCFG(o, x) ((o) + ((x) * 0x4))
> +#define AT91_MATRIX_ULBT GENMASK(2, 0)
> +#define AT91_MATRIX_ULBT_INFINITE (0 << 0)
> +#define AT91_MATRIX_ULBT_SINGLE (1 << 0)
> +#define AT91_MATRIX_ULBT_FOUR (2 << 0)
> +#define AT91_MATRIX_ULBT_EIGHT (3 << 0)
> +#define AT91_MATRIX_ULBT_SIXTEEN (4 << 0)
> +
> +#define AT91_MATRIX_SCFG(o, x) ((o) + ((x) * 0x4))
> +#define AT91_MATRIX_SLOT_CYCLE GENMASK(7, 0)
> +#define AT91_MATRIX_DEFMSTR_TYPE GENMASK(17, 16)
> +#define AT91_MATRIX_DEFMSTR_TYPE_NONE (0 << 16)
> +#define AT91_MATRIX_DEFMSTR_TYPE_LAST (1 << 16)
> +#define AT91_MATRIX_DEFMSTR_TYPE_FIXED (2 << 16)
> +#define AT91_MATRIX_FIXED_DEFMSTR GENMASK(20, 18)
> +#define AT91_MATRIX_ARBT GENMASK(25, 24)
> +#define AT91_MATRIX_ARBT_ROUND_ROBIN (0 << 24)
> +#define AT91_MATRIX_ARBT_FIXED_PRIORITY (1 << 24)
> +
> +#define AT91_MATRIX_ITCM_SIZE GENMASK(3, 0)
> +#define AT91_MATRIX_ITCM_0 (0 << 0)
> +#define AT91_MATRIX_ITCM_16 (5 << 0)
> +#define AT91_MATRIX_ITCM_32 (6 << 0)
> +#define AT91_MATRIX_ITCM_64 (7 << 0)
> +#define AT91_MATRIX_DTCM_SIZE GENMASK(7, 4)
> +#define AT91_MATRIX_DTCM_0 (0 << 4)
> +#define AT91_MATRIX_DTCM_16 (5 << 4)
> +#define AT91_MATRIX_DTCM_32 (6 << 4)
> +#define AT91_MATRIX_DTCM_64 (7 << 4)
> +
> +#define AT91_MATRIX_PRAS(o, x) ((o) + ((x) * 0x8))
> +#define AT91_MATRIX_PRBS(o, x) ((o) + ((x) * 0x8) + 0x4)
> +#define AT91_MATRIX_MPR(x) GENMASK(((x) * 0x4) + 1, ((x) * 0x4))
> +
> +#define AT91_MATRIX_RCB(x) BIT(x)
> +
> +#define AT91_MATRIX_CSA(cs, val) (val << (cs))
> +#define AT91_MATRIX_DBPUC BIT(8)
> +#define AT91_MATRIX_DBPDC BIT(9)
> +#define AT91_MATRIX_VDDIOMSEL BIT(16)
> +#define AT91_MATRIX_VDDIOMSEL_1_8V (0 << 16)
> +#define AT91_MATRIX_VDDIOMSEL_3_3V (1 << 16)
> +#define AT91_MATRIX_EBI_IOSR BIT(17)
> +#define AT91_MATRIX_DDR_IOSR BIT(18)
> +#define AT91_MATRIX_NFD0_SELECT BIT(24)
> +#define AT91_MATRIX_DDR_MP_EN BIT(25)
> +#define AT91_MATRIX_EBI_NUM_CS 8
> +
> +#define AT91_MATRIX_USBPUCR_PUON BIT(30)
> +
> +#endif /* _LINUX_MFD_SYSCON_ATMEL_MATRIX_H */
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Felipe Balbi <balbi@ti.com>,
Boris Brezillon <boris.brezillon@free-electrons.com>,
Jean-Jacques Hiblot <jjhiblot@traphandler.com>,
Arnd Bergmann <arnd@arndb.de>,
linux-usb@vger.kernel.org,
Nicolas Ferre <nicolas.ferre@atmel.com>,
linux-kernel@vger.kernel.org,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 01/12] mfd: syscon: Add atmel-matrix registers definition
Date: Sun, 18 Jan 2015 12:52:59 +0000 [thread overview]
Message-ID: <20150118125259.GW3574@x1> (raw)
In-Reply-To: <1421252524-24452-2-git-send-email-alexandre.belloni@free-electrons.com>
On Wed, 14 Jan 2015, Alexandre Belloni wrote:
> From: Boris Brezillon <boris.brezillon@free-electrons.com>
>
> AT91 SoCs have a memory range reserved for internal bus configuration.
> Expose those registers so that drivers can make use of the matrix syscon
> declared in at91 DTs.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> Acked-by: Lee Jones <lee.jones@linaro.org>
> ---
> include/linux/mfd/syscon/atmel-matrix.h | 117 ++++++++++++++++++++++++++++++++
> 1 file changed, 117 insertions(+)
> create mode 100644 include/linux/mfd/syscon/atmel-matrix.h
Applied, thanks.
> diff --git a/include/linux/mfd/syscon/atmel-matrix.h b/include/linux/mfd/syscon/atmel-matrix.h
> new file mode 100644
> index 000000000000..8293c3e2a82a
> --- /dev/null
> +++ b/include/linux/mfd/syscon/atmel-matrix.h
> @@ -0,0 +1,117 @@
> +/*
> + * Copyright (C) 2014 Atmel Corporation.
> + *
> + * Memory Controllers (MATRIX, EBI) - System peripherals registers.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#ifndef _LINUX_MFD_SYSCON_ATMEL_MATRIX_H
> +#define _LINUX_MFD_SYSCON_ATMEL_MATRIX_H
> +
> +#define AT91SAM9260_MATRIX_MCFG 0x00
> +#define AT91SAM9260_MATRIX_SCFG 0x40
> +#define AT91SAM9260_MATRIX_PRS 0x80
> +#define AT91SAM9260_MATRIX_MRCR 0x100
> +#define AT91SAM9260_MATRIX_EBICSA 0x11c
> +
> +#define AT91SAM9261_MATRIX_MRCR 0x0
> +#define AT91SAM9261_MATRIX_SCFG 0x4
> +#define AT91SAM9261_MATRIX_TCR 0x24
> +#define AT91SAM9261_MATRIX_EBICSA 0x30
> +#define AT91SAM9261_MATRIX_USBPUCR 0x34
> +
> +#define AT91SAM9263_MATRIX_MCFG 0x00
> +#define AT91SAM9263_MATRIX_SCFG 0x40
> +#define AT91SAM9263_MATRIX_PRS 0x80
> +#define AT91SAM9263_MATRIX_MRCR 0x100
> +#define AT91SAM9263_MATRIX_TCR 0x114
> +#define AT91SAM9263_MATRIX_EBI0CSA 0x120
> +#define AT91SAM9263_MATRIX_EBI1CSA 0x124
> +
> +#define AT91SAM9RL_MATRIX_MCFG 0x00
> +#define AT91SAM9RL_MATRIX_SCFG 0x40
> +#define AT91SAM9RL_MATRIX_PRS 0x80
> +#define AT91SAM9RL_MATRIX_MRCR 0x100
> +#define AT91SAM9RL_MATRIX_TCR 0x114
> +#define AT91SAM9RL_MATRIX_EBICSA 0x120
> +
> +#define AT91SAM9G45_MATRIX_MCFG 0x00
> +#define AT91SAM9G45_MATRIX_SCFG 0x40
> +#define AT91SAM9G45_MATRIX_PRS 0x80
> +#define AT91SAM9G45_MATRIX_MRCR 0x100
> +#define AT91SAM9G45_MATRIX_TCR 0x110
> +#define AT91SAM9G45_MATRIX_DDRMPR 0x118
> +#define AT91SAM9G45_MATRIX_EBICSA 0x128
> +
> +#define AT91SAM9N12_MATRIX_MCFG 0x00
> +#define AT91SAM9N12_MATRIX_SCFG 0x40
> +#define AT91SAM9N12_MATRIX_PRS 0x80
> +#define AT91SAM9N12_MATRIX_MRCR 0x100
> +#define AT91SAM9N12_MATRIX_EBICSA 0x118
> +
> +#define AT91SAM9X5_MATRIX_MCFG 0x00
> +#define AT91SAM9X5_MATRIX_SCFG 0x40
> +#define AT91SAM9X5_MATRIX_PRS 0x80
> +#define AT91SAM9X5_MATRIX_MRCR 0x100
> +#define AT91SAM9X5_MATRIX_EBICSA 0x120
> +
> +#define SAMA5D3_MATRIX_MCFG 0x00
> +#define SAMA5D3_MATRIX_SCFG 0x40
> +#define SAMA5D3_MATRIX_PRS 0x80
> +#define SAMA5D3_MATRIX_MRCR 0x100
> +
> +#define AT91_MATRIX_MCFG(o, x) ((o) + ((x) * 0x4))
> +#define AT91_MATRIX_ULBT GENMASK(2, 0)
> +#define AT91_MATRIX_ULBT_INFINITE (0 << 0)
> +#define AT91_MATRIX_ULBT_SINGLE (1 << 0)
> +#define AT91_MATRIX_ULBT_FOUR (2 << 0)
> +#define AT91_MATRIX_ULBT_EIGHT (3 << 0)
> +#define AT91_MATRIX_ULBT_SIXTEEN (4 << 0)
> +
> +#define AT91_MATRIX_SCFG(o, x) ((o) + ((x) * 0x4))
> +#define AT91_MATRIX_SLOT_CYCLE GENMASK(7, 0)
> +#define AT91_MATRIX_DEFMSTR_TYPE GENMASK(17, 16)
> +#define AT91_MATRIX_DEFMSTR_TYPE_NONE (0 << 16)
> +#define AT91_MATRIX_DEFMSTR_TYPE_LAST (1 << 16)
> +#define AT91_MATRIX_DEFMSTR_TYPE_FIXED (2 << 16)
> +#define AT91_MATRIX_FIXED_DEFMSTR GENMASK(20, 18)
> +#define AT91_MATRIX_ARBT GENMASK(25, 24)
> +#define AT91_MATRIX_ARBT_ROUND_ROBIN (0 << 24)
> +#define AT91_MATRIX_ARBT_FIXED_PRIORITY (1 << 24)
> +
> +#define AT91_MATRIX_ITCM_SIZE GENMASK(3, 0)
> +#define AT91_MATRIX_ITCM_0 (0 << 0)
> +#define AT91_MATRIX_ITCM_16 (5 << 0)
> +#define AT91_MATRIX_ITCM_32 (6 << 0)
> +#define AT91_MATRIX_ITCM_64 (7 << 0)
> +#define AT91_MATRIX_DTCM_SIZE GENMASK(7, 4)
> +#define AT91_MATRIX_DTCM_0 (0 << 4)
> +#define AT91_MATRIX_DTCM_16 (5 << 4)
> +#define AT91_MATRIX_DTCM_32 (6 << 4)
> +#define AT91_MATRIX_DTCM_64 (7 << 4)
> +
> +#define AT91_MATRIX_PRAS(o, x) ((o) + ((x) * 0x8))
> +#define AT91_MATRIX_PRBS(o, x) ((o) + ((x) * 0x8) + 0x4)
> +#define AT91_MATRIX_MPR(x) GENMASK(((x) * 0x4) + 1, ((x) * 0x4))
> +
> +#define AT91_MATRIX_RCB(x) BIT(x)
> +
> +#define AT91_MATRIX_CSA(cs, val) (val << (cs))
> +#define AT91_MATRIX_DBPUC BIT(8)
> +#define AT91_MATRIX_DBPDC BIT(9)
> +#define AT91_MATRIX_VDDIOMSEL BIT(16)
> +#define AT91_MATRIX_VDDIOMSEL_1_8V (0 << 16)
> +#define AT91_MATRIX_VDDIOMSEL_3_3V (1 << 16)
> +#define AT91_MATRIX_EBI_IOSR BIT(17)
> +#define AT91_MATRIX_DDR_IOSR BIT(18)
> +#define AT91_MATRIX_NFD0_SELECT BIT(24)
> +#define AT91_MATRIX_DDR_MP_EN BIT(25)
> +#define AT91_MATRIX_EBI_NUM_CS 8
> +
> +#define AT91_MATRIX_USBPUCR_PUON BIT(30)
> +
> +#endif /* _LINUX_MFD_SYSCON_ATMEL_MATRIX_H */
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2015-01-18 12:52 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 16:21 [PATCH 00/12] Atmel matrix, SMC and UDC rework Alexandre Belloni
2015-01-14 16:21 ` Alexandre Belloni
2015-01-14 16:21 ` [PATCH 01/12] mfd: syscon: Add atmel-matrix registers definition Alexandre Belloni
2015-01-14 16:21 ` Alexandre Belloni
2015-01-18 12:52 ` Lee Jones [this message]
2015-01-18 12:52 ` Lee Jones
2015-01-18 13:11 ` Boris Brezillon
2015-01-18 13:11 ` Boris Brezillon
2015-01-19 8:16 ` Lee Jones
2015-01-19 8:16 ` Lee Jones
2015-01-14 16:21 ` [PATCH 02/12] mfd: syscon: Add Atmel Matrix bus DT binding documentation Alexandre Belloni
2015-01-14 16:21 ` Alexandre Belloni
2015-01-18 12:53 ` Lee Jones
2015-01-18 12:53 ` Lee Jones
2015-01-14 16:21 ` [PATCH 03/12] mfd: syscon: Add atmel-smc registers definition Alexandre Belloni
2015-01-14 16:21 ` Alexandre Belloni
2015-01-18 12:53 ` Lee Jones
2015-01-18 12:53 ` Lee Jones
2015-01-14 16:21 ` [PATCH 04/12] mfd: syscon: Add Atmel SMC binding doc Alexandre Belloni
2015-01-14 16:21 ` Alexandre Belloni
2015-01-18 12:54 ` Lee Jones
2015-01-18 12:54 ` Lee Jones
2015-01-14 16:21 ` [PATCH 05/12] usb: gadget: at91_udc: Fix clock names Alexandre Belloni
2015-01-14 16:21 ` Alexandre Belloni
2015-01-14 17:37 ` Felipe Balbi
2015-01-14 17:37 ` Felipe Balbi
2015-01-14 16:21 ` [PATCH 06/12] usb: gadget: at91_udc: Drop uclk clock Alexandre Belloni
2015-01-14 16:21 ` Alexandre Belloni
2015-01-14 17:37 ` Felipe Balbi
2015-01-14 17:37 ` Felipe Balbi
2015-01-14 16:21 ` [PATCH 07/12] usb: gadget: at91_udc: Document DT clocks and clock-names property Alexandre Belloni
2015-01-14 16:21 ` Alexandre Belloni
2015-01-14 16:22 ` [PATCH 08/12] usb: gadget: at91_udc: Remove non-DT handling code Alexandre Belloni
2015-01-14 16:22 ` Alexandre Belloni
2015-01-14 17:38 ` Felipe Balbi
2015-01-14 17:38 ` Felipe Balbi
2015-01-14 18:35 ` Alexandre Belloni
2015-01-14 18:35 ` Alexandre Belloni
2015-01-14 18:39 ` Felipe Balbi
2015-01-14 18:39 ` Felipe Balbi
2015-01-14 16:22 ` [PATCH 09/12] usb: gadget: at91_udc: Simplify probe and remove functions Alexandre Belloni
2015-01-14 16:22 ` Alexandre Belloni
2015-01-14 17:38 ` Felipe Balbi
2015-01-14 17:38 ` Felipe Balbi
2015-01-14 16:22 ` [PATCH 10/12] usb: gadget: at91_udc: Rework for multi-platform kernel support Alexandre Belloni
2015-01-14 16:22 ` Alexandre Belloni
2015-01-14 17:38 ` Felipe Balbi
2015-01-14 17:38 ` Felipe Balbi
2015-01-14 16:22 ` [PATCH 11/12] usb: gadget: at91_udc: Update DT binding documentation Alexandre Belloni
2015-01-14 16:22 ` Alexandre Belloni
2015-01-14 16:22 ` [PATCH 12/12] usb: gadget: at91_udc: Allocate udc instance Alexandre Belloni
2015-01-14 16:22 ` Alexandre Belloni
2015-01-14 17:39 ` Felipe Balbi
2015-01-14 17:39 ` Felipe Balbi
2015-01-15 13:30 ` [PATCH 00/12] Atmel matrix, SMC and UDC rework Nicolas Ferre
2015-01-15 13:30 ` Nicolas Ferre
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=20150118125259.GW3574@x1 \
--to=lee.jones@linaro.org \
--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.