// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
// Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd
|
|
#include <dt-bindings/reset/rk628-rgu.h>
|
#include <dt-bindings/clock/rk628-cgu.h>
|
|
/ {
|
rk628_xin_osc0_func: rk628-xin-osc0-func {
|
compatible = "fixed-clock";
|
#clock-cells = <0>;
|
clock-frequency = <24000000>;
|
clock-output-names = "rk628_xin_osc0_func";
|
};
|
|
rk628_xin_osc0_half: rk628-xin-osc0-half {
|
compatible = "fixed-factor-clock";
|
#clock-cells = <0>;
|
clocks = <&rk628_xin_osc0_func>;
|
clock-mult = <1>;
|
clock-div = <2>;
|
clock-output-names = "rk628_xin_osc0_half";
|
};
|
};
|
|
&rk628 {
|
compatible = "rockchip,rk628";
|
|
rk628_cru: cru {
|
compatible = "rockchip,rk628-cru";
|
#clock-cells = <1>;
|
#reset-cells = <1>;
|
status = "okay";
|
};
|
|
rk628_efuse: efuse {
|
compatible = "rockchip,rk628-efuse";
|
clocks = <&rk628_cru CGU_PCLK_EFUSE>;
|
clock-names = "pclk";
|
resets = <&rk628_cru RGU_EFUSE>;
|
#phy-cells = <0>;
|
status = "disabled";
|
};
|
|
rk628_pinctrl: pinctrl {
|
compatible = "rockchip,rk628-pinctrl";
|
status = "okay";
|
|
rk628_gpio0: rk628-gpio0 {
|
clocks = <&rk628_cru CGU_PCLK_GPIO0>;
|
clock-names = "pclk";
|
resets = <&rk628_cru RGU_GPIO0>;
|
gpio-controller;
|
#gpio-cells = <2>;
|
interrupt-controller;
|
#interrupt-cells = <2>;
|
};
|
|
rk628_gpio1: rk628-gpio1 {
|
clocks = <&rk628_cru CGU_PCLK_GPIO1>;
|
clock-names = "pclk";
|
resets = <&rk628_cru RGU_GPIO1>;
|
gpio-controller;
|
#gpio-cells = <2>;
|
interrupt-controller;
|
#interrupt-cells = <2>;
|
};
|
|
rk628_gpio2: rk628-gpio2 {
|
clocks = <&rk628_cru CGU_PCLK_GPIO2>;
|
clock-names = "pclk";
|
resets = <&rk628_cru RGU_GPIO2>;
|
gpio-controller;
|
#gpio-cells = <2>;
|
interrupt-controller;
|
#interrupt-cells = <2>;
|
};
|
|
rk628_gpio3: rk628-gpio3 {
|
clocks = <&rk628_cru CGU_PCLK_GPIO3>;
|
clock-names = "pclk";
|
resets = <&rk628_cru RGU_GPIO3>;
|
gpio-controller;
|
#gpio-cells = <2>;
|
interrupt-controller;
|
#interrupt-cells = <2>;
|
};
|
|
rk628_i2sm0_pins: i2sm0 {
|
pins = "gpio0a2", /* i2sm0_sck */
|
"gpio0a3", /* i2sm0_lr */
|
"gpio0a4", /* i2sm0_d0 */
|
"gpio0a5", /* i2sm0_d1 */
|
"gpio0a6", /* i2sm0_d2 */
|
"gpio0a7"; /* i2sm0_d3 */
|
function = "i2sm0";
|
};
|
|
rk628_hpd_in_pins: hpd-in {
|
pins = "gpio0b0";
|
function = "hpd_in";
|
};
|
|
rk628_ddc_tx_pins: ddc-tx {
|
pins = "gpio0b1", /* ddc_tx_sda */
|
"gpio0b2"; /* ddc_tx_scl */
|
function = "ddc_tx";
|
};
|
|
rk628_cec_tx_pins: cec-tx {
|
pins = "gpio0b3";
|
function = "cec_tx";
|
};
|
|
rk628_test_clkout_pins: test-clkout {
|
pins = "gpio1a0";
|
function = "test_clkout";
|
};
|
|
rk628_i2sm1_pins: i2sm1 {
|
pins = "gpio1a2", /* i2sm1_sck */
|
"gpio1a3", /* i2sm1_lr */
|
"gpio1a4", /* i2sm1_d0 */
|
"gpio1a5", /* i2sm1_d1 */
|
"gpio1a6", /* i2sm1_d2 */
|
"gpio1a7"; /* i2sm1_d3 */
|
function = "i2sm1";
|
};
|
|
rk628_hpdm0_out_pins: hpdm0-out {
|
pins = "gpio1b0";
|
function = "hpdm0_out";
|
};
|
|
rk628_ddcm0_rx_pins: ddcm0-rx {
|
pins = "gpio1b1", /* ddcm0_rx_sda */
|
"gpio1b2"; /* ddcm0_rx_scl */
|
function = "ddcm0_rx";
|
};
|
|
rk628_cecm0_rx_pins: cecm0_rx {
|
pins = "gpio1b3";
|
function = "cecm0_rx";
|
};
|
|
rk628_vop_pins: vop {
|
pins = "gpio2a0", /* vop_d0 */
|
"gpio2a1", /* vop_d1 */
|
"gpio2a2", /* vop_d2 */
|
"gpio2a3", /* vop_d3 */
|
"gpio2a4", /* vop_d4 */
|
"gpio2a5", /* vop_d5 */
|
"gpio2a6", /* vop_d6 */
|
"gpio2a7", /* vop_d7 */
|
"gpio2b0", /* vop_d8 */
|
"gpio2b1", /* vop_d9 */
|
"gpio2b2", /* vop_d10 */
|
"gpio2b3", /* vop_d11 */
|
"gpio2b4", /* vop_d12 */
|
"gpio2b5", /* vop_d13 */
|
"gpio2b6", /* vop_d14 */
|
"gpio2b7", /* vop_d15 */
|
"gpio2c0", /* vop_d16 */
|
"gpio2c1", /* vop_d17 */
|
"gpio2c2", /* vop_d18 */
|
"gpio2c3", /* vop_d19 */
|
"gpio2c4", /* vop_d20 */
|
"gpio2c5", /* vop_d21 */
|
"gpio2c6", /* vop_d22 */
|
"gpio2c7", /* vop_d23 */
|
"gpio3a0", /* vop_den */
|
"gpio3a1", /* vop_hsync */
|
"gpio3a3", /* vop_vsync */
|
"gpio3b0"; /* vop_dclk */
|
function = "vop";
|
drive-strength = <1>;
|
};
|
|
rk628_hpdm1_out: hpdm1-out {
|
pins = "gpio3a4";
|
function = "hpdm1_out";
|
};
|
|
rk628_ddcm1_rx_pins: ddcm1-rx {
|
pins = "gpio3a5", /* ddcm1_rx_sda */
|
"gpio3a6"; /* ddcm1_rx_scl */
|
function = "ddcm1_rx";
|
};
|
|
rk628_cecm1_rx_pins: cecm1-rx {
|
pins = "gpio3a7";
|
function = "cecm1_rx";
|
};
|
|
rk628_gvi_hpd_pins: gvi-hpd {
|
pins = "gpio3b1";
|
function = "gvi_hpd";
|
};
|
|
rk628_gvi_lock_pins: gvi-lock {
|
pins = "gpio3b2";
|
function = "gvi_lock";
|
};
|
|
rk628_hdmirx_cec0: hdmirx-cec0 {
|
pins = "hdmirx_cec";
|
function = "hdmirx_cec0";
|
};
|
|
rk628_hdmirx_cec1: hdmirx-cec1 {
|
pins = "hdmirx_cec";
|
function = "hdmirx_cec1";
|
};
|
|
rk628_rxddc_input0: rxddc-input0 {
|
pins = "rxddc_scl",
|
"rxddc_sda";
|
function = "rxddc_input0";
|
};
|
|
rk628_rxddc_input1: rxddc-input1 {
|
pins = "rxddc_scl",
|
"rxddc_sda";
|
function = "rxddc_input1";
|
};
|
|
rk628_i2sm0_input: i2sm0-input {
|
pins = "i2sm_sck",
|
"i2sm_d",
|
"i2sm_lr";
|
function = "i2sm0_input";
|
};
|
|
rk628_i2sm1_input: i2sm1-input {
|
pins = "i2sm_sck",
|
"i2sm_d",
|
"i2sm_lr";
|
function = "i2sm1_input";
|
};
|
};
|
|
rk628_combtxphy: combtxphy {
|
compatible = "rockchip,rk628-combtxphy";
|
clocks = <&rk628_cru CGU_PCLK_TXPHY_CON>, <&rk628_cru CGU_SCLK_VOP>;
|
clock-names = "pclk", "ref_clk";
|
resets = <&rk628_cru RGU_TXPHY_CON>;
|
#phy-cells = <0>;
|
status = "disabled";
|
};
|
|
rk628_combrxphy: combrxphy {
|
compatible = "rockchip,rk628-combrxphy";
|
clocks = <&rk628_cru CGU_PCLK_RXPHY>;
|
clock-names = "pclk";
|
resets = <&rk628_cru RGU_RXPHY>;
|
#phy-cells = <0>;
|
status = "disabled";
|
};
|
|
rk628_dsi0: dsi0 {
|
compatible = "rockchip,rk628-dsi0";
|
clocks = <&rk628_cru CGU_PCLK_DSI0>,
|
<&rk628_cru CGU_CLK_CFG_DPHY0>;
|
clock-names = "pclk", "cfg";
|
resets = <&rk628_cru RGU_DSI0>;
|
phys = <&rk628_combtxphy>;
|
#address-cells = <1>;
|
#size-cells = <0>;
|
status = "disabled";
|
};
|
|
rk628_dsi1: dsi1 {
|
compatible = "rockchip,rk628-dsi1";
|
clocks = <&rk628_cru CGU_PCLK_DSI1>,
|
<&rk628_cru CGU_CLK_CFG_DPHY1>;
|
clock-names = "pclk", "cfg";
|
resets = <&rk628_cru RGU_DSI1>;
|
phys = <&rk628_combtxphy>;
|
#address-cells = <1>;
|
#size-cells = <0>;
|
status = "disabled";
|
};
|
|
rk628_lvds: lvds {
|
compatible = "rockchip,rk628-lvds";
|
phys = <&rk628_combtxphy>;
|
status = "disabled";
|
};
|
|
rk628_gvi: gvi {
|
compatible = "rockchip,rk628-gvi";
|
clocks = <&rk628_cru CGU_PCLK_GVIHOST>;
|
clock-names = "pclk";
|
resets = <&rk628_cru RGU_GVIHOST>;
|
phys = <&rk628_combtxphy>;
|
status = "disabled";
|
};
|
|
rk628_rgb_tx: rgb-tx {
|
compatible = "rockchip,rk628-rgb-tx";
|
status = "disabled";
|
};
|
|
rk628_yuv_rx: yuv-rx {
|
compatible = "rockchip,rk628-yuv-rx";
|
status = "disabled";
|
};
|
|
rk628_yuv_tx: yuv-tx {
|
compatible = "rockchip,rk628-yuv-tx";
|
status = "disabled";
|
};
|
|
rk628_bt1120_rx: bt1120-rx {
|
compatible = "rockchip,rk628-bt1120-rx";
|
clocks = <&rk628_cru CGU_BT1120DEC>;
|
clock-names = "bt1120dec";
|
resets = <&rk628_cru RGU_BT1120DEC>;
|
status = "disabled";
|
};
|
|
rk628_bt1120_tx: bt1120-tx {
|
compatible = "rockchip,rk628-bt1120-tx";
|
status = "disabled";
|
};
|
|
rk628_post_process: post-process {
|
compatible = "rockchip,rk628-post-process";
|
clocks = <&rk628_cru CGU_SCLK_VOP>,
|
<&rk628_cru CGU_CLK_RX_READ>;
|
clock-names = "sclk_vop", "rx_read";
|
resets = <&rk628_cru RGU_DECODER>,
|
<&rk628_cru RGU_CLK_RX>,
|
<&rk628_cru RGU_VOP>;
|
reset-names = "decoder", "clk_rx", "vop";
|
status = "disabled";
|
};
|
|
rk628_hdmi: hdmi {
|
compatible = "rockchip,rk628-hdmi";
|
clocks = <&rk628_cru CGU_PCLK_HDMITX>,
|
<&rk628_cru CGU_SCLK_VOP>;
|
clock-names = "pclk", "dclk";
|
pinctrl-names = "default";
|
pinctrl-0 = <&rk628_hpd_in_pins &rk628_ddc_tx_pins &rk628_i2sm0_pins>;
|
#sound-dai-cells = <0>;
|
status = "disabled";
|
};
|
|
rk628_hdmirx: hdmirx {
|
compatible = "rockchip,rk628-hdmirx";
|
clocks = <&rk628_cru CGU_PCLK_HDMIRX>,
|
<&rk628_cru CGU_CLK_HDMIRX_CEC>,
|
<&rk628_cru CGU_CLK_HDMIRX_AUD>,
|
<&rk628_cru CGU_CLK_IMODET>;
|
clock-names = "pclk", "cec", "audio", "imodet";
|
resets = <&rk628_cru RGU_HDMIRX>,
|
<&rk628_cru RGU_HDMIRX_PON>;
|
reset-names = "hdmirx", "hdmirx_pon";
|
phys = <&rk628_combrxphy>;
|
status = "disabled";
|
};
|
|
rk628_csi: csi {
|
compatible = "rockchip,rk628-csi";
|
clocks = <&rk628_cru CGU_PCLK_HDMIRX>,
|
<&rk628_cru CGU_CLK_IMODET>,
|
<&rk628_cru CGU_CLK_HDMIRX_AUD>,
|
<&rk628_cru CGU_CLK_HDMIRX_CEC>,
|
<&rk628_cru CGU_SCLK_VOP>,
|
<&rk628_cru CGU_CLK_RX_READ>,
|
<&rk628_cru CGU_PCLK_CSI>,
|
<&rk628_cru CGU_CLK_TESTOUT>;
|
clock-names = "hdmirx", "imodet", "hdmirx_aud", "hdmirx_cec",
|
"vop", "rx_read", "csi0", "i2s_mclk";
|
assigned-clocks = <&rk628_cru CGU_CLK_TESTOUT>;
|
assigned-clock-parents = <&rk628_cru CGU_CLK_HDMIRX_AUD>;
|
resets = <&rk628_cru RGU_HDMIRX>,
|
<&rk628_cru RGU_HDMIRX_PON>,
|
<&rk628_cru RGU_DECODER>,
|
<&rk628_cru RGU_CLK_RX>,
|
<&rk628_cru RGU_VOP>,
|
<&rk628_cru RGU_CSI>;
|
reset-names = "hdmirx", "hdmirx_pon", "decoder", "clk_rx",
|
"vop", "csi0";
|
phys = <&rk628_combrxphy>, <&rk628_combtxphy>;
|
phy-names = "combrxphy", "combtxphy";
|
pinctrl-names = "default";
|
pinctrl-0 = <&rk628_hpdm0_out_pins &rk628_ddcm0_rx_pins &rk628_i2sm0_pins &rk628_test_clkout_pins>;
|
status = "disabled";
|
};
|
};
|