50686e8a3a
New or improved SoC support: - Addition of support for Atmel's SAMA5D2 SoC - Addition of Freescale i.MX6UL - Improved support of TI's DM814x platform - Misc fixes and improvements for RockChip platforms - Marvell MVEBU suspend/resume support A few driver changes that ideally would belong in the drivers branch are also here (acked by appropriate maintainers): - Power key input driver for Freescale platforms (svns) - RTC driver updates for Freescale platforms (svns/mxc) - Clk fixes for TI DM814/816X + a bunch of other changes for various platforms -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJV5Mo6AAoJEIwa5zzehBx3VnMP/28LFJVUjIbd2xjJBo2gbSwV jN7uGlTkKU+1kHjZqnUPuirlBxBzsXKgRfBvCoeu0cPOggwmFcaF915/HHPz7xuz vTP7k98+Y5nSXScIohWkWCdZTpKKjve4sn74rXmiNakTUiuaHf5lKut/m7ldVrWd hN1o9W4LN+5O1mOYbc9ZD98v3bkDb6eu+a22oK7qemXiEiQi+NIMoDx+IR2bd4pA FeDaW7sOFWTEYU/p+M5nZNvI3n53P0/mlB5rPRiAYRjhQf9DrWHm5G7HdnMkUkgo /s8/QlVjBkJwhkY0TqpwtHY23JjSSB6UtCnXzb1eVAkX1nJN6PJQpcpCz1zJhd9q +sJ2k1zEvrfomJCK7/iZ1ubQE09KlJLEeb8xi5xCwD0MBOBAYC31bovDVAswCitV 8NHnfltEG+wCMyX955eqqGkVxkcw8sJMJUK5A95aK6w+vKqjd7gUgLJjXFC1u4eN ECuVVUf1hVmUEmM799CDayTlfGDt4oGLmHGao+SiSCVc1XbG9HkWr7Lcgr6u9UHr lNv3RIe6Axb85xxIU0/9hqLHrtB85uEQjjlbnQx3o7u8RsSOeaiZvCz4BzcjP9E1 VGyD6zkRWhuDiMFlPVXiAX0qIH5xSjIWkC0wPNJNy8eWFH9tkfGL0mOlLbl09oGR gtuvOrjbF/BhILkPw38y =8T5Z -----END PGP SIGNATURE----- Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform updates from Olof Johansson: "New or improved SoC support: - add support for Atmel's SAMA5D2 SoC - add support for Freescale i.MX6UL - improved support for TI's DM814x platform - misc fixes and improvements for RockChip platforms - Marvell MVEBU suspend/resume support A few driver changes that ideally would belong in the drivers branch are also here (acked by appropriate maintainers): - power key input driver for Freescale platforms (svns) - RTC driver updates for Freescale platforms (svns/mxc) - clk fixes for TI DM814/816X + a bunch of other changes for various platforms" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits) ARM: rockchip: pm: Fix PTR_ERR() argument ARM: imx: mach-imx6ul: Fix allmodconfig build clk: ti: fix for definition movement ARM: uniphier: drop v7_invalidate_l1 call at secondary entry memory: kill off set_irq_flags usage rtc: snvs: select option REGMAP_MMIO ARM: brcmstb: select ARCH_DMA_ADDR_T_64BIT for LPAE ARM: BCM: Enable ARM erratum 798181 for BRCMSTB ARM: OMAP2+: Fix power domain operations regression caused by 81xx ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend ARM: rockchip: set correct stabilization thresholds in suspend ARM: rockchip: rename osc_switch_to_32k variable ARM: imx6ul: add fec MAC refrence clock and phy fixup init ARM: imx6ul: add fec bits to GPR syscon definition rtc: mxc: add support of device tree dt-binding: document the binding for mxc rtc rtc: mxc: use a second rtc clock ARM: davinci: cp_intc: use IRQCHIP_SKIP_SET_WAKE instead of irq_set_wake callback soc: mediatek: Fix SCPSYS compilation ARM: at91/soc: add basic support for new sama5d2 SoC ...
80 lines
2.0 KiB
C
80 lines
2.0 KiB
C
/*
|
|
* Setup code for SAMA5
|
|
*
|
|
* Copyright (C) 2013 Atmel,
|
|
* 2013 Ludovic Desroches <ludovic.desroches@atmel.com>
|
|
*
|
|
* Licensed under GPLv2 or later.
|
|
*/
|
|
|
|
#include <linux/of.h>
|
|
#include <linux/of_platform.h>
|
|
|
|
#include <asm/mach/arch.h>
|
|
#include <asm/mach/map.h>
|
|
#include <asm/system_misc.h>
|
|
|
|
#include "generic.h"
|
|
#include "soc.h"
|
|
|
|
static const struct at91_soc sama5_socs[] = {
|
|
AT91_SOC(SAMA5D2_CIDR_MATCH, SAMA5D27_EXID_MATCH,
|
|
"sama5d27", "sama5d2"),
|
|
AT91_SOC(SAMA5D3_CIDR_MATCH, SAMA5D31_EXID_MATCH,
|
|
"sama5d31", "sama5d3"),
|
|
AT91_SOC(SAMA5D3_CIDR_MATCH, SAMA5D33_EXID_MATCH,
|
|
"sama5d33", "sama5d3"),
|
|
AT91_SOC(SAMA5D3_CIDR_MATCH, SAMA5D34_EXID_MATCH,
|
|
"sama5d34", "sama5d3"),
|
|
AT91_SOC(SAMA5D3_CIDR_MATCH, SAMA5D35_EXID_MATCH,
|
|
"sama5d35", "sama5d3"),
|
|
AT91_SOC(SAMA5D3_CIDR_MATCH, SAMA5D36_EXID_MATCH,
|
|
"sama5d36", "sama5d3"),
|
|
AT91_SOC(SAMA5D4_CIDR_MATCH, SAMA5D41_EXID_MATCH,
|
|
"sama5d41", "sama5d4"),
|
|
AT91_SOC(SAMA5D4_CIDR_MATCH, SAMA5D42_EXID_MATCH,
|
|
"sama5d42", "sama5d4"),
|
|
AT91_SOC(SAMA5D4_CIDR_MATCH, SAMA5D43_EXID_MATCH,
|
|
"sama5d43", "sama5d4"),
|
|
AT91_SOC(SAMA5D4_CIDR_MATCH, SAMA5D44_EXID_MATCH,
|
|
"sama5d44", "sama5d4"),
|
|
{ /* sentinel */ },
|
|
};
|
|
|
|
static void __init sama5_dt_device_init(void)
|
|
{
|
|
struct soc_device *soc;
|
|
struct device *soc_dev = NULL;
|
|
|
|
soc = at91_soc_init(sama5_socs);
|
|
if (soc != NULL)
|
|
soc_dev = soc_device_to_device(soc);
|
|
|
|
of_platform_populate(NULL, of_default_bus_match_table, NULL, soc_dev);
|
|
at91sam9x5_pm_init();
|
|
}
|
|
|
|
static const char *const sama5_dt_board_compat[] __initconst = {
|
|
"atmel,sama5",
|
|
NULL
|
|
};
|
|
|
|
DT_MACHINE_START(sama5_dt, "Atmel SAMA5")
|
|
/* Maintainer: Atmel */
|
|
.init_machine = sama5_dt_device_init,
|
|
.dt_compat = sama5_dt_board_compat,
|
|
MACHINE_END
|
|
|
|
static const char *const sama5_alt_dt_board_compat[] __initconst = {
|
|
"atmel,sama5d2",
|
|
"atmel,sama5d4",
|
|
NULL
|
|
};
|
|
|
|
DT_MACHINE_START(sama5_alt_dt, "Atmel SAMA5")
|
|
/* Maintainer: Atmel */
|
|
.init_machine = sama5_dt_device_init,
|
|
.dt_compat = sama5_alt_dt_board_compat,
|
|
.l2c_aux_mask = ~0UL,
|
|
MACHINE_END
|