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

dt-bindings: clock: thead: Add TH1520 VO clock controller

Add device tree bindings for the TH1520 Video Output (VO) subsystem
clock controller. The VO sub-system manages clock gates for multimedia
components including HDMI, MIPI, and GPU.

Document the VIDEO_PLL requirements for the VO clock controller, which
receives its input from the AP clock controller. The VIDEO_PLL is a
Silicon Creations Sigma-Delta (integer) PLL typically running at 792 MHz
with maximum FOUTVCO of 2376 MHz.

This binding complements the existing AP sub-system clock controller
which manages CPU, DPU, GMAC and TEE PLLs.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
Reviewed-by: Drew Fustini <drew@pdp7.com>
Signed-off-by: Drew Fustini <drew@pdp7.com>

authored by

Michal Wilczynski and committed by
Drew Fustini
1b4bb451 0af2f6be

+48 -3
+14 -3
Documentation/devicetree/bindings/clock/thead,th1520-clk-ap.yaml
··· 8 8 9 9 description: | 10 10 The T-HEAD TH1520 AP sub-system clock controller configures the 11 - CPU, DPU, GMAC and TEE PLLs. 11 + CPU, DPU, GMAC and TEE PLLs. Additionally the VO subsystem configures 12 + the clock gates for the HDMI, MIPI and the GPU. 12 13 13 14 SoC reference manual 14 15 https://openbeagle.org/beaglev-ahead/beaglev-ahead/-/blob/main/docs/TH1520%20System%20User%20Manual.pdf ··· 21 20 22 21 properties: 23 22 compatible: 24 - const: thead,th1520-clk-ap 23 + enum: 24 + - thead,th1520-clk-ap 25 + - thead,th1520-clk-vo 25 26 26 27 reg: 27 28 maxItems: 1 28 29 29 30 clocks: 30 31 items: 31 - - description: main oscillator (24MHz) 32 + - description: | 33 + One input clock: 34 + - For "thead,th1520-clk-ap": the clock input must be the 24 MHz 35 + main oscillator. 36 + - For "thead,th1520-clk-vo": the clock input must be the VIDEO_PLL, 37 + which is configured by the AP clock controller. According to the 38 + TH1520 manual, VIDEO_PLL is a Silicon Creations Sigma-Delta PLL 39 + (integer PLL) typically running at 792 MHz (FOUTPOSTDIV), with 40 + a maximum FOUTVCO of 2376 MHz. 32 41 33 42 "#clock-cells": 34 43 const: 1
+34
include/dt-bindings/clock/thead,th1520-clk-ap.h
··· 93 93 #define CLK_SRAM3 83 94 94 #define CLK_PLL_GMAC_100M 84 95 95 #define CLK_UART_SCLK 85 96 + 97 + /* VO clocks */ 98 + #define CLK_AXI4_VO_ACLK 0 99 + #define CLK_GPU_MEM 1 100 + #define CLK_GPU_CORE 2 101 + #define CLK_GPU_CFG_ACLK 3 102 + #define CLK_DPU_PIXELCLK0 4 103 + #define CLK_DPU_PIXELCLK1 5 104 + #define CLK_DPU_HCLK 6 105 + #define CLK_DPU_ACLK 7 106 + #define CLK_DPU_CCLK 8 107 + #define CLK_HDMI_SFR 9 108 + #define CLK_HDMI_PCLK 10 109 + #define CLK_HDMI_CEC 11 110 + #define CLK_MIPI_DSI0_PCLK 12 111 + #define CLK_MIPI_DSI1_PCLK 13 112 + #define CLK_MIPI_DSI0_CFG 14 113 + #define CLK_MIPI_DSI1_CFG 15 114 + #define CLK_MIPI_DSI0_REFCLK 16 115 + #define CLK_MIPI_DSI1_REFCLK 17 116 + #define CLK_HDMI_I2S 18 117 + #define CLK_X2H_DPU1_ACLK 19 118 + #define CLK_X2H_DPU_ACLK 20 119 + #define CLK_AXI4_VO_PCLK 21 120 + #define CLK_IOPMP_VOSYS_DPU_PCLK 22 121 + #define CLK_IOPMP_VOSYS_DPU1_PCLK 23 122 + #define CLK_IOPMP_VOSYS_GPU_PCLK 24 123 + #define CLK_IOPMP_DPU1_ACLK 25 124 + #define CLK_IOPMP_DPU_ACLK 26 125 + #define CLK_IOPMP_GPU_ACLK 27 126 + #define CLK_MIPIDSI0_PIXCLK 28 127 + #define CLK_MIPIDSI1_PIXCLK 29 128 + #define CLK_HDMI_PIXCLK 30 129 + 96 130 #endif