brintos

brintos / linux-shallow public Read only

0
0
Text · 8.9 KiB · 50d727f Raw
353 lines · yaml
1# SPDX-License-Identifier: GPL-2.02%YAML 1.23---4$id: http://devicetree.org/schemas/soc/rockchip/grf.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Rockchip General Register Files (GRF)8 9maintainers:10  - Heiko Stuebner <heiko@sntech.de>11 12properties:13  compatible:14    oneOf:15      - items:16          - enum:17              - rockchip,rk3288-sgrf18              - rockchip,rk3566-pipe-grf19              - rockchip,rk3568-pcie3-phy-grf20              - rockchip,rk3568-pipe-grf21              - rockchip,rk3568-pipe-phy-grf22              - rockchip,rk3568-usb2phy-grf23              - rockchip,rk3576-bigcore-grf24              - rockchip,rk3576-cci-grf25              - rockchip,rk3576-gpu-grf26              - rockchip,rk3576-litcore-grf27              - rockchip,rk3576-npu-grf28              - rockchip,rk3576-php-grf29              - rockchip,rk3576-pipe-phy-grf30              - rockchip,rk3576-pmu1-grf31              - rockchip,rk3576-sdgmac-grf32              - rockchip,rk3576-sys-grf33              - rockchip,rk3576-usb-grf34              - rockchip,rk3576-usbdpphy-grf35              - rockchip,rk3576-vo0-grf36              - rockchip,rk3576-vop-grf37              - rockchip,rk3588-bigcore0-grf38              - rockchip,rk3588-bigcore1-grf39              - rockchip,rk3588-hdptxphy-grf40              - rockchip,rk3588-ioc41              - rockchip,rk3588-php-grf42              - rockchip,rk3588-pipe-phy-grf43              - rockchip,rk3588-sys-grf44              - rockchip,rk3588-pcie3-phy-grf45              - rockchip,rk3588-pcie3-pipe-grf46              - rockchip,rk3588-usb-grf47              - rockchip,rk3588-usbdpphy-grf48              - rockchip,rk3588-vo0-grf49              - rockchip,rk3588-vo1-grf50              - rockchip,rk3588-vop-grf51              - rockchip,rv1108-usbgrf52          - const: syscon53      - items:54          - const: rockchip,rk3588-vo-grf55          - const: syscon56        deprecated: true57        description: Use rockchip,rk3588-vo{0,1}-grf instead.58      - items:59          - enum:60              - rockchip,px30-grf61              - rockchip,px30-pmugrf62              - rockchip,px30-usb2phy-grf63              - rockchip,rk3036-grf64              - rockchip,rk3066-grf65              - rockchip,rk3128-grf66              - rockchip,rk3188-grf67              - rockchip,rk3228-grf68              - rockchip,rk3288-grf69              - rockchip,rk3308-core-grf70              - rockchip,rk3308-detect-grf71              - rockchip,rk3308-grf72              - rockchip,rk3308-usb2phy-grf73              - rockchip,rk3328-grf74              - rockchip,rk3328-usb2phy-grf75              - rockchip,rk3368-grf76              - rockchip,rk3368-pmugrf77              - rockchip,rk3399-grf78              - rockchip,rk3399-pmugrf79              - rockchip,rk3568-grf80              - rockchip,rk3568-pmugrf81              - rockchip,rk3576-ioc-grf82              - rockchip,rk3576-pmu0-grf83              - rockchip,rk3588-usb2phy-grf84              - rockchip,rv1108-grf85              - rockchip,rv1108-pmugrf86              - rockchip,rv1126-grf87              - rockchip,rv1126-pmugrf88          - const: syscon89          - const: simple-mfd90 91  reg:92    maxItems: 193 94  clocks:95    maxItems: 196 97  "#address-cells":98    const: 199 100  "#size-cells":101    const: 1102 103required:104  - compatible105  - reg106 107additionalProperties:108  type: object109 110allOf:111  - if:112      properties:113        compatible:114          contains:115            enum:116              - rockchip,px30-grf117 118    then:119      properties:120        lvds:121          type: object122 123          $ref: /schemas/display/rockchip/rockchip,lvds.yaml#124 125          unevaluatedProperties: false126 127  - if:128      properties:129        compatible:130          contains:131            const: rockchip,rk3288-grf132 133    then:134      properties:135        edp-phy:136          type: object137          $ref: /schemas/phy/rockchip,rk3288-dp-phy.yaml#138          unevaluatedProperties: false139 140  - if:141      properties:142        compatible:143          contains:144            enum:145              - rockchip,rk3066-grf146              - rockchip,rk3188-grf147              - rockchip,rk3288-grf148 149    then:150      properties:151        usbphy:152          type: object153 154          $ref: /schemas/phy/rockchip-usb-phy.yaml#155 156          unevaluatedProperties: false157 158  - if:159      properties:160        compatible:161          contains:162            const: rockchip,rk3328-grf163 164    then:165      properties:166        gpio:167          type: object168 169          $ref: /schemas/gpio/rockchip,rk3328-grf-gpio.yaml#170 171          unevaluatedProperties: false172 173        power-controller:174          type: object175 176          $ref: /schemas/power/rockchip,power-controller.yaml#177 178          unevaluatedProperties: false179 180  - if:181      properties:182        compatible:183          contains:184            const: rockchip,rk3399-grf185 186    then:187      properties:188        mipi-dphy-rx0:189          type: object190 191          $ref: /schemas/phy/rockchip-mipi-dphy-rx0.yaml#192 193          unevaluatedProperties: false194 195        pcie-phy:196          type: object197          description:198            Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt199 200      patternProperties:201        "^phy@[0-9a-f]+$":202          type: object203          $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml#204          unevaluatedProperties: false205 206  - if:207      properties:208        compatible:209          contains:210            enum:211              - rockchip,px30-pmugrf212              - rockchip,rk3036-grf213              - rockchip,rk3308-grf214              - rockchip,rk3368-pmugrf215 216    then:217      properties:218        reboot-mode:219          type: object220 221          $ref: /schemas/power/reset/syscon-reboot-mode.yaml#222 223          unevaluatedProperties: false224 225  - if:226      properties:227        compatible:228          contains:229            enum:230              - rockchip,px30-usb2phy-grf231              - rockchip,rk3128-grf232              - rockchip,rk3228-grf233              - rockchip,rk3308-usb2phy-grf234              - rockchip,rk3328-usb2phy-grf235              - rockchip,rk3399-grf236              - rockchip,rk3588-usb2phy-grf237              - rockchip,rv1108-grf238 239    then:240      required:241        - "#address-cells"242        - "#size-cells"243 244      patternProperties:245        "usb2phy@[0-9a-f]+$":246          type: object247 248          $ref: /schemas/phy/rockchip,inno-usb2phy.yaml#249 250          unevaluatedProperties: false251 252  - if:253      properties:254        compatible:255          contains:256            enum:257              - rockchip,px30-grf258              - rockchip,px30-pmugrf259              - rockchip,rk3188-grf260              - rockchip,rk3228-grf261              - rockchip,rk3288-grf262              - rockchip,rk3328-grf263              - rockchip,rk3368-grf264              - rockchip,rk3368-pmugrf265              - rockchip,rk3399-grf266              - rockchip,rk3399-pmugrf267              - rockchip,rk3568-pmugrf268              - rockchip,rk3588-pmugrf269              - rockchip,rv1108-grf270              - rockchip,rv1108-pmugrf271 272    then:273      properties:274        io-domains:275          type: object276 277          $ref: /schemas/power/rockchip-io-domain.yaml#278 279          unevaluatedProperties: false280 281  - if:282      properties:283        compatible:284          contains:285            enum:286              - rockchip,rk3588-vo-grf287              - rockchip,rk3588-vo0-grf288              - rockchip,rk3588-vo1-grf289 290    then:291      required:292        - clocks293 294    else:295      properties:296        clocks: false297 298 299examples:300  - |301    #include <dt-bindings/clock/rk3399-cru.h>302    #include <dt-bindings/interrupt-controller/arm-gic.h>303    #include <dt-bindings/power/rk3399-power.h>304    grf: syscon@ff770000 {305      compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";306      reg = <0xff770000 0x10000>;307      #address-cells = <1>;308      #size-cells = <1>;309 310      mipi_dphy_rx0: mipi-dphy-rx0 {311        compatible = "rockchip,rk3399-mipi-dphy-rx0";312        clocks = <&cru SCLK_MIPIDPHY_REF>,313                 <&cru SCLK_DPHY_RX0_CFG>,314                 <&cru PCLK_VIO_GRF>;315        clock-names = "dphy-ref", "dphy-cfg", "grf";316        power-domains = <&power RK3399_PD_VIO>;317        #phy-cells = <0>;318      };319 320      phy@f780 {321        compatible = "rockchip,rk3399-emmc-phy";322        reg = <0xf780 0x20>;323        clocks = <&sdhci>;324        clock-names = "emmcclk";325        drive-impedance-ohm = <50>;326        #phy-cells = <0>;327      };328 329      u2phy0: usb2phy@e450 {330        compatible = "rockchip,rk3399-usb2phy";331        reg = <0xe450 0x10>;332        clocks = <&cru SCLK_USB2PHY0_REF>;333        clock-names = "phyclk";334        #clock-cells = <0>;335        clock-output-names = "clk_usbphy0_480m";336 337        u2phy0_host: host-port {338          #phy-cells = <0>;339          interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;340          interrupt-names = "linestate";341         };342 343        u2phy0_otg: otg-port {344          #phy-cells = <0>;345          interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,346                       <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,347                       <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;348          interrupt-names = "otg-bvalid", "otg-id",349                            "linestate";350        };351      };352    };353