mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
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:
@@ -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
|
||||
|
||||
277
arch/arm64/boot/dts/rockchip/rk3326-evb-lp3-v10-rk1608-linux.dts
Normal file
277
arch/arm64/boot/dts/rockchip/rk3326-evb-lp3-v10-rk1608-linux.dts
Normal 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 */
|
||||
Reference in New Issue
Block a user