Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1581452 > unrolled thread

[PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement

Started byAndreas Färber <afaerber@suse.de>
First post2017-02-15 18:00 +0100
Last post2017-02-16 14:50 +0100
Articles 20 on this page of 23 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber <afaerber@suse.de> - 2017-02-15 18:00 +0100
    [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon Andreas Färber <afaerber@suse.de> - 2017-02-15 18:00 +0100
      Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon Arnd Bergmann <arnd@arndb.de> - 2017-02-16 14:50 +0100
        Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon Andreas Färber <afaerber@suse.de> - 2017-02-20 14:50 +0100
          Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon Arnd Bergmann <arnd@arndb.de> - 2017-02-20 16:20 +0100
    [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi Andreas Färber <afaerber@suse.de> - 2017-02-15 18:00 +0100
    [PATCH 03/11] ARM: Prepare Actions Semi S500 Andreas Färber <afaerber@suse.de> - 2017-02-15 18:00 +0100
    [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96 Andreas Färber <afaerber@suse.de> - 2017-02-15 18:00 +0100
      Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and  Bubblegum-96 Andreas Färber <afaerber@suse.de> - 2017-02-15 19:20 +0100
    [PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs Andreas Färber <afaerber@suse.de> - 2017-02-15 18:00 +0100
    [PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics Andreas Färber <afaerber@suse.de> - 2017-02-15 18:00 +0100
    [PATCH 07/11] Documentation: kernel-parameters: Document owl earlycon Andreas Färber <afaerber@suse.de> - 2017-02-15 18:10 +0100
    [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar Andreas Färber <afaerber@suse.de> - 2017-02-15 18:10 +0100
      Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker  Guitar Andreas Färber <afaerber@suse.de> - 2017-02-15 18:30 +0100
      Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker  Guitar Andreas Färber <afaerber@suse.de> - 2017-02-24 02:10 +0100
    [PATCH 04/11] ARM64: Prepare Actions Semi S900 Andreas Färber <afaerber@suse.de> - 2017-02-15 18:10 +0100
      Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900 Arnd Bergmann <arnd@arndb.de> - 2017-02-16 14:50 +0100
        Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900 Andreas Färber <afaerber@suse.de> - 2017-02-17 01:40 +0100
          Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900 Arnd Bergmann <arnd@arndb.de> - 2017-02-17 12:40 +0100
    [PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500 Andreas Färber <afaerber@suse.de> - 2017-02-15 18:10 +0100
    [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900 Andreas Färber <afaerber@suse.de> - 2017-02-15 18:10 +0100
      Re: [PATCH 10/11] Documentation: devicetree: arm: Document Actions  Semi S900 Rob Herring <robh@kernel.org> - 2017-02-27 15:30 +0100
    Re: [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Arnd Bergmann <arnd@arndb.de> - 2017-02-16 14:50 +0100

Page 1 of 2  [1] 2  Next page →


#1581452 — [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:00 +0100
Subject[PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement
Message-ID<tbb5U-2sv-13@gated-at.bofh.it>
Hello,

Based on earlier work of mine for the LeMaker Guitar, this series adds initial
support for the Actions Semiconductor S500 (ARMv7) and S900 (ARMv8) SoCs.

Despite Actions Semi being a Linaro member since 2015, sadly I have not seen
a single upstream kernel patch submission since. Nor has the XApple community
taken any such initiative.

The GitHub LeMaker/linux-actions and xapp-le/kernel trees have 3.10 based S500
drivers in arch/arm/mach-owl/, whereas the 96boards-bubblegum/linux tree has
new-style but still 3.10 based S900 drivers. I also spotted GPLv2+ vs. GPLv2
license differences.

This series therefore provides a proof of concept for a combined S500 and S900
mainline implementation. Only earlycon serial output is available for now.

Focusing on Bubblegum-96, no S500 clocksource implementation is provided yet,
thus output on Guitar is less than on Bubblegum-96, but still it demonstrates
that a single driver can be shared for both, using compatible strings for
future differentiation.

https://github.com/afaerber/linux/commits/bg96-next

Booting from U-Boot is straightforward on both boards.

https://en.opensuse.org/HCL:Guitar
https://en.opensuse.org/HCL:Bubblegum-96

Have a lot of fun!

Cheers,
Andreas

Cc: mp-cs@actions-semi.com
Cc: info@ucrobotics.com
Cc: support@lemaker.org
Cc: contact@linux-xapple.org
Cc: devicetree@vger.kernel.org

Andreas Färber (11):
  Documentation: devicetree: Add vendor prefix for Actions Semi
  Documentation: devicetree: arm: Document Actions Semi S500
  ARM: Prepare Actions Semi S500
  ARM64: Prepare Actions Semi S900
  Documentation: devicetree: serial: Document Actions Semi Owl UARTs
  tty: serial: Add Actions Semi Owl UART earlycon
  Documentation: kernel-parameters: Document owl earlycon
  ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
  Documentation: devicetree: Add vendor prefix for uCRobotics
  Documentation: devicetree: arm: Document Actions Semi S900
  ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96

 Documentation/admin-guide/kernel-parameters.txt    |   6 +
 Documentation/devicetree/bindings/arm/acts.txt     |  32 +++++
 .../devicetree/bindings/serial/acts,owl-uart.txt   |  16 +++
 .../devicetree/bindings/vendor-prefixes.txt        |   2 +
 arch/arm/Kconfig                                   |   2 +
 arch/arm/Makefile                                  |   1 +
 arch/arm/boot/dts/Makefile                         |   2 +
 arch/arm/boot/dts/s500-guitar-bb-rev-b.dts         |  63 ++++++++++
 arch/arm/boot/dts/s500-guitar.dtsi                 |  49 ++++++++
 arch/arm/boot/dts/s500.dtsi                        | 116 +++++++++++++++++
 arch/arm/mach-owl/Kconfig                          |   9 ++
 arch/arm/mach-owl/Makefile                         |   1 +
 arch/arm/mach-owl/owl.c                            |  28 +++++
 arch/arm64/Kconfig.platforms                       |   5 +
 arch/arm64/boot/dts/Makefile                       |   1 +
 arch/arm64/boot/dts/actions/Makefile               |   5 +
 arch/arm64/boot/dts/actions/s900-bubblegum96.dts   |  62 +++++++++
 arch/arm64/boot/dts/actions/s900.dtsi              | 140 +++++++++++++++++++++
 drivers/tty/serial/Kconfig                         |  19 +++
 drivers/tty/serial/Makefile                        |   1 +
 drivers/tty/serial/owl-uart.c                      | 135 ++++++++++++++++++++
 21 files changed, 695 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/acts.txt
 create mode 100644 Documentation/devicetree/bindings/serial/acts,owl-uart.txt
 create mode 100644 arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
 create mode 100644 arch/arm/boot/dts/s500-guitar.dtsi
 create mode 100644 arch/arm/boot/dts/s500.dtsi
 create mode 100644 arch/arm/mach-owl/Kconfig
 create mode 100644 arch/arm/mach-owl/Makefile
 create mode 100644 arch/arm/mach-owl/owl.c
 create mode 100644 arch/arm64/boot/dts/actions/Makefile
 create mode 100644 arch/arm64/boot/dts/actions/s900-bubblegum96.dts
 create mode 100644 arch/arm64/boot/dts/actions/s900.dtsi
 create mode 100644 drivers/tty/serial/owl-uart.c

-- 
2.10.2

[toc] | [next] | [standalone]


#1581455 — [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:00 +0100
Subject[PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
Message-ID<tbb5U-2sv-15@gated-at.bofh.it>
In reply to#1581452
This implements an earlycon for Actions Semi S500/S900 SoCs.

Based on LeMaker linux-actions tree.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 drivers/tty/serial/Kconfig    |  19 ++++++
 drivers/tty/serial/Makefile   |   1 +
 drivers/tty/serial/owl-uart.c | 135 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 drivers/tty/serial/owl-uart.c

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 6117ac8..9d4213c 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
 	  and warnings and which allows logins in single user mode)
 	  Otherwise, say 'N'.
 
+config SERIAL_OWL
+	bool "Actions Semi Owl serial port support"
+	depends on ARCH_OWL || COMPILE_TEST
+	select SERIAL_CORE
+	help
+	  This driver is for Actions Semi S500/S900 SoC's UART.
+	  Say 'Y' here if you wish to use the on-board serial port.
+	  Otherwise, say 'N'.
+
+config SERIAL_OWL_CONSOLE
+	bool "Console on Actions Semi Owl serial port"
+	depends on SERIAL_OWL=y
+	select SERIAL_CORE_CONSOLE
+	select SERIAL_EARLYCON
+	default y
+	help
+	  Say 'Y' here if you wish to use Actions Semi S500/S900 UART as the
+	  system console.
+
 endmenu
 
 config SERIAL_MCTRL_GPIO
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index 2d6288b..91f3571 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -91,6 +91,7 @@ obj-$(CONFIG_SERIAL_STM32)	+= stm32-usart.o
 obj-$(CONFIG_SERIAL_MVEBU_UART)	+= mvebu-uart.o
 obj-$(CONFIG_SERIAL_PIC32)	+= pic32_uart.o
 obj-$(CONFIG_SERIAL_MPS2_UART)	+= mps2-uart.o
+obj-$(CONFIG_SERIAL_OWL)	+= owl-uart.o
 
 # GPIOLIB helpers for modem control lines
 obj-$(CONFIG_SERIAL_MCTRL_GPIO)	+= serial_mctrl_gpio.o
diff --git a/drivers/tty/serial/owl-uart.c b/drivers/tty/serial/owl-uart.c
new file mode 100644
index 0000000..f8b1bb6
--- /dev/null
+++ b/drivers/tty/serial/owl-uart.c
@@ -0,0 +1,135 @@
+/*
+ * Actions Semi Owl family serial console
+ *
+ * Copyright 2013 Actions Semi Inc.
+ * Author: Actions Semi, Inc.
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+#include <linux/serial.h>
+#include <linux/serial_core.h>
+
+#define OWL_UART_CTL	0x000
+#define OWL_UART_TXDAT	0x008
+#define OWL_UART_STAT	0x00c
+
+#define OWL_UART_CTL_TRFS_TX		(1 << 14)
+#define OWL_UART_CTL_EN			(1 << 15)
+#define OWL_UART_CTL_RXIE		(1 << 18)
+#define OWL_UART_CTL_TXIE		(1 << 19)
+
+#define OWL_UART_STAT_RIP		(1 << 0)
+#define OWL_UART_STAT_TIP		(1 << 1)
+#define OWL_UART_STAT_TFFU		(1 << 6)
+#define OWL_UART_STAT_TRFL_MASK		(0x1f << 11)
+#define OWL_UART_STAT_UTBB		(1 << 17)
+
+static inline void owl_serial_write(struct uart_port *port, u32 val, unsigned int off)
+{
+	writel(val, port->membase + off);
+}
+
+static inline u32 owl_serial_read(struct uart_port *port, unsigned int off)
+{
+	return readl(port->membase + off);
+}
+
+#ifdef CONFIG_SERIAL_OWL_CONSOLE
+
+static void owl_console_putchar(struct uart_port *port, int ch)
+{
+	if (!port->membase)
+		return;
+
+	while (owl_serial_read(port, OWL_UART_STAT) & OWL_UART_STAT_TFFU)
+		cpu_relax();
+
+	owl_serial_write(port, ch, OWL_UART_TXDAT);
+}
+
+static void owl_serial_port_write(struct uart_port *port, const char *s,
+				  u_int count)
+{
+	u32 old_ctl, val;
+	unsigned long flags;
+	int locked;
+
+	local_irq_save(flags);
+
+	if (port->sysrq)
+		locked = 0;
+	else if (oops_in_progress)
+		locked = spin_trylock(&port->lock);
+	else {
+		spin_lock(&port->lock);
+		locked = 1;
+	}
+
+	old_ctl = owl_serial_read(port, OWL_UART_CTL);
+	val = old_ctl | OWL_UART_CTL_TRFS_TX;
+	/* disable IRQ */
+	val &= ~(OWL_UART_CTL_RXIE | OWL_UART_CTL_TXIE);
+	owl_serial_write(port, val, OWL_UART_CTL);
+
+	uart_console_write(port, s, count, owl_console_putchar);
+
+	/* wait until all contents have been sent out */
+	while (owl_serial_read(port, OWL_UART_STAT) & OWL_UART_STAT_TRFL_MASK)
+		cpu_relax();
+
+	/* clear IRQ pending */
+	val = owl_serial_read(port, OWL_UART_STAT);
+	val |= OWL_UART_STAT_TIP | OWL_UART_STAT_RIP;
+	owl_serial_write(port, val, OWL_UART_STAT);
+
+	owl_serial_write(port, old_ctl, OWL_UART_CTL);
+
+	if (locked)
+		spin_unlock(&port->lock);
+
+	local_irq_restore(flags);
+}
+
+static void owl_serial_early_console_write(struct console *co,
+					   const char *s,
+					   u_int count)
+{
+	struct earlycon_device *dev = co->data;
+
+	owl_serial_port_write(&dev->port, s, count);
+}
+
+static int __init
+owl_serial_early_console_setup(struct earlycon_device *device, const char *opt)
+{
+	if (!device->port.membase)
+		return -ENODEV;
+
+	device->con->write = owl_serial_early_console_write;
+
+	return 0;
+}
+OF_EARLYCON_DECLARE(owl, "acts,owl-uart",
+		    owl_serial_early_console_setup);
+
+#endif /* CONFIG_SERIAL_OWL_CONSOLE */
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1582592 — Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon

FromArnd Bergmann <arnd@arndb.de>
Date2017-02-16 14:50 +0100
SubjectRe: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
Message-ID<tbuBA-6P1-9@gated-at.bofh.it>
In reply to#1581455
On Wednesday, February 15, 2017 5:55:23 PM CET Andreas Färber wrote:
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index 6117ac8..9d4213c 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>           and warnings and which allows logins in single user mode)
>           Otherwise, say 'N'.
>  
> +config SERIAL_OWL
> +       bool "Actions Semi Owl serial port support"
> +       depends on ARCH_OWL || COMPILE_TEST
> +       select SERIAL_CORE
> +       help
> +         This driver is for Actions Semi S500/S900 SoC's UART.
> +         Say 'Y' here if you wish to use the on-board serial port.
> +         Otherwise, say 'N'.
> +
> 

This could maybe use a word of information about how there isn't
actually a uart driver in this series, only an earlycon driver.

Do you plan to add the actual tty driver soon? If not, maybe
only add one Kconfig symbol for the earlycon support.

	Arnd

[toc] | [prev] | [next] | [standalone]


#1584624 — Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon

FromAndreas Färber <afaerber@suse.de>
Date2017-02-20 14:50 +0100
SubjectRe: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
Message-ID<tcWvM-5kr-13@gated-at.bofh.it>
In reply to#1582592
Am 16.02.2017 um 14:41 schrieb Arnd Bergmann:
> On Wednesday, February 15, 2017 5:55:23 PM CET Andreas Färber wrote:
>> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
>> index 6117ac8..9d4213c 100644
>> --- a/drivers/tty/serial/Kconfig
>> +++ b/drivers/tty/serial/Kconfig
>> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>>           and warnings and which allows logins in single user mode)
>>           Otherwise, say 'N'.
>>  
>> +config SERIAL_OWL
>> +       bool "Actions Semi Owl serial port support"
>> +       depends on ARCH_OWL || COMPILE_TEST
>> +       select SERIAL_CORE
>> +       help
>> +         This driver is for Actions Semi S500/S900 SoC's UART.
>> +         Say 'Y' here if you wish to use the on-board serial port.
>> +         Otherwise, say 'N'.
>> +
>>
> 
> This could maybe use a word of information about how there isn't
> actually a uart driver in this series, only an earlycon driver.

Yeah, I have added a sentence to the other one. Maybe also add a select?

> Do you plan to add the actual tty driver soon? If not, maybe
> only add one Kconfig symbol for the earlycon support.

So, I completed the driver the weekend and can see the full console
output, but there are still output glitches, possible locking issues up
to RCU stalls and soft lockups, and only stubbed out baudrate support.

Therefore I would rather keep the full driver as follow-up RFC in v2,
unless I get it fixed during Hackweek. In the earlycon I am confident,
and the only Kconfig change then is to switch from bool to tristate and
to drop the newly added sentence again.

Regards,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)

[toc] | [prev] | [next] | [standalone]


#1584657 — Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon

FromArnd Bergmann <arnd@arndb.de>
Date2017-02-20 16:20 +0100
SubjectRe: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
Message-ID<tcXUR-6k9-9@gated-at.bofh.it>
In reply to#1584624
On Mon, Feb 20, 2017 at 2:40 PM, Andreas Färber <afaerber@suse.de> wrote:
> Am 16.02.2017 um 14:41 schrieb Arnd Bergmann:
>> On Wednesday, February 15, 2017 5:55:23 PM CET Andreas Färber wrote:
>>> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
>>> index 6117ac8..9d4213c 100644
>>> --- a/drivers/tty/serial/Kconfig
>>> +++ b/drivers/tty/serial/Kconfig
>>> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>>>           and warnings and which allows logins in single user mode)
>>>           Otherwise, say 'N'.
>>>
>>> +config SERIAL_OWL
>>> +       bool "Actions Semi Owl serial port support"
>>> +       depends on ARCH_OWL || COMPILE_TEST
>>> +       select SERIAL_CORE
>>> +       help
>>> +         This driver is for Actions Semi S500/S900 SoC's UART.
>>> +         Say 'Y' here if you wish to use the on-board serial port.
>>> +         Otherwise, say 'N'.
>>> +
>>>
>>
>> This could maybe use a word of information about how there isn't
>> actually a uart driver in this series, only an earlycon driver.
>
> Yeah, I have added a sentence to the other one. Maybe also add a select?

I generally only use 'select' to avoid build failures, not to save the user
the time to make a choice.

>> Do you plan to add the actual tty driver soon? If not, maybe
>> only add one Kconfig symbol for the earlycon support.
>
> So, I completed the driver the weekend and can see the full console
> output, but there are still output glitches, possible locking issues up
> to RCU stalls and soft lockups, and only stubbed out baudrate support.
>
> Therefore I would rather keep the full driver as follow-up RFC in v2,
> unless I get it fixed during Hackweek. In the earlycon I am confident,
> and the only Kconfig change then is to switch from bool to tristate and
> to drop the newly added sentence again.

Ok, sounds good.

     Arnd

[toc] | [prev] | [next] | [standalone]


#1581457 — [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:00 +0100
Subject[PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi
Message-ID<tbb5U-2sv-21@gated-at.bofh.it>
In reply to#1581452
Actions Semiconductor was listed on NASDAQ as ACTS until Dec 16, 2016.

Cc: mp-cs@actions-semi.com
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 1e4e84e..3069c6f 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -6,6 +6,7 @@ using them to avoid name-space collisions.
 abcn	Abracon Corporation
 abilis	Abilis Systems
 active-semi	Active-Semi International Inc
+acts	Actions Semiconductor Co., Ltd.
 ad	Avionic Design GmbH
 adapteva	Adapteva, Inc.
 adh	AD Holdings Plc.
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1581459 — [PATCH 03/11] ARM: Prepare Actions Semi S500

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:00 +0100
Subject[PATCH 03/11] ARM: Prepare Actions Semi S500
Message-ID<tbb5U-2sv-27@gated-at.bofh.it>
In reply to#1581452
Add ARCH_OWL and mach-owl for "acts,s500".

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm/Kconfig           |  2 ++
 arch/arm/Makefile          |  1 +
 arch/arm/mach-owl/Kconfig  |  9 +++++++++
 arch/arm/mach-owl/Makefile |  1 +
 arch/arm/mach-owl/owl.c    | 28 ++++++++++++++++++++++++++++
 5 files changed, 41 insertions(+)
 create mode 100644 arch/arm/mach-owl/Kconfig
 create mode 100644 arch/arm/mach-owl/Makefile
 create mode 100644 arch/arm/mach-owl/owl.c

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 71cea9e..1ea1e54 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -795,6 +795,8 @@ source "arch/arm/mach-omap2/Kconfig"
 
 source "arch/arm/mach-orion5x/Kconfig"
 
+source "arch/arm/mach-owl/Kconfig"
+
 source "arch/arm/mach-picoxcell/Kconfig"
 
 source "arch/arm/mach-pxa/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index ab30cc6..de7fccf 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -195,6 +195,7 @@ machine-$(CONFIG_ARCH_OXNAS)		+= oxnas
 machine-$(CONFIG_ARCH_OMAP1)		+= omap1
 machine-$(CONFIG_ARCH_OMAP2PLUS)	+= omap2
 machine-$(CONFIG_ARCH_ORION5X)		+= orion5x
+machine-$(CONFIG_ARCH_OWL)		+= owl
 machine-$(CONFIG_ARCH_PICOXCELL)	+= picoxcell
 machine-$(CONFIG_ARCH_PXA)		+= pxa
 machine-$(CONFIG_ARCH_QCOM)		+= qcom
diff --git a/arch/arm/mach-owl/Kconfig b/arch/arm/mach-owl/Kconfig
new file mode 100644
index 0000000..8ecceda
--- /dev/null
+++ b/arch/arm/mach-owl/Kconfig
@@ -0,0 +1,9 @@
+menuconfig ARCH_OWL
+	bool "Actions Semi Owl family SoCs"
+	depends on ARCH_MULTI_V7
+	select GENERIC_IRQ_CHIP
+	select ARM_GIC
+	select CACHE_L2X0
+	select COMMON_CLK
+	help
+	  This enables support for the Actions Semiconductor S500 SoC family.
diff --git a/arch/arm/mach-owl/Makefile b/arch/arm/mach-owl/Makefile
new file mode 100644
index 0000000..96ab18d
--- /dev/null
+++ b/arch/arm/mach-owl/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_OWL) += owl.o
diff --git a/arch/arm/mach-owl/owl.c b/arch/arm/mach-owl/owl.c
new file mode 100644
index 0000000..2ada318
--- /dev/null
+++ b/arch/arm/mach-owl/owl.c
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2017 Andreas Färber
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ */
+
+#include <linux/of_platform.h>
+#include <asm/mach/arch.h>
+
+static const char * const owl_dt_compat[] = {
+	"acts,s500",
+	NULL
+};
+
+DT_MACHINE_START(MESON, "Actions Semi Owl platform")
+	.dt_compat	= owl_dt_compat,
+	.l2c_aux_val	= 0,
+	.l2c_aux_mask	= ~0,
+MACHINE_END
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1581460 — [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:00 +0100
Subject[PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
Message-ID<tbb5V-2sv-29@gated-at.bofh.it>
In reply to#1581452
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm64/boot/dts/Makefile                     |   1 +
 arch/arm64/boot/dts/actions/Makefile             |   5 +
 arch/arm64/boot/dts/actions/s900-bubblegum96.dts |  62 ++++++++++
 arch/arm64/boot/dts/actions/s900.dtsi            | 140 +++++++++++++++++++++++
 4 files changed, 208 insertions(+)
 create mode 100644 arch/arm64/boot/dts/actions/Makefile
 create mode 100644 arch/arm64/boot/dts/actions/s900-bubblegum96.dts
 create mode 100644 arch/arm64/boot/dts/actions/s900.dtsi

diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index 080232b..d1a6b0a 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -1,3 +1,4 @@
+dts-dirs += actions
 dts-dirs += al
 dts-dirs += allwinner
 dts-dirs += altera
diff --git a/arch/arm64/boot/dts/actions/Makefile b/arch/arm64/boot/dts/actions/Makefile
new file mode 100644
index 0000000..bc1e6d6
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/Makefile
@@ -0,0 +1,5 @@
+dtb-$(CONFIG_ARCH_OWL) += s900-bubblegum96.dtb
+
+always		:= $(dtb-y)
+subdir-y	:= $(dts-dirs)
+clean-files	:= *.dtb
diff --git a/arch/arm64/boot/dts/actions/s900-bubblegum96.dts b/arch/arm64/boot/dts/actions/s900-bubblegum96.dts
new file mode 100644
index 0000000..12843a9
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/s900-bubblegum96.dts
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library 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.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "s900.dtsi"
+
+/ {
+	compatible = "ucrobotics,bubblegum-96", "acts,s900";
+	model = "Bubblegum-96";
+
+	aliases {
+		serial5 = &uart5;
+	};
+
+	chosen {
+		stdout-path = "serial5:115200n8";
+	};
+};
+
+&uart5 {
+	status = "okay";
+};
diff --git a/arch/arm64/boot/dts/actions/s900.dtsi b/arch/arm64/boot/dts/actions/s900.dtsi
new file mode 100644
index 0000000..d98d61a
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/s900.dtsi
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library 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.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	compatible = "acts,s900";
+	interrupt-parent = <&gic>;
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	cpus {
+		#address-cells = <2>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x0>;
+			enable-method = "psci";
+		};
+
+		cpu1: cpu@1 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x1>;
+			enable-method = "psci";
+		};
+
+		cpu2: cpu@2 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x2>;
+			enable-method = "psci";
+		};
+
+		cpu3: cpu@3 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x3>;
+			enable-method = "psci";
+		};
+	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+	};
+
+	psci {
+		compatible = "arm,psci-0.2";
+		method = "smc";
+	};
+
+	arm-pmu {
+		compatible = "arm,cortex-a53-pmu";
+		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+		             <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+		             <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+		             <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupts = <GIC_PPI 13
+			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14
+			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11
+			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10
+			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+	};
+
+	soc {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		gic: interrupt-controller@e00f1000 {
+			compatible = "arm,gic-400";
+			reg = <0x0 0xe00f1000 0x0 0x1000>,
+			      <0x0 0xe00f2000 0x0 0x1000>,
+			      <0x0 0xe00f4000 0x0 0x2000>,
+			      <0x0 0xe00f6000 0x0 0x2000>;
+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+			interrupt-controller;
+			#interrupt-cells = <3>;
+		};
+
+		uart5: serial@e012a000 {
+			compatible = "acts,s900-uart", "acts,owl-uart";
+			reg = <0x0 0xe012a000 0x0 0x1000>;
+			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+		};
+	};
+};
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1581546 — Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 19:20 +0100
SubjectRe: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
Message-ID<tbcll-3oS-57@gated-at.bofh.it>
In reply to#1581460
Hi,

Am 15.02.2017 um 18:12 schrieb Mark Rutland:
> On Wed, Feb 15, 2017 at 05:55:28PM +0100, Andreas Färber wrote:
>> +#include "s900.dtsi"
>> +
>> +/ {
>> +	compatible = "ucrobotics,bubblegum-96", "acts,s900";
>> +	model = "Bubblegum-96";
>> +
>> +	aliases {
>> +		serial5 = &uart5;
>> +	};
>> +
>> +	chosen {
>> +		stdout-path = "serial5:115200n8";
>> +	};
>> +};
> 
> I didn't spot a memory node here or in the dtsi. Does the FW/bootloader
> create one?

Heh, apparently... For S500, skeleton.dtsi added that - not entirely
clean either. I'll add one here in the .dts and think about adding one
in s500-guitar.dtsi as well.

--- a/arch/arm64/boot/dts/actions/s900-bubblegum96.dts
+++ b/arch/arm64/boot/dts/actions/s900-bubblegum96.dts
@@ -55,6 +55,11 @@
        chosen {
                stdout-path = "serial5:115200n8";
        };
+
+       memory {
+               device_type = "memory";
+               reg = <0x0 0x0 0x0 0x80000000>;
+       };
 };

 &uart5 {

>> +	reserved-memory {
>> +		#address-cells = <2>;
>> +		#size-cells = <2>;
>> +		ranges;
>> +	};
> 
> Why have this empty node?

Forgotten about... I see these:

   reserving fdt memory region: addr=19000000 size=3000000
   reserving fdt memory region: addr=20000000 size=20000000
   reserving fdt memory region: addr=18fff000 size=1000
   reserving fdt memory region: addr=1f000000 size=1000000

Vendor tree says 0x1f000000 is for secure monitor; 0x19000000 for fb,
0x20000000 for ion (ignoring), and 0x20000000 for afinfo - whatever that
may be (not me! :)).

So as minimum:

--- a/arch/arm64/boot/dts/actions/s900.dtsi
+++ b/arch/arm64/boot/dts/actions/s900.dtsi
@@ -86,6 +86,11 @@
                #address-cells = <2>;
                #size-cells = <2>;
                ranges;
+
+               secmon@1f000000 {
+                       reg = <0x0 0x1f000000 0x0 0x1000000>;
+                       no-map;
+               };
        };

        psci {

>> +
>> +	psci {
>> +		compatible = "arm,psci-0.2";
>> +		method = "smc";
>> +	};
>> +
>> +	arm-pmu {
>> +		compatible = "arm,cortex-a53-pmu";
>> +		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
>> +		             <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
>> +		             <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
>> +		             <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
>> +	};
> 
> Please ad an interrupt-affinity property, as described in
> Documentation/devicetree/bindings/arm/pmu.txt.

I had done my best to check my properties matched the bindings, but you
caught me not checking for any missing properties.

Again, my guess is:

@@ -99,6 +104,7 @@
                             <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
        };

        timer {

>> +
>> +	timer {
>> +		compatible = "arm,armv8-timer";
>> +		interrupts = <GIC_PPI 13
>> +			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
>> +			     <GIC_PPI 14
>> +			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
>> +			     <GIC_PPI 11
>> +			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
>> +			     <GIC_PPI 10
>> +			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
>> +	};
>> +
>> +	soc {
>> +		compatible = "simple-bus";
>> +		#address-cells = <2>;
>> +		#size-cells = <2>;
>> +		ranges;
>> +
>> +		gic: interrupt-controller@e00f1000 {
>> +			compatible = "arm,gic-400";
>> +			reg = <0x0 0xe00f1000 0x0 0x1000>,
>> +			      <0x0 0xe00f2000 0x0 0x1000>,
>> +			      <0x0 0xe00f4000 0x0 0x2000>,
>> +			      <0x0 0xe00f6000 0x0 0x2000>;
> 
> I believe that the second entry should be 0x2000 in length.

The vendor tree does have 0x1000, but that might be a mistake of course.
I vaguely recall having such discussions elsewhere in the past.

@@ -122,7 +128,7 @@
                gic: interrupt-controller@e00f1000 {
                        compatible = "arm,gic-400";
                        reg = <0x0 0xe00f1000 0x0 0x1000>,
-                             <0x0 0xe00f2000 0x0 0x1000>,
+                             <0x0 0xe00f2000 0x0 0x2000>,
                              <0x0 0xe00f4000 0x0 0x2000>,
                              <0x0 0xe00f6000 0x0 0x2000>;
                        interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4)
| IRQ_TYPE_LEVEL_LOW)>;

Thanks for the quick review,

Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)

[toc] | [prev] | [next] | [standalone]


#1581461 — [PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:00 +0100
Subject[PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs
Message-ID<tbb5V-2sv-37@gated-at.bofh.it>
In reply to#1581452
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 .../devicetree/bindings/serial/acts,owl-uart.txt         | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/serial/acts,owl-uart.txt

diff --git a/Documentation/devicetree/bindings/serial/acts,owl-uart.txt b/Documentation/devicetree/bindings/serial/acts,owl-uart.txt
new file mode 100644
index 0000000..a1aecd8
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/acts,owl-uart.txt
@@ -0,0 +1,16 @@
+Actions Semi Owl UART
+
+Required properties:
+- compatible :  "acts,s500-uart", "acts,owl-uart" for S500
+                "acts,s900-uart", "acts,owl-uart" for S900
+- reg        :  Offset and length of the register set for the device.
+- interrupts :  Should contain UART interrupt.
+
+
+Example:
+
+		uart3: serial@b0126000 {
+			compatible = "acts,s500-uart", "acts,owl-uart";
+			reg = <0xb0126000 0x1000>;
+			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+		};
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1581467 — [PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:00 +0100
Subject[PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics
Message-ID<tbb5V-2sv-51@gated-at.bofh.it>
In reply to#1581452
Cc: info@ucrobotics.com
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 3069c6f..be79cd2 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -319,6 +319,7 @@ tronfy	Tronfy
 tronsmart	Tronsmart
 truly	Truly Semiconductors Limited
 tyan	Tyan Computer Corporation
+ucrobotics	uCRobotics
 udoo	Udoo
 uniwest	United Western Technologies Corp (UniWest)
 upisemi	uPI Semiconductor Corp.
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1581468 — [PATCH 07/11] Documentation: kernel-parameters: Document owl earlycon

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:10 +0100
Subject[PATCH 07/11] Documentation: kernel-parameters: Document owl earlycon
Message-ID<tbbfz-2La-1@gated-at.bofh.it>
In reply to#1581452
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 Documentation/admin-guide/kernel-parameters.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 01f5788..c741166 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -952,6 +952,12 @@
 			must already be setup and configured. Options are not
 			yet supported.
 
+		owl,<addr>
+			Start an early, polled-mode console on an Owl serial
+			port at the specified address. The serial port must
+			already be setup and configured. Options are not yet
+			supported.
+
 		smh	Use ARM semihosting calls for early console.
 
 		s3c2410,<addr>
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1581470 — [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:10 +0100
Subject[PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
Message-ID<tbbfz-2La-5@gated-at.bofh.it>
In reply to#1581452
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm/boot/dts/Makefile                 |   2 +
 arch/arm/boot/dts/s500-guitar-bb-rev-b.dts |  63 ++++++++++++++++
 arch/arm/boot/dts/s500-guitar.dtsi         |  49 ++++++++++++
 arch/arm/boot/dts/s500.dtsi                | 116 +++++++++++++++++++++++++++++
 4 files changed, 230 insertions(+)
 create mode 100644 arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
 create mode 100644 arch/arm/boot/dts/s500-guitar.dtsi
 create mode 100644 arch/arm/boot/dts/s500.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 0118084..15a195f 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -638,6 +638,8 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
 	orion5x-maxtor-shared-storage-2.dtb \
 	orion5x-netgear-wnr854t.dtb \
 	orion5x-rd88f5182-nas.dtb
+dtb-$(CONFIG_ARCH_OWL) += \
+	s500-guitar-bb-rev-b.dtb
 dtb-$(CONFIG_ARCH_PRIMA2) += \
 	prima2-evb.dtb
 dtb-$(CONFIG_ARCH_OXNAS) += \
diff --git a/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
new file mode 100644
index 0000000..3d70cb8
--- /dev/null
+++ b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library 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.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "s500-guitar.dtsi"
+
+/ {
+	compatible = "lemaker,guitar-bb-rev-b", "lemaker,guitar", "acts,s500";
+	model = "LeMaker Guitar Base Board rev. B";
+
+	aliases {
+		serial3 = &uart3;
+	};
+
+	chosen {
+		stdout-path = "serial3:115200n8";
+	};
+};
+
+&uart3 {
+	clock-frequency = <48000000>;
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/s500-guitar.dtsi b/arch/arm/boot/dts/s500-guitar.dtsi
new file mode 100644
index 0000000..44d1e40
--- /dev/null
+++ b/arch/arm/boot/dts/s500-guitar.dtsi
@@ -0,0 +1,49 @@
+/*
+ * LeMaker Guitar SoM
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library 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.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "s500.dtsi"
+
+/ {
+	compatible = "lemaker,guitar", "acts,s500";
+};
diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi
new file mode 100644
index 0000000..ee93984
--- /dev/null
+++ b/arch/arm/boot/dts/s500.dtsi
@@ -0,0 +1,116 @@
+/*
+ * Actions Semi S500 SoC
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library 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.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "skeleton.dtsi"
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	compatible = "acts,s500";
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			compatible = "arm,cortex-a9";
+			reg = <0x0>;
+		};
+
+		cpu1: cpu@1 {
+			compatible = "arm,cortex-a9";
+			reg = <0x1>;
+		};
+
+		cpu2: cpu@2 {
+			compatible = "arm,cortex-a9";
+			reg = <0x2>;
+		};
+
+		cpu3: cpu@3 {
+			compatible = "arm,cortex-a9";
+			reg = <0x3>;
+		};
+	};
+
+	arm-pmu {
+		compatible = "arm,cortex-a9-pmu";
+		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+		             <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+		             <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+		             <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+        };
+
+	soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		gic: interrupt-controller@b0021000 {
+			compatible = "arm,cortex-a9-gic";
+			reg = <0xb0021000 0x1000>,
+			      <0xb0020100 0x0100>;
+		};
+
+		l2: cache-controller@b0022000 {
+			compatible = "arm,pl310-cache";
+			reg = <0xb0022000 0x1000>;
+			cache-unified;
+			cache-level = <2>;
+			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+			arm,tag-latency = <3 3 2>;
+			arm,data-latency = <5 3 3>;
+		};
+
+		uart3: serial@b0126000 {
+			compatible = "acts,s500-uart", "acts,owl-uart";
+			reg = <0xb0126000 0x1000>;
+			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+		};
+	};
+};
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1581487 — Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:30 +0100
SubjectRe: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
Message-ID<tbbyV-2RV-3@gated-at.bofh.it>
In reply to#1581470
Hi Mark,

Am 15.02.2017 um 18:07 schrieb Mark Rutland:
> On Wed, Feb 15, 2017 at 05:55:25PM +0100, Andreas Färber wrote:
>> +	arm-pmu {
>> +		compatible = "arm,cortex-a9-pmu";
>> +		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
>> +		             <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
>> +		             <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
>> +		             <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
>> +        };
> 
> Please add an interrupt-affinity property, as described in
> Documentation/devicetree/bindings/arm/pmu.txt

That's not in the vendor tree... My guess is it would be like this then?

diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi
index ee93984..959c6e3 100644
--- a/arch/arm/boot/dts/s500.dtsi
+++ b/arch/arm/boot/dts/s500.dtsi
@@ -82,7 +82,8 @@
                             <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
-        };
+               interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+       };

        soc {
                compatible = "simple-bus";

(also fixing indentation)

Thanks for pointing out,

Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)

[toc] | [prev] | [next] | [standalone]


#1587218 — Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar

FromAndreas Färber <afaerber@suse.de>
Date2017-02-24 02:10 +0100
SubjectRe: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
Message-ID<tecyt-Yd-5@gated-at.bofh.it>
In reply to#1581470
Am 15.02.2017 um 17:55 schrieb Andreas Färber:
> +		gic: interrupt-controller@b0021000 {
> +			compatible = "arm,cortex-a9-gic";
> +			reg = <0xb0021000 0x1000>,
> +			      <0xb0020100 0x0100>;
> +		};

This was lacking:

			interrupt-controller;
			#interrupt-cells = <3>;

leading to a hang when mapping an irq.

Regards,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)

[toc] | [prev] | [next] | [standalone]


#1581474 — [PATCH 04/11] ARM64: Prepare Actions Semi S900

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:10 +0100
Subject[PATCH 04/11] ARM64: Prepare Actions Semi S900
Message-ID<tbbfA-2La-9@gated-at.bofh.it>
In reply to#1581452
Add ARCH_OWL.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm64/Kconfig.platforms | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 129cc5a..5ecb925 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -1,5 +1,10 @@
 menu "Platform selection"
 
+config ARCH_OWL
+	bool "Actions Semi S900 SoC Family"
+	help
+	  This enables support for the Actions Semiconductor S900 SoC family.
+
 config ARCH_SUNXI
 	bool "Allwinner sunxi 64-bit SoC Family"
 	select GENERIC_IRQ_CHIP
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


#1582594 — Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900

FromArnd Bergmann <arnd@arndb.de>
Date2017-02-16 14:50 +0100
SubjectRe: [PATCH 04/11] ARM64: Prepare Actions Semi S900
Message-ID<tbuBB-6P1-19@gated-at.bofh.it>
In reply to#1581474
On Wednesday, February 15, 2017 5:55:21 PM CET Andreas Färber wrote:
> 
> +config ARCH_OWL
> +       bool "Actions Semi S900 SoC Family"
> +       help
> +         This enables support for the Actions Semiconductor S900 SoC family.
> +
> 

There seem to be a couple of other SoCs in the same family, so
maybe use a more generic name than S900 in the one-line
Kconfig description.

	Arnd

[toc] | [prev] | [next] | [standalone]


#1582997 — Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900

FromAndreas Färber <afaerber@suse.de>
Date2017-02-17 01:40 +0100
SubjectRe: [PATCH 04/11] ARM64: Prepare Actions Semi S900
Message-ID<tbEKB-5qy-5@gated-at.bofh.it>
In reply to#1582594
Am 16.02.2017 um 14:43 schrieb Arnd Bergmann:
> On Wednesday, February 15, 2017 5:55:21 PM CET Andreas Färber wrote:
>>
>> +config ARCH_OWL
>> +       bool "Actions Semi S900 SoC Family"
>> +       help
>> +         This enables support for the Actions Semiconductor S900 SoC family.
>> +
>>
> 
> There seem to be a couple of other SoCs in the same family, so
> maybe use a more generic name than S900 in the one-line
> Kconfig description.

Good point. I only tested with `make oldconfig`, so using "Owl" should
tidy the sort order in `make menuconfig` while at it. (I believe there
were more inconsistent examples, such as Armada 3700 vs. MVEBU...)

Note that I have not come across any explanation for "OWL" as an
acronym, so I'm guessing it's the bird and therefore capitalizing it.

Apart from S900, actions-semi.com shows V series S900VR and S700 as well
as GT series GT7 Cortex-A53 based SoCs. My guess[*] is these could all
be handled as ARCH_OWL, adding further differentiation below if
necessary; but Bubblegum-96 seemed the only available arm64 board for
testing so far, so any comments from Actions will be appreciated.

[*] The S500 vendor device tree was actually using ATM series models for
various nodes, so I'm inferring that the product series are closely
enough related.

However, if you would prefer ARCH_ACTIONS I wouldn't mind either - we
just need to keep it consistent across arm and arm64.

Regards,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)

[toc] | [prev] | [next] | [standalone]


#1583358 — Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900

FromArnd Bergmann <arnd@arndb.de>
Date2017-02-17 12:40 +0100
SubjectRe: [PATCH 04/11] ARM64: Prepare Actions Semi S900
Message-ID<tbP3k-3HN-19@gated-at.bofh.it>
In reply to#1582997
On Fri, Feb 17, 2017 at 1:34 AM, Andreas Färber <afaerber@suse.de> wrote:
> Am 16.02.2017 um 14:43 schrieb Arnd Bergmann:
>> On Wednesday, February 15, 2017 5:55:21 PM CET Andreas Färber wrote:
>>>
>>> +config ARCH_OWL
>>> +       bool "Actions Semi S900 SoC Family"
>>> +       help
>>> +         This enables support for the Actions Semiconductor S900 SoC family.
>>> +
>>>
>>
>> There seem to be a couple of other SoCs in the same family, so
>> maybe use a more generic name than S900 in the one-line
>> Kconfig description.
>
> Good point. I only tested with `make oldconfig`, so using "Owl" should
> tidy the sort order in `make menuconfig` while at it. (I believe there
> were more inconsistent examples, such as Armada 3700 vs. MVEBU...)
>
> Note that I have not come across any explanation for "OWL" as an
> acronym, so I'm guessing it's the bird and therefore capitalizing it.
>
> Apart from S900, actions-semi.com shows V series S900VR and S700 as well
> as GT series GT7 Cortex-A53 based SoCs. My guess[*] is these could all
> be handled as ARCH_OWL, adding further differentiation below if
> necessary; but Bubblegum-96 seemed the only available arm64 board for
> testing so far, so any comments from Actions will be appreciated.
>
> [*] The S500 vendor device tree was actually using ATM series models for
> various nodes, so I'm inferring that the product series are closely
> enough related.
>
> However, if you would prefer ARCH_ACTIONS I wouldn't mind either - we
> just need to keep it consistent across arm and arm64.

ARCH_ACTIONS seems best to me. We tend to go for the broader names
per company these days even when things are not closely related. This
avoids having to rename things when a new line of products comes up
that shares a subset of the components but doesn't fit under the old name.

      Arnd

[toc] | [prev] | [next] | [standalone]


#1581479 — [PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500

FromAndreas Färber <afaerber@suse.de>
Date2017-02-15 18:10 +0100
Subject[PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500
Message-ID<tbbfA-2La-23@gated-at.bofh.it>
In reply to#1581452
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 Documentation/devicetree/bindings/arm/acts.txt | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/acts.txt

diff --git a/Documentation/devicetree/bindings/arm/acts.txt b/Documentation/devicetree/bindings/arm/acts.txt
new file mode 100644
index 0000000..a34d647
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/acts.txt
@@ -0,0 +1,19 @@
+Actions Semi platforms device tree bindings
+-------------------------------------------
+
+
+S500 SoC
+========
+
+Required root node properties:
+
+ - compatible :  "acts,s500"
+
+
+Modules:
+
+ - LeMaker Guitar: "lemaker,guitar"
+
+Boards:
+
+ - LeMaker Guitar Base Board rev. B: "lemaker,guitar-bb-rev-b", "lemaker,guitar"
-- 
2.10.2

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | linux.kernel


csiph-web