Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c929c8a authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'integrator-for-arm-soc' of...

Merge tag 'integrator-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/cleanup

From Linus Walleij <linus.walleij@linaro.org>:

This series will do the following:
- Switch the Integrator/AP and /CP to use the SoC bus
  when booting from device tree.
- Group all devices on the SoC below this bus so as to
  set a good example of how to do this. The bus was
  invented by Lee Jones, let's show how it's to be used
  on a DT:ed SoC.
- Fetch the special system controller offsets from two
  special device tree nodes for each case and replace
  the static mappings with these at boot.
- Move some static remaps to the ATAG-only code path
  and delete some static maps that aren't used.
- Push dependencies on system controller remaps down
  to the Integrator/AP board file and the PCIv3 driver
  respectively and use only dynamic remappings.
- Fix up conditional BUG() usage in the PCIv3 driver
  to be simpler and more to the point.

* tag 'integrator-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator

:
  ARM: integrator: use BUG_ON where possible
  ARM: integrator: push down SC dependencies
  ARM: integrator: delete static UART1 mapping
  ARM: integrator: delete SC mapping on the CP
  ARM: integrator: remove static CP syscon mapping
  ARM: integrator: remove static AP syscon mapping
  ARM: integrator: hook the CP into the SoC bus
  ARM: integrator: hook the AP into the SoC bus

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents d98eb5cf f7a9b365
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -9,6 +9,10 @@ Required properties (in root node):

FPGA type interrupt controllers, see the versatile-fpga-irq binding doc.

In the root node the Integrator/CP must have a /cpcon node pointing
to the CP control registers, and the Integrator/AP must have a
/syscon node pointing to the Integrator/AP system controller.


ARM Versatile Application and Platform Baseboards
-------------------------------------------------
+5 −0
Original line number Diff line number Diff line
@@ -18,6 +18,11 @@
		bootargs = "root=/dev/ram0 console=ttyAM0,38400n8 earlyprintk";
	};

	syscon {
		/* AP system controller registers */
		reg = <0x11000000 0x100>;
	};

	timer0: timer@13000000 {
		compatible = "arm,integrator-timer";
	};
+5 −0
Original line number Diff line number Diff line
@@ -18,6 +18,11 @@
		bootargs = "root=/dev/ram0 console=ttyAMA0,38400n8 earlyprintk";
	};

	cpcon {
		/* CP controller registers */
		reg = <0xcb000000 0x100>;
	};

	timer0: timer@13000000 {
		compatible = "arm,sp804", "arm,primecell";
	};
+2 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ config ARCH_INTEGRATOR_AP
	select MIGHT_HAVE_PCI
	select SERIAL_AMBA_PL010
	select SERIAL_AMBA_PL010_CONSOLE
	select SOC_BUS
	help
	  Include support for the ARM(R) Integrator/AP and
	  Integrator/PP2 platforms.
@@ -19,6 +20,7 @@ config ARCH_INTEGRATOR_CP
	select PLAT_VERSATILE_CLCD
	select SERIAL_AMBA_PL011
	select SERIAL_AMBA_PL011_CONSOLE
	select SOC_BUS
	help
	  Include support for the ARM(R) Integrator CP platform.

+7 −1
Original line number Diff line number Diff line
#include <linux/amba/serial.h>
extern struct amba_pl010_data integrator_uart_data;
#ifdef CONFIG_ARCH_INTEGRATOR_AP
extern struct amba_pl010_data ap_uart_data;
#else
/* Not used without Integrator/AP support anyway */
struct amba_pl010_data ap_uart_data {};
#endif
void integrator_init_early(void);
int integrator_init(bool is_cp);
void integrator_reserve(void);
void integrator_restart(char, const char *);
void integrator_init_sysfs(struct device *parent, u32 id);
Loading