Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format

Convert the mfd: mediatek: mt6397 binding to DT schema format.

MT6323, MT6358, and MT6397 are PMIC devices with multiple function
subdevices. They share a common PMIC design but have variations in
subdevice combinations.

Key updates in this conversion:

1. RTC:
- Convert rtc-mt6397.txt and merge into parent MT6397 PMIC DT schema.

2. Regulators:
- Align to generic name "regulators".
- Update references from .txt to .yaml for mt6323, mt6358, and mt6397
regulators.
- Simplify regulator name labels in device tree examples.

3. Audio Codec:
- Simplify Audio Codec part with updating compatible items.
- Align to generic name "audio-codec" for codec and sound subdevices.

4. Clocks:
- Align to generic name "clocks" for clockbuffer subdevices.

5. LEDs:
- Convert leds-mt6323.txt and merge into parent MT6397 PMIC DT schema.
- Update LED binding.

6. Keys:
- Add detailed descriptions for power and home keys.
- Add compatible: mediatek,mt6358-keys.

7. Power Controller:
- Convert mt6323-poweroff.txt and merge into parent MT6397 PMIC DT
schema.
- Add #power-domain-cells property to fix dt-binding check error.
- Clarify "BBPU" as "Baseband power up".

8. Pinctrl:
- Align to generic name "pinctrl" instead of "pin-controller".

9. Compatible:
- Drop "mediatek,mt6357" since there is a separated DT Schema
for PMIC MT6357.

10. Examples:
- MT6323: Retain complete examples for this PMIC.
- MT6358 and MT6397: simplify settings in regulators.
- Preserve "audio-codec", "clocks", "pinctrl", "rtc", and "keys"
sections as they contain typical settings for different PMICs.

Additional updates:
- MAINTAINERS: Add co-maintainers and reference to
mfd/mediatek,mt6397.yaml for LED and power-controller drivers.
- input/mediatek,pmic-keys.yaml: Update reference to
mfd/mediatek,mt6397.yaml.

Signed-off-by: Sen Chu <sen.chu@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20241001104145.24054-3-macpaul.lin@mediatek.com
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Macpaul Lin and committed by
Lee Jones
6e357f57 9852d85e

