ARM64: dts: rockchip: new rk3326-evb-lp3-v10-rk1608-linux

Change-Id: I9509d19ce06026252e216a7b839684b1ea16d975
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Signed-off-by: Wenlong Zhuang <daisen.zhuang@rock-chips.com>
This commit is contained in:
Hu Kejun
2019-02-20 16:02:36 +08:00
committed by Tao Huang
parent e95c343dd1
commit 13652aa11a
2 changed files with 278 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-ai-va-v11-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-lp3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-lp3-v10-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-lp3-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-lp3-v10-rk1608-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-lp3-v10-robot-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-lp3-v10-robot-no-gpu-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-w7-icn6211-rk618-hdmi.dtb

View File

@@ -0,0 +1,277 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3326-evb-lp3-v10-linux.dts"
#define LINK_FREQ 400000000
/ {
model = "Rockchip rk3326 evb lpddr3 v10 board for linux for rk1608";
mipidphy0: mipidphy0 {
compatible = "rockchip,rk1608-dphy";
status = "okay";
rockchip,grf = <&grf>;
id = <0>;
cam_nums = <1>;
data_type = <0x2c>;
in_mipi = <2>;
out_mipi = <1>;
mipi_lane = <2>;
sensor_i2c_bus = <1>;
sensor_i2c_addr = <0x78>;
sensor-name = "OPN8008";
field = <1>;
colorspace = <8>;
code = <MEDIA_BUS_FMT_SRGGB12_1X12>;
width = <328>;
height= <744>;
htotal = <650>;
vtotal = <900>;
link-freqs = /bits/ 64 <LINK_FREQ>;
inch0-info = <328 744 0x2c 0x2c 1>;
outch0-info = <328 744 0x2c 0x2c 1>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
rk1608_dphy0_in: endpoint {
remote-endpoint = <&rk1608_out0>;
};
};
port@1 {
rk1608_dphy_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
clock-lanes = <0>;
data-lanes = <1 2>;
clock-noncontinuous;
link-frequencies =
/bits/ 64 <LINK_FREQ>;
};
};
};
};
};
&dsi {
status = "okay";
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <66000000>;
hactive = <720>;
vactive = <1280>;
hfront-porch = <40>;
hsync-len = <10>;
hback-porch = <40>;
vfront-porch = <22>;
vsync-len = <4>;
vback-porch = <11>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
};
};
&dsi_in_vopb {
status = "okay";
};
&dsi_in_vopl {
status = "disabled";
};
&route_dsi {
connect = <&vopb_out_dsi>;
status = "okay";
};
&i2c2 {
status = "okay";
clock-frequency = <400000>;
/* 24M mclk is shared for multiple cameras */
pinctrl-0 = <&i2c2_xfer &cif_clkout_m0>;
/* These are relatively safe rise/fall times; TODO: measure */
i2c-scl-falling-time-ns = <50>;
i2c-scl-rising-time-ns = <300>;
pisp_dmy: pisp_dmy@1 {
compatible = "pisp_dmy";
status = "okay";
reg = <0x1>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
port {
cam_out: endpoint {
remote-endpoint = <&rk1608_in0>;
data-lanes = <1 2>;
};
};
};
};
&mipi_dphy_rx0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam: endpoint@1 {
reg = <1>;
remote-endpoint = <&rk1608_dphy_out>;
data-lanes = <1 2>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
dphy_rx0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&isp0_mipi_in>;
};
};
};
};
&rkisp1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&spi1 {
status = "okay";
max-freq = <32000000>;
spi_rk1608@00 {
compatible = "rockchip,rk1608";
status = "okay";
reg = <0>;
spi-max-frequency = <16000000>;
spi-min-frequency = <16000000>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "mclk";
firmware-names = "rk1608.rkl";
reset-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
irq-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&preisp_irq_gpios &preisp_sleep_gpios
&preisp_reset_gpios>;
/* regulator config */
vdd-core-regulator = "vdd_preisp";
vdd-core-microvolt = <1150000>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
rk1608_out0: endpoint@0 {
reg = <0>;
remote-endpoint = <&rk1608_dphy0_in>;
};
};
port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
rk1608_in0: endpoint@0 {
reg = <0>;
remote-endpoint = <&cam_out>;
};
};
};
};
};
&pinctrl {
preisp_reset_gpios {
preisp_reset_gpios: preisp_reset_gpios {
rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
preisp_irq_gpios {
preisp_irq_gpios: preisp_irq_gpios {
rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
/*preisp_wake_gpios {
preisp_wake_gpios: preisp_wake_gpios {
rockchip,pins = <6 4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};*/
preisp_sleep_gpios {
preisp_sleep_gpios: preisp_sleep_gpios {
rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */