Commit 0919a5b3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM SoC code updates from Arnd Bergmann:
 "Another small set of code changes for the 32-bit Arm platforms, and a
  trivial update to the Kconfig entry for the arm64 TI K3 chip.

  Andrew Davis cleans up the system reset handling, which touches a
  couple of platforms.

  The mediatek platform needs some code changes to support
  multiprocessing in the newly added support for the old mt6572 chip"

* tag 'soc-arm-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: sa110/gpio: convert set_multiple() to returning an integer
  ARM: rockchip: fix kernel hang during smp initialization
  ARM: mediatek: add MT6572 smp bring up code
  ARM: mediatek: add board_dt_compat entry for the MT6572 SoC
  ARM: tegra: Use I/O memcpy to write to IRAM
  arm: orion: use string choices helper
  ARM: Switch to new sys-off handler API
  arm64: Kconfig.platforms: remove useless select for ARCH_K3
parents 4c10d222 8c1f5a11
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -578,7 +578,7 @@ static int sa1111_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
	return 0;
}

static void sa1111_gpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
static int sa1111_gpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
				    unsigned long *bits)
{
	struct sa1111 *sachip = gc_to_sa1111(gc);
@@ -597,6 +597,8 @@ static void sa1111_gpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
	sa1111_gpio_modify(reg + SA1111_GPIO_PCDWR, (msk >> 12) & 255, val >> 12);
	sa1111_gpio_modify(reg + SA1111_GPIO_PCSSR, (msk >> 12) & 255, val >> 12);
	spin_unlock_irqrestore(&sachip->lock, flags);

	return 0;
}

static int sa1111_gpio_to_irq(struct gpio_chip *gc, unsigned offset)
@@ -616,7 +618,7 @@ static int sa1111_setup_gpios(struct sa1111 *sachip)
	sachip->gc.direction_output = sa1111_gpio_direction_output;
	sachip->gc.get = sa1111_gpio_get;
	sachip->gc.set_rv = sa1111_gpio_set;
	sachip->gc.set_multiple = sa1111_gpio_set_multiple;
	sachip->gc.set_multiple_rv = sa1111_gpio_set_multiple;
	sachip->gc.to_irq = sa1111_gpio_to_irq;
	sachip->gc.base = -1;
	sachip->gc.ngpio = 18;
+1 −1
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ static void __init highbank_init(void)
	sregs_base = of_iomap(np, 0);
	WARN_ON(!sregs_base);

	pm_power_off = highbank_power_off;
	register_platform_power_off(highbank_power_off);
	highbank_pm_init();

	bus_register_notifier(&platform_bus_type, &highbank_platform_nb);
+4 −0
Original line number Diff line number Diff line
@@ -15,6 +15,10 @@ config MACH_MT2701
	bool "MediaTek MT2701 SoCs support"
	default ARCH_MEDIATEK

config MACH_MT6572
	bool "MediaTek MT6572 SoCs support"
	default ARCH_MEDIATEK

config MACH_MT6589
	bool "MediaTek MT6589 SoCs support"
	default ARCH_MEDIATEK
+1 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ static void __init mediatek_timer_init(void)

static const char * const mediatek_board_dt_compat[] = {
	"mediatek,mt2701",
	"mediatek,mt6572",
	"mediatek,mt6589",
	"mediatek,mt6592",
	"mediatek,mt7623",
+7 −0
Original line number Diff line number Diff line
@@ -29,6 +29,12 @@ static const struct mtk_smp_boot_info mtk_mt8135_tz_boot = {
	{ 0x3f8, 0x3f8, 0x3f8 },
};

static const struct mtk_smp_boot_info mtk_mt6572_boot = {
	0x10001400, 0x08,
	{ 0x534c4131 },
	{ 0x0c },
};

static const struct mtk_smp_boot_info mtk_mt6589_boot = {
	0x10002000, 0x34,
	{ 0x534c4131, 0x4c415332, 0x41534c33 },
@@ -49,6 +55,7 @@ static const struct of_device_id mtk_tz_smp_boot_infos[] __initconst = {
};

static const struct of_device_id mtk_smp_boot_infos[] __initconst = {
	{ .compatible   = "mediatek,mt6572", .data = &mtk_mt6572_boot },
	{ .compatible   = "mediatek,mt6589", .data = &mtk_mt6589_boot },
	{ .compatible   = "mediatek,mt7623", .data = &mtk_mt7623_boot },
	{ .compatible   = "mediatek,mt7629", .data = &mtk_mt7623_boot },
Loading