arm64: dts: rockchip: add rk3399-sapphire-excavator-edp-avb-rk1608

Change-Id: I3563aab4d0b3cc5e0d37ea9872f26cc860192682
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
This commit is contained in:
Hu Kejun
2019-06-03 10:58:42 +08:00
committed by Tao Huang
parent d2b46a8dc7
commit 8e2e12b95a
3 changed files with 468 additions and 0 deletions

View File

@@ -104,6 +104,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-disvr.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp-android-6.0.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp-avb-rk1608.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-linux-for-rk1808-cascade.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-tve1030g.dtb

View File

@@ -0,0 +1,51 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3399-sapphire-excavator-edp-rk1608.dtsi"
/ {
model = "Rockchip RK3399 Excavator Board edp avb (Android)";
compatible = "rockchip,android", "rockchip,rk3399-excavator-edp-avb", "rockchip,rk3399";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 androidboot.baseband=N/A androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000001,0x00800000 coherent_pool=1m";
};
};
&firmware_android {
compatible = "android,firmware";
boot_devices = "fe330000.sdhci";
vbmeta {
compatible = "android,vbmeta";
parts = "vbmeta,boot,system,vendor,dtbo";
};
fstab {
compatible = "android,fstab";
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait,avb";
};
};
};
&mipi_dphy_rx0 {
status = "okay";
};
&mipi_dphy_tx1rx1 {
status = "disabled";
};
&rkisp1_0 {
status = "okay";
};
&rkisp1_1 {
status = "disabled";
};

View File

