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

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@dragon


Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 9103bb41 7947e323
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -265,11 +265,6 @@
				regulator-name = "LDORTC1";
				regulator-boot-on;
			};

			ldortc2_reg: LDORTC2 {
				regulator-name = "LDORTC2";
				regulator-boot-on;
			};
		};
	};
};
+21 −7
Original line number Diff line number Diff line
@@ -30,14 +30,26 @@
		enable-active-high;
	};

	reg_sensors: regulator-sensors {
	reg_peri_3v3: regulator-peri-3v3 {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_sensors_reg>;
		regulator-name = "sensors-supply";
		pinctrl-0 = <&pinctrl_peri_3v3>;
		regulator-name = "VPERI_3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		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 {
@@ -140,6 +152,7 @@
	pinctrl-0 = <&pinctrl_enet1>;
	phy-mode = "rmii";
	phy-handle = <&ethphy0>;
	phy-supply = <&reg_peri_3v3>;
	status = "okay";
};

@@ -148,6 +161,7 @@
	pinctrl-0 = <&pinctrl_enet2>;
	phy-mode = "rmii";
	phy-handle = <&ethphy1>;
	phy-supply = <&reg_peri_3v3>;
	status = "okay";

	mdio {
@@ -193,8 +207,8 @@
	magnetometer@e {
		compatible = "fsl,mag3110";
		reg = <0x0e>;
		vdd-supply = <&reg_sensors>;
		vddio-supply = <&reg_sensors>;
		vdd-supply = <&reg_peri_3v3>;
		vddio-supply = <&reg_peri_3v3>;
	};
};

@@ -227,7 +241,7 @@
	flash0: n25q256a@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "micron,n25q256a";
		compatible = "micron,n25q256a", "jedec,spi-nor";
		spi-max-frequency = <29000000>;
		spi-rx-bus-width = <4>;
		spi-tx-bus-width = <4>;
@@ -462,7 +476,7 @@
		>;
	};

	pinctrl_sensors_reg: sensorsreggrp {
	pinctrl_peri_3v3: peri3v3grp {
		fsl,pins = <
			MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02	0x1b0b0
		>;
+1 −0
Original line number Diff line number Diff line
@@ -462,6 +462,7 @@ CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_PRINTK_TIME=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_FS=y
# CONFIG_SCHED_DEBUG is not set
CONFIG_PROVE_LOCKING=y
# CONFIG_DEBUG_BUGVERBOSE is not set
+5 −3
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ struct device * __init imx_soc_device_init(void)
	const char *ocotp_compat = NULL;
	struct soc_device *soc_dev;
	struct device_node *root;
	struct regmap *ocotp;
	struct regmap *ocotp = NULL;
	const char *soc_id;
	u64 soc_uid = 0;
	u32 val;
@@ -148,11 +148,11 @@ struct device * __init imx_soc_device_init(void)
		soc_id = "i.MX6UL";
		break;
	case MXC_CPU_IMX6ULL:
		ocotp_compat = "fsl,imx6ul-ocotp";
		ocotp_compat = "fsl,imx6ull-ocotp";
		soc_id = "i.MX6ULL";
		break;
	case MXC_CPU_IMX6ULZ:
		ocotp_compat = "fsl,imx6ul-ocotp";
		ocotp_compat = "fsl,imx6ull-ocotp";
		soc_id = "i.MX6ULZ";
		break;
	case MXC_CPU_IMX6SLL:
@@ -175,7 +175,9 @@ struct device * __init imx_soc_device_init(void)
		ocotp = syscon_regmap_lookup_by_compatible(ocotp_compat);
		if (IS_ERR(ocotp))
			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);
		soc_uid = val;
		regmap_read(ocotp, OCOTP_UID_L, &val);
+8 −2
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@

	reboot {
		compatible ="syscon-reboot";
		regmap = <&dcfg>;
		regmap = <&rst>;
		offset = <0xb0>;
		mask = <0x02>;
	};
@@ -178,6 +178,12 @@
			big-endian;
		};

		rst: syscon@1e60000 {
			compatible = "syscon";
			reg = <0x0 0x1e60000 0x0 0x10000>;
			little-endian;
		};

		scfg: syscon@1fc0000 {
			compatible = "fsl,ls1028a-scfg", "syscon";
			reg = <0x0 0x1fc0000 0x0 0x10000>;
@@ -584,7 +590,7 @@
					       0x00010004 0x0000003d
					       0x00010005 0x00000045
					       0x00010006 0x0000004d
					       0x00010007 0x00000045
					       0x00010007 0x00000055
					       0x00010008 0x0000005e
					       0x00010009 0x00000066
					       0x0001000a 0x0000006e