+595 -227
+1 -1
Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml
··· 19 19 by the PMIC that is defined as a Multi-Function Device (MFD). 20 20 21 21 For MediaTek MT6323/MT6397 PMIC bindings see 22 - Documentation/devicetree/bindings/mfd/mt6397.txt 22 + Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml 23 23 24 24 properties: 25 25 compatible:
-63
Documentation/devicetree/bindings/leds/leds-mt6323.txt
··· 1 - Device Tree Bindings for LED support on MT6323 PMIC 2 - 3 - MT6323 LED controller is subfunction provided by MT6323 PMIC, so the LED 4 - controllers are defined as the subnode of the function node provided by MT6323 5 - PMIC controller that is being defined as one kind of Muti-Function Device (MFD) 6 - using shared bus called PMIC wrapper for each subfunction to access remote 7 - MT6323 PMIC hardware. 8 - 9 - For MT6323 MFD bindings see: 10 - Documentation/devicetree/bindings/mfd/mt6397.txt 11 - For MediaTek PMIC wrapper bindings see: 12 - Documentation/devicetree/bindings/soc/mediatek/mediatek,pwrap.yaml 13 - 14 - Required properties: 15 - - compatible : Must be one of 16 - - "mediatek,mt6323-led" 17 - - "mediatek,mt6331-led" 18 - - "mediatek,mt6332-led" 19 - - address-cells : Must be 1 20 - - size-cells : Must be 0 21 - 22 - Each led is represented as a child node of the mediatek,mt6323-led that 23 - describes the initial behavior for each LED physically and currently only four 24 - LED child nodes can be supported. 25 - 26 - Required properties for the LED child node: 27 - - reg : LED channel number (0..3) 28 - 29 - Optional properties for the LED child node: 30 - - label : See Documentation/devicetree/bindings/leds/common.txt 31 - - linux,default-trigger : See Documentation/devicetree/bindings/leds/common.txt 32 - - default-state: See Documentation/devicetree/bindings/leds/common.txt 33 - 34 - Example: 35 - 36 - mt6323: pmic { 37 - compatible = "mediatek,mt6323"; 38 - 39 - ... 40 - 41 - mt6323led: leds { 42 - compatible = "mediatek,mt6323-led"; 43 - #address-cells = <1>; 44 - #size-cells = <0>; 45 - 46 - led@0 { 47 - reg = <0>; 48 - label = "LED0"; 49 - linux,default-trigger = "timer"; 50 - default-state = "on"; 51 - }; 52 - led@1 { 53 - reg = <1>; 54 - label = "LED1"; 55 - default-state = "off"; 56 - }; 57 - led@2 { 58 - reg = <2>; 59 - label = "LED2"; 60 - default-state = "on"; 61 - }; 62 - }; 63 - };
+588
Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/mfd/mediatek,mt6397.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: MediaTek MT6397/MT6323 PMIC 8 + 9 + maintainers: 10 + - Sen Chu <sen.chu@mediatek.com> 11 + - Macpaul Lin <macpaul.lin@mediatek.com> 12 + 13 + description: | 14 + MT6397/MT6323 is a power management system chip. 15 + Please see the sub-modules below for supported features. 16 + 17 + MT6397/MT6323 is a multifunction device with the following sub modules: 18 + - Regulators 19 + - RTC 20 + - Audio codec 21 + - GPIO 22 + - Clock 23 + - LED 24 + - Keys 25 + - Power controller 26 + 27 + It is interfaced to host controller using SPI interface by a proprietary hardware 28 + called PMIC wrapper or pwrap. MT6397/MT6323 PMIC is a child device of pwrap. 29 + See the following for pwrap node definitions: 30 + Documentation/devicetree/bindings/soc/mediatek/mediatek,pwrap.yaml 31 + 32 + properties: 33 + compatible: 34 + oneOf: 35 + - enum: 36 + - mediatek,mt6323 37 + - mediatek,mt6331 # "mediatek,mt6331" for PMIC MT6331 and MT6332. 38 + - mediatek,mt6358 39 + - mediatek,mt6359 40 + - mediatek,mt6397 41 + - items: 42 + - enum: 43 + - mediatek,mt6366 44 + - const: mediatek,mt6358 45 + 46 + interrupts: 47 + maxItems: 1 48 + 49 + interrupt-controller: true 50 + 51 + "#interrupt-cells": 52 + const: 2 53 + 54 + rtc: 55 + type: object 56 + $ref: /schemas/rtc/rtc.yaml# 57 + unevaluatedProperties: false 58 + description: 59 + MT6397 Real Time Clock. 60 + 61 + properties: 62 + compatible: 63 + oneOf: 64 + - enum: 65 + - mediatek,mt6323-rtc 66 + - mediatek,mt6331-rtc 67 + - mediatek,mt6358-rtc 68 + - mediatek,mt6397-rtc 69 + - items: 70 + - enum: 71 + - mediatek,mt6366-rtc 72 + - const: mediatek,mt6358-rtc 73 + 74 + required: 75 + - compatible 76 + 77 + regulators: 78 + type: object 79 + description: 80 + List of child nodes that specify the regulators. 81 + additionalProperties: true 82 + 83 + properties: 84 + compatible: 85 + oneOf: 86 + - enum: 87 + - mediatek,mt6323-regulator 88 + - mediatek,mt6358-regulator 89 + - mediatek,mt6397-regulator 90 + - items: 91 + - enum: 92 + - mediatek,mt6366-regulator 93 + - const: mediatek,mt6358-regulator 94 + 95 + required: 96 + - compatible 97 + 98 + audio-codec: 99 + type: object 100 + description: 101 + Audio codec support with MT6358 and MT6397. 102 + additionalProperties: true 103 + 104 + properties: 105 + compatible: 106 + oneOf: 107 + - enum: 108 + - mediatek,mt6358-sound 109 + - mediatek,mt6397-codec 110 + - items: 111 + - enum: 112 + - mediatek,mt6366-sound 113 + - const: mediatek,mt6358-sound 114 + 115 + required: 116 + - compatible 117 + 118 + clocks: 119 + type: object 120 + additionalProperties: false 121 + description: 122 + This is a clock buffer node for mt6397. However, there are no sub nodes 123 + or any public document exposed in public. 124 + 125 + properties: 126 + compatible: 127 + const: mediatek,mt6397-clk 128 + 129 + '#clock-cells': 130 + const: 1 131 + 132 + required: 133 + - compatible 134 + 135 + leds: 136 + type: object 137 + additionalProperties: false 138 + description: | 139 + MT6323 LED controller is subfunction provided by MT6323 PMIC, so the LED 140 + controllers are defined as the subnode of the function node provided by MT6323 141 + PMIC controller that is being defined as one kind of Muti-Function Device (MFD) 142 + using shared bus called PMIC wrapper for each subfunction to access remote 143 + MT6323 PMIC hardware. 144 + 145 + Each led is represented as a child node of the mediatek,mt6323-led that 146 + describes the initial behavior for each LED physically and currently only four 147 + LED child nodes can be supported. 148 + 149 + properties: 150 + compatible: 151 + enum: 152 + - mediatek,mt6323-led 153 + - mediatek,mt6331-led 154 + - mediatek,mt6332-led 155 + 156 + reg: 157 + maxItems: 1 158 + 159 + "#address-cells": 160 + const: 1 161 + 162 + "#size-cells": 163 + const: 0 164 + 165 + patternProperties: 166 + "^led@[0-3]$": 167 + type: object 168 + $ref: /schemas/leds/common.yaml# 169 + unevaluatedProperties: false 170 + 171 + properties: 172 + reg: 173 + description: 174 + LED channel number (0..3) 175 + minimum: 0 176 + maximum: 3 177 + 178 + required: 179 + - reg 180 + 181 + required: 182 + - compatible 183 + - "#address-cells" 184 + - "#size-cells" 185 + 186 + keys: 187 + type: object 188 + $ref: /schemas/input/mediatek,pmic-keys.yaml 189 + unevaluatedProperties: false 190 + description: 191 + Power and Home keys. 192 + 193 + power-controller: 194 + type: object 195 + additionalProperties: false 196 + description: 197 + The power controller which could be found on PMIC is responsible for 198 + externally powering off or on the remote MediaTek SoC through the 199 + circuit BBPU (baseband power up). 200 + 201 + properties: 202 + compatible: 203 + const: mediatek,mt6323-pwrc 204 + 205 + '#power-domain-cells': 206 + const: 0 207 + 208 + pinctrl: 209 + type: object 210 + $ref: /schemas/pinctrl/mediatek,mt65xx-pinctrl.yaml 211 + unevaluatedProperties: false 212 + description: 213 + Pin controller 214 + 215 + required: 216 + - compatible 217 + - regulators 218 + 219 + additionalProperties: false 220 + 221 + examples: 222 + - | 223 + #include <dt-bindings/interrupt-controller/arm-gic.h> 224 + #include <dt-bindings/leds/common.h> 225 + 226 + pmic { 227 + compatible = "mediatek,mt6323"; 228 + interrupt-parent = <&pio>; 229 + interrupts = <150 IRQ_TYPE_LEVEL_HIGH>; 230 + interrupt-controller; 231 + #interrupt-cells = <2>; 232 + 233 + leds { 234 + compatible = "mediatek,mt6323-led"; 235 + #address-cells = <1>; 236 + #size-cells = <0>; 237 + }; 238 + 239 + regulators { 240 + compatible = "mediatek,mt6323-regulator"; 241 + 242 + buck_vproc { 243 + regulator-name = "vproc"; 244 + regulator-min-microvolt = < 700000>; 245 + regulator-max-microvolt = <1350000>; 246 + regulator-ramp-delay = <12500>; 247 + regulator-always-on; 248 + regulator-boot-on; 249 + }; 250 + 251 + buck_vsys { 252 + regulator-name = "vsys"; 253 + regulator-min-microvolt = <1400000>; 254 + regulator-max-microvolt = <2987500>; 255 + regulator-ramp-delay = <25000>; 256 + regulator-always-on; 257 + regulator-boot-on; 258 + }; 259 + 260 + buck_vpa { 261 + regulator-name = "vpa"; 262 + regulator-min-microvolt = < 500000>; 263 + regulator-max-microvolt = <3650000>; 264 + }; 265 + 266 + ldo_vtcxo { 267 + regulator-name = "vtcxo"; 268 + regulator-min-microvolt = <2800000>; 269 + regulator-max-microvolt = <2800000>; 270 + regulator-enable-ramp-delay = <90>; 271 + regulator-always-on; 272 + regulator-boot-on; 273 + }; 274 + 275 + ldo_vcn28 { 276 + regulator-name = "vcn28"; 277 + regulator-min-microvolt = <2800000>; 278 + regulator-max-microvolt = <2800000>; 279 + regulator-enable-ramp-delay = <185>; 280 + }; 281 + 282 + ldo_vcn33_bt { 283 + regulator-name = "vcn33_bt"; 284 + regulator-min-microvolt = <3300000>; 285 + regulator-max-microvolt = <3600000>; 286 + regulator-enable-ramp-delay = <185>; 287 + }; 288 + 289 + ldo_vcn33_wifi { 290 + regulator-name = "vcn33_wifi"; 291 + regulator-min-microvolt = <3300000>; 292 + regulator-max-microvolt = <3600000>; 293 + regulator-enable-ramp-delay = <185>; 294 + }; 295 + 296 + ldo_va { 297 + regulator-name = "va"; 298 + regulator-min-microvolt = <2800000>; 299 + regulator-max-microvolt = <2800000>; 300 + regulator-enable-ramp-delay = <216>; 301 + regulator-always-on; 302 + regulator-boot-on; 303 + }; 304 + 305 + ldo_vcama { 306 + regulator-name = "vcama"; 307 + regulator-min-microvolt = <1500000>; 308 + regulator-max-microvolt = <2800000>; 309 + regulator-enable-ramp-delay = <216>; 310 + }; 311 + 312 + ldo_vio28 { 313 + regulator-name = "vio28"; 314 + regulator-min-microvolt = <2800000>; 315 + regulator-max-microvolt = <2800000>; 316 + regulator-enable-ramp-delay = <216>; 317 + regulator-always-on; 318 + regulator-boot-on; 319 + }; 320 + 321 + ldo_vusb { 322 + regulator-name = "vusb"; 323 + regulator-min-microvolt = <3300000>; 324 + regulator-max-microvolt = <3300000>; 325 + regulator-enable-ramp-delay = <216>; 326 + regulator-boot-on; 327 + }; 328 + 329 + ldo_vmc { 330 + regulator-name = "vmc"; 331 + regulator-min-microvolt = <1800000>; 332 + regulator-max-microvolt = <3300000>; 333 + regulator-enable-ramp-delay = <36>; 334 + regulator-boot-on; 335 + }; 336 + 337 + ldo_vmch { 338 + regulator-name = "vmch"; 339 + regulator-min-microvolt = <3000000>; 340 + regulator-max-microvolt = <3300000>; 341 + regulator-enable-ramp-delay = <36>; 342 + regulator-boot-on; 343 + }; 344 + 345 + ldo_vemc3v3 { 346 + regulator-name = "vemc3v3"; 347 + regulator-min-microvolt = <3000000>; 348 + regulator-max-microvolt = <3300000>; 349 + regulator-enable-ramp-delay = <36>; 350 + regulator-boot-on; 351 + }; 352 + 353 + ldo_vgp1 { 354 + regulator-name = "vgp1"; 355 + regulator-min-microvolt = <1200000>; 356 + regulator-max-microvolt = <3300000>; 357 + regulator-enable-ramp-delay = <216>; 358 + }; 359 + 360 + ldo_vgp2 { 361 + regulator-name = "vgp2"; 362 + regulator-min-microvolt = <1200000>; 363 + regulator-max-microvolt = <3000000>; 364 + regulator-enable-ramp-delay = <216>; 365 + }; 366 + 367 + ldo_vgp3 { 368 + regulator-name = "vgp3"; 369 + regulator-min-microvolt = <1200000>; 370 + regulator-max-microvolt = <1800000>; 371 + regulator-enable-ramp-delay = <216>; 372 + }; 373 + 374 + ldo_vcn18 { 375 + regulator-name = "vcn18"; 376 + regulator-min-microvolt = <1800000>; 377 + regulator-max-microvolt = <1800000>; 378 + regulator-enable-ramp-delay = <216>; 379 + }; 380 + 381 + ldo_vsim1 { 382 + regulator-name = "vsim1"; 383 + regulator-min-microvolt = <1800000>; 384 + regulator-max-microvolt = <3000000>; 385 + regulator-enable-ramp-delay = <216>; 386 + }; 387 + 388 + ldo_vsim2 { 389 + regulator-name = "vsim2"; 390 + regulator-min-microvolt = <1800000>; 391 + regulator-max-microvolt = <3000000>; 392 + regulator-enable-ramp-delay = <216>; 393 + }; 394 + 395 + ldo_vrtc { 396 + regulator-name = "vrtc"; 397 + regulator-min-microvolt = <2800000>; 398 + regulator-max-microvolt = <2800000>; 399 + regulator-always-on; 400 + regulator-boot-on; 401 + }; 402 + 403 + ldo_vcamaf { 404 + regulator-name = "vcamaf"; 405 + regulator-min-microvolt = <1200000>; 406 + regulator-max-microvolt = <3300000>; 407 + regulator-enable-ramp-delay = <216>; 408 + }; 409 + 410 + ldo_vibr { 411 + regulator-name = "vibr"; 412 + regulator-min-microvolt = <1200000>; 413 + regulator-max-microvolt = <3300000>; 414 + regulator-enable-ramp-delay = <36>; 415 + }; 416 + 417 + ldo_vrf18 { 418 + regulator-name = "vrf18"; 419 + regulator-min-microvolt = <1825000>; 420 + regulator-max-microvolt = <1825000>; 421 + regulator-enable-ramp-delay = <187>; 422 + }; 423 + 424 + ldo_vm { 425 + regulator-name = "vm"; 426 + regulator-min-microvolt = <1200000>; 427 + regulator-max-microvolt = <1800000>; 428 + regulator-enable-ramp-delay = <216>; 429 + regulator-always-on; 430 + regulator-boot-on; 431 + }; 432 + 433 + ldo_vio18 { 434 + regulator-name = "vio18"; 435 + regulator-min-microvolt = <1800000>; 436 + regulator-max-microvolt = <1800000>; 437 + regulator-enable-ramp-delay = <216>; 438 + regulator-always-on; 439 + regulator-boot-on; 440 + }; 441 + 442 + ldo_vcamd { 443 + regulator-name = "vcamd"; 444 + regulator-min-microvolt = <1200000>; 445 + regulator-max-microvolt = <1800000>; 446 + regulator-enable-ramp-delay = <216>; 447 + }; 448 + 449 + ldo_vcamio { 450 + regulator-name = "vcamio"; 451 + regulator-min-microvolt = <1800000>; 452 + regulator-max-microvolt = <1800000>; 453 + regulator-enable-ramp-delay = <216>; 454 + }; 455 + }; 456 + 457 + keys { 458 + compatible = "mediatek,mt6323-keys"; 459 + mediatek,long-press-mode = <1>; 460 + power-off-time-sec = <0>; 461 + 462 + power { 463 + linux,keycodes = <116>; 464 + wakeup-source; 465 + }; 466 + 467 + home { 468 + linux,keycodes = <114>; 469 + }; 470 + }; 471 + 472 + power-controller { 473 + compatible = "mediatek,mt6323-pwrc"; 474 + #power-domain-cells = <0>; 475 + }; 476 + 477 + rtc { 478 + compatible = "mediatek,mt6323-rtc"; 479 + }; 480 + }; 481 + 482 + - | 483 + #include <dt-bindings/input/input.h> 484 + #include <dt-bindings/interrupt-controller/arm-gic.h> 485 + 486 + pmic { 487 + compatible = "mediatek,mt6358"; 488 + interrupt-controller; 489 + #interrupt-cells = <2>; 490 + 491 + audio-codec { 492 + compatible = "mediatek,mt6358-sound"; 493 + Avdd-supply = <&mt6358_vaud28_reg>; 494 + mediatek,dmic-mode = <0>; 495 + }; 496 + 497 + regulators { 498 + compatible = "mediatek,mt6358-regulator"; 499 + 500 + buck_vdram1 { 501 + regulator-name = "vdram1"; 502 + regulator-min-microvolt = <500000>; 503 + regulator-max-microvolt = <2087500>; 504 + regulator-ramp-delay = <12500>; 505 + regulator-enable-ramp-delay = <0>; 506 + regulator-always-on; 507 + regulator-allowed-modes = <0 1>; 508 + }; 509 + 510 + // ... 511 + 512 + ldo_vsim2 { 513 + regulator-name = "vsim2"; 514 + regulator-min-microvolt = <1700000>; 515 + regulator-max-microvolt = <3100000>; 516 + regulator-enable-ramp-delay = <540>; 517 + }; 518 + }; 519 + 520 + rtc { 521 + compatible = "mediatek,mt6358-rtc"; 522 + }; 523 + 524 + keys { 525 + compatible = "mediatek,mt6358-keys"; 526 + 527 + power { 528 + linux,keycodes = <KEY_POWER>; 529 + wakeup-source; 530 + }; 531 + 532 + home { 533 + linux,keycodes = <KEY_HOME>; 534 + }; 535 + }; 536 + }; 537 + 538 + - | 539 + #include <dt-bindings/interrupt-controller/arm-gic.h> 540 + 541 + pmic { 542 + compatible = "mediatek,mt6397"; 543 + 544 + interrupt-parent = <&pio>; 545 + interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>; 546 + interrupt-controller; 547 + #interrupt-cells = <2>; 548 + 549 + audio-codec { 550 + compatible = "mediatek,mt6397-codec"; 551 + }; 552 + 553 + clocks { 554 + compatible = "mediatek,mt6397-clk"; 555 + #clock-cells = <1>; 556 + }; 557 + 558 + pinctrl { 559 + compatible = "mediatek,mt6397-pinctrl"; 560 + gpio-controller; 561 + #gpio-cells = <2>; 562 + }; 563 + 564 + regulators { 565 + compatible = "mediatek,mt6397-regulator"; 566 + 567 + buck_vpca15 { 568 + regulator-name = "vpca15"; 569 + regulator-min-microvolt = < 850000>; 570 + regulator-max-microvolt = <1350000>; 571 + regulator-ramp-delay = <12500>; 572 + regulator-enable-ramp-delay = <200>; 573 + }; 574 + 575 + // ... 576 + 577 + ldo_vibr { 578 + regulator-name = "vibr"; 579 + regulator-min-microvolt = <1200000>; 580 + regulator-max-microvolt = <3300000>; 581 + regulator-enable-ramp-delay = <218>; 582 + }; 583 + }; 584 + 585 + rtc { 586 + compatible = "mediatek,mt6397-rtc"; 587 + }; 588 + };
-110
Documentation/devicetree/bindings/mfd/mt6397.txt
··· 1 - MediaTek MT6397/MT6323 Multifunction Device Driver 2 - 3 - MT6397/MT6323 is a multifunction device with the following sub modules: 4 - - Regulator 5 - - RTC 6 - - Audio codec 7 - - GPIO 8 - - Clock 9 - - LED 10 - - Keys 11 - - Power controller 12 - 13 - It is interfaced to host controller using SPI interface by a proprietary hardware 14 - called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap. 15 - See the following for pwarp node definitions: 16 - ../soc/mediatek/mediatek,pwrap.yaml 17 - 18 - This document describes the binding for MFD device and its sub module. 19 - 20 - Required properties: 21 - compatible: 22 - "mediatek,mt6323" for PMIC MT6323 23 - "mediatek,mt6331" for PMIC MT6331 and MT6332 24 - "mediatek,mt6357" for PMIC MT6357 25 - "mediatek,mt6358" for PMIC MT6358 26 - "mediatek,mt6359" for PMIC MT6359 27 - "mediatek,mt6366", "mediatek,mt6358" for PMIC MT6366 28 - "mediatek,mt6397" for PMIC MT6397 29 - 30 - Optional subnodes: 31 - 32 - - rtc 33 - Required properties: Should be one of follows 34 - - compatible: "mediatek,mt6323-rtc" 35 - - compatible: "mediatek,mt6331-rtc" 36 - - compatible: "mediatek,mt6358-rtc" 37 - - compatible: "mediatek,mt6397-rtc" 38 - For details, see ../rtc/rtc-mt6397.txt 39 - - regulators 40 - Required properties: 41 - - compatible: "mediatek,mt6323-regulator" 42 - see ../regulator/mt6323-regulator.txt 43 - - compatible: "mediatek,mt6358-regulator" 44 - - compatible: "mediatek,mt6366-regulator", "mediatek-mt6358-regulator" 45 - see ../regulator/mt6358-regulator.txt 46 - - compatible: "mediatek,mt6397-regulator" 47 - see ../regulator/mt6397-regulator.txt 48 - - codec 49 - Required properties: 50 - - compatible: "mediatek,mt6397-codec" or "mediatek,mt6358-sound" 51 - - clk 52 - Required properties: 53 - - compatible: "mediatek,mt6397-clk" 54 - - led 55 - Required properties: 56 - - compatible: "mediatek,mt6323-led" 57 - see ../leds/leds-mt6323.txt 58 - 59 - - keys 60 - Required properties: Should be one of the following 61 - - compatible: "mediatek,mt6323-keys" 62 - - compatible: "mediatek,mt6331-keys" 63 - - compatible: "mediatek,mt6397-keys" 64 - see ../input/mtk-pmic-keys.txt 65 - 66 - - power-controller 67 - Required properties: 68 - - compatible: "mediatek,mt6323-pwrc" 69 - For details, see ../power/reset/mt6323-poweroff.txt 70 - 71 - - pin-controller 72 - Required properties: 73 - - compatible: "mediatek,mt6397-pinctrl" 74 - For details, see ../pinctrl/pinctrl-mt65xx.txt 75 - 76 - Example: 77 - pwrap: pwrap@1000f000 { 78 - compatible = "mediatek,mt8135-pwrap"; 79 - 80 - ... 81 - 82 - pmic { 83 - compatible = "mediatek,mt6397"; 84 - 85 - codec: mt6397codec { 86 - compatible = "mediatek,mt6397-codec"; 87 - }; 88 - 89 - regulators { 90 - compatible = "mediatek,mt6397-regulator"; 91 - 92 - mt6397_vpca15_reg: buck_vpca15 { 93 - regulator-compatible = "buck_vpca15"; 94 - regulator-name = "vpca15"; 95 - regulator-min-microvolt = <850000>; 96 - regulator-max-microvolt = <1400000>; 97 - regulator-ramp-delay = <12500>; 98 - regulator-always-on; 99 - }; 100 - 101 - mt6397_vgp4_reg: ldo_vgp4 { 102 - regulator-compatible = "ldo_vgp4"; 103 - regulator-name = "vgp4"; 104 - regulator-min-microvolt = <1200000>; 105 - regulator-max-microvolt = <3300000>; 106 - regulator-enable-ramp-delay = <218>; 107 - }; 108 - }; 109 - }; 110 - };
-20
Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt
··· 1 - Device Tree Bindings for Power Controller on MediaTek PMIC 2 - 3 - The power controller which could be found on PMIC is responsible for externally 4 - powering off or on the remote MediaTek SoC through the circuit BBPU. 5 - 6 - Required properties: 7 - - compatible: Should be one of follows 8 - "mediatek,mt6323-pwrc": for MT6323 PMIC 9 - 10 - Example: 11 - 12 - pmic { 13 - compatible = "mediatek,mt6323"; 14 - 15 - ... 16 - 17 - power-controller { 18 - compatible = "mediatek,mt6323-pwrc"; 19 - }; 20 - }
-31
Documentation/devicetree/bindings/rtc/rtc-mt6397.txt
··· 1 - Device-Tree bindings for MediaTek PMIC based RTC 2 - 3 - MediaTek PMIC based RTC is an independent function of MediaTek PMIC that works 4 - as a type of multi-function device (MFD). The RTC can be configured and set up 5 - with PMIC wrapper bus which is a common resource shared with the other 6 - functions found on the same PMIC. 7 - 8 - For MediaTek PMIC MFD bindings, see: 9 - ../mfd/mt6397.txt 10 - 11 - For MediaTek PMIC wrapper bus bindings, see: 12 - ../soc/mediatek/pwrap.txt 13 - 14 - Required properties: 15 - - compatible: Should be one of follows 16 - "mediatek,mt6323-rtc": for MT6323 PMIC 17 - "mediatek,mt6358-rtc": for MT6358 PMIC 18 - "mediatek,mt6366-rtc", "mediatek,mt6358-rtc": for MT6366 PMIC 19 - "mediatek,mt6397-rtc": for MT6397 PMIC 20 - 21 - Example: 22 - 23 - pmic { 24 - compatible = "mediatek,mt6323"; 25 - 26 - ... 27 - 28 - rtc { 29 - compatible = "mediatek,mt6323-rtc"; 30 - }; 31 - };
+6 -2
MAINTAINERS
··· 14420 14420 F: drivers/bluetooth/btmtkuart.c 14421 14421 14422 14422 MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS 14423 + M: Sen Chu <sen.chu@mediatek.com> 14423 14424 M: Sean Wang <sean.wang@mediatek.com> 14425 + M: Macpaul Lin <macpaul.lin@mediatek.com> 14424 14426 L: linux-pm@vger.kernel.org 14425 14427 S: Maintained 14426 - F: Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt 14428 + F: Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml 14427 14429 F: drivers/power/reset/mt6323-poweroff.c 14428 14430 14429 14431 MEDIATEK CIR DRIVER ··· 14586 14584 F: drivers/mtd/nand/raw/mtk_* 14587 14585 14588 14586 MEDIATEK PMIC LED DRIVER 14587 + M: Sen Chu <sen.chu@mediatek.com> 14589 14588 M: Sean Wang <sean.wang@mediatek.com> 14589 + M: Macpaul Lin <macpaul.lin@mediatek.com> 14590 14590 S: Maintained 14591 - F: Documentation/devicetree/bindings/leds/leds-mt6323.txt 14591 + F: Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml 14592 14592 F: drivers/leds/leds-mt6323.c 14593 14593 14594 14594 MEDIATEK RANDOM NUMBER GENERATOR SUPPORT