Skip to content

Commit d25f274

Browse files
committed
Merge tag 'arm-soc-fixes-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARM SoC fixes from Arnd Bergmann: "One last set of small fixes for the soc tree: - Incorrect ethernet phy settings found on i.mx and allwinner platforms - a revert for a Qualcomm DT change that caused a boot regression - four patches for incorrect settings in i.MX DT files - new MAINTAINER file entries for dhcom boards - a Kconfig fix for a reset driver that became unselectable - three more code changes for bugs in reset drivers" * tag 'arm-soc-fixes-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: MAINTAINERS: Add maintainers for DHCOM i.MX6 and DHCOM/DHCOR STM32MP1 Revert "arm64: dts: qcom: sm8250: remove bus clock from the mdss node for sm8250 target" arm64: dts: imx8mm-kontron: Fix connection type for VSC8531 RGMII PHY arm64: dts: imx8mm-kontron: Fix CAN SPI clock frequency arm64: dts: imx8mm-kontron: Fix polarity of reg_rst_eth2 arm64: dts: imx8mm-kontron: Set lower limit of VDD_SNVS to 800 mV arm64: dts: imx8mm-kontron: Make sure SOC and DRAM supply voltages are correct reset: socfpga: add empty driver allowing consumers to probe reset: tegra-bpmp: Handle errors in BPMP response reset: pistachio: Re-enable driver selection reset: brcmstb-rescal: fix incorrect polarity of status bit ARM: dts: sun7i: A20-olinuxino-lime2: Fix ethernet phy-mode arm64: dts: allwinner: h5: NanoPI Neo 2: Fix ethernet node
2 parents 3906fe9 + 05d5da3 commit d25f274

File tree

10 files changed

+64
-13
lines changed

10 files changed

+64
-13
lines changed

MAINTAINERS

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5458,6 +5458,19 @@ F: include/net/devlink.h
54585458
F: include/uapi/linux/devlink.h
54595459
F: net/core/devlink.c
54605460

5461+
DH ELECTRONICS IMX6 DHCOM BOARD SUPPORT
5462+
M: Christoph Niedermaier <[email protected]>
5463+
5464+
S: Maintained
5465+
F: arch/arm/boot/dts/imx6*-dhcom-*
5466+
5467+
DH ELECTRONICS STM32MP1 DHCOM/DHCOR BOARD SUPPORT
5468+
M: Marek Vasut <[email protected]>
5469+
5470+
S: Maintained
5471+
F: arch/arm/boot/dts/stm32mp1*-dhcom-*
5472+
F: arch/arm/boot/dts/stm32mp1*-dhcor-*
5473+
54615474
DIALOG SEMICONDUCTOR DRIVERS
54625475
M: Support Opensource <[email protected]>
54635476
S: Supported

arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
pinctrl-names = "default";
113113
pinctrl-0 = <&gmac_rgmii_pins>;
114114
phy-handle = <&phy1>;
115-
phy-mode = "rgmii";
115+
phy-mode = "rgmii-id";
116116
status = "okay";
117117
};
118118

arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
pinctrl-0 = <&emac_rgmii_pins>;
7676
phy-supply = <&reg_gmac_3v3>;
7777
phy-handle = <&ext_rgmii_phy>;
78-
phy-mode = "rgmii";
78+
phy-mode = "rgmii-id";
7979
status = "okay";
8080
};
8181

arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@
7070
regulator-name = "rst-usb-eth2";
7171
pinctrl-names = "default";
7272
pinctrl-0 = <&pinctrl_usb_eth2>;
73-
gpio = <&gpio3 2 GPIO_ACTIVE_LOW>;
73+
gpio = <&gpio3 2 GPIO_ACTIVE_HIGH>;
74+
enable-active-high;
75+
regulator-always-on;
7476
};
7577

