Commit 89f33b98 authored by Olof Johansson's avatar Olof Johansson

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

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

i.MX fixes for 5.5:
 - Add missing jedec,spi-nor compatible for imx6ul-14x14-evk board,
   so that SPI NOR device can be probed.
 - Fix power button of E60K02 board by removing LDORTC2 regulator.
 - A couple of fixes on serial number support of i.MX6ULL/ULZ SoCs to
   remove the boot regression caused by 8267ff89 ("ARM: imx: Add
   serial number support for i.MX6/7 SoCs").
 - A couple of fixes on LS1028A SoC TMU regarding to calibration data
   and reboot register configuration.
 - Fix a regression seen on imx6ul-evk board by marking always-on for
   the regulator that is shared by many peripherals.
 - Explicitly restore CONFIG_DEBUG_FS in imx_v6_v7_defconfig.

* tag 'imx-fixes-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: Fix boot crash if ocotp is not found
  ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS
  ARM: dts: imx6ul-evk: Fix peripheral regulator
  arm64: dts: ls1028a: fix reboot node
  arm64: dts: ls1028a: fix typo in TMU calibration data
  ARM: imx: Correct ocotp id for serial number support of i.MX6ULL/ULZ SoCs
  ARM: dts: e60k02: fix power button
  ARM: dts: imx6ul: imx6ul-14x14-evk.dtsi: Fix SPI NOR probing

Link: https://lore.kernel.org/r/20191212122427.GK15858@dragonSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 9103bb41 7947e323
...@@ -265,11 +265,6 @@ ldortc1_reg: LDORTC1 { ...@@ -265,11 +265,6 @@ ldortc1_reg: LDORTC1 {
regulator-name = "LDORTC1"; regulator-name = "LDORTC1";
regulator-boot-on; regulator-boot-on;
}; };
ldortc2_reg: LDORTC2 {
regulator-name = "LDORTC2";
regulator-boot-on;
};
}; };
}; };
}; };
......
...@@ -30,14 +30,26 @@ reg_sd1_vmmc: regulator-sd1-vmmc { ...@@ -30,14 +30,26 @@ reg_sd1_vmmc: regulator-sd1-vmmc {
enable-active-high; enable-active-high;
}; };
reg_sensors: regulator-sensors { reg_peri_3v3: regulator-peri-3v3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sensors_reg>; pinctrl-0 = <&pinctrl_peri_3v3>;
regulator-name = "sensors-supply"; regulator-name = "VPERI_3V3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
gpio = <&gpio5 2 GPIO_ACTIVE_LOW>; gpio = <&gpio5 2 GPIO_ACTIVE_LOW>;
/*
* If you want to want to make this dynamic please
* check schematics and test all affected peripherals:
*
* - sensors
* - ethernet phy
* - can
* - bluetooth
* - wm8960 audio codec
* - ov5640 camera
*/
regulator-always-on;
}; };
reg_can_3v3: regulator-can-3v3 { reg_can_3v3: regulator-can-3v3 {
...@@ -140,6 +152,7 @@ &fec1 { ...@@ -140,6 +152,7 @@ &fec1 {
pinctrl-0 = <&pinctrl_enet1>; pinctrl-0 = <&pinctrl_enet1>;
phy-mode = "rmii"; phy-mode = "rmii";
phy-handle = <&ethphy0>; phy-handle = <&ethphy0>;
phy-supply = <&reg_peri_3v3>;
status = "okay"; status = "okay";
}; };
...@@ -148,6 +161,7 @@ &fec2 { ...@@ -148,6 +161,7 @@ &fec2 {
pinctrl-0 = <&pinctrl_enet2>; pinctrl-0 = <&pinctrl_enet2>;
phy-mode = "rmii"; phy-mode = "rmii";
phy-handle = <&ethphy1>; phy-handle = <&ethphy1>;
phy-supply = <&reg_peri_3v3>;
status = "okay"; status = "okay";
mdio { mdio {
...@@ -193,8 +207,8 @@ &i2c1 { ...@@ -193,8 +207,8 @@ &i2c1 {
magnetometer@e { magnetometer@e {
compatible = "fsl,mag3110"; compatible = "fsl,mag3110";
reg = <0x0e>; reg = <0x0e>;
vdd-supply = <&reg_sensors>; vdd-supply = <&reg_peri_3v3>;
vddio-supply = <&reg_sensors>; vddio-supply = <&reg_peri_3v3>;
}; };
}; };
...@@ -227,7 +241,7 @@ &qspi { ...@@ -227,7 +241,7 @@ &qspi {
flash0: n25q256a@0 { flash0: n25q256a@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "micron,n25q256a"; compatible = "micron,n25q256a", "jedec,spi-nor";
spi-max-frequency = <29000000>; spi-max-frequency = <29000000>;
spi-rx-bus-width = <4>; spi-rx-bus-width = <4>;
spi-tx-bus-width = <4>; spi-tx-bus-width = <4>;
...@@ -462,7 +476,7 @@ MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x17059 ...@@ -462,7 +476,7 @@ MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x17059
>; >;
}; };
pinctrl_sensors_reg: sensorsreggrp { pinctrl_peri_3v3: peri3v3grp {
fsl,pins = < fsl,pins = <
MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x1b0b0 MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x1b0b0
>; >;
......
...@@ -462,6 +462,7 @@ CONFIG_FONT_8x8=y ...@@ -462,6 +462,7 @@ CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y CONFIG_FONT_8x16=y
CONFIG_PRINTK_TIME=y CONFIG_PRINTK_TIME=y
CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_FS=y
# CONFIG_SCHED_DEBUG is not set # CONFIG_SCHED_DEBUG is not set
CONFIG_PROVE_LOCKING=y CONFIG_PROVE_LOCKING=y
# CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_BUGVERBOSE is not set
......
...@@ -84,7 +84,7 @@ struct device * __init imx_soc_device_init(void) ...@@ -84,7 +84,7 @@ struct device * __init imx_soc_device_init(void)
const char *ocotp_compat = NULL; const char *ocotp_compat = NULL;
struct soc_device *soc_dev; struct soc_device *soc_dev;
struct device_node *root; struct device_node *root;
struct regmap *ocotp; struct regmap *ocotp = NULL;
const char *soc_id; const char *soc_id;
u64 soc_uid = 0; u64 soc_uid = 0;
u32 val; u32 val;
...@@ -148,11 +148,11 @@ struct device * __init imx_soc_device_init(void) ...@@ -148,11 +148,11 @@ struct device * __init imx_soc_device_init(void)
soc_id = "i.MX6UL"; soc_id = "i.MX6UL";
break; break;
case MXC_CPU_IMX6ULL: case MXC_CPU_IMX6ULL:
ocotp_compat = "fsl,imx6ul-ocotp"; ocotp_compat = "fsl,imx6ull-ocotp";
soc_id = "i.MX6ULL"; soc_id = "i.MX6ULL";
break; break;
case MXC_CPU_IMX6ULZ: case MXC_CPU_IMX6ULZ:
ocotp_compat = "fsl,imx6ul-ocotp"; ocotp_compat = "fsl,imx6ull-ocotp";
soc_id = "i.MX6ULZ"; soc_id = "i.MX6ULZ";
break; break;
case MXC_CPU_IMX6SLL: case MXC_CPU_IMX6SLL:
...@@ -175,7 +175,9 @@ struct device * __init imx_soc_device_init(void) ...@@ -175,7 +175,9 @@ struct device * __init imx_soc_device_init(void)
ocotp = syscon_regmap_lookup_by_compatible(ocotp_compat); ocotp = syscon_regmap_lookup_by_compatible(ocotp_compat);
if (IS_ERR(ocotp)) if (IS_ERR(ocotp))
pr_err("%s: failed to find %s regmap!\n", __func__, ocotp_compat); pr_err("%s: failed to find %s regmap!\n", __func__, ocotp_compat);
}
if (!IS_ERR_OR_NULL(ocotp)) {
regmap_read(ocotp, OCOTP_UID_H, &val); regmap_read(ocotp, OCOTP_UID_H, &val);
soc_uid = val; soc_uid = val;
regmap_read(ocotp, OCOTP_UID_L, &val); regmap_read(ocotp, OCOTP_UID_L, &val);
......
...@@ -88,7 +88,7 @@ dpclk: clock-controller@f1f0000 { ...@@ -88,7 +88,7 @@ dpclk: clock-controller@f1f0000 {
reboot { reboot {
compatible ="syscon-reboot"; compatible ="syscon-reboot";
regmap = <&dcfg>; regmap = <&rst>;
offset = <0xb0>; offset = <0xb0>;
mask = <0x02>; mask = <0x02>;
}; };
...@@ -178,6 +178,12 @@ dcfg: syscon@1e00000 { ...@@ -178,6 +178,12 @@ dcfg: syscon@1e00000 {
big-endian; big-endian;
}; };
rst: syscon@1e60000 {
compatible = "syscon";
reg = <0x0 0x1e60000 0x0 0x10000>;
little-endian;
};
scfg: syscon@1fc0000 { scfg: syscon@1fc0000 {
compatible = "fsl,ls1028a-scfg", "syscon"; compatible = "fsl,ls1028a-scfg", "syscon";
reg = <0x0 0x1fc0000 0x0 0x10000>; reg = <0x0 0x1fc0000 0x0 0x10000>;
...@@ -584,7 +590,7 @@ tmu: tmu@1f80000 { ...@@ -584,7 +590,7 @@ tmu: tmu@1f80000 {
0x00010004 0x0000003d 0x00010004 0x0000003d
0x00010005 0x00000045 0x00010005 0x00000045
0x00010006 0x0000004d 0x00010006 0x0000004d
0x00010007 0x00000045 0x00010007 0x00000055
0x00010008 0x0000005e 0x00010008 0x0000005e
0x00010009 0x00000066 0x00010009 0x00000066
0x0001000a 0x0000006e 0x0001000a 0x0000006e
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment