MediaTek PMIC Wrapper Driver This document describes the binding for the MediaTek PMIC wrapper. On MediaTek SoCs the PMIC is connected via SPI. The SPI master interface is not directly visible to the CPU, but only through the PMIC wrapper inside the SoC. The communication between the SoC and the PMIC can optionally be encrypted. Also a non standard Dual IO SPI mode can be used to increase speed. IP Pairing on MT8135 the pins of some SoC internal peripherals can be on the PMIC. The signals of these pins are routed over the SPI bus using the pwrap bridge. In the binding description below the properties needed for bridging are marked with "IP Pairing". These are optional on SoCs which do not support IP Pairing Required properties in pwrap device node. - compatible: "mediatek,mt2701-pwrap" for MT2701/7623 SoCs "mediatek,mt6765-pwrap" for MT6765 SoCs "mediatek,mt6779-pwrap" for MT6779 SoCs "mediatek,mt6797-pwrap" for MT6797 SoCs "mediatek,mt6873-pwrap" for MT6873/8192 SoCs "mediatek,mt7622-pwrap" for MT7622 SoCs "mediatek,mt8135-pwrap" for MT8135 SoCs "mediatek,mt8173-pwrap" for MT8173 SoCs "mediatek,mt8183-pwrap" for MT8183 SoCs "mediatek,mt8186-pwrap" for MT8186 SoCs "mediatek,mt8195-pwrap" for MT8195 SoCs "mediatek,mt8516-pwrap" for MT8516 SoCs - interrupts: IRQ for pwrap in SOC - reg-names: "pwrap" is required; "pwrap-bridge" is optional. "pwrap": Main registers base "pwrap-bridge": bridge base (IP Pairing) - reg: Must contain an entry for each entry in reg-names. - clock-names: Must include the following entries: "spi": SPI bus clock "wrap": Main module clock - clocks: Must contain an entry for each entry in clock-names. Optional properities: - reset-names: Some SoCs include the following entries: "pwrap" "pwrap-bridge" (IP Pairing) - resets: Must contain an entry for each entry in reset-names. - pmic: Using either MediaTek PMIC MFD as the child device of pwrap See the following for child node definitions: Documentation/devicetree/bindings/mfd/mt6397.txt or the regulator-only device as the child device of pwrap, such as MT6380. See the following definitions for such kinds of devices. Documentation/devicetree/bindings/regulator/mt6380-regulator.txt Example: pwrap: pwrap@1000f000 { compatible = "mediatek,mt8135-pwrap"; reg = <0 0x1000f000 0 0x1000>, <0 0x11017000 0 0x1000>; reg-names = "pwrap", "pwrap-bridge"; interrupts = ; resets = <&infracfg MT8135_INFRA_PMIC_WRAP_RST>, <&pericfg MT8135_PERI_PWRAP_BRIDGE_SW_RST>; reset-names = "pwrap", "pwrap-bridge"; clocks = <&clk26m>, <&clk26m>; clock-names = "spi", "wrap"; pmic { compatible = "mediatek,mt6397"; }; };