[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