-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'drm_iommu_v15' of https://github.com/markyzq/kernel-drm…
…-rockchip into drm-next Merge rockchip GPU support. This has a branch in common with the iommu tree, hopefully the process works. * 'drm_iommu_v15' of https://github.com/markyzq/kernel-drm-rockchip: dt-bindings: video: Add documentation for rockchip vop dt-bindings: video: Add for rockchip display subsytem drm: rockchip: Add basic drm driver dt-bindings: iommu: Add documentation for rockchip iommu iommu/rockchip: rk3288 iommu driver
- Loading branch information
Showing
20 changed files
with
4,265 additions
and
0 deletions.
There are no files selected for viewing
26 changes: 26 additions & 0 deletions
26
Documentation/devicetree/bindings/iommu/rockchip,iommu.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
Rockchip IOMMU | ||
============== | ||
|
||
A Rockchip DRM iommu translates io virtual addresses to physical addresses for | ||
its master device. Each slave device is bound to a single master device, and | ||
shares its clocks, power domain and irq. | ||
|
||
Required properties: | ||
- compatible : Should be "rockchip,iommu" | ||
- reg : Address space for the configuration registers | ||
- interrupts : Interrupt specifier for the IOMMU instance | ||
- interrupt-names : Interrupt name for the IOMMU instance | ||
- #iommu-cells : Should be <0>. This indicates the iommu is a | ||
"single-master" device, and needs no additional information | ||
to associate with its master device. See: | ||
Documentation/devicetree/bindings/iommu/iommu.txt | ||
|
||
Example: | ||
|
||
vopl_mmu: iommu@ff940300 { | ||
compatible = "rockchip,iommu"; | ||
reg = <0xff940300 0x100>; | ||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-names = "vopl_mmu"; | ||
#iommu-cells = <0>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
Rockchip DRM master device | ||
================================ | ||
|
||
The Rockchip DRM master device is a virtual device needed to list all | ||
vop devices or other display interface nodes that comprise the | ||
graphics subsystem. | ||
|
||
Required properties: | ||
- compatible: Should be "rockchip,display-subsystem" | ||
- ports: Should contain a list of phandles pointing to display interface port | ||
of vop devices. vop definitions as defined in | ||
Documentation/devicetree/bindings/video/rockchip-vop.txt | ||
|
||
example: | ||
|
||
display-subsystem { | ||
compatible = "rockchip,display-subsystem"; | ||
ports = <&vopl_out>, <&vopb_out>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
device-tree bindings for rockchip soc display controller (vop) | ||
|
||
VOP (Visual Output Processor) is the Display Controller for the Rockchip | ||
series of SoCs which transfers the image data from a video memory | ||
buffer to an external LCD interface. | ||
|
||
Required properties: | ||
- compatible: value should be one of the following | ||
"rockchip,rk3288-vop"; | ||
|
||
- interrupts: should contain a list of all VOP IP block interrupts in the | ||
order: VSYNC, LCD_SYSTEM. The interrupt specifier | ||
format depends on the interrupt controller used. | ||
|
||
- clocks: must include clock specifiers corresponding to entries in the | ||
clock-names property. | ||
|
||
- clock-names: Must contain | ||
aclk_vop: for ddr buffer transfer. | ||
hclk_vop: for ahb bus to R/W the phy regs. | ||
dclk_vop: pixel clock. | ||
|
||
- resets: Must contain an entry for each entry in reset-names. | ||
See ../reset/reset.txt for details. | ||
- reset-names: Must include the following entries: | ||
- axi | ||
- ahb | ||
- dclk | ||
|
||
- iommus: required a iommu node | ||
|
||
- port: A port node with endpoint definitions as defined in | ||
Documentation/devicetree/bindings/media/video-interfaces.txt. | ||
|
||
Example: | ||
SoC specific DT entry: | ||
vopb: vopb@ff930000 { | ||
compatible = "rockchip,rk3288-vop"; | ||
reg = <0xff930000 0x19c>; | ||
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>; | ||
clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; | ||
resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>; | ||
reset-names = "axi", "ahb", "dclk"; | ||
iommus = <&vopb_mmu>; | ||
vopb_out: port { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
vopb_out_edp: endpoint@0 { | ||
reg = <0>; | ||
remote-endpoint=<&edp_in_vopb>; | ||
}; | ||
vopb_out_hdmi: endpoint@1 { | ||
reg = <1>; | ||
remote-endpoint=<&hdmi_in_vopb>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
config DRM_ROCKCHIP | ||
tristate "DRM Support for Rockchip" | ||
depends on DRM && ROCKCHIP_IOMMU | ||
select DRM_KMS_HELPER | ||
select DRM_KMS_FB_HELPER | ||
select DRM_PANEL | ||
select FB_CFB_FILLRECT | ||
select FB_CFB_COPYAREA | ||
select FB_CFB_IMAGEBLIT | ||
select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE | ||
select VIDEOMODE_HELPERS | ||
help | ||
Choose this option if you have a Rockchip soc chipset. | ||
This driver provides kernel mode setting and buffer | ||
management to userspace. This driver does not provide | ||
2D or 3D acceleration; acceleration is performed by other | ||
IP found on the SoC. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# | ||
# Makefile for the drm device driver. This driver provides support for the | ||
# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. | ||
|
||
rockchipdrm-y := rockchip_drm_drv.o rockchip_drm_fb.o rockchip_drm_fbdev.o \ | ||
rockchip_drm_gem.o | ||
|
||
obj-$(CONFIG_DRM_ROCKCHIP) += rockchipdrm.o rockchip_drm_vop.o |
Oops, something went wrong.