7678
reg_vdd_5v: regulator-5v {
@@ -95,7 +97,7 @@
9597
clocks = <&osc_can>;
9698
interrupt-parent = <&gpio4>;
9799
interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
98-
spi-max-frequency = <100000>;
100+
spi-max-frequency = <10000000>;
99101
vdd-supply = <&reg_vdd_3v3>;
100102
xceiver-supply = <&reg_vdd_5v>;
101103
};
@@ -111,7 +113,7 @@
111113
&fec1 {
112114
pinctrl-names = "default";
113115
pinctrl-0 = <&pinctrl_enet>;
114-
phy-connection-type = "rgmii";
116+
phy-connection-type = "rgmii-rxid";
115117
phy-handle = <&ethphy>;
116118
status = "okay";
117119

arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-som.dtsi

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,12 @@
9191
reg_vdd_soc: BUCK1 {
9292
regulator-name = "buck1";
9393
regulator-min-microvolt = <800000>;
94-
regulator-max-microvolt = <900000>;
94+
regulator-max-microvolt = <850000>;
9595
regulator-boot-on;
9696
regulator-always-on;
9797
regulator-ramp-delay = <3125>;
98+
nxp,dvs-run-voltage = <850000>;
99+
nxp,dvs-standby-voltage = <800000>;
98100
};
99101

100102
reg_vdd_arm: BUCK2 {
@@ -111,7 +113,7 @@
111113
reg_vdd_dram: BUCK3 {
112114
regulator-name = "buck3";
113115
regulator-min-microvolt = <850000>;
114-
regulator-max-microvolt = <900000>;
116+
regulator-max-microvolt = <950000>;
115117
regulator-boot-on;
116118
regulator-always-on;
117119
};
@@ -150,7 +152,7 @@
150152

151153
reg_vdd_snvs: LDO2 {
152154
regulator-name = "ldo2";
153-
regulator-min-microvolt = <850000>;
155+
regulator-min-microvolt = <800000>;
154156
regulator-max-microvolt = <900000>;
155157
regulator-boot-on;
156158
regulator-always-on;

arch/arm64/boot/dts/qcom/sm8250.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2590,9 +2590,10 @@
25902590
power-domains = <&dispcc MDSS_GDSC>;
25912591

25922592
clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2593+
<&gcc GCC_DISP_HF_AXI_CLK>,
25932594
<&gcc GCC_DISP_SF_AXI_CLK>,
25942595
<&dispcc DISP_CC_MDSS_MDP_CLK>;
2595-
clock-names = "iface", "nrt_bus", "core";
2596+
clock-names = "iface", "bus", "nrt_bus", "core";
25962597

25972598
assigned-clocks = <&dispcc DISP_CC_MDSS_MDP_CLK>;
25982599
assigned-clock-rates = <460000000>;

drivers/reset/Kconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,8 @@ config RESET_OXNAS
147147
bool
148148

149149
config RESET_PISTACHIO
150-
bool "Pistachio Reset Driver" if COMPILE_TEST
151-
default MACH_PISTACHIO
150+
bool "Pistachio Reset Driver"
151+
depends on MIPS || COMPILE_TEST
152152
help
153153
This enables the reset driver for ImgTec Pistachio SoCs.
154154

drivers/reset/reset-brcmstb-rescal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ static int brcm_rescal_reset_set(struct reset_controller_dev *rcdev,
3838
}
3939

4040
ret = readl_poll_timeout(base + BRCM_RESCAL_STATUS, reg,
41-
!(reg & BRCM_RESCAL_STATUS_BIT), 100, 1000);
41+
(reg & BRCM_RESCAL_STATUS_BIT), 100, 1000);
4242
if (ret) {
4343
dev_err(data->dev, "time out on SATA/PCIe rescal\n");
4444
return ret;

drivers/reset/reset-socfpga.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,29 @@ void __init socfpga_reset_init(void)
9292
for_each_matching_node(np, socfpga_early_reset_dt_ids)
9393
a10_reset_init(np);
9494
}
95+
96+
/*
97+
* The early driver is problematic, because it doesn't register
98+
* itself as a driver. This causes certain device links to prevent
99+
* consumer devices from probing. The hacky solution is to register
100+
* an empty driver, whose only job is to attach itself to the reset
101+
* manager and call probe.
102+
*/
103+
static const struct of_device_id socfpga_reset_dt_ids[] = {
104+
{ .compatible = "altr,rst-mgr", },
105+
{ /* sentinel */ },
106+
};
107+
108+
static int reset_simple_probe(struct platform_device *pdev)
109+
{
110+
return 0;
111+
}
112+
113+
static struct platform_driver reset_socfpga_driver = {
114+
.probe = reset_simple_probe,
115+
.driver = {
116+
.name = "socfpga-reset",
117+
.of_match_table = socfpga_reset_dt_ids,
118+
},
119+
};
120+
builtin_platform_driver(reset_socfpga_driver);

drivers/reset/tegra/reset-bpmp.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ static int tegra_bpmp_reset_common(struct reset_controller_dev *rstc,
2020
struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc);
2121
struct mrq_reset_request request;
2222
struct tegra_bpmp_message msg;
23+
int err;
2324

2425
memset(&request, 0, sizeof(request));
2526
request.cmd = command;
@@ -30,7 +31,13 @@ static int tegra_bpmp_reset_common(struct reset_controller_dev *rstc,
3031
msg.tx.data = &request;
3132
msg.tx.size = sizeof(request);
3233

33-
return tegra_bpmp_transfer(bpmp, &msg);
34+
err = tegra_bpmp_transfer(bpmp, &msg);
35+
if (err)
36+
return err;
37+
if (msg.rx.ret)
38+
return -EINVAL;
39+
40+
return 0;
3441
}
3542

3643
static int tegra_bpmp_reset_module(struct reset_controller_dev *rstc,

0 commit comments

Comments
 (0)