On 5/22/23 16:18, Fabio Estevam wrote:
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@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@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
I would say, this should use the mx6sx compatible string for the GPR
look up (or even use phandle ?)