small device nodes in syscon, simple-mfd node in device tree

Chan Kim ckim at etri.re.kr
Tue May 24 04:27:10 EDT 2022


Hi,

In arch/arm64/boot/dts/ti/k3-am65-main.dtsi, I see this node scm_conf.

scm_conf: scm-conf at 100000 {
        compatible = "syscon", "simple-mfd";
        reg = <0 0x00100000 0 0x1c000>;
        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0x0 0x0 0x00100000 0x1c000>;

        pcie0_mode: pcie-mode at 4060 {
            compatible = "syscon";
            reg = <0x00004060 0x4>;
        };

        pcie1_mode: pcie-mode at 4070 {
            compatible = "syscon";
            reg = <0x00004070 0x4>;
        };

        pcie_devid: pcie-devid at 210 {
            compatible = "syscon";
            reg = <0x00000210 0x4>;
        };

        serdes0_clk: clock at 4080 {
            compatible = "syscon";
            reg = <0x00004080 0x4>;
        };

        serdes1_clk: clock at 4090 {
            compatible = "syscon";
            reg = <0x00004090 0x4>;
        };

The manual
https://www.kernel.org/doc/Documentation/devicetree/bindings/mfd/mfd.txt
says the subnodes of "syscon" should be considered as separate devices.
In the above example, does it mean the SoC just contains a system control
block containing many registers for controlling pcie mode, clock settings,
etc?
If that is true, maybe I'll have to use this trick myself for pass system
settings to the kernel. 

Any comment will be appreciated.
Thank you!

Chan Kim






More information about the Kernelnewbies mailing list