Skip to content

Commit

Permalink
Merge tag 'soc-fixes-5.12' of git://git.kernel.org/pub/scm/linux/kern…
Browse files Browse the repository at this point in the history
…el/git/soc/soc

Pull ARM SoC fixes from Arnd Bergmann:
 "Too many fixes have accumulated in the soc tree, so this is a fairly
  large set. As usual, most of the fixes are for devicetree files, but
  there are also notable code changes for imx and omap regressions as
  well as some maintainer file updates.

  imx:
   - 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.

  at91:
   - wrong phy address that blocks Ethernet use on boards with sama5d27
     SoM1

   - restrictive pin possibilities for sam9x60

  omap:
   - Fix ocp interconnect bus access error reporting for omap_l3_noc by
     setting IRQF_NO_THREAD

   - Fix changed mmc slot order regression by adding mmc aliases for
     am335x

   - Fix dra7 reboot regression caused by invalid pcie reset map

   - Fix smartreflex init regression caused by dropped legacy data

   - Fix ti-sysc driver warning on unbind if reset is not deasserted

   - Fix flakey reset deassert for dra7 iva

  stm32:
   - MAINTAINER file updates

  broadcom:
   - brcmstb SoC ID build fix

   - MAINTAINER file updates"

* tag 'soc-fixes-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  MAINTAINERS: Add Alain Volmat as STM32 I2C/SMBUS maintainer
  MAINTAINERS: Remove Vincent Abriou for STM/STI DRM drivers.
  MAINTAINERS: Update some st.com email addresses to foss.st.com
  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
  ARM: dts: at91: sam9x60: fix mux-mask to match product's datasheet
  ARM: dts: at91: sam9x60: fix mux-mask for PA7 so it can be set to A, B and C
  ARM: dts: at91-sama5d27_som1: fix phy address to 7
  soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva
  bus: ti-sysc: Fix warning on unbind if reset is not deasserted
  ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data
  soc: ti: omap-prm: Fix reboot issue with invalid pcie reset map for dra7
  MAINTAINERS: rectify BROADCOM PMB (POWER MANAGEMENT BUS) DRIVER
  ARM: dts: am33xx: add aliases for mmc interfaces
  bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD
  • Loading branch information
torvalds committed Mar 26, 2021
2 parents 6c20f6d + 67335b8 commit eb3991e
Show file tree
Hide file tree
Showing 24 changed files with 136 additions and 120 deletions.
33 changes: 16 additions & 17 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2489,7 +2489,7 @@ N: sc27xx
N: sc2731

ARM/STI ARCHITECTURE
M: Patrice Chotard <[email protected]>
M: Patrice Chotard <patrice.chotard@foss.st.com>
L: [email protected] (moderated for non-subscribers)
S: Maintained
W: http://www.stlinux.com
Expand Down Expand Up @@ -2522,7 +2522,7 @@ F: include/linux/remoteproc/st_slim_rproc.h

ARM/STM32 ARCHITECTURE
M: Maxime Coquelin <[email protected]>
M: Alexandre Torgue <[email protected]>
M: Alexandre Torgue <alexandre.torgue@foss.st.com>
L: [email protected] (moderated for non-subscribers)
L: [email protected] (moderated for non-subscribers)
S: Maintained
Expand Down Expand Up @@ -3115,7 +3115,7 @@ C: irc://irc.oftc.net/bcache
F: drivers/md/bcache/

BDISP ST MEDIA DRIVER
M: Fabien Dessenne <[email protected]>
M: Fabien Dessenne <fabien.dessenne@foss.st.com>
L: [email protected]
S: Supported
W: https://linuxtv.org
Expand Down Expand Up @@ -3675,7 +3675,7 @@ M: [email protected]
L: [email protected]
S: Maintained
T: git git://github.com/broadcom/stblinux.git
F: drivers/soc/bcm/bcm-pmb.c
F: drivers/soc/bcm/bcm63xx/bcm-pmb.c
F: include/dt-bindings/soc/bcm-pmb.h

BROADCOM SPECIFIC AMBA DRIVER (BCMA)
Expand Down Expand Up @@ -5080,7 +5080,7 @@ S: Maintained
F: drivers/platform/x86/dell/dell-wmi.c

DELTA ST MEDIA DRIVER
M: Hugues Fruchet <[email protected]>
M: Hugues Fruchet <hugues.fruchet@foss.st.com>
L: [email protected]
S: Supported
W: https://linuxtv.org
Expand Down Expand Up @@ -6006,18 +6006,16 @@ F: drivers/gpu/drm/rockchip/

