Commit 67335b8d authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'imx-fixes-5.12' of...

Merge tag 'imx-fixes-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.12:

- Fix an Ethernet issue on imx6ul-14x14-evk board that is caused by
  independent PHY reset.
- Add missing `dma-coherent` property for LayerScape device trees to fix a
  kernel BUG report.
- Use IRQCHIP_DECLARE for AVIC driver to fix a boot issue on i.MX25 with
  fw_devlink=on.
- Add missing I2C pinctrl entry for imx8mp-phyboard-pollux-rdk board to
  fix the broken I2C GPIO recovery support.
- Add `fsl,use-minimum-ecc` property for imx6ull-myir-mys-6ulx-eval
  device tree to fix UBI filesystem mount failure.

* tag 'imx-fixes-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx6ull: fix ubi filesystem mount failed
  ARM: imx6ul-14x14-evk: Do not reset the Ethernet PHYs independently
  arm64: dts: imx8mp-phyboard-pollux-rdk: Add missing pinctrl entry
  arm64: dts: ls1012a: mark crypto engine dma coherent
  arm64: dts: ls1043a: mark crypto engine dma coherent
  arm64: dts: ls1046a: mark crypto engine dma coherent
  ARM: imx: avic: Convert to using IRQCHIP_DECLARE

Link: https://lore.kernel.org/r/20210318090145.GA22955@dragon


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 3848421f e4817a1b
Loading
Loading
Loading
Loading
+16 −6
Original line number Diff line number Diff line
@@ -210,9 +210,6 @@
			micrel,led-mode = <1>;
			clocks = <&clks IMX6UL_CLK_ENET_REF>;
			clock-names = "rmii-ref";
			reset-gpios = <&gpio_spi 1 GPIO_ACTIVE_LOW>;
			reset-assert-us = <10000>;
			reset-deassert-us = <100>;

		};

@@ -222,9 +219,6 @@
			micrel,led-mode = <1>;
			clocks = <&clks IMX6UL_CLK_ENET2_REF>;
			clock-names = "rmii-ref";
			reset-gpios = <&gpio_spi 2 GPIO_ACTIVE_LOW>;
			reset-assert-us = <10000>;
			reset-deassert-us = <100>;
		};
	};
};
@@ -243,6 +237,22 @@
	status = "okay";
};

&gpio_spi {
	eth0-phy-hog {
		gpio-hog;
		gpios = <1 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "eth0-phy";
	};

	eth1-phy-hog {
		gpio-hog;
		gpios = <2 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "eth1-phy";
	};
};

&i2c1 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
+1 −0
Original line number Diff line number Diff line
@@ -14,5 +14,6 @@
};

&gpmi {
	fsl,use-minimum-ecc;
	status = "okay";
};
+15 −1
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@
#include <linux/module.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/irqchip.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_address.h>
@@ -162,7 +163,7 @@ static void __exception_irq_entry avic_handle_irq(struct pt_regs *regs)
 * interrupts. It registers the interrupt enable and disable functions
 * to the kernel for each interrupt source.
 */
void __init mxc_init_irq(void __iomem *irqbase)
static void __init mxc_init_irq(void __iomem *irqbase)
{
	struct device_node *np;
	int irq_base;
@@ -220,3 +221,16 @@ void __init mxc_init_irq(void __iomem *irqbase)

	printk(KERN_INFO "MXC IRQ initialized\n");
}

static int __init imx_avic_init(struct device_node *node,
			       struct device_node *parent)
{
	void __iomem *avic_base;

	avic_base = of_iomap(node, 0);
	BUG_ON(!avic_base);
	mxc_init_irq(avic_base);
	return 0;
}

IRQCHIP_DECLARE(imx_avic, "fsl,avic", imx_avic_init);
+0 −1
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ void mx35_map_io(void);
void imx21_init_early(void);
void imx31_init_early(void);
void imx35_init_early(void);
void mxc_init_irq(void __iomem *);
void mx31_init_irq(void);
void mx35_init_irq(void);
void mxc_set_cpu_type(unsigned int type);
+0 −11
Original line number Diff line number Diff line
@@ -17,16 +17,6 @@ static void __init imx1_init_early(void)
	mxc_set_cpu_type(MXC_CPU_MX1);
}

static void __init imx1_init_irq(void)
{
	void __iomem *avic_addr;

	avic_addr = ioremap(MX1_AVIC_ADDR, SZ_4K);
	WARN_ON(!avic_addr);

	mxc_init_irq(avic_addr);
}

static const char * const imx1_dt_board_compat[] __initconst = {
	"fsl,imx1",
	NULL
@@ -34,7 +24,6 @@ static const char * const imx1_dt_board_compat[] __initconst = {

DT_MACHINE_START(IMX1_DT, "Freescale i.MX1 (Device Tree Support)")
	.init_early	= imx1_init_early,
	.init_irq	= imx1_init_irq,
	.dt_compat	= imx1_dt_board_compat,
	.restart	= mxc_restart,
MACHINE_END
Loading