1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/soc/mediate 4 $id: http://devicetree.org/schemas/soc/mediatek/mediatek,pwrap.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Mediatek PMIC Wrapper 7 title: Mediatek PMIC Wrapper 8 8 9 maintainers: 9 maintainers: 10 - Flora Fu <flora.fu@mediatek.com> 10 - Flora Fu <flora.fu@mediatek.com> 11 - Alexandre Mergnat <amergnat@baylibre.com> 11 - Alexandre Mergnat <amergnat@baylibre.com> 12 12 13 description: 13 description: 14 On MediaTek SoCs the PMIC is connected via S 14 On MediaTek SoCs the PMIC is connected via SPI. The SPI master interface 15 is not directly visible to the CPU, but only 15 is not directly visible to the CPU, but only through the PMIC wrapper 16 inside the SoC. The communication between th 16 inside the SoC. The communication between the SoC and the PMIC can 17 optionally be encrypted. Also a non standard 17 optionally be encrypted. Also a non standard Dual IO SPI mode can be 18 used to increase speed. 18 used to increase speed. 19 19 20 IP Pairing 20 IP Pairing 21 21 22 On MT8135 the pins of some SoC internal peri 22 On MT8135 the pins of some SoC internal peripherals can be on the PMIC. 23 The signals of these pins are routed over th 23 The signals of these pins are routed over the SPI bus using the pwrap 24 bridge. In the binding description below the 24 bridge. In the binding description below the properties needed for bridging 25 are marked with "IP Pairing". These are opti 25 are marked with "IP Pairing". These are optional on SoCs which do not support 26 IP Pairing 26 IP Pairing 27 27 28 properties: 28 properties: 29 compatible: 29 compatible: 30 oneOf: 30 oneOf: 31 - items: 31 - items: 32 - enum: 32 - enum: 33 - mediatek,mt2701-pwrap 33 - mediatek,mt2701-pwrap 34 - mediatek,mt6765-pwrap 34 - mediatek,mt6765-pwrap 35 - mediatek,mt6779-pwrap 35 - mediatek,mt6779-pwrap 36 - mediatek,mt6795-pwrap 36 - mediatek,mt6795-pwrap 37 - mediatek,mt6797-pwrap 37 - mediatek,mt6797-pwrap 38 - mediatek,mt6873-pwrap 38 - mediatek,mt6873-pwrap 39 - mediatek,mt7622-pwrap 39 - mediatek,mt7622-pwrap 40 - mediatek,mt8135-pwrap 40 - mediatek,mt8135-pwrap 41 - mediatek,mt8173-pwrap 41 - mediatek,mt8173-pwrap 42 - mediatek,mt8183-pwrap 42 - mediatek,mt8183-pwrap 43 - mediatek,mt8186-pwrap 43 - mediatek,mt8186-pwrap 44 - mediatek,mt8195-pwrap 44 - mediatek,mt8195-pwrap 45 - mediatek,mt8365-pwrap 45 - mediatek,mt8365-pwrap 46 - mediatek,mt8516-pwrap 46 - mediatek,mt8516-pwrap 47 - items: 47 - items: 48 - enum: 48 - enum: 49 - mediatek,mt8186-pwrap 49 - mediatek,mt8186-pwrap 50 - mediatek,mt8195-pwrap 50 - mediatek,mt8195-pwrap 51 - const: syscon 51 - const: syscon 52 - items: 52 - items: 53 - enum: 53 - enum: 54 - mediatek,mt8188-pwrap 54 - mediatek,mt8188-pwrap 55 - const: mediatek,mt8195-pwrap 55 - const: mediatek,mt8195-pwrap 56 - const: syscon 56 - const: syscon 57 57 58 reg: 58 reg: 59 minItems: 1 59 minItems: 1 60 items: 60 items: 61 - description: PMIC wrapper registers 61 - description: PMIC wrapper registers 62 - description: IP pairing registers 62 - description: IP pairing registers 63 63 64 reg-names: 64 reg-names: 65 minItems: 1 65 minItems: 1 66 items: 66 items: 67 - const: pwrap 67 - const: pwrap 68 - const: pwrap-bridge 68 - const: pwrap-bridge 69 69 70 interrupts: 70 interrupts: 71 maxItems: 1 71 maxItems: 1 72 72 73 clocks: 73 clocks: 74 minItems: 2 74 minItems: 2 75 items: 75 items: 76 - description: SPI bus clock 76 - description: SPI bus clock 77 - description: Main module clock 77 - description: Main module clock 78 - description: System module clock 78 - description: System module clock 79 - description: Timer module clock 79 - description: Timer module clock 80 80 81 clock-names: 81 clock-names: 82 minItems: 2 82 minItems: 2 83 items: 83 items: 84 - const: spi 84 - const: spi 85 - const: wrap 85 - const: wrap 86 - const: sys 86 - const: sys 87 - const: tmr 87 - const: tmr 88 88 89 resets: 89 resets: 90 minItems: 1 90 minItems: 1 91 items: 91 items: 92 - description: PMIC wrapper reset 92 - description: PMIC wrapper reset 93 - description: IP pairing reset 93 - description: IP pairing reset 94 94 95 reset-names: 95 reset-names: 96 minItems: 1 96 minItems: 1 97 items: 97 items: 98 - const: pwrap 98 - const: pwrap 99 - const: pwrap-bridge 99 - const: pwrap-bridge 100 100 101 pmic: 101 pmic: 102 type: object 102 type: object 103 103 104 required: 104 required: 105 - compatible 105 - compatible 106 - reg 106 - reg 107 - reg-names 107 - reg-names 108 - interrupts 108 - interrupts 109 - clocks 109 - clocks 110 - clock-names 110 - clock-names 111 111 112 dependentRequired: 112 dependentRequired: 113 resets: [reset-names] 113 resets: [reset-names] 114 114 115 allOf: 115 allOf: 116 - if: 116 - if: 117 properties: 117 properties: 118 compatible: 118 compatible: 119 contains: 119 contains: 120 const: mediatek,mt8365-pwrap 120 const: mediatek,mt8365-pwrap 121 then: 121 then: 122 properties: 122 properties: 123 clocks: 123 clocks: 124 minItems: 4 124 minItems: 4 125 125 126 clock-names: 126 clock-names: 127 minItems: 4 127 minItems: 4 128 128 129 additionalProperties: false 129 additionalProperties: false 130 130 131 examples: 131 examples: 132 - | 132 - | 133 #include <dt-bindings/interrupt-controller 133 #include <dt-bindings/interrupt-controller/irq.h> 134 #include <dt-bindings/interrupt-controller 134 #include <dt-bindings/interrupt-controller/arm-gic.h> 135 #include <dt-bindings/reset/mt8135-resets. 135 #include <dt-bindings/reset/mt8135-resets.h> 136 136 137 soc { 137 soc { 138 #address-cells = <2>; 138 #address-cells = <2>; 139 #size-cells = <2>; 139 #size-cells = <2>; 140 pwrap@1000f000 { 140 pwrap@1000f000 { 141 compatible = "mediatek,mt8135-pwra 141 compatible = "mediatek,mt8135-pwrap"; 142 reg = <0 0x1000f000 0 0x1000>, 142 reg = <0 0x1000f000 0 0x1000>, 143 <0 0x11017000 0 0x1000>; 143 <0 0x11017000 0 0x1000>; 144 reg-names = "pwrap", "pwrap-bridge 144 reg-names = "pwrap", "pwrap-bridge"; 145 interrupts = <GIC_SPI 128 IRQ_TYPE 145 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; 146 clocks = <&clk26m>, <&clk26m>; 146 clocks = <&clk26m>, <&clk26m>; 147 clock-names = "spi", "wrap"; 147 clock-names = "spi", "wrap"; 148 resets = <&infracfg MT8135_INFRA_P 148 resets = <&infracfg MT8135_INFRA_PMIC_WRAP_RST>, 149 <&pericfg MT8135_PERI_PWR 149 <&pericfg MT8135_PERI_PWRAP_BRIDGE_SW_RST>; 150 reset-names = "pwrap", "pwrap-brid 150 reset-names = "pwrap", "pwrap-bridge"; 151 }; 151 }; 152 }; 152 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.