Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Rockchip IOMMU
0008 
0009 maintainers:
0010   - Heiko Stuebner <heiko@sntech.de>
0011 
0012 description: |+
0013   A Rockchip DRM iommu translates io virtual addresses to physical addresses for
0014   its master device. Each slave device is bound to a single master device and
0015   shares its clocks, power domain and irq.
0016 
0017   For information on assigning IOMMU controller to its peripheral devices,
0018   see generic IOMMU bindings.
0019 
0020 properties:
0021   compatible:
0022     enum:
0023       - rockchip,iommu
0024       - rockchip,rk3568-iommu
0025 
0026   reg:
0027     items:
0028       - description: configuration registers for MMU instance 0
0029       - description: configuration registers for MMU instance 1
0030     minItems: 1
0031 
0032   interrupts:
0033     items:
0034       - description: interruption for MMU instance 0
0035       - description: interruption for MMU instance 1
0036     minItems: 1
0037 
0038   clocks:
0039     items:
0040       - description: Core clock
0041       - description: Interface clock
0042 
0043   clock-names:
0044     items:
0045       - const: aclk
0046       - const: iface
0047 
0048   "#iommu-cells":
0049     const: 0
0050 
0051   power-domains:
0052     maxItems: 1
0053 
0054   rockchip,disable-mmu-reset:
0055     $ref: /schemas/types.yaml#/definitions/flag
0056     description: |
0057       Do not use the mmu reset operation.
0058       Some mmu instances may produce unexpected results
0059       when the reset operation is used.
0060 
0061 required:
0062   - compatible
0063   - reg
0064   - interrupts
0065   - clocks
0066   - clock-names
0067   - "#iommu-cells"
0068 
0069 additionalProperties: false
0070 
0071 examples:
0072   - |
0073     #include <dt-bindings/clock/rk3399-cru.h>
0074     #include <dt-bindings/interrupt-controller/arm-gic.h>
0075 
0076     vopl_mmu: iommu@ff940300 {
0077       compatible = "rockchip,iommu";
0078       reg = <0xff940300 0x100>;
0079       interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
0080       clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>;
0081       clock-names = "aclk", "iface";
0082       #iommu-cells = <0>;
0083     };