[PATCH v5 2/4] dt-bindings: soc: Add i.MX6SX General Purpose Register

Fabio Estevam festevam at denx.de
Mon May 22 07:18:37 PDT 2023


Hi Marek,

On 22/05/2023 10:20, Marek Vasut wrote:

> Take a look at MX6Q and notice how the iomuxc and GPR register sets
> share the same base address . That's different on MX6SX where they are
> separate. So I think this binding should be specific to MX6SX ONLY and
> for MX6Q the subnode probing should be handled in the IOMUXC driver
> instead , i.e. drop the fsl,imx6q-iomuxc-gpr here and in imx6sx.dtsi .
> 
> $ git grep -A 2 @20e0000 arch/arm/boot/dts/imx6qdl.dtsi
> arch/arm/boot/dts/imx6qdl.dtsi:                 gpr: iomuxc-gpr at 20e0000 
> {
> arch/arm/boot/dts/imx6qdl.dtsi-                         compatible =
> "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
> arch/arm/boot/dts/imx6qdl.dtsi-                         reg = 
> <0x20e0000 0x38>;
> --
> arch/arm/boot/dts/imx6qdl.dtsi:                 iomuxc: pinctrl at 20e0000 
> {
> arch/arm/boot/dts/imx6qdl.dtsi-                         compatible =
> "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc";
> arch/arm/boot/dts/imx6qdl.dtsi-                         reg =
> <0x20e0000 0x4000>;

Removing fsl,imx6q-iomuxc-gpr causes PCI probe issue on imx6sx
as the driver searches for "fsl,imx6q-iomuxc-gpr":

static const struct imx6_pcie_drvdata drvdata[] = {
          ....
	[IMX6SX] = {
		.variant = IMX6SX,
		.flags = IMX6_PCIE_FLAG_IMX6_PHY |
			 IMX6_PCIE_FLAG_IMX6_SPEED_CHANGE |
			 IMX6_PCIE_FLAG_SUPPORTS_SUSPEND,
		.gpr = "fsl,imx6q-iomuxc-gpr",


# dmesg | grep pci
[    0.260212] imx6q-pcie 8ffc000.pcie: unable to find iomuxc registers



More information about the linux-arm-kernel mailing list