SPMI Controller Simulator The SPMI Controller Simulator simulates an SPMI bus with PMIC devices attached to it. See spmi.txt for the generic SPMI controller binding requirements for child nodes. Supported Properties: - compatible Usage: required Value type: Definition: Must be "qcom,spmi-sim". - reg Usage: required Value type: Definition: List of SPMI address and size pairs. These addresses are the ones to be simulated. - #address-cells Usage: required Value type: Definition: Must be 2. - #size-cells Usage: required Value type: Definition: Must be 0. - interrupt-controller Usage: required Value type: boolean Definition: Boolean indicating that the SPMI Controller Simulator is an interrupt controller. - #interrupt-cells Usage: required Value type: Definition: Must be 4. Interrupts are specified as a 4-tuple: Cell 1: Slave ID for the requested interrupt (0-15) Cell 2: Peripheral ID for requested interrupt (0-255) Cell 3: The requested peripheral interrupt (0-7) Cell 4: Interrupt flags indicating level-sense information, as defined in: dt-bindings/interrupt-controller/irq.h - qcom,reg-defaults Usage: optional Value type: Definition: List of SPMI address and value pairs. These define the default values read back from the simulated registers. The values must be between 0 and 255. Simulated PMIC Device Supported Properties: - qcom,spmi-sim Usage: required Value type: Definition: phandle of the spmi-sim bus device that the simulated PMIC device should be used with. Example: spmi_sim: spmi-sim { compatible = "qcom,spmi-sim"; reg = <0x00000 0x20000>, <0x40000 0x20000>; #address-cells = <2>; #size-cells = <0>; interrupt-controller; #interrupt-cells = <4>; qcom,reg-defaults = <0x00104 0x51>, <0x00105 0x14>, <0x40104 0x51>, <0x40105 0x18>; }; pm8150-sim { compatible = "qcom,pm8150-sim"; qcom,spmi-sim = <&spmi_sim>; qcom,sid-offset = <0>; };