@@ -0,0 +1,416 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd.
*/
/dts-v1/;
#include "rk3399-excavator-sapphire.dtsi"
#include "rk3399-android.dtsi"
#include "rk3399-vop-clk-set.dtsi"
#define LINK_FREQ 375000000
/ {
vcc_lcd: vcc-lcd {
compatible = "regulator-fixed";
regulator-name = "vcc_lcd";
gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
startup-delay-us = <20000>;
enable-active-high;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
};
panel: panel {
compatible = "simple-panel";
backlight = <&backlight>;
power-supply = <&vcc_lcd>;
enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
prepare-delay-ms = <20>;
enable-delay-ms = <20>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <200000000>;
hactive = <1536>;
vactive = <2048>;
hfront-porch = <12>;
hsync-len = <16>;
hback-porch = <48>;
vfront-porch = <8>;
vsync-len = <4>;
vback-porch = <8>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
panel_in: endpoint {
remote-endpoint = <&edp_out>;
};
};
};
test-power {
status = "okay";
};
rt5651-sound {
status = "disabled";
};
hdmiin-sound {
compatible = "rockchip,rockchip-rt5651-tc358749x-sound";
rockchip,cpu = <&i2s0>;
rockchip,codec = <&rt5651 &rt5651 &tc358749x>;
status = "okay";
};
mipidphy0: mipidphy0 {
compatible = "rockchip,rk1608-dphy";
status = "okay";
rockchip,grf = <&grf>;
id = <0>;
cam_nums = <1>;
in_mipi = <0>;
out_mipi = <0>;
link-freqs = /bits/ 64 <LINK_FREQ>;
sensor_i2c_bus = <6>;
sensor_i2c_addr = <0x1A>;
sensor-name = "JASDAR";
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "PREISP";
rockchip,camera-module-lens-name = "PREISP";
format-config-0 {
data_type = <0x1e>;
mipi_lane = <4>;
field = <1>;
colorspace = <8>;
code = <MEDIA_BUS_FMT_YVYU8_2X8>;
width = <2560>;
height= <1440>;
hactive = <5120>;
vactive = <1440>;
htotal = <5800>;
vtotal = <1800>;
inch0-info = <2560 720 0x1e 0x2a 0x0F>;
inch1-info = <2560 720 0x5e 0x2a 0x0F>;
inch2-info = <2560 720 0x9e 0x2a 0x0F>;
inch3-info = <2560 720 0xde 0x2a 0x0F>;
outch0-info = <5120 1440 0x1e 0x2a 1>;
};
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_cam>;
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
clock-noncontinuous;
link-frequencies =
/bits/ 64 <LINK_FREQ>;
};
};
};
};
};
&backlight {
status = "okay";
enable-gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
};
&edp {
status = "okay";
force-hpd;
ports {
port@1 {
reg = <1>;
edp_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
&edp_in_vopl {
status = "disabled";
};
&hdmi {
status = "okay";
};
&hdmi_in_vopb {
status = "disabled";
};
&rt5651 {
status = "okay";
};
&cdn_dp {
status = "okay";
extcon = <&fusb0>;
phys = <&tcphy0_dp>;
};
&hdmi_dp_sound {
status = "okay";
};
&dp_in_vopb {
status = "disabled";
};
&i2s2 {
status = "okay";
};
&spi5 {
status = "okay";
max-freq = <50000000>;
pinctrl-names = "default";
pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>;
spi_rk1608@00 {
compatible = "rockchip,rk1608";
status = "okay";
reg = <0>;
spi-max-frequency = <12500000>;
spi-min-frequency = <06250000>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "mclk";
firmware-names = "preisp_4in1.rkl";
reset-gpios = <&gpio2 RK_PD0 GPIO_ACTIVE_HIGH>;
irq-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&preisp_irq_gpios &preisp_reset_gpios>;
power-domains = <&power RK3399_PD_SDIOAUDIO>;
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>;
};
};
};
};
};
&i2c1 {
status = "okay";
gsl3673: gsl3673@40 {
compatible = "GSL,GSL3673";
reg = <0x40>;
screen_max_x = <1536>;
screen_max_y = <2048>;
irq_gpio_number = <&gpio1 20 IRQ_TYPE_LEVEL_LOW>;
rst_gpio_number = <&gpio4 22 GPIO_ACTIVE_HIGH>;
};
tc358749x: tc358749x@0f {
compatible = "toshiba,tc358749x";
reg = <0x0f>;
power-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
power18-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>;
power33-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
csi-ctl-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
stanby-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
int-gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hdmiin_gpios>;
status = "disabled";
};
jaguar1: jaguar1@30 {
compatible = "jaguar1-v4l2";
status = "okay";
reg = <0x30>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
pd-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; // conflict with csi-ctl-gpios
rst-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "jaguar1";
rockchip,camera-module-lens-name = "jaguar1";
port {
cam_out: endpoint {
remote-endpoint = <&rk1608_in0>;
data-lanes = <1 2 3 4>;
};
};
};
};
&i2c6 {
cw2015@62 {
status = "disabled";
compatible = "cw201x";
reg = <0x62>;
bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48
0x48 0x44 0x44 0x46 0x49 0x48 0x32 0x24
0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45
0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E
0x4D 0x52 0x52 0x57 0x3D 0x1B 0x6A 0x2D
0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52
0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB 0xCB
0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>;
monitor_sec = <5>;
virtual_power = <0>;
};
};
&isp0_mmu {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&mipi_dphy_rx0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_cam: endpoint@1 {
reg = <1>;
remote-endpoint = <&rk1608_dphy_out>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
dphy_rx0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&isp0_mipi_in>;
};
};
};
};
&vopb {
assigned-clocks = <&cru DCLK_VOP0_DIV>;
assigned-clock-parents = <&cru PLL_CPLL>;
};
&vopl {
assigned-clocks = <&cru DCLK_VOP1_DIV>;
assigned-clock-parents = <&cru PLL_VPLL>;
};
&pcie_phy {
status = "okay";
};
&pcie0 {
status = "okay";
};
&rkisp1_0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&route_edp {
status = "okay";
};
&pinctrl {
lcd-panel {
lcd_panel_reset: lcd-panel-reset {
rockchip,pins = <4 30 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
hdmiin {
hdmiin_gpios: hdmiin_gpios {
rockchip,pins =
<2 5 RK_FUNC_GPIO &pcfg_pull_none>,
<2 6 RK_FUNC_GPIO &pcfg_pull_none>,
<2 7 RK_FUNC_GPIO &pcfg_pull_none>,
<2 8 RK_FUNC_GPIO &pcfg_pull_none>,
<2 9 RK_FUNC_GPIO &pcfg_pull_none>,
<2 12 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
preisp_reset_gpios {
preisp_reset_gpios: preisp_reset_gpios {
rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
preisp_irq_gpios {
preisp_irq_gpios: preisp_irq_gpios {
rockchip,pins = <2 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};