[PATCH v5 2/4] dt-bindings: soc: Add i.MX6SX General Purpose Register
Marek Vasut
marex at denx.de
Mon May 22 07:24:10 PDT 2023
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 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
I would say, this should use the mx6sx compatible string for the GPR
look up (or even use phandle ?)
More information about the linux-arm-kernel
mailing list