DRM DRIVERS FOR STI
M: Benjamin Gaignard <[email protected]>
M: Vincent Abriou <[email protected]>
L: [email protected]
S: Maintained
T: git git://anongit.freedesktop.org/drm/drm-misc
F: Documentation/devicetree/bindings/display/st,stih4xx.txt
F: drivers/gpu/drm/sti

DRM DRIVERS FOR STM
M: Yannick Fertre <[email protected]>
M: Philippe Cornu <[email protected]>
M: Yannick Fertre <yannick.fertre@foss.st.com>
M: Philippe Cornu <philippe.cornu@foss.st.com>
M: Benjamin Gaignard <[email protected]>
M: Vincent Abriou <[email protected]>
L: [email protected]
S: Maintained
T: git git://anongit.freedesktop.org/drm/drm-misc
Expand Down Expand Up @@ -8230,7 +8228,7 @@ F: include/linux/hugetlb.h
F: mm/hugetlb.c

HVA ST MEDIA DRIVER
M: Jean-Christophe Trotin <[email protected]>
M: Jean-Christophe Trotin <jean-christophe.trotin@foss.st.com>
L: [email protected]
S: Supported
W: https://linuxtv.org
Expand Down Expand Up @@ -11165,7 +11163,7 @@ T: git git://linuxtv.org/media_tree.git
F: drivers/media/dvb-frontends/stv6111*

MEDIA DRIVERS FOR STM32 - DCMI
M: Hugues Fruchet <[email protected]>
M: Hugues Fruchet <hugues.fruchet@foss.st.com>
L: [email protected]
S: Supported
T: git git://linuxtv.org/media_tree.git
Expand Down Expand Up @@ -16938,7 +16936,8 @@ F: Documentation/devicetree/bindings/media/i2c/st,st-mipid02.txt
F: drivers/media/i2c/st-mipid02.c

ST STM32 I2C/SMBUS DRIVER
M: Pierre-Yves MORDRET <[email protected]>
M: Pierre-Yves MORDRET <[email protected]>
M: Alain Volmat <[email protected]>
L: [email protected]
S: Maintained
F: drivers/i2c/busses/i2c-stm32*
Expand Down Expand Up @@ -17063,7 +17062,7 @@ F: kernel/jump_label.c
F: kernel/static_call.c

STI AUDIO (ASoC) DRIVERS
M: Arnaud Pouliquen <[email protected]>
M: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
L: [email protected] (moderated for non-subscribers)
S: Maintained
F: Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
Expand All @@ -17083,15 +17082,15 @@ T: git git://linuxtv.org/media_tree.git
F: drivers/media/usb/stk1160/

STM32 AUDIO (ASoC) DRIVERS
M: Olivier Moysan <[email protected]>
M: Arnaud Pouliquen <[email protected]>
M: Olivier Moysan <olivier.moysan@foss.st.com>
M: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
L: [email protected] (moderated for non-subscribers)
S: Maintained
F: Documentation/devicetree/bindings/iio/adc/st,stm32-*.yaml
F: sound/soc/stm/

STM32 TIMER/LPTIMER DRIVERS
M: Fabrice Gasnier <[email protected]>
M: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
S: Maintained
F: Documentation/ABI/testing/*timer-stm32
F: Documentation/devicetree/bindings/*/*stm32-*timer*
Expand All @@ -17101,7 +17100,7 @@ F: include/linux/*/stm32-*tim*

STMMAC ETHERNET DRIVER
M: Giuseppe Cavallaro <[email protected]>
M: Alexandre Torgue <[email protected]>
M: Alexandre Torgue <alexandre.torgue@foss.st.com>
M: Jose Abreu <[email protected]>
L: [email protected]
S: Supported
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/boot/dts/am33xx.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@
ethernet1 = &cpsw_emac1;
spi0 = &spi0;
spi1 = &spi1;
mmc0 = &mmc1;
mmc1 = &mmc2;
mmc2 = &mmc3;
};

cpus {
Expand Down
8 changes: 0 additions & 8 deletions arch/arm/boot/dts/at91-sam9x60ek.dts
Original file line number Diff line number Diff line change
Expand Up @@ -334,14 +334,6 @@
};

&pinctrl {
atmel,mux-mask = <
/* A B C */
0xFFFFFE7F 0xC0E0397F 0xEF00019D /* pioA */
0x03FFFFFF 0x02FC7E68 0x00780000 /* pioB */
0xffffffff 0xF83FFFFF 0xB800F3FC /* pioC */
0x003FFFFF 0x003F8000 0x00000000 /* pioD */
>;

