VOP(Visual Output Processor) 는 비디오 메모리 버퍼의 이미지 데이터를 외부 디스플레이 인터페이스(LVDS, MIPI, eDP, HDMI 등)로 전송하는 Rockchip SoC 시리즈용 디스플레이 컨트롤러이다.
VOP는 AHB 슬레이브를 통해 AHB 버스에 연결되고 AXI 마스터를 통해 AXI 버스에 연결된다. 레지스터 설정은 AHB 슬레이브 인터페이스를 통해 구성되며 디스플레이 프레임 데이터는 AXI 마스터 인터페이스를 통해 읽혀진다. 또한 IEP와 VOP 사이에는 IEP에서 VOP로 프레임 데이터를 제공할 수 있는 데이터 경로가 있다. (VOP 호환 SoC에서는 커널 빌드 시 이 기능을 활성화해야 한다.)
VOP2 는 RK3566/RK3568 부터 사용된다. 이 드라이버는 Rockchip의 커널에서 제공되는 기존 다운스트림 드라이버에서 파생되었다. 이 업스트림 드라이버는 비표준 DRM 속성, 엉성한 코드 및 다운스트림 드라이버 상태의 기타 변경 사항을 제거하기 위해 큰 변경 사항을 확인해야 했다.
dtsi 파일에 필요한 디스플레이 하위 시스템 노드 및 iommu 노드와 함께 해당 노드를 추가해야한다.
Example:
...
vop: vop@fdd90000 {
compatible = "rockchip,rk3588-vop";
reg = <0x0 0xfdd90000 0x0 0x4200>, <0x0 0xfdd95000 0x0 0x1000>;
reg-names = "regs", "gamma_lut";
interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
...
iommus = <&vop_mmu>;
power-domains = <&power RK3588_PD_VOP>;
rockchip,grf = <&sys_grf>;
rockchip,vop-grf = <&vop_grf>;
rockchip,vo1-grf = <&vo1_grf>;
rockchip,pmu = <&pmu>;
status = "disabled";
vop_out: ports {
#address-cells = <1>;
#size-cells = <0>;
vp0: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
vp0_out_dp0: endpoint@0 {
reg = <0>;
remote-endpoint = <&dp0_in_vp0>;
};
vp0_out_edp0: endpoint@1 {
reg = <1>;
remote-endpoint = <&edp0_in_vp0>;
};
vp0_out_hdmi0: endpoint@2 {
reg = <2>;
remote-endpoint = <&hdmi0_in_vp0>;
};
};
vp1: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
vp1_out_dp0: endpoint@0 {
reg = <0>;
remote-endpoint = <&dp0_in_vp1>;
};
vp1_out_edp0: endpoint@1 {
reg = <1>;
remote-endpoint = <&edp0_in_vp1>;
};
vp1_out_hdmi0: endpoint@2 {
reg = <2>;
remote-endpoint = <&hdmi0_in_vp1>;
};
};
...
};
};
...
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
13 | POSIX를 지원하는 오픈소스 RTOS, RTEMS | makersweb | 2020.04.15 | 2633 |
12 | 라즈베리파이2에서 RTOS기반 GPIO제어(LED) | makersweb | 2020.04.21 | 2501 |
11 | Raspberry Pi 의 프레임버퍼(Framebuffer)구성 | makersweb | 2020.05.15 | 2753 |
10 | Android 기기를 사용하여 Raspberry Pi SD 카드 작성 방법 | makersweb | 2020.08.01 | 1802 |
9 | 플랫폼 디바이스 및 디바이스 트리 | makersweb | 2021.03.20 | 4928 |
8 | ATtiny85 개발보드(HW-260) | makersweb | 2023.01.02 | 1346 |
7 | 임베디드 개발자를 위한 Hex,Bin,Dec 변환기 유틸 | makersweb | 2023.02.27 | 1850 |
6 | 로직분석기와 함께 PulseView 를 사용해서 CAN 신호 캡쳐 | makersweb | 2023.03.16 | 1482 |
5 | Raspberry Pi 와 ATtiny85 간 I²C 통신 | makersweb | 2023.03.18 | 1311 |
4 | Yocto 프로젝트 3.4 릴리스(honister) 이상 버전으로 마이그레이션 시 참고 사항 | makersweb | 2023.03.21 | 1917 |
3 | Raspberry Pi에서 I²C 그리고 Bit-bang (비트뱅) | makersweb | 2023.08.27 | 1576 |
» | Rockchip VOP | makersweb | 2024.04.22 | 968 |
1 | OpenAMP 간단한 소개 | makersweb | 2024.09.21 | 600 |