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

dt-bindings: power: meson-ee-pwrc: add support for Meson8/8b/8m2

The power domains on the 32-bit Meson8/Meson8b/Meson8m2 SoCs are very
similar to what G12A still uses. The (known) differences are:
- Meson8 doesn't use any reset lines at all
- Meson8b and Meson8m2 use the same reset lines, which are different
from what the 64-bit SoCs use
- there is no "vapb" clock on the older SoCs
- amlogic,ao-sysctrl cannot point to the whole AO sysctrl region but
only the power management related registers

Add a new compatible string and adjust clock and reset line expectations
for each SoC.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20200515204709.1505498-2-martin.blumenstingl@googlemail.com

authored by

Martin Blumenstingl and committed by
Kevin Hilman
18dfc0bf 8f3d9f35

+72 -15
+59 -15
Documentation/devicetree/bindings/power/amlogic,meson-ee-pwrc.yaml
··· 23 23 properties: 24 24 compatible: 25 25 enum: 26 + - amlogic,meson8-pwrc 27 + - amlogic,meson8b-pwrc 28 + - amlogic,meson8m2-pwrc 26 29 - amlogic,meson-g12a-pwrc 27 30 - amlogic,meson-sm1-pwrc 28 31 29 32 clocks: 30 - minItems: 2 33 + minItems: 1 34 + maxItems: 2 31 35 32 36 clock-names: 37 + minItems: 1 38 + maxItems: 2 33 39 items: 34 40 - const: vpu 35 41 - const: vapb ··· 44 38 minItems: 11 45 39 46 40 reset-names: 47 - items: 48 - - const: viu 49 - - const: venc 50 - - const: vcbus 51 - - const: bt656 52 - - const: rdma 53 - - const: venci 54 - - const: vencp 55 - - const: vdac 56 - - const: vdi6 57 - - const: vencl 58 - - const: vid_lock 41 + minItems: 11 59 42 60 43 "#power-domain-cells": 61 44 const: 1 ··· 54 59 allOf: 55 60 - $ref: /schemas/types.yaml#/definitions/phandle 56 61 62 + allOf: 63 + - if: 64 + properties: 65 + compatible: 66 + enum: 67 + - amlogic,meson8b-pwrc 68 + - amlogic,meson8m2-pwrc 69 + then: 70 + properties: 71 + reset-names: 72 + items: 73 + - const: dblk 74 + - const: pic_dc 75 + - const: hdmi_apb 76 + - const: hdmi_system 77 + - const: venci 78 + - const: vencp 79 + - const: vdac 80 + - const: vencl 81 + - const: viu 82 + - const: venc 83 + - const: rdma 84 + required: 85 + - resets 86 + - reset-names 87 + 88 + - if: 89 + properties: 90 + compatible: 91 + enum: 92 + - amlogic,meson-g12a-pwrc 93 + - amlogic,meson-sm1-pwrc 94 + then: 95 + properties: 96 + reset-names: 97 + items: 98 + - const: viu 99 + - const: venc 100 + - const: vcbus 101 + - const: bt656 102 + - const: rdma 103 + - const: venci 104 + - const: vencp 105 + - const: vdac 106 + - const: vdi6 107 + - const: vencl 108 + - const: vid_lock 109 + required: 110 + - resets 111 + - reset-names 112 + 57 113 required: 58 114 - compatible 59 115 - clocks 60 116 - clock-names 61 - - resets 62 - - reset-names 63 117 - "#power-domain-cells" 64 118 - amlogic,ao-sysctrl 65 119
+13
include/dt-bindings/power/meson8-power.h
··· 1 + /* SPDX-License-Identifier: (GPL-2.0+ or MIT) */ 2 + /* 3 + * Copyright (c) 2019 Martin Blumenstingl <martin.blumenstingl@googlemail.com> 4 + */ 5 + 6 + #ifndef _DT_BINDINGS_MESON8_POWER_H 7 + #define _DT_BINDINGS_MESON8_POWER_H 8 + 9 + #define PWRC_MESON8_VPU_ID 0 10 + #define PWRC_MESON8_ETHERNET_MEM_ID 1 11 + #define PWRC_MESON8_AUDIO_DSP_MEM_ID 2 12 + 13 + #endif /* _DT_BINDINGS_MESON8_POWER_H */