adc {
pinctrl_adc_default: adc_default {
atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/boot/dts/at91-sama5d27_som1.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@
pinctrl-0 = <&pinctrl_macb0_default>;
phy-mode = "rmii";

ethernet-phy@0 {
reg = <0x0>;
ethernet-phy@7 {
reg = <0x7>;
interrupt-parent = <&pioA>;
interrupts = <PIN_PD31 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
Expand Down
22 changes: 16 additions & 6 deletions arch/arm/boot/dts/imx6ul-14x14-evk.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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>;

};

Expand All @@ -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>;
};
};
};
Expand All @@ -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";
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/imx6ull-myir-mys-6ulx-eval.dts
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@
};

&gpmi {
fsl,use-minimum-ecc;
status = "okay";
};
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/sam9x60.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -606,6 +606,15 @@
compatible = "microchip,sam9x60-pinctrl", "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus";
ranges = <0xfffff400 0xfffff400 0x800>;

/* mux-mask corresponding to sam9x60 SoC in TFBGA228L package */
atmel,mux-mask = <
/* A B C */
0xffffffff 0xffe03fff 0xef00019d /* pioA */
0x03ffffff 0x02fc7e7f 0x00780000 /* pioB */
0xffffffff 0xffffffff 0xf83fffff /* pioC */
0x003fffff 0x003f8000 0x00000000 /* pioD */
>;

pioA: gpio@fffff400 {
compatible = "microchip,sam9x60-gpio", "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
reg = <0xfffff400 0x200>;
Expand Down
16 changes: 15 additions & 1 deletion arch/arm/mach-imx/avic.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
1 change: 0 additions & 1 deletion arch/arm/mach-imx/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
11 changes: 0 additions & 11 deletions arch/arm/mach-imx/mach-imx1.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,13 @@ 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
};

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
12 changes: 0 additions & 12 deletions arch/arm/mach-imx/mach-imx25.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,6 @@ static void __init imx25_dt_init(void)
imx_aips_allow_unprivileged_access("fsl,imx25-aips");
}

static void __init mx25_init_irq(void)
{
struct device_node *np;
void __iomem *avic_base;

np = of_find_compatible_node(NULL, NULL, "fsl,avic");
avic_base = of_iomap(np, 0);
BUG_ON(!avic_base);
mxc_init_irq(avic_base);
}

static const char * const imx25_dt_board_compat[] __initconst = {
"fsl,imx25",
NULL
Expand All @@ -42,6 +31,5 @@ DT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)")
.init_early = imx25_init_early,
.init_machine = imx25_dt_init,
.init_late = imx25_pm_init,
.init_irq = mx25_init_irq,
.dt_compat = imx25_dt_board_compat,
MACHINE_END
12 changes: 0 additions & 12 deletions arch/arm/mach-imx/mach-imx27.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,6 @@ static void __init imx27_init_early(void)
mxc_set_cpu_type(MXC_CPU_MX27);
}

static void __init mx27_init_irq(void)
{
void __iomem *avic_base;
struct device_node *np;

np = of_find_compatible_node(NULL, NULL, "fsl,avic");
avic_base = of_iomap(np, 0);
BUG_ON(!avic_base);
mxc_init_irq(avic_base);
}

static const char * const imx27_dt_board_compat[] __initconst = {
"fsl,imx27",
NULL
Expand All @@ -75,7 +64,6 @@ static const char * const imx27_dt_board_compat[] __initconst = {
DT_MACHINE_START(IMX27_DT, "Freescale i.MX27 (Device Tree Support)")
.map_io = mx27_map_io,
.init_early = imx27_init_early,
.init_irq = mx27_init_irq,
.init_late = imx27_pm_init,
.dt_compat = imx27_dt_board_compat,
MACHINE_END
1 change: 0 additions & 1 deletion arch/arm/mach-imx/mach-imx31.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,5 @@ static const char * const imx31_dt_board_compat[] __initconst = {
DT_MACHINE_START(IMX31_DT, "Freescale i.MX31 (Device Tree Support)")
.map_io = mx31_map_io,
.init_early = imx31_init_early,
.init_irq = mx31_init_irq,
.dt_compat = imx31_dt_board_compat,
MACHINE_END
1 change: 0 additions & 1 deletion arch/arm/mach-imx/mach-imx35.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,5 @@ DT_MACHINE_START(IMX35_DT, "Freescale i.MX35 (Device Tree Support)")
.l2c_aux_mask = ~0,
.map_io = mx35_map_io,
.init_early = imx35_init_early,
.init_irq = mx35_init_irq,
.dt_compat = imx35_dt_board_compat,
MACHINE_END
Loading

0 comments on commit eb3991e

Please sign in to comment.