This commit is contained in:
zhangpeng
2025-04-28 11:36:59 +08:00
commit 5dd7a8972b
945 changed files with 332963 additions and 0 deletions

271
Makefile Normal file
View File

@@ -0,0 +1,271 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb-ddr3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb-ddr3-v10-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb-ddr3-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-mini-evb-ddr3-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-mini-evb-ddr3-v11-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb-ddr3-v11-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb-ddr4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb-amic-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb-amic-v13.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb-audio-amic-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb-audio-v10-display-rgb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb-dmic-pdm-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb-dmic-pdm-v13.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-roc-cc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308b-evb-amic-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308b-evb-amic-v10-amp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308bs-evb-amic-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308bs-evb-ddr3-v20-rk618-rgb2dsi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308bs-evb-dmic-pdm-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308bs-evb-mcu-display-v20.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308bs-evb-mipi-display-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308bs-evb-rgb-display-v20.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.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-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-lp3-v11-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-lp3-v12-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-863-lp3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-863-lp3-v10-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-863-lp3-v10-rkisp1.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3358-evb-ddr3-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3358m-vehicle-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-lion-haikou.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-px5-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ficus.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-bob.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-inx.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-kd.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-hugsun-x99.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge-captain.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge-v.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-leez-p710.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4b.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4c.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock960.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpro64-v2.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpro64.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-demo1-lp4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-demo4-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-demo4-ddr4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-demo6-ddr3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-evb1-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-evb1-ddr4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-evb1-ddr4-v10-spi-nand-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-evb2-ddr3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-evb3-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-evb4-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-iotest-lp3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-dictpen-test3-v20.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-linux-amp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-mcu-k350c4516t.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-rgb2lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-rgb-FX070-DHM11BOE-A.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-rgb-k350c4516t.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-sii9022-rgb2hdmi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb1-lp4x-v10-spdif.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb2-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb2-ddr4-v10-dual-camera.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb2-ddr4-v10-image-reverse.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb2-ddr4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb2-ddr4-v10-linux-amp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb2-ddr4-v10-pdm-mic-array.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-evb2-ddr4-v10-sii9022-bt1120-to-hdmi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-iotest-lp3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-iotest-lp3-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-iotest-lp3-v10-dsm.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-rk817-tablet-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-test1-ddr3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562-test2-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3562j-core-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-box-demo-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb-mipitest-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb1-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb1-ddr4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb1-ddr4-v10-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb2-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb2-lp4x-v10-edp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb2-lp4x-v10-eink.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb2-lp4x-v10-i2s-mic-array.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb2-lp4x-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb2-lp4x-v10-pdm-mic-array.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb3-ddr3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb3-ddr3-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-evb5-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rk817-eink.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rk817-eink-w6.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rk817-eink-w103.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rk817-tablet.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rk817-tablet-k108.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rk817-tablet-rkg11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rk817-tablet-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3567-evb2-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3567-evb2-lp4x-v10-dual-channel-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3567-evb2-lp4x-v10-one-vp-two-single-channel-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3567-evb2-lp4x-v10-single-channel-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3567-evb2-lp4x-v10-two-vp-two-separate-single-channel-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-dual-camera.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-one-vp-two-single-channel-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-one-vp-two-single-channel-lvds-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-linux-amp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-linux-spi-nor.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-single-channel-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-ddr4-v10-two-vp-two-separate-single-channel-lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb2-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb2-lp4x-v10-bt1120-to-hdmi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb4-lp3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb5-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb6-ddr3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb6-ddr3-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb6-ddr3-v10-rk628-bt1120-to-hdmi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb6-ddr3-v10-rk628-rgb2dsi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb6-ddr3-v10-rk628-rgb2hdmi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb6-ddr3-v10-rk628-rgb2lvds.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb6-ddr3-v10-rk630-bt656-to-cvbs.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb7-ddr4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb8-lp4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb8-lp4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-iotest-ddr3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-iotest-ddr3-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-nvr-demo-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-nvr-demo-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-nvr-demo-v10-linux-spi-nand.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-nvr-demo-v12-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-nvr-demo-v12-linux-spi-nand.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-pcie-ep-lp4x-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-toybrick-sd0-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-toybrick-sd0-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-toybrick-x0-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-toybrick-x0-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-camera-csi-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-camera-dvp-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-dsi0-command2dsi-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-dsi0-command2lvds0-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-dsi0-command2rgb-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-dsi1-command2dsi-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-dsi1-command2lvds0-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-dsi1-command2rgb-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-rgb2dsi-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-rgb2lvds-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-rgb2rgb-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-lvds2lvds-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-evb-display-lvds2rgb-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-dsi0-command2dsi-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-dsi0-command2dual_lvds-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-dsi0-command2lvds0-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-dsi0-dsi1-command2dual_lvdsx2-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-dsi1-command2dsi-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-dsi1-command2dual_lvds-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-dsi1-command2lvds0-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-lvds2dsi-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-lvds2dual-lvds-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-lvds2dual-lvds-vehicle-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-lvds2lvds-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-lvds2rgb-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-rgb2dsi-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-rgb2dual-lvds-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-rgb2dual-lvds-vehicle-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-rgb2lvds-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-rgb2rgb-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-super-frame-dsi0-command2dsi-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568m-serdes-v1-evb-display-super-frame-dsi0-command2lvds0-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-dsi-dsc-MV2100UZ1.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-edp-8lanes-M280DCA.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-ipc-6x-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-linux-amp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-linux-ipc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-lt6911uxe.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-lt6911uxc-dual-mipi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-rk628-hdmi2csi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb2-lp4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb2-lp4-v10-edp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb2-lp4-v10-edp2dp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb2-lp4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb3-lp5-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb3-lp5-v10-edp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb3-lp5-v10-edp-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb3-lp5-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb4-lp4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb4-lp4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb5-lp4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb5-lp4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb6-lp4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb6-lp4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb7-lp4-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb7-lp4-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb7-lp4-v10-rk1608-ipc-8x-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb7-lp4-v11-linux-ipc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb7-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb7-v11-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nvr-demo-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nvr-demo-v10-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nvr-demo-v10-ipc-4x-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nvr-demo-v10-spi-nand.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nvr-demo1-v21.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nvr-demo1-v21-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nvr-demo3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nvr-demo3-v10-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-pcie-ep-demo-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-pcie-ep-demo-v11-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-toybrick-x0-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-toybrick-x0-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-vehicle-evb-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-vehicle-evb-v20.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-vehicle-evb-v21.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-vehicle-evb-v22.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-vehicle-s66-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb1-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb1-lp4x-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb2-lp5-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb2-lp5-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb3-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb3-lp4x-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb3-lp4x-v10-nvp6158-ahd-to-bt1120.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb3-lp4x-v10-rk630-bt656-to-cvbs.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb3-lp4x-v10-sii9022-bt1120-to-hdmi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb4-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb4-lp4x-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb8-lp4x-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-tablet-rk806-single-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-tablet-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-tablet-v11.dtb

759
px30-ad-d6-anx6345.dts Normal file
View File

@@ -0,0 +1,759 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/sensor-dev.h>
#include "px30.dtsi"
#include "px30-android.dtsi"
/ {
model = "Rockchip PX30 AD D6 board";
compatible = "rockchip,px30-ad-d6", "rockchip,px30";
dvdd12_anx: dvdd12-anx {
compatible = "regulator-fixed";
regulator-name = "dvdd12-anx";
regulator-boot-on;
gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-state-mem {
regulator-off-in-suspend;
};
};
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_ESC>;
label = "esc";
press-threshold-microvolt = <1310000>;
};
home-key {
linux,code = <KEY_HOME>;
label = "home";
press-threshold-microvolt = <624000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <987000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
enable-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&dfi {
status = "okay";
};
&dmc {
auto-freq-en = <0>;
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
pmic-reset-func = <1>;
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_ddr";
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc3v3_sys: DCDC_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_sys";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc5v0_host: SWITCH_REG1 {
regulator-name = "vcc5v0_host";
};
vcc3v3_lcd: SWITCH_REG2 {
regulator-boot-on;
regulator-name = "vcc3v3_lcd";
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
};
};
&io_domains {
vccio1-supply = <&vcc1v8_soc>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_3v0>;
vccio4-supply = <&vcc3v0_pmu>;
vccio5-supply = <&vcc_3v0>;
status = "okay";
};
&nandc0 {
status = "okay";
};
&pmu_io_domains {
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
status = "okay";
};
&pwm1 {
status = "okay";
};
&rk_rga {
status = "okay";
};
&rockchip_suspend {
rockchip,sleep-debug-en = <1>;
status = "okay";
};
&saradc {
vref-supply = <&vcc1v8_soc>;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "okay";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "init", "default";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&display_subsystem {
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&i2c1 {
status = "okay";
anx6345@38 {
compatible = "analogix,anx6345";
reg = <0x38>;
reset-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
panel-supply = <&vcc3v3_lcd>;
dvdd25-supply = <&vcc3v3_lcd>;
dvdd12-supply = <&dvdd12_anx>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
anx6345_in_rgb: endpoint {
remote-endpoint = <&rgb_out_anx6345>;
};
};
};
};
};
&rgb {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&lcdc_rgb_pins>;
pinctrl-1 = <&lcdc_sleep_pins>;
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_anx6345: endpoint {
remote-endpoint = <&anx6345_in_rgb>;
};
};
};
};
&rgb_in_vopb {
status = "okay";
};
&rgb_in_vopl {
status = "disabled";
};
&route_rgb {
connect = <&vopb_out_rgb>;
status = "okay";
};
&pinctrl {
lcdc {
lcdc_rgb_pins: lcdc-rgb-pins {
rockchip,pins =
<3 RK_PA0 1 &pcfg_pull_none_8ma>, /* LCDC_DCLK */
<3 RK_PA1 1 &pcfg_pull_none_8ma>, /* LCDC_HSYNC */
<3 RK_PA2 1 &pcfg_pull_none_8ma>, /* LCDC_VSYNC */
<3 RK_PA3 1 &pcfg_pull_none_8ma>, /* LCDC_DEN */
<3 RK_PD3 1 &pcfg_pull_none_8ma>, /* LCDC_D23 */
<3 RK_PD2 1 &pcfg_pull_none_8ma>, /* LCDC_D22 */
<3 RK_PD1 1 &pcfg_pull_none_8ma>, /* LCDC_D21 */
<3 RK_PD0 1 &pcfg_pull_none_8ma>, /* LCDC_D20 */
<3 RK_PC7 1 &pcfg_pull_none_8ma>, /* LCDC_D19 */
<3 RK_PC6 1 &pcfg_pull_none_8ma>, /* LCDC_D18 */
<3 RK_PC5 1 &pcfg_pull_none_8ma>, /* LCDC_D17 */
<3 RK_PC4 1 &pcfg_pull_none_8ma>, /* LCDC_D16 */
<3 RK_PC3 1 &pcfg_pull_none_8ma>, /* LCDC_D15 */
<3 RK_PC2 1 &pcfg_pull_none_8ma>, /* LCDC_D14 */
<3 RK_PC1 1 &pcfg_pull_none_8ma>, /* LCDC_D13 */
<3 RK_PC0 1 &pcfg_pull_none_8ma>, /* LCDC_D12 */
<3 RK_PB7 1 &pcfg_pull_none_8ma>, /* LCDC_D11 */
<3 RK_PB6 1 &pcfg_pull_none_8ma>, /* LCDC_D10 */
<3 RK_PB5 1 &pcfg_pull_none_8ma>, /* LCDC_D9 */
<3 RK_PB4 1 &pcfg_pull_none_8ma>, /* LCDC_D8 */
<3 RK_PB3 1 &pcfg_pull_none_8ma>, /* LCDC_D7 */
<3 RK_PB2 1 &pcfg_pull_none_8ma>, /* LCDC_D6 */
<3 RK_PB1 1 &pcfg_pull_none_8ma>, /* LCDC_D5 */
<3 RK_PB0 1 &pcfg_pull_none_8ma>, /* LCDC_D4 */
<3 RK_PA7 1 &pcfg_pull_none_8ma>, /* LCDC_D3 */
<3 RK_PA6 1 &pcfg_pull_none_8ma>, /* LCDC_D2 */
<3 RK_PA5 1 &pcfg_pull_none_8ma>, /* LCDC_D1 */
<3 RK_PA4 1 &pcfg_pull_none_8ma>; /* LCDC_D0 */
};
lcdc_sleep_pins: lcdc-sleep-pins {
rockchip,pins =
<3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_DCLK */
<3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_HSYNC */
<3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_VSYNC */
<3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_DEN */
<3 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D23 */
<3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D22 */
<3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D21 */
<3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D20 */
<3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D19 */
<3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D18 */
<3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D17 */
<3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D16 */
<3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D15 */
<3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D14 */
<3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D13 */
<3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D12 */
<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D11 */
<3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D10 */
<3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D9 */
<3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D8 */
<3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D7 */
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D6 */
<3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D5 */
<3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D4 */
<3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D3 */
<3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D2 */
<3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D1 */
<3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; /* LCDC_D0 */
};
};
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

View File

@@ -0,0 +1,147 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/clock/rk618-cru.h>
#include "px30-ad-r35-mb.dtsi"
/ {
panel {
compatible = "lg,lm215wf3", "simple-panel";
backlight = <&backlight>;
power-supply = <&vcc3v3_lcd>;
enable-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
disable-delay-ms = <120>;
unprepare-delay-ms = <120>;
bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
width-mm = <476>;
height-mm = <268>;
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <144000000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <96>;
hfront-porch = <96>;
vback-porch = <8>;
vfront-porch = <8>;
hsync-len = <64>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in_lvds: endpoint {
remote-endpoint = <&lvds_out_panel>;
};
};
};
};
&dmc {
auto-freq-en = <0>;
};
&i2c0 {
status = "okay";
rk618@50 {
compatible = "rockchip,rk618";
reg = <0x50>;
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "clkin";
assigned-clocks = <&cru SCLK_I2S1_OUT>;
assigned-clock-rates = <11289600>;
reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
status = "okay";
clock: cru {
compatible = "rockchip,rk618-cru";
clocks = <&cru SCLK_I2S1_OUT>, <&cru DCLK_VOPL>;
clock-names = "clkin", "lcdc0_dclkp";
assigned-clocks = <&clock SCALER_PLLIN_CLK>,
<&clock VIF_PLLIN_CLK>,
<&clock SCALER_CLK>,
<&clock VIF0_PRE_CLK>,
<&clock CODEC_CLK>,
<&clock DITHER_CLK>;
assigned-clock-parents = <&cru SCLK_I2S1_OUT>,
<&clock LCDC0_CLK>,
<&clock SCALER_PLL_CLK>,
<&clock VIF_PLL_CLK>,
<&cru SCLK_I2S1_OUT>,
<&clock VIF0_CLK>;
#clock-cells = <1>;
status = "okay";
};
lvds {
compatible = "rockchip,rk618-lvds";
clocks = <&clock LVDS_CLK>;
clock-names = "lvds";
dual-channel;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lvds_in_rgb: endpoint {
remote-endpoint = <&rgb_out_lvds>;
};
};
port@1 {
reg = <1>;
lvds_out_panel: endpoint {
remote-endpoint = <&panel_in_lvds>;
};
};
};
};
};
};
&rgb {
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_lvds: endpoint {
remote-endpoint = <&lvds_in_rgb>;
};
};
};
};
&rgb_in_vopb {
status = "disabled";
};
&rgb_in_vopl {
status = "okay";
};
&route_rgb {
connect = <&vopl_out_rgb>;
status = "okay";
};

View File

@@ -0,0 +1,241 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/display/media-bus-format.h>
#include <dt-bindings/clock/rk618-cru.h>
#include "px30-ad-r35-mb.dtsi"
/ {
panel {
compatible = "simple-panel";
backlight = <&backlight>;
power-supply = <&vcc3v3_lcd>;
enable-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
disable-delay-ms = <120>;
unprepare-delay-ms = <120>;
bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
width-mm = <231>;
height-mm = <154>;
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <72000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <60>;
hfront-porch = <60>;
vback-porch = <16>;
vfront-porch = <16>;
hsync-len = <40>;
vsync-len = <6>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in_lvds: endpoint {
remote-endpoint = <&lvds_out_panel>;
};
};
};
};
&dmc {
auto-freq-en = <0>;
};
&i2c0 {
status = "okay";
rk618@50 {
compatible = "rockchip,rk618";
reg = <0x50>;
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "clkin";
assigned-clocks = <&cru SCLK_I2S1_OUT>;
assigned-clock-rates = <11289600>;
reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
status = "okay";
clock: cru {
compatible = "rockchip,rk618-cru";
clocks = <&cru SCLK_I2S1_OUT>, <&cru DCLK_VOPL>;
clock-names = "clkin", "lcdc0_dclkp";
assigned-clocks = <&clock SCALER_PLLIN_CLK>,
<&clock VIF_PLLIN_CLK>,
<&clock SCALER_CLK>,
<&clock VIF0_PRE_CLK>,
<&clock CODEC_CLK>,
<&clock DITHER_CLK>;
assigned-clock-parents = <&cru SCLK_I2S1_OUT>,
<&clock LCDC0_CLK>,
<&clock SCALER_PLL_CLK>,
<&clock VIF_PLL_CLK>,
<&cru SCLK_I2S1_OUT>,
<&clock VIF0_CLK>;
#clock-cells = <1>;
status = "okay";
};
hdmi {
compatible = "rockchip,rk618-hdmi";
clocks = <&clock HDMI_CLK>;
clock-names = "hdmi";
assigned-clocks = <&clock HDMI_CLK>;
assigned-clock-parents = <&clock VIF0_CLK>;
interrupt-parent = <&gpio2>;
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
hdmi_in_vif: endpoint {
remote-endpoint = <&vif_out_hdmi>;
};
};
port@1 {
reg = <1>;
hdmi_out_scaler: endpoint {
remote-endpoint = <&scaler_in_hdmi>;
};
};
};
};
lvds {
compatible = "rockchip,rk618-lvds";
clocks = <&clock LVDS_CLK>;
clock-names = "lvds";
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lvds_in_scaler: endpoint {
remote-endpoint = <&scaler_out_lvds>;
};
};
port@1 {
reg = <1>;
lvds_out_panel: endpoint {
remote-endpoint = <&panel_in_lvds>;
};
};
};
};
scaler {
compatible = "rockchip,rk618-scaler";
clocks = <&clock SCALER_CLK>, <&clock VIF0_CLK>,
<&clock DITHER_CLK>;
clock-names = "scaler", "vif", "dither";
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
scaler_in_hdmi: endpoint {
remote-endpoint = <&hdmi_out_scaler>;
};
};
port@1 {
reg = <1>;
scaler_out_lvds: endpoint {
remote-endpoint = <&lvds_in_scaler>;
};
};
};
};
vif {
compatible = "rockchip,rk618-vif";
clocks = <&clock VIF0_CLK>, <&clock VIF0_PRE_CLK>;
clock-names = "vif", "vif_pre";
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
vif_in_rgb: endpoint {
remote-endpoint = <&rgb_out_vif>;
};
};
port@1 {
reg = <1>;
vif_out_hdmi: endpoint {
remote-endpoint = <&hdmi_in_vif>;
};
};
};
};
};
};
&vopl {
assigned-clocks = <&cru PLL_NPLL>;
assigned-clock-rates = <1188000000>;
};
&rgb {
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_vif: endpoint {
remote-endpoint = <&vif_in_rgb>;
};
};
};
};
&rgb_in_vopb {
status = "disabled";
};
&rgb_in_vopl {
status = "okay";
};
&route_rgb {
connect = <&vopl_out_rgb>;
status = "okay";
};

View File

@@ -0,0 +1,105 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/clock/rk618-cru.h>
#include "px30-ad-r35-mb.dtsi"
&dmc {
auto-freq-en = <0>;
};
&i2c0 {
status = "okay";
rk618@50 {
compatible = "rockchip,rk618";
reg = <0x50>;
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "clkin";
assigned-clocks = <&cru SCLK_I2S1_OUT>;
assigned-clock-rates = <11289600>;
reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
status = "okay";
clock: cru {
compatible = "rockchip,rk618-cru";
clocks = <&cru SCLK_I2S1_OUT>, <&cru DCLK_VOPL>;
clock-names = "clkin", "lcdc0_dclkp";
assigned-clocks = <&clock SCALER_PLLIN_CLK>,
<&clock VIF_PLLIN_CLK>,
<&clock SCALER_CLK>,
<&clock VIF0_PRE_CLK>,
<&clock CODEC_CLK>,
<&clock DITHER_CLK>;
assigned-clock-parents = <&cru SCLK_I2S1_OUT>,
<&clock LCDC0_CLK>,
<&clock SCALER_PLL_CLK>,
<&clock VIF_PLL_CLK>,
<&cru SCLK_I2S1_OUT>,
<&clock VIF0_CLK>;
#clock-cells = <1>;
status = "okay";
};
hdmi {
compatible = "rockchip,rk618-hdmi";
clocks = <&clock HDMI_CLK>;
clock-names = "hdmi";
assigned-clocks = <&clock HDMI_CLK>;
assigned-clock-parents = <&clock VIF0_CLK>;
interrupt-parent = <&gpio2>;
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
hdmi_in_rgb: endpoint {
remote-endpoint = <&rgb_out_hdmi>;
};
};
};
};
};
};
&vopl {
assigned-clocks = <&cru PLL_NPLL>;
assigned-clock-rates = <1188000000>;
};
&rgb {
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_hdmi: endpoint {
remote-endpoint = <&hdmi_in_rgb>;
};
};
};
};
&rgb_in_vopb {
status = "disabled";
};
&rgb_in_vopl {
status = "okay";
};
&route_rgb {
connect = <&vopl_out_rgb>;
status = "okay";
};

View File

@@ -0,0 +1,146 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/clock/rk618-cru.h>
#include "px30-ad-r35-mb.dtsi"
/ {
panel {
compatible = "chunghwa,claa101wh31-cw", "simple-panel";
backlight = <&backlight>;
power-supply = <&vcc3v3_lcd>;
enable-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
disable-delay-ms = <120>;
unprepare-delay-ms = <120>;
bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
width-mm = <231>;
height-mm = <154>;
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <72000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <60>;
hfront-porch = <60>;
vback-porch = <16>;
vfront-porch = <16>;
hsync-len = <40>;
vsync-len = <6>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in_lvds: endpoint {
remote-endpoint = <&lvds_out_panel>;
};
};
};
};
&dmc {
auto-freq-en = <0>;
};
&i2c0 {
status = "okay";
rk618@50 {
compatible = "rockchip,rk618";
reg = <0x50>;
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "clkin";
assigned-clocks = <&cru SCLK_I2S1_OUT>;
assigned-clock-rates = <12000000>;
reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
status = "okay";
clock: cru {
compatible = "rockchip,rk618-cru";
clocks = <&cru SCLK_I2S1_OUT>, <&cru DCLK_VOPL>;
clock-names = "clkin", "lcdc0_dclkp";
assigned-clocks = <&clock SCALER_PLLIN_CLK>,
<&clock VIF_PLLIN_CLK>,
<&clock SCALER_CLK>,
<&clock VIF0_PRE_CLK>,
<&clock CODEC_CLK>,
<&clock DITHER_CLK>;
assigned-clock-parents = <&cru SCLK_I2S1_OUT>,
<&clock LCDC0_CLK>,
<&clock SCALER_PLL_CLK>,
<&clock VIF_PLL_CLK>,
<&cru SCLK_I2S1_OUT>,
<&clock VIF0_CLK>;
#clock-cells = <1>;
status = "okay";
};
lvds {
compatible = "rockchip,rk618-lvds";
clocks = <&clock LVDS_CLK>;
clock-names = "lvds";
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lvds_in_rgb: endpoint {
remote-endpoint = <&rgb_out_lvds>;
};
};
port@1 {
reg = <1>;
lvds_out_panel: endpoint {
remote-endpoint = <&panel_in_lvds>;
};
};
};
};
};
};
&rgb {
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_lvds: endpoint {
remote-endpoint = <&lvds_in_rgb>;
};
};
};
};
&rgb_in_vopb {
status = "disabled";
};
&rgb_in_vopl {
status = "okay";
};
&route_rgb {
connect = <&vopl_out_rgb>;
status = "okay";
};

823
px30-ad-r35-mb.dtsi Normal file
View File

@@ -0,0 +1,823 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/sensor-dev.h>
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/display/media-bus-format.h>
#include "px30.dtsi"
#include "px30-android.dtsi"
/ {
model = "Rockchip PX30 AD R35 MB board";
compatible = "rockchip,px30-ad-r35-mb", "rockchip,px30";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_ESC>;
label = "esc";
press-threshold-microvolt = <1270000>;
};
home-key {
linux,code = <KEY_HOME>;
label = "home";
press-threshold-microvolt = <602000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <952000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <290000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
enable-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&display_subsystem {
status = "okay";
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_int>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x1>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x1>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_ddr";
regulator-initial-mode = <0x1>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x1>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc3v3_sys: DCDC_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_sys";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc3v3_lcd: SWITCH_REG1 {
regulator-boot-on;
regulator-name = "vcc3v3_lcd";
};
vcc5v0_host: SWITCH_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc5v0_host";
};
};
};
};
&io_domains {
vccio1-supply = <&vcc1v8_soc>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_3v0>;
vccio4-supply = <&vcc3v0_pmu>;
vccio5-supply = <&vcc_3v0>;
status = "okay";
};
&nandc0 {
status = "okay";
};
&pmu_io_domains {
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
status = "okay";
};
&pwm1 {
status = "okay";
};
&saradc {
vref-supply = <&vcc1v8_soc>;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "okay";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "init", "default";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&dsi {
status = "okay";
panel@0 {
compatible = "pvo,p101nwwbp-01g", "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <20>;
reset-delay-ms = <20>;
init-delay-ms = <20>;
enable-delay-ms = <20>;
disable-delay-ms = <20>;
unprepare-delay-ms = <20>;
width-mm = <135>;
height-mm = <216>;
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>;
panel-init-sequence = [
15 00 02 E0 00
15 00 02 E1 93
15 00 02 E2 65
15 00 02 E3 F8
15 00 02 80 03
15 00 02 E0 04
15 00 02 2B 2B
15 00 02 2D 03
15 00 02 2E 44
15 00 02 E0 01
15 00 02 00 00
15 00 02 01 6D
15 00 02 0C 74
15 00 02 17 00
15 00 02 18 A7
15 00 02 19 01
15 00 02 1A 00
15 00 02 1B A7
15 00 02 1C 01
15 00 02 1F 6A
15 00 02 20 23
15 00 02 21 23
15 00 02 22 0E
15 00 02 35 28
15 00 02 37 59
15 00 02 38 05
15 00 02 39 04
15 00 02 3A 08
15 00 02 3B 08
15 00 02 3C 7C
15 00 02 3D FF
15 00 02 3E FF
15 00 02 3F FF
15 00 02 40 06
15 00 02 41 A0
15 00 02 43 08
15 00 02 44 0B
15 00 02 45 88
15 00 02 4B 04
15 00 02 55 01
15 00 02 56 01
15 00 02 57 8D
15 00 02 58 0A
15 00 02 59 0A
15 00 02 5A 28
15 00 02 5B 1E
15 00 02 5C 16
15 00 02 5D 76
15 00 02 5E 58
15 00 02 5F 46
15 00 02 60 39
15 00 02 61 37
15 00 02 62 2A
15 00 02 63 2F
15 00 02 64 18
15 00 02 65 39
15 00 02 66 38
15 00 02 67 3A
15 00 02 68 5A
15 00 02 69 46
15 00 02 6A 4C
15 00 02 6B 3F
15 00 02 6C 3D
15 00 02 6D 2F
15 00 02 6E 1E
15 00 02 6F 00
15 00 02 70 76
15 00 02 71 58
15 00 02 72 46
15 00 02 73 39
15 00 02 74 33
15 00 02 75 22
15 00 02 76 27
15 00 02 77 14
15 00 02 78 29
15 00 02 79 2A
15 00 02 7A 28
15 00 02 7B 46
15 00 02 7C 38
15 00 02 7D 3E
15 00 02 7E 31
15 00 02 7F 29
15 00 02 80 1B
15 00 02 81 0A
15 00 02 82 00
15 00 02 E0 02
15 00 02 00 44
15 00 02 01 44
15 00 02 02 45
15 00 02 03 45
15 00 02 04 46
15 00 02 05 46
15 00 02 06 47
15 00 02 07 47
15 00 02 08 1D
15 00 02 09 1D
15 00 02 0A 1D
15 00 02 0B 1D
15 00 02 0C 1D
15 00 02 0D 1D
15 00 02 0E 1D
15 00 02 0F 57
15 00 02 10 57
15 00 02 11 58
15 00 02 12 58
15 00 02 13 40
15 00 02 14 55
15 00 02 15 55
15 00 02 16 44
15 00 02 17 44
15 00 02 18 45
15 00 02 19 45
15 00 02 1A 46
15 00 02 1B 46
15 00 02 1C 47
15 00 02 1D 47
15 00 02 1E 1D
15 00 02 1F 1D
15 00 02 20 1D
15 00 02 21 1D
15 00 02 22 1D
15 00 02 23 1D
15 00 02 24 1D
15 00 02 25 57
15 00 02 26 57
15 00 02 27 58
15 00 02 28 58
15 00 02 29 40
15 00 02 2A 55
15 00 02 2B 55
15 00 02 58 40
15 00 02 59 00
15 00 02 5A 00
15 00 02 5B 00
15 00 02 5C 0A
15 00 02 5D 10
15 00 02 5E 01
15 00 02 5F 02
15 00 02 60 00
15 00 02 61 01
15 00 02 62 02
15 00 02 63 0B
15 00 02 64 6A
15 00 02 65 00
15 00 02 66 00
15 00 02 67 31
15 00 02 68 0B
15 00 02 69 1E
15 00 02 6A 6A
15 00 02 6B 04
15 00 02 6C 00
15 00 02 6D 04
15 00 02 6E 00
15 00 02 6F 88
15 00 02 70 00
15 00 02 71 00
15 00 02 72 06
15 00 02 73 7B
15 00 02 74 00
15 00 02 75 F8
15 00 02 76 00
15 00 02 77 0D
15 00 02 78 14
15 00 02 79 00
15 00 02 7A 00
15 00 02 7B 00
15 00 02 7C 00
15 00 02 7D 03
15 00 02 7E 7B
15 00 02 E0 00
15 00 02 E6 02
15 00 02 E7 06
15 80 01 11
15 16 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <68500000>;
hactive = <800>;
hfront-porch = <16>;
hsync-len = <16>;
hback-porch = <48>;
vactive = <1280>;
vfront-porch = <8>;
vsync-len = <4>;
vback-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi_in_vopl {
status = "disabled";
};
&dsi_in_vopb {
status = "okay";
};
&route_dsi {
connect = <&vopb_out_dsi>;
status = "okay";
};
&pinctrl {
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

154
px30-android.dtsi Normal file
View File

@@ -0,0 +1,154 @@
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/ {
chosen: chosen {
bootargs = "earlycon=uart8250,mmio32,0xff160000 console=ttyFIQ0 init=/init kpti=0";
};
debug: debug@ff690000 {
compatible = "rockchip,debug";
reg = <0x0 0xff690000 0x0 0x1000>,
<0x0 0xff692000 0x0 0x1000>,
<0x0 0xff694000 0x0 0x1000>,
<0x0 0xff696000 0x0 0x1000>;
};
fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
firmware {
firmware_android: android {};
optee: optee {
compatible = "linaro,optee-tz";
method = "smc";
};
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
drm_logo: drm-logo@00000000 {
compatible = "rockchip,drm-logo";
reg = <0x0 0x0 0x0 0x0>;
};
ramoops: ramoops@110000 {
compatible = "ramoops";
reg = <0x0 0x110000 0x0 0xf0000>;
record-size = <0x20000>;
console-size = <0x80000>;
ftrace-size = <0x00000>;
pmsg-size = <0x50000>;
};
vendor_storage_rm: vendor-storage-rm@00000000 {
compatible = "rockchip,vendor-storage-rm";
reg = <0x0 0x0 0x0 0x0>;
};
};
vendor_storage: vendor-storage {
compatible = "rockchip,ram-vendor-storage";
memory-region = <&vendor_storage_rm>;
status = "okay";
};
};
&cpu0_opp_table {
rockchip,avs = <1>;
};
&display_subsystem {
status = "disabled";
logo-memory-region = <&drm_logo>;
route {
route_lvds: route-lvds {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vopb_out_lvds>;
};
route_dsi: route-dsi {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vopb_out_dsi>;
};
route_rgb: route-rgb {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vopb_out_rgb>;
};
};
};
&dsi {
panel@0 {
reg = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&rng {
status = "okay";
};
&video_phy {
status = "okay";
};
&vopb {
support-multi-area;
};

View File

@@ -0,0 +1,216 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
// Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd.
&ddr_timing {
/* CA de-skew, one step is 47.8ps, range 0-15 */
ddr3a1_ddr4a9_de-skew = <0>;
ddr3a0_ddr4a10_de-skew = <5>;
ddr3a3_ddr4a6_de-skew = <2>;
ddr3a2_ddr4a4_de-skew = <4>;
ddr3a5_ddr4a8_de-skew = <2>;
ddr3a4_ddr4a5_de-skew = <1>;
ddr3a7_ddr4a11_de-skew = <2>;
ddr3a6_ddr4a7_de-skew = <0>;
ddr3a9_ddr4a0_de-skew = <4>;
ddr3a8_ddr4a13_de-skew = <0>;
ddr3a11_ddr4a3_de-skew = <4>;
ddr3a10_ddr4cs0_de-skew = <5>;
ddr3a13_ddr4a2_de-skew = <2>;
ddr3a12_ddr4ba1_de-skew = <2>;
ddr3a15_ddr4odt0_de-skew = <7>;
ddr3a14_ddr4a1_de-skew = <4>;
ddr3ba1_ddr4a15_de-skew = <3>;
ddr3ba0_ddr4bg0_de-skew = <4>;
ddr3ras_ddr4cke_de-skew = <6>;
ddr3ba2_ddr4ba0_de-skew = <3>;
ddr3we_ddr4bg1_de-skew = <3>;
ddr3cas_ddr4a12_de-skew = <6>;
ddr3ckn_ddr4ckn_de-skew = <8>;
ddr3ckp_ddr4ckp_de-skew = <8>;
ddr3cke_ddr4a16_de-skew = <4>;
ddr3odt0_ddr4a14_de-skew = <4>;
ddr3cs0_ddr4act_de-skew = <7>;
ddr3reset_ddr4reset_de-skew = <3>;
ddr3cs1_ddr4cs1_de-skew = <5>;
ddr3odt1_ddr4odt1_de-skew = <6>;
/* DATA de-skew
* RX one step is 25.1ps, range 0-15
* TX one step is 47.8ps, range 0-15
*/
cs0_dm0_rx_de-skew = <7>;
cs0_dm0_tx_de-skew = <9>;
cs0_dq0_rx_de-skew = <10>;
cs0_dq0_tx_de-skew = <10>;
cs0_dq1_rx_de-skew = <11>;
cs0_dq1_tx_de-skew = <10>;
cs0_dq2_rx_de-skew = <8>;
cs0_dq2_tx_de-skew = <10>;
cs0_dq3_rx_de-skew = <9>;
cs0_dq3_tx_de-skew = <9>;
cs0_dq4_rx_de-skew = <10>;
cs0_dq4_tx_de-skew = <10>;
cs0_dq5_rx_de-skew = <10>;
cs0_dq5_tx_de-skew = <10>;
cs0_dq6_rx_de-skew = <10>;
cs0_dq6_tx_de-skew = <10>;
cs0_dq7_rx_de-skew = <10>;
cs0_dq7_tx_de-skew = <10>;
cs0_dqs0_rx_de-skew = <5>;
cs0_dqs0p_tx_de-skew = <11>;
cs0_dqs0n_tx_de-skew = <11>;
cs0_dm1_rx_de-skew = <7>;
cs0_dm1_tx_de-skew = <9>;
cs0_dq8_rx_de-skew = <8>;
cs0_dq8_tx_de-skew = <8>;
cs0_dq9_rx_de-skew = <10>;
cs0_dq9_tx_de-skew = <9>;
cs0_dq10_rx_de-skew = <8>;
cs0_dq10_tx_de-skew = <8>;
cs0_dq11_rx_de-skew = <9>;
cs0_dq11_tx_de-skew = <10>;
cs0_dq12_rx_de-skew = <9>;
cs0_dq12_tx_de-skew = <8>;
cs0_dq13_rx_de-skew = <8>;
cs0_dq13_tx_de-skew = <9>;
cs0_dq14_rx_de-skew = <9>;
cs0_dq14_tx_de-skew = <8>;
cs0_dq15_rx_de-skew = <9>;
cs0_dq15_tx_de-skew = <9>;
cs0_dqs1_rx_de-skew = <5>;
cs0_dqs1p_tx_de-skew = <11>;
cs0_dqs1n_tx_de-skew = <11>;
cs0_dm2_rx_de-skew = <7>;
cs0_dm2_tx_de-skew = <10>;
cs0_dq16_rx_de-skew = <10>;
cs0_dq16_tx_de-skew = <9>;
cs0_dq17_rx_de-skew = <10>;
cs0_dq17_tx_de-skew = <9>;
cs0_dq18_rx_de-skew = <9>;
cs0_dq18_tx_de-skew = <8>;
cs0_dq19_rx_de-skew = <10>;
cs0_dq19_tx_de-skew = <9>;
cs0_dq20_rx_de-skew = <10>;
cs0_dq20_tx_de-skew = <10>;
cs0_dq21_rx_de-skew = <10>;
cs0_dq21_tx_de-skew = <9>;
cs0_dq22_rx_de-skew = <9>;
cs0_dq22_tx_de-skew = <8>;
cs0_dq23_rx_de-skew = <10>;
cs0_dq23_tx_de-skew = <9>;
cs0_dqs2_rx_de-skew = <5>;
cs0_dqs2p_tx_de-skew = <10>;
cs0_dqs2n_tx_de-skew = <10>;
cs0_dm3_rx_de-skew = <7>;
cs0_dm3_tx_de-skew = <7>;
cs0_dq24_rx_de-skew = <9>;
cs0_dq24_tx_de-skew = <8>;
cs0_dq25_rx_de-skew = <9>;
cs0_dq25_tx_de-skew = <8>;
cs0_dq26_rx_de-skew = <9>;
cs0_dq26_tx_de-skew = <8>;
cs0_dq27_rx_de-skew = <9>;
cs0_dq27_tx_de-skew = <9>;
cs0_dq28_rx_de-skew = <9>;
cs0_dq28_tx_de-skew = <9>;
cs0_dq29_rx_de-skew = <9>;
cs0_dq29_tx_de-skew = <9>;
cs0_dq30_rx_de-skew = <10>;
cs0_dq30_tx_de-skew = <9>;
cs0_dq31_rx_de-skew = <10>;
cs0_dq31_tx_de-skew = <9>;
cs0_dqs3_rx_de-skew = <6>;
cs0_dqs3p_tx_de-skew = <10>;
cs0_dqs3n_tx_de-skew = <10>;
cs1_dm0_rx_de-skew = <7>;
cs1_dm0_tx_de-skew = <9>;
cs1_dq0_rx_de-skew = <10>;
cs1_dq0_tx_de-skew = <10>;
cs1_dq1_rx_de-skew = <11>;
cs1_dq1_tx_de-skew = <10>;
cs1_dq2_rx_de-skew = <8>;
cs1_dq2_tx_de-skew = <10>;
cs1_dq3_rx_de-skew = <9>;
cs1_dq3_tx_de-skew = <9>;
cs1_dq4_rx_de-skew = <10>;
cs1_dq4_tx_de-skew = <10>;
cs1_dq5_rx_de-skew = <10>;
cs1_dq5_tx_de-skew = <10>;
cs1_dq6_rx_de-skew = <10>;
cs1_dq6_tx_de-skew = <10>;
cs1_dq7_rx_de-skew = <10>;
cs1_dq7_tx_de-skew = <10>;
cs1_dqs0_rx_de-skew = <5>;
cs1_dqs0p_tx_de-skew = <11>;
cs1_dqs0n_tx_de-skew = <11>;
cs1_dm1_rx_de-skew = <7>;
cs1_dm1_tx_de-skew = <9>;
cs1_dq8_rx_de-skew = <8>;
cs1_dq8_tx_de-skew = <8>;
cs1_dq9_rx_de-skew = <10>;
cs1_dq9_tx_de-skew = <9>;
cs1_dq10_rx_de-skew = <8>;
cs1_dq10_tx_de-skew = <8>;
cs1_dq11_rx_de-skew = <9>;
cs1_dq11_tx_de-skew = <10>;
cs1_dq12_rx_de-skew = <9>;
cs1_dq12_tx_de-skew = <8>;
cs1_dq13_rx_de-skew = <8>;
cs1_dq13_tx_de-skew = <9>;
cs1_dq14_rx_de-skew = <9>;
cs1_dq14_tx_de-skew = <8>;
cs1_dq15_rx_de-skew = <9>;
cs1_dq15_tx_de-skew = <9>;
cs1_dqs1_rx_de-skew = <5>;
cs1_dqs1p_tx_de-skew = <11>;
cs1_dqs1n_tx_de-skew = <11>;
cs1_dm2_rx_de-skew = <7>;
cs1_dm2_tx_de-skew = <10>;
cs1_dq16_rx_de-skew = <10>;
cs1_dq16_tx_de-skew = <9>;
cs1_dq17_rx_de-skew = <10>;
cs1_dq17_tx_de-skew = <9>;
cs1_dq18_rx_de-skew = <9>;
cs1_dq18_tx_de-skew = <8>;
cs1_dq19_rx_de-skew = <10>;
cs1_dq19_tx_de-skew = <9>;
cs1_dq20_rx_de-skew = <10>;
cs1_dq20_tx_de-skew = <10>;
cs1_dq21_rx_de-skew = <10>;
cs1_dq21_tx_de-skew = <9>;
cs1_dq22_rx_de-skew = <9>;
cs1_dq22_tx_de-skew = <8>;
cs1_dq23_rx_de-skew = <10>;
cs1_dq23_tx_de-skew = <9>;
cs1_dqs2_rx_de-skew = <5>;
cs1_dqs2p_tx_de-skew = <10>;
cs1_dqs2n_tx_de-skew = <10>;
cs1_dm3_rx_de-skew = <7>;
cs1_dm3_tx_de-skew = <7>;
cs1_dq24_rx_de-skew = <9>;
cs1_dq24_tx_de-skew = <8>;
cs1_dq25_rx_de-skew = <9>;
cs1_dq25_tx_de-skew = <8>;
cs1_dq26_rx_de-skew = <9>;
cs1_dq26_tx_de-skew = <8>;
cs1_dq27_rx_de-skew = <9>;
cs1_dq27_tx_de-skew = <9>;
cs1_dq28_rx_de-skew = <9>;
cs1_dq28_tx_de-skew = <9>;
cs1_dq29_rx_de-skew = <9>;
cs1_dq29_tx_de-skew = <9>;
cs1_dq30_rx_de-skew = <10>;
cs1_dq30_tx_de-skew = <9>;
cs1_dq31_rx_de-skew = <10>;
cs1_dq31_tx_de-skew = <9>;
cs1_dqs3_rx_de-skew = <6>;
cs1_dqs3p_tx_de-skew = <10>;
cs1_dqs3n_tx_de-skew = <10>;
};

View File

@@ -0,0 +1,294 @@
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
#include <dt-bindings/clock/rockchip-ddr.h>
#include <dt-bindings/memory/px30-dram.h>
/ {
ddr_timing: ddr_timing {
compatible = "rockchip,ddr-timing";
ddr2_speed_bin = <DDR2_DEFAULT>;
ddr3_speed_bin = <DDR3_DEFAULT>;
ddr4_speed_bin = <DDR4_DEFAULT>;
pd_idle = <13>;
sr_idle = <93>;
sr_mc_gate_idle = <0>;
srpd_lite_idle = <0>;
standby_idle = <0>;
auto_pd_dis_freq = <1066>;
auto_sr_dis_freq = <800>;
ddr2_dll_dis_freq = <300>;
ddr3_dll_dis_freq = <300>;
ddr4_dll_dis_freq = <625>;
phy_dll_dis_freq = <400>;
ddr2_odt_dis_freq = <100>;
phy_ddr2_odt_dis_freq = <100>;
ddr2_drv = <DDR2_DS_REDUCE>;
ddr2_odt = <DDR2_ODT_150ohm>;
phy_ddr2_ca_drv = <PHY_DDR3_RON_RTT_34ohm>;
phy_ddr2_ck_drv = <PHY_DDR3_RON_RTT_45ohm>;
phy_ddr2_dq_drv = <PHY_DDR3_RON_RTT_34ohm>;
phy_ddr2_odt = <PHY_DDR3_RON_RTT_225ohm>;
ddr3_odt_dis_freq = <400>;
phy_ddr3_odt_dis_freq = <400>;
ddr3_drv = <DDR3_DS_40ohm>;
ddr3_odt = <DDR3_ODT_120ohm>;
phy_ddr3_ca_drv = <PHY_DDR3_RON_RTT_34ohm>;
phy_ddr3_ck_drv = <PHY_DDR3_RON_RTT_45ohm>;
phy_ddr3_dq_drv = <PHY_DDR3_RON_RTT_34ohm>;
phy_ddr3_odt = <PHY_DDR3_RON_RTT_225ohm>;
phy_lpddr2_odt_dis_freq = <666>;
lpddr2_drv = <LP2_DS_40ohm>;
phy_lpddr2_ca_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_34ohm>;
phy_lpddr2_ck_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_43ohm>;
phy_lpddr2_dq_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_34ohm>;
phy_lpddr2_odt = <PHY_DDR4_LPDDR3_2_RON_RTT_DISABLE>;
lpddr3_odt_dis_freq = <400>;
phy_lpddr3_odt_dis_freq = <400>;
lpddr3_drv = <LP3_DS_40ohm>;
lpddr3_odt = <LP3_ODT_240ohm>;
phy_lpddr3_ca_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_34ohm>;
phy_lpddr3_ck_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_43ohm>;
phy_lpddr3_dq_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_34ohm>;
phy_lpddr3_odt = <PHY_DDR4_LPDDR3_2_RON_RTT_240ohm>;
lpddr4_odt_dis_freq = <800>;
phy_lpddr4_odt_dis_freq = <800>;
lpddr4_drv = <LP4_PDDS_60ohm>;
lpddr4_dq_odt = <LP4_DQ_ODT_40ohm>;
lpddr4_ca_odt = <LP4_CA_ODT_40ohm>;
phy_lpddr4_ca_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_40ohm>;
phy_lpddr4_ck_cs_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_80ohm>;
phy_lpddr4_dq_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_80ohm>;
phy_lpddr4_odt = <PHY_DDR4_LPDDR3_2_RON_RTT_60ohm>;
ddr4_odt_dis_freq = <625>;
phy_ddr4_odt_dis_freq = <625>;
ddr4_drv = <DDR4_DS_34ohm>;
ddr4_odt = <DDR4_RTT_NOM_240ohm>;
phy_ddr4_ca_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_34ohm>;
phy_ddr4_ck_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_43ohm>;
phy_ddr4_dq_drv = <PHY_DDR4_LPDDR3_2_RON_RTT_34ohm>;
phy_ddr4_odt = <PHY_DDR4_LPDDR3_2_RON_RTT_240ohm>;
/* CA de-skew, one step is 47.8ps, range 0-15 */
ddr3a1_ddr4a9_de-skew = <6>;
ddr3a0_ddr4a10_de-skew = <7>;
ddr3a3_ddr4a6_de-skew = <7>;
ddr3a2_ddr4a4_de-skew = <7>;
ddr3a5_ddr4a8_de-skew = <7>;
ddr3a4_ddr4a5_de-skew = <7>;
ddr3a7_ddr4a11_de-skew = <7>;
ddr3a6_ddr4a7_de-skew = <6>;
ddr3a9_ddr4a0_de-skew = <7>;
ddr3a8_ddr4a13_de-skew = <7>;
ddr3a11_ddr4a3_de-skew = <7>;
ddr3a10_ddr4cs0_de-skew = <7>;
ddr3a13_ddr4a2_de-skew = <7>;
ddr3a12_ddr4ba1_de-skew = <7>;
ddr3a15_ddr4odt0_de-skew = <7>;
ddr3a14_ddr4a1_de-skew = <7>;
ddr3ba1_ddr4a15_de-skew = <7>;
ddr3ba0_ddr4bg0_de-skew = <7>;
ddr3ras_ddr4cke_de-skew = <7>;
ddr3ba2_ddr4ba0_de-skew = <7>;
ddr3we_ddr4bg1_de-skew = <7>;
ddr3cas_ddr4a12_de-skew = <7>;
ddr3ckn_ddr4ckn_de-skew = <7>;
ddr3ckp_ddr4ckp_de-skew = <7>;
ddr3cke_ddr4a16_de-skew = <7>;
ddr3odt0_ddr4a14_de-skew = <7>;
ddr3cs0_ddr4act_de-skew = <6>;
ddr3reset_ddr4reset_de-skew = <7>;
ddr3cs1_ddr4cs1_de-skew = <6>;
ddr3odt1_ddr4odt1_de-skew = <7>;
/* DATA de-skew
* RX one step is 25.1ps, range 0-15
* TX one step is 47.8ps, range 0-15
*/
cs0_dm0_rx_de-skew = <7>;
cs0_dm0_tx_de-skew = <7>;
cs0_dq0_rx_de-skew = <8>;
cs0_dq0_tx_de-skew = <8>;
cs0_dq1_rx_de-skew = <9>;
cs0_dq1_tx_de-skew = <8>;
cs0_dq2_rx_de-skew = <8>;
cs0_dq2_tx_de-skew = <8>;
cs0_dq3_rx_de-skew = <8>;
cs0_dq3_tx_de-skew = <8>;
cs0_dq4_rx_de-skew = <9>;
cs0_dq4_tx_de-skew = <8>;
cs0_dq5_rx_de-skew = <9>;
cs0_dq5_tx_de-skew = <8>;
cs0_dq6_rx_de-skew = <9>;
cs0_dq6_tx_de-skew = <8>;
cs0_dq7_rx_de-skew = <8>;
cs0_dq7_tx_de-skew = <8>;
cs0_dqs0_rx_de-skew = <6>;
cs0_dqs0p_tx_de-skew = <9>;
cs0_dqs0n_tx_de-skew = <9>;
cs0_dm1_rx_de-skew = <7>;
cs0_dm1_tx_de-skew = <6>;
cs0_dq8_rx_de-skew = <8>;
cs0_dq8_tx_de-skew = <7>;
cs0_dq9_rx_de-skew = <9>;
cs0_dq9_tx_de-skew = <7>;
cs0_dq10_rx_de-skew = <8>;
cs0_dq10_tx_de-skew = <8>;
cs0_dq11_rx_de-skew = <8>;
cs0_dq11_tx_de-skew = <7>;
cs0_dq12_rx_de-skew = <8>;
cs0_dq12_tx_de-skew = <8>;
cs0_dq13_rx_de-skew = <9>;
cs0_dq13_tx_de-skew = <7>;
cs0_dq14_rx_de-skew = <9>;
cs0_dq14_tx_de-skew = <8>;
cs0_dq15_rx_de-skew = <9>;
cs0_dq15_tx_de-skew = <7>;
cs0_dqs1_rx_de-skew = <7>;
cs0_dqs1p_tx_de-skew = <9>;
cs0_dqs1n_tx_de-skew = <9>;
cs0_dm2_rx_de-skew = <7>;
cs0_dm2_tx_de-skew = <7>;
cs0_dq16_rx_de-skew = <9>;
cs0_dq16_tx_de-skew = <9>;
cs0_dq17_rx_de-skew = <7>;
cs0_dq17_tx_de-skew = <9>;
cs0_dq18_rx_de-skew = <7>;
cs0_dq18_tx_de-skew = <8>;
cs0_dq19_rx_de-skew = <7>;
cs0_dq19_tx_de-skew = <9>;
cs0_dq20_rx_de-skew = <9>;
cs0_dq20_tx_de-skew = <9>;
cs0_dq21_rx_de-skew = <9>;
cs0_dq21_tx_de-skew = <9>;
cs0_dq22_rx_de-skew = <8>;
cs0_dq22_tx_de-skew = <9>;
cs0_dq23_rx_de-skew = <8>;
cs0_dq23_tx_de-skew = <9>;
cs0_dqs2_rx_de-skew = <6>;
cs0_dqs2p_tx_de-skew = <9>;
cs0_dqs2n_tx_de-skew = <9>;
cs0_dm3_rx_de-skew = <7>;
cs0_dm3_tx_de-skew = <7>;
cs0_dq24_rx_de-skew = <8>;
cs0_dq24_tx_de-skew = <8>;
cs0_dq25_rx_de-skew = <9>;
cs0_dq25_tx_de-skew = <9>;
cs0_dq26_rx_de-skew = <9>;
cs0_dq26_tx_de-skew = <8>;
cs0_dq27_rx_de-skew = <9>;
cs0_dq27_tx_de-skew = <8>;
cs0_dq28_rx_de-skew = <9>;
cs0_dq28_tx_de-skew = <9>;
cs0_dq29_rx_de-skew = <9>;
cs0_dq29_tx_de-skew = <9>;
cs0_dq30_rx_de-skew = <8>;
cs0_dq30_tx_de-skew = <8>;
cs0_dq31_rx_de-skew = <8>;
cs0_dq31_tx_de-skew = <8>;
cs0_dqs3_rx_de-skew = <7>;
cs0_dqs3p_tx_de-skew = <9>;
cs0_dqs3n_tx_de-skew = <9>;
cs1_dm0_rx_de-skew = <7>;
cs1_dm0_tx_de-skew = <7>;
cs1_dq0_rx_de-skew = <8>;
cs1_dq0_tx_de-skew = <8>;
cs1_dq1_rx_de-skew = <9>;
cs1_dq1_tx_de-skew = <8>;
cs1_dq2_rx_de-skew = <8>;
cs1_dq2_tx_de-skew = <8>;
cs1_dq3_rx_de-skew = <8>;
cs1_dq3_tx_de-skew = <8>;
cs1_dq4_rx_de-skew = <8>;
cs1_dq4_tx_de-skew = <8>;
cs1_dq5_rx_de-skew = <9>;
cs1_dq5_tx_de-skew = <8>;
cs1_dq6_rx_de-skew = <9>;
cs1_dq6_tx_de-skew = <8>;
cs1_dq7_rx_de-skew = <8>;
cs1_dq7_tx_de-skew = <8>;
cs1_dqs0_rx_de-skew = <6>;
cs1_dqs0p_tx_de-skew = <9>;
cs1_dqs0n_tx_de-skew = <9>;
cs1_dm1_rx_de-skew = <7>;
cs1_dm1_tx_de-skew = <7>;
cs1_dq8_rx_de-skew = <8>;
cs1_dq8_tx_de-skew = <8>;
cs1_dq9_rx_de-skew = <8>;
cs1_dq9_tx_de-skew = <7>;
cs1_dq10_rx_de-skew = <7>;
cs1_dq10_tx_de-skew = <8>;
cs1_dq11_rx_de-skew = <8>;
cs1_dq11_tx_de-skew = <8>;
cs1_dq12_rx_de-skew = <8>;
cs1_dq12_tx_de-skew = <7>;
cs1_dq13_rx_de-skew = <8>;
cs1_dq13_tx_de-skew = <8>;
cs1_dq14_rx_de-skew = <8>;
cs1_dq14_tx_de-skew = <8>;
cs1_dq15_rx_de-skew = <8>;
cs1_dq15_tx_de-skew = <7>;
cs1_dqs1_rx_de-skew = <7>;
cs1_dqs1p_tx_de-skew = <9>;
cs1_dqs1n_tx_de-skew = <9>;
cs1_dm2_rx_de-skew = <7>;
cs1_dm2_tx_de-skew = <8>;
cs1_dq16_rx_de-skew = <8>;
cs1_dq16_tx_de-skew = <9>;
cs1_dq17_rx_de-skew = <8>;
cs1_dq17_tx_de-skew = <9>;
cs1_dq18_rx_de-skew = <7>;
cs1_dq18_tx_de-skew = <8>;
cs1_dq19_rx_de-skew = <8>;
cs1_dq19_tx_de-skew = <9>;
cs1_dq20_rx_de-skew = <9>;
cs1_dq20_tx_de-skew = <9>;
cs1_dq21_rx_de-skew = <9>;
cs1_dq21_tx_de-skew = <9>;
cs1_dq22_rx_de-skew = <8>;
cs1_dq22_tx_de-skew = <9>;
cs1_dq23_rx_de-skew = <8>;
cs1_dq23_tx_de-skew = <9>;
cs1_dqs2_rx_de-skew = <6>;
cs1_dqs2p_tx_de-skew = <9>;
cs1_dqs2n_tx_de-skew = <9>;
cs1_dm3_rx_de-skew = <7>;
cs1_dm3_tx_de-skew = <7>;
cs1_dq24_rx_de-skew = <8>;
cs1_dq24_tx_de-skew = <9>;
cs1_dq25_rx_de-skew = <9>;
cs1_dq25_tx_de-skew = <9>;
cs1_dq26_rx_de-skew = <9>;
cs1_dq26_tx_de-skew = <8>;
cs1_dq27_rx_de-skew = <8>;
cs1_dq27_tx_de-skew = <8>;
cs1_dq28_rx_de-skew = <9>;
cs1_dq28_tx_de-skew = <9>;
cs1_dq29_rx_de-skew = <9>;
cs1_dq29_tx_de-skew = <9>;
cs1_dq30_rx_de-skew = <9>;
cs1_dq30_tx_de-skew = <8>;
cs1_dq31_rx_de-skew = <8>;
cs1_dq31_tx_de-skew = <8>;
cs1_dqs3_rx_de-skew = <7>;
cs1_dqs3p_tx_de-skew = <9>;
cs1_dqs3n_tx_de-skew = <9>;
};
};

689
px30-evb-ddr3-lvds-v10.dts Normal file
View File

@@ -0,0 +1,689 @@
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/sensor-dev.h>
#include "px30.dtsi"
#include "px30-android.dtsi"
/ {
model = "Rockchip PX30 evb ddr3 lvds board";
compatible = "rockchip,px30-evb-ddr3-lvds-v10", "rockchip,px30";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_ESC>;
label = "esc";
press-threshold-microvolt = <1270000>;
};
home-key {
linux,code = <KEY_HOME>;
label = "home";
press-threshold-microvolt = <602000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <952000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <290000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
panel {
compatible = "samsung,lsl070nl01", "simple-panel";
backlight = <&backlight>;
power-supply = <&vcc3v3_lcd>;
enable-delay-ms = <20>;
prepare-delay-ms = <20>;
unprepare-delay-ms = <20>;
disable-delay-ms = <20>;
bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
width-mm = <217>;
height-mm = <136>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <49500000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <90>;
hfront-porch = <90>;
vback-porch = <10>;
vfront-porch = <10>;
hsync-len = <90>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in_lvds: endpoint {
remote-endpoint = <&lvds_out_panel>;
};
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
/*clocks = <&rk809 1>;*/
/*clock-names = "ext_clock";*/
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "AP6210";
WIFI,host_wake_irq = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
/*clocks = <&rk809 1>;*/
/*clock-names = "ext_clock";*/
uart_rts_gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_LOW>;
pinctrl-names = "default","rts_gpio";
pinctrl-0 = <&uart1_rts>;
pinctrl-1 = <&uart1_rts_gpio>;
BT,reset_gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&display_subsystem {
status = "okay";
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gmac {
phy-supply = <&vcc_phy>;
clock_in_out = "output";
snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 50000 50000>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_int>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x1>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x1>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_ddr";
regulator-initial-mode = <0x1>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x1>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc3v3_sys: DCDC_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_sys";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc3v3_lcd: SWITCH_REG1 {
regulator-boot-on;
regulator-name = "vcc3v3_lcd";
};
vcc5v0_host: SWITCH_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc5v0_host";
};
};
};
};
&i2c1 {
status = "okay";
sensor@f {
status = "okay";
compatible = "ak8963";
reg = <0x0f>;
type = <SENSOR_TYPE_COMPASS>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <1>;
reprobe_en = <1>;
};
gt1x: gt1x@14 {
compatible = "goodix,gt1x";
reg = <0x14>;
goodix,rst-gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
goodix,irq-gpio = <&gpio0 RK_PA5 IRQ_TYPE_LEVEL_LOW>;
};
sensor@4c {
status = "okay";
compatible = "gs_mma7660";
reg = <0x4c>;
type = <SENSOR_TYPE_ACCEL>;
irq-gpio = <&gpio0 RK_PB7 IRQ_TYPE_LEVEL_LOW>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <2>;
reprobe_en = <1>;
};
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc1v8_soc>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_3v0>;
vccio4-supply = <&vcc3v0_pmu>;
vccio5-supply = <&vcc_3v0>;
};
&lvds {
status = "okay";
ports {
port@1 {
reg = <1>;
lvds_out_panel: endpoint {
remote-endpoint = <&panel_in_lvds>;
};
};
};
};
&lvds_in_vopb {
status = "okay";
};
&lvds_in_vopl {
status = "disabled";
};
&route_lvds {
connect = <&vopb_out_lvds>;
status = "okay";
};
&nandc0 {
status = "okay";
};
&pinctrl {
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&pwm1 {
status = "okay";
};
&rk_rga {
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
/*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "okay";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "gpio", "otpout";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

273
px30-evb-ddr3-v10-avb.dts Normal file
View File

@@ -0,0 +1,273 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017-2021 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "px30.dtsi"
#include "px30-android.dtsi"
#include "px30-evb-ddr3-v10.dtsi"
/ {
model = "Rockchip PX30 evb ddr3 board";
compatible = "rockchip,px30-evb-ddr3-v10-avb", "rockchip,px30";
};
&dsi {
status = "okay";
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 00 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <64000000>;
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>;
};
};
};
};

133
px30-evb-ddr3-v10-linux.dts Normal file
View File

@@ -0,0 +1,133 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "px30.dtsi"
#include "rk3326-linux.dtsi"
#include "px30-evb-ddr3-v10.dtsi"
/ {
model = "Rockchip linux PX30 evb ddr3 board";
compatible = "rockchip,px30-evb-ddr3-v10-linux", "rockchip,px30";
/delete-node/ test-power;
};
&dsi {
status = "okay";
panel@0 {
compatible = "sitronix,st7703", "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <2>;
reset-delay-ms = <1>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <50>;
unprepare-delay-ms = <20>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
05 fa 01 11
39 00 04 b9 f1 12 83
39 00 1c ba 33 81 05 f9 0e 0e 00 00 00
00 00 00 00 00 44 25 00 91 0a
00 00 02 4f 01 00 00 37
15 00 02 b8 25
39 00 04 bf 02 11 00
39 00 0b b3 0c 10 0a 50 03 ff 00 00 00
00
39 00 0a c0 73 73 50 50 00 00 08 70 00
15 00 02 bc 46
15 00 02 cc 0b
15 00 02 b4 80
39 00 04 b2 c8 12 30
39 00 0f e3 07 07 0b 0b 03 0b 00 00 00
00 ff 00 c0 10
39 00 0d c1 53 00 1e 1e 77 e1 cc dd 67
77 33 33
39 00 07 c6 00 00 ff ff 01 ff
39 00 03 b5 09 09
39 00 03 b6 87 95
39 00 40 e9 c2 10 05 05 10 05 a0 12 31
23 3f 81 0a a0 37 18 00 80 01
00 00 00 00 80 01 00 00 00 48
f8 86 42 08 88 88 80 88 88 88
58 f8 87 53 18 88 88 81 88 88
88 00 00 00 01 00 00 00 00 00
00 00 00 00
39 00 3e ea 00 1a 00 00 00 00 02 00 00
00 00 00 1f 88 81 35 78 88 88
85 88 88 88 0f 88 80 24 68 88
88 84 88 88 88 23 10 00 00 1c
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 30 05 a0 00 00
00 00
39 00 23 e0 00 06 08 2a 31 3f 38 36 07
0c 0d 11 13 12 13 11 18 00 06
08 2a 31 3f 38 36 07 0c 0d 11
13 12 13 11 18
05 32 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <64000000>;
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>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};

View File

@@ -0,0 +1,627 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include "px30-robot.dtsi"
/ {
model = "Rockchip linux PX30 evb ddr3 board";
compatible = "rockchip,px30-evb-ddr3-v10-linux", "rockchip,px30";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_ESC>;
label = "esc";
press-threshold-microvolt = <1310000>;
};
home-key {
linux,code = <KEY_HOME>;
label = "home";
press-threshold-microvolt = <624000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <987000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
rk809-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,rk809-codec";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s1_2ch>;
};
simple-audio-card,codec {
sound-dai = <&rk809_codec>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
/*clocks = <&rk809 1>;*/
/*clock-names = "ext_clock";*/
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "AP6210";
WIFI,host_wake_irq = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "disabled";
};
&i2c0 {
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <1>;
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_ddr";
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc3v3_sys: DCDC_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_sys";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc5v0_host: SWITCH_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc5v0_host";
};
vcc3v3_lcd: SWITCH_REG2 {
regulator-boot-on;
regulator-name = "vcc3v3_lcd";
};
};
rk809_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk809-codec", "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
status = "okay";
};
};
};
&i2c2 {
status = "okay";
clock-frequency = <100000>;
pinctrl-0 = <&i2c2_xfer>;
/* These are relatively safe rise/fall times; TODO: measure */
i2c-scl-falling-time-ns = <50>;
i2c-scl-rising-time-ns = <300>;
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
/*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vdd1v5_dvp>;
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0>;
port {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
data-lanes = <1 2>;
};
};
};
};
&i2s1_2ch {
status = "okay";
#sound-dai-cells = <0>;
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc_3v0>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_3v0>;
vccio4-supply = <&vcc3v0_pmu>;
vccio5-supply = <&vcc_3v0>;
};
&isp_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_ucam: endpoint@1 {
reg = <1>;
remote-endpoint = <&ucam_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>;
};
};
};
};
&nandc0 {
status = "okay";
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&rk_rga {
status = "okay";
};
&rkisp1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
/*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "disabled";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&pinctrl {
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */

View File

@@ -0,0 +1,627 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include "px30-robot-no-gpu.dtsi"
/ {
model = "Rockchip linux PX30 evb ddr3 board";
compatible = "rockchip,px30-evb-ddr3-v10-linux", "rockchip,px30";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_ESC>;
label = "esc";
press-threshold-microvolt = <1310000>;
};
home-key {
linux,code = <KEY_HOME>;
label = "home";
press-threshold-microvolt = <624000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <987000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
rk809-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,rk809-codec";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s1_2ch>;
};
simple-audio-card,codec {
sound-dai = <&rk809_codec>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
/*clocks = <&rk809 1>;*/
/*clock-names = "ext_clock";*/
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "AP6210";
WIFI,host_wake_irq = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "disabled";
};
&i2c0 {
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <1>;
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_ddr";
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc3v3_sys: DCDC_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_sys";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc5v0_host: SWITCH_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc5v0_host";
};
vcc3v3_lcd: SWITCH_REG2 {
regulator-boot-on;
regulator-name = "vcc3v3_lcd";
};
};
rk809_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk809-codec", "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
status = "okay";
};
};
};
&i2c2 {
status = "okay";
clock-frequency = <100000>;
pinctrl-0 = <&i2c2_xfer>;
/* These are relatively safe rise/fall times; TODO: measure */
i2c-scl-falling-time-ns = <50>;
i2c-scl-rising-time-ns = <300>;
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
/*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vdd1v5_dvp>;
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0>;
port {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
data-lanes = <1 2>;
};
};
};
};
&i2s1_2ch {
status = "okay";
#sound-dai-cells = <0>;
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc_3v0>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_3v0>;
vccio4-supply = <&vcc3v0_pmu>;
vccio5-supply = <&vcc_3v0>;
};
&isp_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_ucam: endpoint@1 {
reg = <1>;
remote-endpoint = <&ucam_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>;
};
};
};
};
&nandc0 {
status = "okay";
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&rk_rga {
status = "okay";
};
&rkisp1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
/*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "disabled";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&pinctrl {
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */

129
px30-evb-ddr3-v10.dts Normal file
View File

@@ -0,0 +1,129 @@
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
#include "px30.dtsi"
#include "px30-android.dtsi"
#include "px30-evb-ddr3-v10.dtsi"
/ {
model = "Rockchip PX30 evb ddr3 board";
compatible = "rockchip,px30-evb-ddr3-v10", "rockchip,px30";
};
&dsi {
status = "okay";
panel@0 {
compatible = "sitronix,st7703", "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <2>;
reset-delay-ms = <1>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <50>;
unprepare-delay-ms = <20>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
05 fa 01 11
39 00 04 b9 f1 12 83
39 00 1c ba 33 81 05 f9 0e 0e 00 00 00
00 00 00 00 00 44 25 00 91 0a
00 00 02 4f 01 00 00 37
15 00 02 b8 25
39 00 04 bf 02 11 00
39 00 0b b3 0c 10 0a 50 03 ff 00 00 00
00
39 00 0a c0 73 73 50 50 00 00 08 70 00
15 00 02 bc 46
15 00 02 cc 0b
15 00 02 b4 80
39 00 04 b2 c8 12 30
39 00 0f e3 07 07 0b 0b 03 0b 00 00 00
00 ff 00 c0 10
39 00 0d c1 53 00 1e 1e 77 e1 cc dd 67
77 33 33
39 00 07 c6 00 00 ff ff 01 ff
39 00 03 b5 09 09
39 00 03 b6 87 95
39 00 40 e9 c2 10 05 05 10 05 a0 12 31
23 3f 81 0a a0 37 18 00 80 01
00 00 00 00 80 01 00 00 00 48
f8 86 42 08 88 88 80 88 88 88
58 f8 87 53 18 88 88 81 88 88
88 00 00 00 01 00 00 00 00 00
00 00 00 00
39 00 3e ea 00 1a 00 00 00 00 02 00 00
00 00 00 1f 88 81 35 78 88 88
85 88 88 88 0f 88 80 24 68 88
88 84 88 88 88 23 10 00 00 1c
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 30 05 a0 00 00
00 00
39 00 23 e0 00 06 08 2a 31 3f 38 36 07
0c 0d 11 13 12 13 11 18 00 06
08 2a 31 3f 38 36 07 0c 0d 11
13 12 13 11 18
05 32 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <64000000>;
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>;
};
};
};
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

814
px30-evb-ddr3-v10.dtsi Normal file
View File

@@ -0,0 +1,814 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017-2019 Fuzhou Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/sensor-dev.h>
/ {
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_BACK>;
label = "back";
press-threshold-microvolt = <1310000>;
};
home-key {
linux,code = <KEY_HOMEPAGE>;
label = "homepage";
press-threshold-microvolt = <624000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <987000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
charge-animation {
compatible = "rockchip,uboot-charge";
rockchip,uboot-charge-on = <0>;
rockchip,android-charge-on = <1>;
rockchip,uboot-low-power-voltage = <3500>;
rockchip,screen-on-voltage = <3600>;
status = "okay";
};
rk809_sound: rk809-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip-rk809";
hp-det-gpio = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
io-channels = <&saradc 1>;
io-channel-names = "adc-detect";
keyup-threshold-microvolt = <1800000>;
poll-interval = <100>;
rockchip,format = "i2s";
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s1_2ch>;
rockchip,codec = <&rk809_codec>;
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
play-pause-key {
label = "playpause";
linux,code = <KEY_PLAYPAUSE>;
press-threshold-microvolt = <2000>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
/*clocks = <&rk809 1>;*/
/*clock-names = "ext_clock";*/
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
test-power {
status = "okay";
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "AP6210";
WIFI,host_wake_irq = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
WIFI,poweren_gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless_bluetooth: wireless-bluetooth {
compatible = "bluetooth-platdata";
clocks = <&rk809 1>;
clock-names = "ext_clock";
uart_rts_gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_LOW>;
pinctrl-names = "default","rts_gpio";
pinctrl-0 = <&uart1_rts>;
pinctrl-1 = <&uart1_rts_gpio>;
BT,reset_gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&display_subsystem {
status = "okay";
};
&dsi_in_vopb {
status = "okay";
};
&dsi_in_vopl {
status = "disabled";
};
&route_dsi {
connect = <&vopb_out_dsi>;
status = "okay";
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gmac {
phy-supply = <&vcc_phy>;
clock_in_out = "input";
assigned-clocks = <&cru SCLK_GMAC>;
assigned-clock-parents = <&gmac_clkin>;
pinctrl-names = "default";
pinctrl-0 = <&rmii_pins &mac_refclk>;
snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 50000 50000>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <1>;
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_ddr";
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc3v3_sys: DCDC_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_sys";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc5v0_host: SWITCH_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc5v0_host";
};
vcc3v3_lcd: SWITCH_REG1 {
regulator-boot-on;
regulator-name = "vcc3v3_lcd";
};
};
rk809_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk809-codec", "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
status = "okay";
};
};
};
&i2c1 {
status = "okay";
sensor@f {
status = "okay";
compatible = "ak8963";
reg = <0x0f>;
type = <SENSOR_TYPE_COMPASS>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <1>;
reprobe_en = <1>;
};
gt1x: gt1x@14 {
compatible = "goodix,gt1x";
reg = <0x14>;
power-supply = <&vcc3v3_lcd>;
goodix,rst-gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
goodix,irq-gpio = <&gpio0 RK_PA5 IRQ_TYPE_LEVEL_LOW>;
};
sensor@4c {
status = "okay";
compatible = "gs_mma7660";
reg = <0x4c>;
type = <SENSOR_TYPE_ACCEL>;
irq-gpio = <&gpio0 RK_PB7 IRQ_TYPE_LEVEL_LOW>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <8>;
reprobe_en = <1>;
};
};
&i2c2 {
status = "okay";
clock-frequency = <100000>;
/* These are relatively safe rise/fall times; TODO: measure */
i2c-scl-falling-time-ns = <50>;
i2c-scl-rising-time-ns = <300>;
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
/*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
port {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
data-lanes = <1 2>;
};
};
};
};
&i2s1_2ch {
status = "okay";
#sound-dai-cells = <0>;
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc1v8_soc>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_3v0>;
vccio4-supply = <&vcc3v0_pmu>;
vccio5-supply = <&vcc_3v0>;
};
&isp_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_ucam: endpoint@1 {
reg = <1>;
remote-endpoint = <&ucam_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>;
};
};
};
};
&nandc0 {
status = "okay";
};
&pinctrl {
headphone {
hp_det: hp-det {
rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&pwm1 {
status = "okay";
};
&rk_rga {
status = "okay";
};
&rkisp1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&rockchip_suspend {
status = "okay";
rockchip,sleep-debug-en = <1>;
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
/*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "okay";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "gpio", "otpout";
pinctrl-0 = <&tsadc_otp_pin>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};

296
px30-evb-ddr3-v11-linux.dts Normal file
View File

@@ -0,0 +1,296 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2020 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "px30-evb-ddr3-v10-linux.dts"
/ {
model = "Rockchip linux PX30 evb ddr3 board";
compatible = "rockchip,px30-evb-ddr3-v11-linux", "rockchip,px30";
};
&dsi {
status = "okay";
panel@0 {
compatible = "sitronix,st7703", "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 00 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <64000000>;
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>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};

View File

@@ -0,0 +1,13 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "px30-evb-ddr3-v10-linux.dts"
#include "px30-ddr4p416dd6-timing.dtsi"
/ {
model = "Rockchip linux PX30 evb ddr4 board";
compatible = "rockchip,px30-evb-ddr4-v10-linux", "rockchip,px30";
};

274
px30-evb-ddr4-v10.dts Normal file
View File

@@ -0,0 +1,274 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017-2021 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "px30.dtsi"
#include "px30-android.dtsi"
#include "px30-evb-ddr3-v10.dtsi"
#include "px30-ddr4p416dd6-timing.dtsi"
/ {
model = "Rockchip PX30 evb ddr4 board";
compatible = "rockchip,px30-evb-ddr4-v10", "rockchip,px30";
};
&dsi {
status = "okay";
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 00 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <64000000>;
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>;
};
};
};
};

View File

@@ -0,0 +1,11 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
#include "px30-evb-ext-rk618.dtsi"
/ {
model = "Rockchip PX30 EVB EXT RK618 board";
compatible = "rockchip,px30-evb-ext-rk618-avb", "rockchip,px30";
};

33
px30-evb-ext-rk618.dts Normal file
View File

@@ -0,0 +1,33 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "px30-evb-ext-rk618.dtsi"
/ {
model = "Rockchip PX30 EVB EXT RK618 board";
compatible = "rockchip,px30-evb-ext-rk618", "rockchip,px30";
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

203
px30-evb-ext-rk618.dtsi Normal file
View File

@@ -0,0 +1,203 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/clock/rk618-cru.h>
#include <dt-bindings/display/media-bus-format.h>
#include "px30-evb-ddr3-v10.dtsi"
#include "px30-android.dtsi"
&dsi {
status = "okay";
panel@0 {
compatible = "sitronix,st7703", "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <2>;
reset-delay-ms = <1>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <50>;
unprepare-delay-ms = <20>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
05 fa 01 11
39 00 04 b9 f1 12 83
39 00 1c ba 33 81 05 f9 0e 0e 00 00 00
00 00 00 00 00 44 25 00 91 0a
00 00 02 4f 01 00 00 37
15 00 02 b8 25
39 00 04 bf 02 11 00
39 00 0b b3 0c 10 0a 50 03 ff 00 00 00
00
39 00 0a c0 73 73 50 50 00 00 08 70 00
15 00 02 bc 46
15 00 02 cc 0b
15 00 02 b4 80
39 00 04 b2 c8 12 30
39 00 0f e3 07 07 0b 0b 03 0b 00 00 00
00 ff 00 c0 10
39 00 0d c1 53 00 1e 1e 77 e1 cc dd 67
77 33 33
39 00 07 c6 00 00 ff ff 01 ff
39 00 03 b5 09 09
39 00 03 b6 87 95
39 00 40 e9 c2 10 05 05 10 05 a0 12 31
23 3f 81 0a a0 37 18 00 80 01
00 00 00 00 80 01 00 00 00 48
f8 86 42 08 88 88 80 88 88 88
58 f8 87 53 18 88 88 81 88 88
88 00 00 00 01 00 00 00 00 00
00 00 00 00
39 00 3e ea 00 1a 00 00 00 00 02 00 00
00 00 00 1f 88 81 35 78 88 88
85 88 88 88 0f 88 80 24 68 88
88 84 88 88 88 23 10 00 00 1c
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 30 05 a0 00 00
00 00
39 00 23 e0 00 06 08 2a 31 3f 38 36 07
0c 0d 11 13 12 13 11 18 00 06
08 2a 31 3f 38 36 07 0c 0d 11
13 12 13 11 18
05 32 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <64000000>;
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>;
};
};
};
};
&dmc {
auto-freq-en = <0>;
};
&vcc3v0_pmu {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-state-mem {
regulator-suspend-microvolt = <3300000>;
};
};
&i2c1 {
rk618@50 {
compatible = "rockchip,rk618";
reg = <0x50>;
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "clkin";
assigned-clocks = <&cru SCLK_I2S1_OUT>;
assigned-clock-rates = <11289600>;
reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
status = "okay";
clock: cru {
compatible = "rockchip,rk618-cru";
clocks = <&cru SCLK_I2S1_OUT>, <&cru DCLK_VOPL>;
clock-names = "clkin", "lcdc0_dclkp";
assigned-clocks = <&clock SCALER_PLLIN_CLK>,
<&clock VIF_PLLIN_CLK>,
<&clock SCALER_CLK>,
<&clock VIF0_PRE_CLK>,
<&clock CODEC_CLK>,
<&clock DITHER_CLK>;
assigned-clock-parents = <&cru SCLK_I2S1_OUT>,
<&clock LCDC0_CLK>,
<&clock SCALER_PLL_CLK>,
<&clock VIF_PLL_CLK>,
<&cru SCLK_I2S1_OUT>,
<&clock VIF0_CLK>;
#clock-cells = <1>;
status = "okay";
};
hdmi {
compatible = "rockchip,rk618-hdmi";
clocks = <&clock HDMI_CLK>;
clock-names = "hdmi";
assigned-clocks = <&clock HDMI_CLK>;
assigned-clock-parents = <&clock VIF0_CLK>;
interrupt-parent = <&gpio2>;
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
hdmi_in_rgb: endpoint {
remote-endpoint = <&rgb_out_hdmi>;
};
};
};
};
};
};
&rgb {
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_hdmi: endpoint {
remote-endpoint = <&hdmi_in_rgb>;
};
};
};
};
&rgb_in_vopb {
status = "disabled";
};
&rgb_in_vopl {
status = "okay";
};
&route_rgb {
connect = <&vopl_out_rgb>;
status = "disabled";
};

576
px30-evb.dts Normal file
View File

@@ -0,0 +1,576 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include "px30.dtsi"
/ {
model = "Rockchip PX30 EVB";
compatible = "rockchip,px30-evb", "rockchip,px30";
chosen {
stdout-path = "serial5:115200n8";
};
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
keyup-threshold-microvolt = <1800000>;
poll-interval = <100>;
esc-key {
label = "esc";
linux,code = <KEY_ESC>;
press-threshold-microvolt = <1310000>;
};
home-key {
label = "home";
linux,code = <KEY_HOME>;
press-threshold-microvolt = <624000>;
};
menu-key {
label = "menu";
linux,code = <KEY_MENU>;
press-threshold-microvolt = <987000>;
};
vol-down-key {
label = "volume down";
linux,code = <KEY_VOLUMEDOWN>;
press-threshold-microvolt = <300000>;
};
vol-up-key {
label = "volume up";
linux,code = <KEY_VOLUMEUP>;
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
power-supply = <&vcc3v3_lcd>;
};
emmc_pwrseq: emmc-pwrseq {
compatible = "mmc-pwrseq-emmc";
pinctrl-0 = <&emmc_reset>;
pinctrl-names = "default";
reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>;
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
vcc5v0_sys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&cpu1 {
cpu-supply = <&vdd_arm>;
};
&cpu2 {
cpu-supply = <&vdd_arm>;
};
&cpu3 {
cpu-supply = <&vdd_arm>;
};
&display_subsystem {
status = "okay";
};
&dsi {
status = "okay";
ports {
mipi_out: port@1 {
reg = <1>;
mipi_out_panel: endpoint {
remote-endpoint = <&mipi_in_panel>;
};
};
};
panel@0 {
compatible = "xinpeng,xpp055c272";
reg = <0>;
backlight = <&backlight>;
iovcc-supply = <&vcc_1v8>;
vci-supply = <&vcc3v3_lcd>;
port {
mipi_in_panel: endpoint {
remote-endpoint = <&mipi_out_panel>;
};
};
};
};
&dsi_dphy {
status = "okay";
};
&emmc {
cap-mmc-highspeed;
mmc-hs200-1_8v;
non-removable;
mmc-pwrseq = <&emmc_pwrseq>;
vmmc-supply = <&vcc_3v0>;
vqmmc-supply = <&vccio_flash>;
status = "okay";
};
&gmac {
clock_in_out = "output";
phy-supply = <&vcc_rmii>;
snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 50000 50000>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_log>;
status = "okay";
};
&i2c0 {
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_int>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <0>;
clock-output-names = "xin32k";
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
regulators {
vdd_log: DCDC_REG1 {
regulator-name = "vdd_log";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: vcc_rmii: DCDC_REG4 {
regulator-name = "vcc_3v0";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc3v3_sys: DCDC_REG5 {
regulator-name = "vcc3v3_sys";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-name = "vcc_1v0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc_1v8: vccio_flash: vccio_sdio: LDO_REG2 {
regulator-name = "vcc_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd_1v0: LDO_REG3 {
regulator-name = "vdd_1v0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-name = "vcc3v0_pmu";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-name = "vccio_sd";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-name = "vcc_sd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-name = "vcc2v8_dvp";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-name = "vcc1v8_dvp";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vcc1v5_dvp: LDO_REG9 {
regulator-name = "vcc1v5_dvp";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc3v3_lcd: SWITCH_REG1 {
regulator-name = "vcc3v3_lcd";
regulator-boot-on;
};
vcc5v0_host: SWITCH_REG2 {
regulator-name = "vcc5v0_host";
regulator-always-on;
regulator-boot-on;
};
};
};
};
&i2c1 {
status = "okay";
sensor@d {
compatible = "asahi-kasei,ak8963";
reg = <0x0d>;
gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
vdd-supply = <&vcc3v0_pmu>;
mount-matrix = "1", /* x0 */
"0", /* y0 */
"0", /* z0 */
"0", /* x1 */
"1", /* y1 */
"0", /* z1 */
"0", /* x2 */
"0", /* y2 */
"1"; /* z2 */
};
touchscreen@14 {
compatible = "goodix,gt1151";
reg = <0x14>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
irq-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
VDDIO-supply = <&vcc3v3_lcd>;
};
sensor@4c {
compatible = "fsl,mma7660";
reg = <0x4c>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PB7 IRQ_TYPE_LEVEL_LOW>;
};
};
&i2s1_2ch {
status = "okay";
};
&io_domains {
status = "okay";
vccio1-supply = <&vccio_sdio>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_3v0>;
vccio4-supply = <&vcc3v0_pmu>;
vccio5-supply = <&vcc_3v0>;
vccio6-supply = <&vccio_flash>;
};
&pinctrl {
headphone {
hp_det: hp-det {
rockchip,pins =
<2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
emmc {
emmc_reset: emmc-reset {
rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins =
<0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&pwm1 {
status = "okay";
};
&saradc {
vref-supply = <&vcc_1v8>;
status = "okay";
};
&sdmmc {
cap-mmc-highspeed;
cap-sd-highspeed;
card-detect-delay = <800>;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vmmc-supply = <&vcc_sd>;
vqmmc-supply = <&vccio_sd>;
status = "okay";
};
&sdio {
cap-sd-highspeed;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
rockchip,hw-tshut-mode = <1>;
rockchip,hw-tshut-polarity = <1>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&uart5 {
status = "okay";
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};

View File

@@ -0,0 +1,275 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017-2020 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "px30.dtsi"
#include "px30-android.dtsi"
#include "px30-evb-ddr3-v10.dtsi"
#include "px30-mini-evb-v11.dtsi"
/ {
model = "Rockchip PX30 mini evb ddr3 board";
compatible = "rockchip,px30-mini-evb-ddr3-v11-avb", "rockchip,px30";
};
&dsi {
status = "okay";
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 78 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <64000000>;
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>;
};
};
};
};

296
px30-mini-evb-ddr3-v11.dts Normal file
View File

@@ -0,0 +1,296 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2020 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "px30.dtsi"
#include "px30-android.dtsi"
#include "px30-evb-ddr3-v10.dtsi"
#include "px30-mini-evb-v11.dtsi"
/ {
model = "Rockchip PX30 mini evb ddr3 board";
compatible = "rockchip,px30-mini-evb-ddr3-v11", "rockchip,px30";
};
&dsi {
status = "okay";
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 00 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <64000000>;
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>;
};
};
};
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

31
px30-mini-evb-v11.dtsi Normal file
View File

@@ -0,0 +1,31 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Fuzhou Rockchip Electronics Co., Ltd
*/
&gmac {
clock_in_out = "output";
/delete-property/ assigned-clocks;
/delete-property/ assigned-clock-parents;
pinctrl-names = "default";
pinctrl-0 = <&rmii_pins &mac_refclk_12ma>;
};
&rk809_sound {
hp-det-gpio = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
};
&pinctrl {
headphone {
hp_det: hp-det {
rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
};
&wireless_bluetooth {
BT,reset_gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
};

57
px30-robot-no-gpu.dtsi Normal file
View File

@@ -0,0 +1,57 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*/
#include "px30-robot.dtsi"
/ {
compatible = "rockchip,linux", "rockchip,px30-robot-no-gpu";
/* Remove gpu thermal and gpu cooling map */
/delete-node/ thermal-zones;
thermal_zones: thermal-zones {
soc_thermal: soc-thermal {
polling-delay-passive = <20>;
polling-delay = <1000>;
sustainable-power = <252>;
thermal-sensors = <&tsadc 0>;
trips {
threshold: trip-point-0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
};
target: trip-point-1 {
temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
soc_crit: soc-crit {
temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&target>;
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
gpu_thermal: gpu-thermal {
polling-delay-passive = <100>; /* milliseconds */
polling-delay = <1000>; /* milliseconds */
thermal-sensors = <&tsadc 1>;
};
};
};
&gpu {
status = "disabled";
};

93
px30-robot.dtsi Normal file
View File

@@ -0,0 +1,93 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*/
#include "px30.dtsi"
/ {
compatible = "rockchip,linux", "rockchip,px30-robot";
chosen {
bootargs = "console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootwait";
};
fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
ramoops: ramoops@8000000 {
compatible = "ramoops";
reg = <0x0 0x8000000 0x0 0xa0000>;
record-size = <0x20000>;
console-size = <0x80000>;
ftrace-size = <0x00000>;
pmsg-size = <0x00000>;
};
};
};
&cpu0_opp_table {
/delete-node/ opp-1248000000;
/delete-node/ opp-1296000000;
/delete-node/ opp-1416000000;
/delete-node/ opp-1512000000;
};
&dmc_opp_table {
/delete-node/ opp-666000000;
/delete-node/ opp-768000000;
};
&i2s1_2ch {
rockchip,playback-only;
};
&rng {
status = "okay";
};
&soc_thermal {
trips {
threshold: trip-point-0 {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
};
target: trip-point-1 {
temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
soc_crit: soc-crit {
temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
};
};
&tsadc {
pinctrl-names = "gpio", "otpout";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&uart2 {
status = "disabled";
};

875
px30-z7-a0-rk618-dsi.dts Normal file
View File

@@ -0,0 +1,875 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/display/media-bus-format.h>
#include <dt-bindings/clock/rk618-cru.h>
#include "px30.dtsi"
#include "px30-android.dtsi"
/ {
model = "Rockchip PX30 Z7 A0 board";
compatible = "rockchip,px30-z7-a0", "rockchip,px30";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_ESC>;
label = "esc";
press-threshold-microvolt = <1310000>;
};
home-key {
linux,code = <KEY_HOME>;
label = "home";
press-threshold-microvolt = <624000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <987000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm0 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
};
&display_subsystem {
status = "okay";
};
&dsi {
status = "okay";
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
reset-gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
prepare-delay-ms = <20>;
reset-delay-ms = <20>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <20>;
unprepare-delay-ms = <20>;
width-mm = <95>;
height-mm = <151>;
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>;
panel-init-sequence = [
15 00 02 b0 00
15 00 02 d6 01
39 00 06 b3 14 08 00 22 00
15 00 02 b4 0c
15 00 02 de 00
39 00 03 b6 3a d3
15 00 02 51 e0
15 00 02 53 04
15 00 02 3a 77
15 00 02 35 01
39 00 05 2a 00 00 04 af
39 00 05 2b 00 00 07 7f
05 96 01 29
05 14 01 11
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <156000000>;
hactive = <1200>;
vactive = <1920>;
hback-porch = <60>;
hfront-porch = <80>;
vback-porch = <4>;
vfront-porch = <4>;
hsync-len = <10>;
vsync-len = <1>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi_in_vopb {
status = "okay";
};
&dsi_in_vopl {
status = "disabled";
};
&route_dsi {
connect = <&vopb_out_dsi>;
status = "okay";
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
auto-freq-en = <0>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
pmic-reset-func = <1>;
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_ddr";
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc3v3_sys: DCDC_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_sys";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc5v0_host: SWITCH_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc5v0_host";
};
vcc3v3_lcd: SWITCH_REG2 {
regulator-boot-on;
regulator-name = "vcc3v3_lcd";
};
};
};
rk618@50 {
compatible = "rockchip,rk618";
reg = <0x50>;
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "clkin";
assigned-clocks = <&cru SCLK_I2S1_OUT>;
assigned-clock-rates = <12000000>;
reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
status = "okay";
clock: cru {
compatible = "rockchip,rk618-cru";
clocks = <&cru SCLK_I2S1_OUT>, <&cru DCLK_VOPL>;
clock-names = "clkin", "lcdc0_dclkp";
assigned-clocks = <&clock SCALER_PLLIN_CLK>,
<&clock VIF_PLLIN_CLK>,
<&clock SCALER_CLK>,
<&clock VIF0_PRE_CLK>,
<&clock CODEC_CLK>,
<&clock DITHER_CLK>;
assigned-clock-parents = <&cru SCLK_I2S1_OUT>,
<&clock LCDC0_CLK>,
<&clock SCALER_PLL_CLK>,
<&clock VIF_PLL_CLK>,
<&cru SCLK_I2S1_OUT>,
<&clock VIF0_CLK>;
#clock-cells = <1>;
status = "okay";
};
dsi {
compatible = "rockchip,rk618-dsi";
clocks = <&clock MIPI_CLK>;
clock-names = "dsi";
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dsi_in_rgb: endpoint {
remote-endpoint = <&rgb_out_dsi>;
};
};
};
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd>;
backlight = <&backlight>;
reset-gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
prepare-delay-ms = <20>;
reset-delay-ms = <20>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <20>;
unprepare-delay-ms = <20>;
width-mm = <95>;
height-mm = <151>;
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>;
panel-init-sequence = [
15 00 02 b0 00
15 00 02 d6 01
39 00 06 b3 14 08 00 22 00
15 00 02 b4 0c
15 00 02 DE 00
39 00 03 b6 3a d3
15 00 02 51 E0
15 00 02 53 04
15 00 02 3a 77
15 00 02 35 01
39 00 05 2A 00 00 04 AF
39 00 05 2B 00 00 07 7F
05 96 01 29
05 14 01 11
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <156000000>;
hactive = <1200>;
vactive = <1920>;
hback-porch = <60>;
hfront-porch = <80>;
vback-porch = <4>;
vfront-porch = <4>;
hsync-len = <10>;
vsync-len = <1>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
};
};
};
};
&io_domains {
vccio1-supply = <&vcc1v8_soc>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_3v0>;
vccio4-supply = <&vcc3v0_pmu>;
vccio5-supply = <&vcc_3v0>;
status = "okay";
};
&nandc0 {
status = "okay";
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&pwm0 {
status = "okay";
};
&rk_rga {
status = "okay";
};
&rockchip_suspend {
rockchip,sleep-debug-en = <1>;
status = "okay";
};
&saradc {
vref-supply = <&vcc1v8_soc>;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "okay";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "init", "default";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&rgb {
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_dsi: endpoint {
remote-endpoint = <&dsi_in_rgb>;
};
};
};
};
&rgb_in_vopl {
status = "okay";
};
&rgb_in_vopb {
status = "disabled";
};
&route_rgb {
connect = <&vopl_out_rgb>;
status = "okay";
};
&pinctrl {
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

3129
px30.dtsi Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,379 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/clock/rockchip-ddr.h>
#include <dt-bindings/memory/px30-dram.h>
/ {
ddr3_params: ddr3-params {
/* version information */
version = <0x101>;
expanded_version = <IGNORE_THIS>;
reserved = <IGNORE_THIS>;
/* freq info, freq_0 is final frequency, unit: MHz */
freq_0 = <666>;
freq_1 = <194>;
freq_2 = <328>;
freq_3 = <666>;
freq_4 = <IGNORE_THIS>;
freq_5 = <IGNORE_THIS>;
/* power save setting */
pd_idle = <13>;
sr_idle = <93>;
sr_mc_gate_idle = <0>;
srpd_lite_idle = <0>;
standby_idle = <0>;
pd_dis_freq = <1066>;
sr_dis_freq = <800>;
dram_dll_dis_freq = <300>;
phy_dll_dis_freq = <IGNORE_THIS>;
/* drv when odt on */
phy_dq_drv_odten = <33>;
phy_ca_drv_odten = <33>;
phy_clk_drv_odten = <33>;
dram_dq_drv_odten = <34>;
/* drv when odt off */
phy_dq_drv_odtoff = <33>;
phy_ca_drv_odtoff = <33>;
phy_clk_drv_odtoff = <33>;
dram_dq_drv_odtoff = <34>;
/* odt info */
dram_odt = <120>;
phy_odt = <133>;
phy_odt_puup_en = <1>;
phy_odt_pudn_en = <1>;
/* odt enable freq */
dram_dq_odt_en_freq = <333>;
phy_odt_en_freq = <333>;
/* slew rate when odt enable */
phy_dq_sr_odten = <0xf>;
phy_ca_sr_odten = <0x3>;
phy_clk_sr_odten = <0x3>;
/* slew rate when odt disable */
phy_dq_sr_odtoff = <0xf>;
phy_ca_sr_odtoff = <0x3>;
phy_clk_sr_odtoff = <0x3>;
/* ssmod setting*/
ssmod_downspread = <0>;
ssmod_div = <0>;
ssmod_spread = <0>;
/* 2T mode */
mode_2t = <IGNORE_THIS>;
/* speed bin */
speed_bin = <DDR3_DEFAULT>;
/* dram extended temperature support */
dram_ext_temp = <0>;
/* byte map */
byte_map = <((0x2 << 6) | (0x3 << 4) | (0x0 << 2) | (0x1 << 0))>;
/* dq map */
dq_map_cs0_dq_l = <0>;
dq_map_cs0_dq_h = <0>;
dq_map_cs1_dq_l = <0>;
dq_map_cs1_dq_h = <0>;
};
ddr4_params: ddr4-params {
/* version information */
version = <0x101>;
expanded_version = <IGNORE_THIS>;
reserved = <IGNORE_THIS>;
/* freq info, freq_0 is final frequency, unit: MHz */
freq_0 = <666>;
freq_1 = <194>;
freq_2 = <328>;
freq_3 = <666>;
freq_4 = <IGNORE_THIS>;
freq_5 = <IGNORE_THIS>;
/* power save setting */
pd_idle = <13>;
sr_idle = <93>;
sr_mc_gate_idle = <0>;
srpd_lite_idle = <0>;
standby_idle = <0>;
pd_dis_freq = <1066>;
sr_dis_freq = <800>;
dram_dll_dis_freq = <500>;
phy_dll_dis_freq = <IGNORE_THIS>;
/* drv when odt on */
phy_dq_drv_odten = <33>;
phy_ca_drv_odten = <33>;
phy_clk_drv_odten = <33>;
dram_dq_drv_odten = <34>;
/* drv when odt off */
phy_dq_drv_odtoff = <33>;
phy_ca_drv_odtoff = <33>;
phy_clk_drv_odtoff = <33>;
dram_dq_drv_odtoff = <34>;
/* odt info */
dram_odt = <120>;
phy_odt = <121>;
phy_odt_puup_en = <1>;
phy_odt_pudn_en = <1>;
/* odt enable freq */
dram_dq_odt_en_freq = <500>;
phy_odt_en_freq = <500>;
/* slew rate when odt enable */
phy_dq_sr_odten = <0xe>;
phy_ca_sr_odten = <0x1>;
phy_clk_sr_odten = <0x1>;
/* slew rate when odt disable */
phy_dq_sr_odtoff = <0xe>;
phy_ca_sr_odtoff = <0x1>;
phy_clk_sr_odtoff = <0x1>;
/* ssmod setting*/
ssmod_downspread = <0>;
ssmod_div = <0>;
ssmod_spread = <0>;
/* 2T mode */
mode_2t = <IGNORE_THIS>;
/* speed bin */
speed_bin = <DDR4_DEFAULT>;
/* dram extended temperature support */
dram_ext_temp = <0>;
/* byte map */
byte_map = <((0x2 << 6) | (0x3 << 4) | (0x0 << 2) | (0x1 << 0))>;
/* dq map */
dq_map_cs0_dq_l = <(((3 << 0 | 0 << 2 | 3 << 4 | 1 << 6) << 0) | \
((2 << 0 | 0 << 2 | 2 << 4 | 1 << 6) << 8) | \
((3 << 0 | 2 << 2 | 1 << 4 | 2 << 6) << 16) | \
((3 << 0 | 0 << 2 | 1 << 4 | 0 << 6) << 24))>;
dq_map_cs0_dq_h = <(((2 << 0 | 0 << 2 | 0 << 4 | 1 << 6) << 0) | \
((3 << 0 | 3 << 2 | 2 << 4 | 1 << 6) << 8) | \
((1 << 0 | 3 << 2 | 2 << 4 | 0 << 6) << 16) | \
((3 << 0 | 1 << 2 | 2 << 4 | 0 << 6) << 24))>;
dq_map_cs1_dq_l = <(((2 << 0 | 1 << 2 | 2 << 4 | 0 << 6) << 0) | \
((3 << 0 | 1 << 2 | 3 << 4 | 0 << 6) << 8) | \
((2 << 0 | 3 << 2 | 0 << 4 | 3 << 6) << 16) | \
((2 << 0 | 1 << 2 | 0 << 4 | 1 << 6) << 24))>;
dq_map_cs1_dq_h = <(((3 << 0 | 1 << 2 | 1 << 4 | 0 << 6) << 0) | \
((2 << 0 | 2 << 2 | 3 << 4 | 0 << 6) << 8) | \
((0 << 0 | 2 << 2 | 3 << 4 | 1 << 6) << 16) | \
((2 << 0 | 0 << 2 | 3 << 4 | 1 << 6) << 24))>;
};
lpddr2_params: lpddr2-params {
/* version information */
version = <0x101>;
expanded_version = <IGNORE_THIS>;
reserved = <IGNORE_THIS>;
/* freq info, freq_0 is final frequency, unit: MHz */
freq_0 = <528>;
freq_1 = <194>;
freq_2 = <328>;
freq_3 = <528>;
freq_4 = <IGNORE_THIS>;
freq_5 = <IGNORE_THIS>;
/* power save setting */
pd_idle = <13>;
sr_idle = <93>;
sr_mc_gate_idle = <0>;
srpd_lite_idle = <0>;
standby_idle = <0>;
pd_dis_freq = <1066>;
sr_dis_freq = <800>;
dram_dll_dis_freq = <IGNORE_THIS>;
phy_dll_dis_freq = <IGNORE_THIS>;
/* drv when odt on */
phy_dq_drv_odten = <33>;
phy_ca_drv_odten = <33>;
phy_clk_drv_odten = <33>;
dram_dq_drv_odten = <34>;
/* drv when odt off */
phy_dq_drv_odtoff = <33>;
phy_ca_drv_odtoff = <33>;
phy_clk_drv_odtoff = <33>;
dram_dq_drv_odtoff = <34>;
/* odt info */
dram_odt = <0>;
phy_odt = <0>;
phy_odt_puup_en = <0>;
phy_odt_pudn_en = <0>;
/* odt enable freq */
dram_dq_odt_en_freq = <625>;
phy_odt_en_freq = <625>;
/* slew rate when odt enable */
phy_dq_sr_odten = <0xe>;
phy_ca_sr_odten = <0x1>;
phy_clk_sr_odten = <0x1>;
/* slew rate when odt disable */
phy_dq_sr_odtoff = <0xe>;
phy_ca_sr_odtoff = <0x1>;
phy_clk_sr_odtoff = <0x1>;
/* ssmod setting*/
ssmod_downspread = <0>;
ssmod_div = <0>;
ssmod_spread = <0>;
/* 2T mode */
mode_2t = <IGNORE_THIS>;
/* speed bin */
speed_bin = <IGNORE_THIS>;
/* dram extended temperature support */
dram_ext_temp = <0>;
/* byte map */
byte_map = <((0x3 << 6) | (0x2 << 4) | (0x1 << 2) | (0x0 << 0))>;
/* dq map */
dq_map_cs0_dq_l = <0>;
dq_map_cs0_dq_h = <0>;
dq_map_cs1_dq_l = <0>;
dq_map_cs1_dq_h = <0>;
};
lpddr3_params: lpddr3-params {
/* version information */
version = <0x101>;
expanded_version = <IGNORE_THIS>;
reserved = <IGNORE_THIS>;
/* freq info, freq_0 is final frequency, unit: MHz */
freq_0 = <666>;
freq_1 = <194>;
freq_2 = <328>;
freq_3 = <666>;
freq_4 = <IGNORE_THIS>;
freq_5 = <IGNORE_THIS>;
/* power save setting */
pd_idle = <13>;
sr_idle = <93>;
sr_mc_gate_idle = <0>;
srpd_lite_idle = <0>;
standby_idle = <0>;
pd_dis_freq = <1066>;
sr_dis_freq = <800>;
dram_dll_dis_freq = <IGNORE_THIS>;
phy_dll_dis_freq = <IGNORE_THIS>;
/* drv when odt on */
phy_dq_drv_odten = <33>;
phy_ca_drv_odten = <33>;
phy_clk_drv_odten = <33>;
dram_dq_drv_odten = <34>;
/* drv when odt off */
phy_dq_drv_odtoff = <33>;
phy_ca_drv_odtoff = <33>;
phy_clk_drv_odtoff = <33>;
dram_dq_drv_odtoff = <34>;
/* odt info */
dram_odt = <240>;
phy_odt = <121>;
phy_odt_puup_en = <1>;
phy_odt_pudn_en = <1>;
/* odt enable freq */
dram_dq_odt_en_freq = <333>;
phy_odt_en_freq = <333>;
/* slew rate when odt enable */
phy_dq_sr_odten = <0x0>;
phy_ca_sr_odten = <0x0>;
phy_clk_sr_odten = <0x0>;
/* slew rate when odt disable */
phy_dq_sr_odtoff = <0x0>;
phy_ca_sr_odtoff = <0x0>;
phy_clk_sr_odtoff = <0x0>;
/* ssmod setting*/
ssmod_downspread = <0>;
ssmod_div = <0>;
ssmod_spread = <0>;
/* 2T mode */
mode_2t = <IGNORE_THIS>;
/* speed bin */
speed_bin = <IGNORE_THIS>;
/* dram extended temperature support */
dram_ext_temp = <0>;
/* byte map */
byte_map = <((0x3 << 6) | (0x2 << 4) | (0x1 << 2) | (0x0 << 0))>;
/* dq map */
dq_map_cs0_dq_l = <0>;
dq_map_cs0_dq_h = <0>;
dq_map_cs1_dq_l = <0>;
dq_map_cs1_dq_h = <0>;
};
lpddr4_params: lpddr4-params {
/* version information */
version = <0x101>;
expanded_version = <IGNORE_THIS>;
reserved = <IGNORE_THIS>;
/* freq info, freq_0 is final frequency, unit: MHz */
freq_0 = <666>;
freq_1 = <194>;
freq_2 = <328>;
freq_3 = <666>;
freq_4 = <IGNORE_THIS>;
freq_5 = <IGNORE_THIS>;
/* power save setting */
pd_idle = <13>;
sr_idle = <93>;
sr_mc_gate_idle = <0>;
srpd_lite_idle = <0>;
standby_idle = <0>;
pd_dis_freq = <1066>;
sr_dis_freq = <800>;
dram_dll_dis_freq = <IGNORE_THIS>;
phy_dll_dis_freq = <IGNORE_THIS>;
/* drv when odt on */
phy_dq_drv_odten = <44>;
phy_ca_drv_odten = <38>;
phy_clk_drv_odten = <47>;
dram_dq_drv_odten = <40>;
/* drv when odt off */
phy_dq_drv_odtoff = <44>;
phy_ca_drv_odtoff = <38>;
phy_clk_drv_odtoff = <47>;
dram_dq_drv_odtoff = <40>;
/* odt info */
dram_odt = <60>;
phy_odt = <80>;
phy_odt_puup_en = <IGNORE_THIS>;
phy_odt_pudn_en = <IGNORE_THIS>;
/* odt enable freq */
dram_dq_odt_en_freq = <800>;
phy_odt_en_freq = <800>;
/* slew rate when odt enable */
phy_dq_sr_odten = <0x7>;
phy_ca_sr_odten = <0x1>;
phy_clk_sr_odten = <0x1>;
/* slew rate when odt disable */
phy_dq_sr_odtoff = <0x7>;
phy_ca_sr_odtoff = <0x1>;
phy_clk_sr_odtoff = <0x1>;
/* ssmod setting*/
ssmod_downspread = <0>;
ssmod_div = <0>;
ssmod_spread = <0>;
/* 2T mode */
mode_2t = <IGNORE_THIS>;
/* speed bin */
speed_bin = <IGNORE_THIS>;
/* dram extended temperature support */
dram_ext_temp = <0>;
/* byte map */
byte_map = <((0x3 << 6) | (0x2 << 4) | (0x1 << 2) | (0x0 << 0))>;
/* dq map */
dq_map_cs0_dq_l = <0>;
dq_map_cs0_dq_h = <0>;
dq_map_cs1_dq_l = <0>;
dq_map_cs1_dq_h = <0>;
/* lp4 odt info */
lp4_ca_odt = <120>;
lp4_drv_pu_cal_odten = <LP4_VDDQ_2_5>;
lp4_drv_pu_cal_odtoff = <LP4_VDDQ_2_5>;
phy_lp4_drv_pulldown_en_odten = <0>;
phy_lp4_drv_pulldown_en_odtoff = <0>;
/* lp4 odt enable freq */
lp4_ca_odt_en_freq = <800>;
/* lp4 cs drv info and ca odt info */
phy_lp4_cs_drv_odten = <0>;
phy_lp4_cs_drv_odtoff = <0>;
lp4_odte_ck_en = <1>;
lp4_odte_cs_en = <1>;
lp4_odtd_ca_en = <0>;
/* lp4 vref info when odt enable */
phy_lp4_dq_vref_odten = <200>;
lp4_dq_vref_odten = <276>;
lp4_ca_vref_odten = <380>;
/* lp4 vref info when odt disable */
phy_lp4_dq_vref_odtoff = <420>;
lp4_dq_vref_odtoff = <420>;
lp4_ca_vref_odtoff = <420>;
};
};

169
px30s-pinctrl.dtsi Normal file
View File

@@ -0,0 +1,169 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd
*/
&pinctrl {
/* default for px30 and 4ma for px30s */
pcfg_pull_none_n_4ma: pcfg-pull-none-n-4ma {
bias-disable;
drive-strength-s = <4>;
};
pcfg_pull_up_n_4ma: pcfg-pull-up-n-4ma {
bias-pull-up;
drive-strength-s = <4>;
};
pcfg_pull_down_n_4ma: pcfg-pull-down-n-4ma {
bias-pull-down;
drive-strength-s = <4>;
};
/* default for px30 and 6ma for px30s */
pcfg_pull_none_0_6ma: pcfg-pull-none-0-6ma {
bias-disable;
drive-strength-s = <6>;
};
pcfg_pull_up_0_6ma: pcfg-pull-up-0-6ma {
bias-pull-up;
drive-strength-s = <6>;
};
pcfg_pull_down_0_6ma: pcfg-pull-down-0-6ma {
bias-pull-down;
drive-strength-s = <6>;
};
/* 4ma for px30 and 6ma for px30s */
pcfg_pull_none_4_6ma: pcfg-pull-none-4-6ma {
bias-disable;
drive-strength = <4>;
drive-strength-s = <6>;
};
pcfg_pull_up_4_6ma: pcfg-pull-up-4-6ma {
bias-pull-up;
drive-strength = <4>;
drive-strength-s = <6>;
};
pcfg_pull_down_4_6ma: pcfg-pull-down-4-6ma {
bias-pull-down;
drive-strength = <4>;
drive-strength-s = <6>;
};
/* 8ma for px30 and 6ma for px30s */
pcfg_pull_none_8_6ma: pcfg-pull-none-8-6ma {
bias-disable;
drive-strength = <8>;
drive-strength-s = <6>;
};
pcfg_pull_up_8_6ma: pcfg-pull-up-8-6ma {
bias-pull-up;
drive-strength = <8>;
drive-strength-s = <6>;
};
pcfg_pull_down_8_6ma: pcfg-pull-down-8-6ma {
bias-pull-down;
drive-strength = <8>;
drive-strength-s = <6>;
};
/* 8ma for px30 and 4ma for px30s */
pcfg_pull_none_8_4ma: pcfg-pull-none-8-4ma {
bias-disable;
drive-strength = <8>;
drive-strength-s = <4>;
};
pcfg_pull_up_8_4ma: pcfg-pull-up-8-4ma {
bias-pull-up;
drive-strength = <8>;
drive-strength-s = <4>;
};
pcfg_pull_down_8_4ma: pcfg-pull-down-8-4ma {
bias-pull-down;
drive-strength = <8>;
drive-strength-s = <4>;
};
/* 12ma for px30 and 4ma for px30s */
pcfg_pull_none_12_4ma: pcfg-pull-none-12-4ma {
bias-disable;
drive-strength = <12>;
drive-strength-s = <4>;
};
pcfg_pull_up_12_4ma: pcfg-pull-up-12-4ma {
bias-pull-up;
drive-strength = <12>;
drive-strength-s = <4>;
};
pcfg_pull_down_12_4ma: pcfg-pull-down-12-4ma {
bias-pull-down;
drive-strength = <12>;
drive-strength-s = <4>;
};
/* 12ma for px30 and 6ma for px30s */
pcfg_pull_none_12_6ma: pcfg-pull-none-12-6ma {
bias-disable;
drive-strength = <12>;
drive-strength-s = <6>;
};
pcfg_pull_up_12_6ma: pcfg-pull-up-12-6ma {
bias-pull-up;
drive-strength = <12>;
drive-strength-s = <6>;
};
pcfg_pull_down_12_6ma: pcfg-pull-down-12-6ma {
bias-pull-down;
drive-strength = <12>;
drive-strength-s = <6>;
};
};
&pinctrl {
/delete-node/ emmc;
emmc {
emmc_clk: emmc-clk {
rockchip,pins =
<1 RK_PB1 2 &pcfg_pull_none_8_6ma>;
};
emmc_cmd: emmc-cmd {
rockchip,pins =
<1 RK_PB2 2 &pcfg_pull_up_8_6ma>;
};
emmc_pwren: emmc-pwren {
rockchip,pins =
<1 RK_PB0 2 &pcfg_pull_none>;
};
emmc_rstnout: emmc-rstnout {
rockchip,pins =
<1 RK_PB3 2 &pcfg_pull_none>;
};
emmc_bus1: emmc-bus1 {
rockchip,pins =
<1 RK_PA0 2 &pcfg_pull_up_8_6ma>;
};
emmc_bus4: emmc-bus4 {
rockchip,pins =
<1 RK_PA0 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA1 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA2 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA3 2 &pcfg_pull_up_8_6ma>;
};
emmc_bus8: emmc-bus8 {
rockchip,pins =
<1 RK_PA0 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA1 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA2 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA3 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA4 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA5 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA6 2 &pcfg_pull_up_8_6ma>,
<1 RK_PA7 2 &pcfg_pull_up_8_6ma>;
};
};
};

394
rk-stb-ir-keymap.dtsi Normal file
View File

@@ -0,0 +1,394 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd.
*/
#include <dt-bindings/input/rk-ir.h>
&pwm3 {
ir_key1 {
rockchip,usercode = <0xff00>;
rockchip,key_table =
<0xf9 KEY_HOME>,
<0xbf KEY_BACK>,
<0xfb KEY_MENU>,
<0xaa KEY_REPLY>,
<0xb9 KEY_UP>,
<0xe9 KEY_DOWN>,
<0xb8 KEY_LEFT>,
<0xea KEY_RIGHT>,
<0xeb KEY_VOLUMEDOWN>,
<0xef KEY_VOLUMEUP>,
<0xf7 KEY_MUTE>,
<0xe7 KEY_POWER>,
<0xfc KEY_POWER>,
<0xa9 KEY_VOLUMEDOWN>,
<0xa8 KEY_PLAYPAUSE>,
<0xe0 KEY_VOLUMEDOWN>,
<0xa5 KEY_VOLUMEDOWN>,
<0xab 183>,
<0xb7 388>,
<0xe8 388>,
<0xf8 184>,
<0xaf 185>,
<0xed KEY_VOLUMEDOWN>,
<0xee 186>,
<0xb3 KEY_VOLUMEDOWN>,
<0xf1 KEY_VOLUMEDOWN>,
<0xf2 KEY_VOLUMEDOWN>,
<0xf3 KEY_SEARCH>,
<0xb4 KEY_VOLUMEDOWN>,
<0xa4 KEY_SETUP>,
<0xbe KEY_SEARCH>;
};
/*for IPTV ltjc*/
ir_key2 {
rockchip,usercode = <0xc43b>;
rockchip,key_table =
<0x7e KEY_REPLY>,
<0x7f KEY_BACK>,
<0x7a KEY_UP>,
<0x78 KEY_DOWN>,
<0x7b KEY_LEFT>,
<0x79 KEY_RIGHT>,
<0x66 KEY_VOLUMEUP>,
<0x65 KEY_VOLUMEDOWN>,
<0x69 KEY_POWER>,
<0x64 KEY_MUTE>,
<0x76 KEY_1>,
<0x75 KEY_2>,
<0x74 KEY_3>,
<0x73 KEY_4>,
<0x72 KEY_5>,
<0x71 KEY_6>,
<0x70 KEY_7>,
<0x6f KEY_8>,
<0x6e KEY_9>,
<0x77 KEY_0>,
<0x7c KEY_PAGEDOWN>,
<0x7d KEY_PAGEUP>,
<0x6a KEY_SETUP>,
<0x68 KEY_CHANNEL_UP>,
<0x67 KEY_CHANNEL_DN>,
<0x39 KEY_PORTAL>,
<0x29 KEY_HOME_PAGE>,
<0x33 KEY_CH_CUT_BACK>,
<0x34 KEY_LOCAL>,
<0x2d KEY_REVIEW>,
<0x2c KEY_ON_DEMAND>,
<0x2b KEY_INFO1>,
<0x2e KEY_DIRECT_SEEDING>,
<0x2d KEY_REVIEW>,
<0x2c KEY_ON_DEMAND>,
<0x2b KEY_INFO1>,
<0x63 KEY_SOUND1>,
<0x6c KEY_X1>,
<0x6d KEY_X2>,
<0x62 KEY_PLAYPAUSE>,
<0x6b KEY_EQUAL>,
<0x61 KEY_FASTFORWARD>,
<0x60 KEY_REWIND>,
<0x3b KEY_STOP>,
<0x35 KEY_BLUE>,
<0x36 KEY_YELLOW>,
<0x37 KEY_GREEN>,
<0x38 KEY_RED>;
};
ir_key3 {
rockchip,usercode = <0x1dcc>;
rockchip,key_table =
<0xee KEY_REPLY>,
<0xf0 KEY_BACK>,
<0xf8 KEY_UP>,
<0xbb KEY_DOWN>,
<0xef KEY_LEFT>,
<0xed KEY_RIGHT>,
<0xfc KEY_HOME>,
<0xf1 KEY_VOLUMEUP>,
<0xfd KEY_VOLUMEDOWN>,
<0xb7 KEY_SEARCH>,
<0xff KEY_POWER>,
<0xf3 KEY_MUTE>,
<0xbf KEY_MENU>,
<0xf9 0x191>,
<0xf5 0x192>,
<0xb3 388>,
<0xbe KEY_1>,
<0xba KEY_2>,
<0xb2 KEY_3>,
<0xbd KEY_4>,
<0xf9 KEY_5>,
<0xb1 KEY_6>,
<0xfc KEY_7>,
<0xf8 KEY_8>,
<0xb0 KEY_9>,
<0xb6 KEY_0>,
<0xb5 KEY_BACKSPACE>;
};
/* for IPTV */
ir_key4 {
rockchip,usercode = <0x4db2>;
rockchip,key_table =
<0x31 KEY_REPLY>,
<0x3a KEY_BACK>,
<0x35 KEY_UP>,
<0x2d KEY_DOWN>,
<0x66 KEY_LEFT>,
<0x3e KEY_RIGHT>,
<0x7f KEY_VOLUMEUP>,
<0xfe KEY_VOLUMEDOWN>,
<0x23 KEY_POWER>,
<0x63 KEY_MUTE>,
<0x6d KEY_1>,
<0x6c KEY_2>,
<0x33 KEY_3>,
<0x71 KEY_4>,
<0x70 KEY_5>,
<0x37 KEY_6>,
<0x75 KEY_7>,
<0x74 KEY_8>,
<0x3b KEY_9>,
<0x78 KEY_0>,
<0x73 KEY_PAGEDOWN>,
<0x22 KEY_PAGEUP>,
<0x72 KEY_SETUP>,
<0x7a KEY_CHANNEL_UP>,
<0x79 KEY_CHANNEL_DN>,
<0x77 KEY_HOME_PAGE>,
<0x29 KEY_CH_CUT_BACK>,
<0x32 KEY_DIRECT_SEEDING>,
<0x6e KEY_REVIEW>,
<0x7c KEY_ON_DEMAND>,
<0x3c KEY_INFO1>,
<0x67 KEY_SOUND1>,
<0x25 KEY_X1>,
<0x2f KEY_X2>,
<0x7d KEY_LOCAL>,
<0x6a KEY_PLAYPAUSE>,
<0x0b KEY_EQUAL>;
};
/* for CMCC */
ir_key5 {
rockchip,usercode = <0x1608>;
rockchip,key_table =
<0x4c KEY_REPLY>,
<0x4d KEY_BACK>,
<0x4b KEY_UP>,
<0x4a KEY_DOWN>,
<0x49 KEY_LEFT>,
<0x48 KEY_RIGHT>,
<0x4e KEY_HOME>,
<0x0b KEY_VOLUMEUP>,
<0x0c KEY_VOLUMEDOWN>,
<0x23 KEY_POWER>,
<0x45 KEY_MUTE>,
<0x44 KEY_MENU>,
<0x78 KEY_1>,
<0x77 KEY_2>,
<0x76 KEY_3>,
<0x75 KEY_4>,
<0x74 KEY_5>,
<0x73 KEY_6>,
<0x72 KEY_7>,
<0x71 KEY_8>,
<0x70 KEY_9>,
<0x79 KEY_0>,
<0x43 KEY_EQUAL>,
<0x72 KEY_X1>,
<0x5f KEY_SETUP>,
<0x25 KEY_DIRECT_SEEDING>,
<0x24 KEY_REVIEW>,
<0x21 KEY_ON_DEMAND>,
<0x20 KEY_INFO1>;
};
/* rk new remote */
ir_key6 {
rockchip,usercode = <0xfe01>;
rockchip,key_table =
<0xec KEY_REPLY>,
<0xe6 KEY_BACK>,
<0xe9 KEY_UP>,
<0xe5 KEY_DOWN>,
<0xae KEY_LEFT>,
<0xaf KEY_RIGHT>,
<0xee KEY_HOME>,
<0xe7 KEY_VOLUMEUP>,
<0xef KEY_VOLUMEDOWN>,
<0xbf KEY_POWER>,
<0xbe KEY_MUTE>,
<0xb3 KEY_MENU>,
<0xff 388>,
<0xb1 KEY_1>,
<0xf2 KEY_2>,
<0xf3 KEY_3>,
<0xb5 KEY_4>,
<0xf6 KEY_5>,
<0xf7 KEY_6>,
<0xb9 KEY_7>,
<0xfa KEY_8>,
<0xfb KEY_9>,
<0xfe KEY_0>,
<0xbd KEY_EQUAL>,
<0xbc KEY_SETUP>,
<0xf0 KEY_LOCAL>,
<0x0d KEY_DIRECT_SEEDING>,
<0x0c KEY_REVIEW>,
<0x0b KEY_ON_DEMAND>,
<0x0a KEY_INFO1>,
<0x0e KEY_CH_CUT_BACK>;
};
/* for IPTV gd */
ir_key7 {
rockchip,usercode = <0x4cb3>;
rockchip,key_table =
<0x31 KEY_REPLY>,
<0x3a KEY_BACK>,
<0x35 KEY_UP>,
<0x2d KEY_DOWN>,
<0x66 KEY_LEFT>,
<0x3e KEY_RIGHT>,
<0x7f KEY_VOLUMEUP>,
<0x7e KEY_VOLUMEDOWN>,
<0x23 KEY_POWER>,
<0x63 KEY_MUTE>,
<0x6d KEY_1>,
<0x6c KEY_2>,
<0x33 KEY_3>,
<0x71 KEY_4>,
<0x70 KEY_5>,
<0x37 KEY_6>,
<0x75 KEY_7>,
<0x74 KEY_8>,
<0x3b KEY_9>,
<0x78 KEY_0>,
<0x73 KEY_PAGEDOWN>,
<0x22 KEY_PAGEUP>,
<0x72 KEY_SETUP>,
<0x7a KEY_CHANNEL_UP>,
<0x79 KEY_CHANNEL_DN>,
<0x77 KEY_HOME_PAGE>,
<0x29 KEY_CH_CUT_BACK>,
<0x32 KEY_DIRECT_SEEDING>,
<0x6e KEY_REVIEW>,
<0x7c KEY_ON_DEMAND>,
<0x3c KEY_INFO1>,
<0x67 KEY_SOUND1>,
<0x25 KEY_X1>,
<0x2f KEY_X2>,
<0x7d KEY_LOCAL>,
<0x6a KEY_PLAYPAUSE>,
<0x0b KEY_EQUAL>;
};
/* for CMCC */
ir_key8 {
rockchip,usercode = <0xdd22>;
rockchip,key_table =
<0x31 KEY_REPLY>,
<0x6a KEY_BACK>,
<0x35 KEY_UP>,
<0x2d KEY_DOWN>,
<0x66 KEY_LEFT>,
<0x3e KEY_RIGHT>,
<0x7f KEY_VOLUMEUP>,
<0x7e KEY_VOLUMEDOWN>,
<0x23 KEY_POWER>,
<0x63 KEY_MUTE>,
<0x6d KEY_1>,
<0x6c KEY_2>,
<0x33 KEY_3>,
<0x71 KEY_4>,
<0x70 KEY_5>,
<0x37 KEY_6>,
<0x75 KEY_7>,
<0x74 KEY_8>,
<0x3b KEY_9>,
<0x78 KEY_0>,
<0x73 KEY_PAGEDOWN>,
<0x22 KEY_PAGEUP>,
<0x72 KEY_SETUP>,
<0x7a KEY_CHANNEL_UP>,
<0x79 KEY_CHANNEL_DN>,
<0x77 KEY_HOME_PAGE>,
<0x2f KEY_CH_CUT_BACK>,
<0x32 KEY_DIRECT_SEEDING>,
<0x6e KEY_REVIEW>,
<0x7c KEY_ON_DEMAND>,
<0x3c KEY_INFO1>,
<0x3a KEY_HELP>,
<0x67 KEY_SOUND1>,
<0x25 KEY_X2>,
<0x7d KEY_MENU>,
<0x3f KEY_EQUAL>,
<0x29 388>,
<0x26 KEY_PLAYPAUSE>,
<0x76 401>,
<0x7b 400>,
<0x69 66>;
};
/* for BJLT IPTV */
ir_key9 {
rockchip,usercode = <0x3bc4>;
rockchip,key_table =
<0x81 KEY_REPLY>,
<0x80 KEY_BACK>,
<0x85 KEY_UP>,
<0x87 KEY_DOWN>,
<0x84 KEY_LEFT>,
<0x86 KEY_RIGHT>,
<0x99 KEY_VOLUMEUP>,
<0x9a KEY_VOLUMEDOWN>,
<0x96 KEY_POWER>,
<0x9b KEY_MUTE>,
<0x89 KEY_1>,
<0x8a KEY_2>,
<0x8b KEY_3>,
<0x8c KEY_4>,
<0x8d KEY_5>,
<0x8e KEY_6>,
<0x8f KEY_7>,
<0x90 KEY_8>,
<0x91 KEY_9>,
<0x88 KEY_0>,
<0x83 KEY_PAGEDOWN>,
<0x82 KEY_PAGEUP>,
<0x95 KEY_SETUP>,
<0x97 KEY_CHANNEL_UP>,
<0x98 KEY_CHANNEL_DN>,
<0xc6 KEY_LOCAL>,
<0xd6 KEY_HOME_PAGE>,
<0xd7 KEY_TRACK>,
<0xcc KEY_CH_CUT_BACK>,
<0xc3 KEY_INTERX>,
<0xd1 KEY_DIRECT_SEEDING>,
<0xd2 KEY_REVIEW>,
<0xd3 KEY_ON_DEMAND>,
<0xd4 KEY_INFO1>,
<0xc7 KEY_DIRECT_SEEDING>,
<0xc8 KEY_REVIEW>,
<0xc9 KEY_ON_DEMAND>,
<0xca KEY_INFO1>,
<0xcd KEY_FAVORITE>,
<0xce KEY_CHANNEL_POS>,
<0xcf KEY_HELP>,
<0xd0 KEY_EVENT>,
<0x9c KEY_SOUND1>,
<0x93 KEY_X1>,
<0x92 KEY_X2>,
<0xc0 KEY_END>,
<0xc1 KEY_GO_BEGINNING>,
<0x9d KEY_PLAYPAUSE>,
<0xc4 KEY_STOP>,
<0x94 KEY_EQUAL>,
<0x9e KEY_YELLOW>,
<0x9f KEY_BLUE>,
<0xcb KEY_APPLICATION>,
<0xc5 KEY_POS>;
};
};

View File

@@ -0,0 +1,302 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/clock/rockchip-ddr.h>
#include <dt-bindings/memory/rk1808-dram.h>
/ {
ddr_timing: ddr_timing {
compatible = "rockchip,ddr-timing";
ddr2_speed_bin = <DDR2_DEFAULT>;
ddr3_speed_bin = <DDR3_DEFAULT>;
ddr4_speed_bin = <DDR4_DEFAULT>;
pd_idle = <0>;
sr_idle = <0>;
sr_mc_gate_idle = <0>;
srpd_lite_idle = <0>;
standby_idle = <0>;
auto_pd_dis_freq = <1066>;
auto_sr_dis_freq = <800>;
ddr2_dll_dis_freq = <300>;
ddr3_dll_dis_freq = <300>;
ddr4_dll_dis_freq = <625>;
phy_dll_dis_freq = <400>;
ddr2_odt_dis_freq = <100>;
phy_ddr2_odt_dis_freq = <100>;
ddr2_drv = <DDR2_DS_REDUCE>;
ddr2_odt = <DDR2_ODT_150ohm>;
phy_ddr2_ca_drv = <PHY_DDR3_RON_34ohm>;
phy_ddr2_ck_drv = <PHY_DDR3_RON_43ohm>;
phy_ddr2_dq_drv = <PHY_DDR3_RON_34ohm>;
phy_ddr2_odt = <PHY_DDR3_RTT_213ohm>;
ddr3_odt_dis_freq = <400>;
phy_ddr3_odt_dis_freq = <400>;
ddr3_drv = <DDR3_DS_40ohm>;
ddr3_odt = <DDR3_ODT_120ohm>;
phy_ddr3_ca_drv = <PHY_DDR3_RON_34ohm>;
phy_ddr3_ck_drv = <PHY_DDR3_RON_43ohm>;
phy_ddr3_dq_drv = <PHY_DDR3_RON_34ohm>;
phy_ddr3_odt = <PHY_DDR3_RTT_213ohm>;
phy_lpddr2_odt_dis_freq = <666>;
lpddr2_drv = <LP2_DS_40ohm>;
phy_lpddr2_ca_drv = <PHY_DDR4_LPDDR2_3_RON_34ohm>;
phy_lpddr2_ck_drv = <PHY_DDR4_LPDDR2_3_RON_42ohm>;
phy_lpddr2_dq_drv = <PHY_DDR4_LPDDR2_3_RON_34ohm>;
phy_lpddr2_odt = <PHY_DDR4_LPDDR2_3_RTT_DISABLE>;
lpddr3_odt_dis_freq = <400>;
phy_lpddr3_odt_dis_freq = <400>;
lpddr3_drv = <LP3_DS_40ohm>;
lpddr3_odt = <LP3_ODT_240ohm>;
phy_lpddr3_ca_drv = <PHY_DDR4_LPDDR2_3_RON_34ohm>;
phy_lpddr3_ck_drv = <PHY_DDR4_LPDDR2_3_RON_42ohm>;
phy_lpddr3_dq_drv = <PHY_DDR4_LPDDR2_3_RON_34ohm>;
phy_lpddr3_odt = <PHY_DDR4_LPDDR2_3_RTT_229ohm>;
lpddr4_odt_dis_freq = <800>;
phy_lpddr4_odt_dis_freq = <800>;
lpddr4_drv = <LP4_PDDS_60ohm>;
lpddr4_dq_odt = <LP4_DQ_ODT_40ohm>;
lpddr4_ca_odt = <LP4_CA_ODT_40ohm>;
phy_lpddr4_ca_drv = <PHY_DDR4_LPDDR2_3_RON_42ohm>;
phy_lpddr4_ck_cs_drv = <PHY_DDR4_LPDDR2_3_RON_75ohm>;
phy_lpddr4_dq_drv = <PHY_DDR4_LPDDR2_3_RON_75ohm>;
phy_lpddr4_odt = <PHY_DDR4_LPDDR2_3_RTT_54ohm>;
ddr4_odt_dis_freq = <666>;
phy_ddr4_odt_dis_freq = <666>;
ddr4_drv = <DDR4_DS_34ohm>;
ddr4_odt = <DDR4_RTT_NOM_240ohm>;
phy_ddr4_ca_drv = <PHY_DDR4_LPDDR2_3_RON_34ohm>;
phy_ddr4_ck_drv = <PHY_DDR4_LPDDR2_3_RON_42ohm>;
phy_ddr4_dq_drv = <PHY_DDR4_LPDDR2_3_RON_34ohm>;
phy_ddr4_odt = <PHY_DDR4_LPDDR2_3_RTT_229ohm>;
/*
* CA de-skew, one step is 15ps, range 0-31
* DDR3 CA define is different from others(DDR4/LPDDR2/LPDDR3).
*/
a0_ddr3a9_de-skew = <7>;
a1_ddr3a14_de-skew = <7>;
a2_ddr3a13_de-skew = <7>;
a3_ddr3a11_de-skew = <7>;
a4_ddr3a2_de-skew = <7>;
a5_ddr3a4_de-skew = <7>;
a6_ddr3a3_de-skew = <7>;
a7_ddr3a6_de-skew = <7>;
a8_ddr3a5_de-skew = <7>;
a9_ddr3a1_de-skew = <7>;
a10_ddr3a0_de-skew = <7>;
a11_ddr3a7_de-skew = <7>;
a12_ddr3casb_de-skew = <7>;
a13_ddr3a8_de-skew = <7>;
a14_ddr3odt0_de-skew = <7>;
a15_ddr3ba1_de-skew = <7>;
a16_ddr3rasb_de-skew = <7>;
a17_ddr3null_de-skew = <7>;
ba0_ddr3ba2_de-skew = <7>;
ba1_ddr3a12_de-skew = <7>;
bg0_ddr3ba0_de-skew = <7>;
bg1_ddr3web_de-skew = <7>;
cke_ddr3cke_de-skew = <7>;
ck_ddr3ck_de-skew = <7>;
ckb_ddr3ckb_de-skew = <7>;
csb0_ddr3a10_de-skew = <7>;
odt0_ddr3a15_de-skew = <7>;
resetn_ddr3resetn_de-skew = <7>;
actn_ddr3csb0_de-skew = <7>;
csb1_ddr3csb1_de-skew = <7>;
odt1_ddr3odt1_de-skew = <7>;
/* DATA de-skew, one step is 15ps, range 0-31 */
/* cs0_skew_a */
cs0_dm0_rx_de-skew = <7>;
cs0_dm0_tx_de-skew = <7>;
cs0_dq0_rx_de-skew = <7>;
cs0_dq0_tx_de-skew = <7>;
cs0_dq1_rx_de-skew = <7>;
cs0_dq1_tx_de-skew = <7>;
cs0_dq2_rx_de-skew = <7>;
cs0_dq2_tx_de-skew = <7>;
cs0_dq3_rx_de-skew = <7>;
cs0_dq3_tx_de-skew = <7>;
cs0_dq4_rx_de-skew = <7>;
cs0_dq4_tx_de-skew = <7>;
cs0_dq5_rx_de-skew = <7>;
cs0_dq5_tx_de-skew = <7>;
cs0_dq6_rx_de-skew = <7>;
cs0_dq6_tx_de-skew = <7>;
cs0_dq7_rx_de-skew = <7>;
cs0_dq7_tx_de-skew = <7>;
cs0_dqs0p_rx_de-skew = <14>;
cs0_dqs0p_tx_de-skew = <9>;
cs0_dqs0n_tx_de-skew = <9>;
cs0_dm1_rx_de-skew = <7>;
cs0_dm1_tx_de-skew = <7>;
cs0_dq8_rx_de-skew = <7>;
cs0_dq8_tx_de-skew = <7>;
cs0_dq9_rx_de-skew = <7>;
cs0_dq9_tx_de-skew = <7>;
cs0_dq10_rx_de-skew = <7>;
cs0_dq10_tx_de-skew = <7>;
cs0_dq11_rx_de-skew = <7>;
cs0_dq11_tx_de-skew = <7>;
cs0_dq12_rx_de-skew = <7>;
cs0_dq12_tx_de-skew = <7>;
cs0_dq13_rx_de-skew = <7>;
cs0_dq13_tx_de-skew = <7>;
cs0_dq14_rx_de-skew = <7>;
cs0_dq14_tx_de-skew = <7>;
cs0_dq15_rx_de-skew = <7>;
cs0_dq15_tx_de-skew = <7>;
cs0_dqs1p_rx_de-skew = <14>;
cs0_dqs1p_tx_de-skew = <9>;
cs0_dqs1n_tx_de-skew = <9>;
cs0_dqs0n_rx_de-skew = <14>;
cs0_dqs1n_rx_de-skew = <14>;
/* cs0_skew_b */
cs0_dm2_rx_de-skew = <7>;
cs0_dm2_tx_de-skew = <7>;
cs0_dq16_rx_de-skew = <7>;
cs0_dq16_tx_de-skew = <7>;
cs0_dq17_rx_de-skew = <7>;
cs0_dq17_tx_de-skew = <7>;
cs0_dq18_rx_de-skew = <7>;
cs0_dq18_tx_de-skew = <7>;
cs0_dq19_rx_de-skew = <7>;
cs0_dq19_tx_de-skew = <7>;
cs0_dq20_rx_de-skew = <7>;
cs0_dq20_tx_de-skew = <7>;
cs0_dq21_rx_de-skew = <7>;
cs0_dq21_tx_de-skew = <7>;
cs0_dq22_rx_de-skew = <7>;
cs0_dq22_tx_de-skew = <7>;
cs0_dq23_rx_de-skew = <7>;
cs0_dq23_tx_de-skew = <7>;
cs0_dqs2p_rx_de-skew = <14>;
cs0_dqs2p_tx_de-skew = <9>;
cs0_dqs2n_tx_de-skew = <9>;
cs0_dm3_rx_de-skew = <7>;
cs0_dm3_tx_de-skew = <7>;
cs0_dq24_rx_de-skew = <7>;
cs0_dq24_tx_de-skew = <7>;
cs0_dq25_rx_de-skew = <7>;
cs0_dq25_tx_de-skew = <7>;
cs0_dq26_rx_de-skew = <7>;
cs0_dq26_tx_de-skew = <7>;
cs0_dq27_rx_de-skew = <7>;
cs0_dq27_tx_de-skew = <7>;
cs0_dq28_rx_de-skew = <7>;
cs0_dq28_tx_de-skew = <7>;
cs0_dq29_rx_de-skew = <7>;
cs0_dq29_tx_de-skew = <7>;
cs0_dq30_rx_de-skew = <7>;
cs0_dq30_tx_de-skew = <7>;
cs0_dq31_rx_de-skew = <7>;
cs0_dq31_tx_de-skew = <7>;
cs0_dqs3p_rx_de-skew = <14>;
cs0_dqs3p_tx_de-skew = <9>;
cs0_dqs3n_tx_de-skew = <9>;
cs0_dqs2n_rx_de-skew = <14>;
cs0_dqs3n_rx_de-skew = <14>;
/* cs1_skew_a */
cs1_dm0_rx_de-skew = <7>;
cs1_dm0_tx_de-skew = <7>;
cs1_dq0_rx_de-skew = <7>;
cs1_dq0_tx_de-skew = <7>;
cs1_dq1_rx_de-skew = <7>;
cs1_dq1_tx_de-skew = <7>;
cs1_dq2_rx_de-skew = <7>;
cs1_dq2_tx_de-skew = <7>;
cs1_dq3_rx_de-skew = <7>;
cs1_dq3_tx_de-skew = <7>;
cs1_dq4_rx_de-skew = <7>;
cs1_dq4_tx_de-skew = <7>;
cs1_dq5_rx_de-skew = <7>;
cs1_dq5_tx_de-skew = <7>;
cs1_dq6_rx_de-skew = <7>;
cs1_dq6_tx_de-skew = <7>;
cs1_dq7_rx_de-skew = <7>;
cs1_dq7_tx_de-skew = <7>;
cs1_dqs0p_rx_de-skew = <14>;
cs1_dqs0p_tx_de-skew = <9>;
cs1_dqs0n_tx_de-skew = <9>;
cs1_dm1_rx_de-skew = <7>;
cs1_dm1_tx_de-skew = <7>;
cs1_dq8_rx_de-skew = <7>;
cs1_dq8_tx_de-skew = <7>;
cs1_dq9_rx_de-skew = <7>;
cs1_dq9_tx_de-skew = <7>;
cs1_dq10_rx_de-skew = <7>;
cs1_dq10_tx_de-skew = <7>;
cs1_dq11_rx_de-skew = <7>;
cs1_dq11_tx_de-skew = <7>;
cs1_dq12_rx_de-skew = <7>;
cs1_dq12_tx_de-skew = <7>;
cs1_dq13_rx_de-skew = <7>;
cs1_dq13_tx_de-skew = <7>;
cs1_dq14_rx_de-skew = <7>;
cs1_dq14_tx_de-skew = <7>;
cs1_dq15_rx_de-skew = <7>;
cs1_dq15_tx_de-skew = <7>;
cs1_dqs1p_rx_de-skew = <14>;
cs1_dqs1p_tx_de-skew = <9>;
cs1_dqs1n_tx_de-skew = <9>;
cs1_dqs0n_rx_de-skew = <14>;
cs1_dqs1n_rx_de-skew = <14>;
/* cs1_skew_b */
cs1_dm2_rx_de-skew = <7>;
cs1_dm2_tx_de-skew = <7>;
cs1_dq16_rx_de-skew = <7>;
cs1_dq16_tx_de-skew = <7>;
cs1_dq17_rx_de-skew = <7>;
cs1_dq17_tx_de-skew = <7>;
cs1_dq18_rx_de-skew = <7>;
cs1_dq18_tx_de-skew = <7>;
cs1_dq19_rx_de-skew = <7>;
cs1_dq19_tx_de-skew = <7>;
cs1_dq20_rx_de-skew = <7>;
cs1_dq20_tx_de-skew = <7>;
cs1_dq21_rx_de-skew = <7>;
cs1_dq21_tx_de-skew = <7>;
cs1_dq22_rx_de-skew = <7>;
cs1_dq22_tx_de-skew = <7>;
cs1_dq23_rx_de-skew = <7>;
cs1_dq23_tx_de-skew = <7>;
cs1_dqs2p_rx_de-skew = <14>;
cs1_dqs2p_tx_de-skew = <9>;
cs1_dqs2n_tx_de-skew = <9>;
cs1_dm3_rx_de-skew = <7>;
cs1_dm3_tx_de-skew = <7>;
cs1_dq24_rx_de-skew = <7>;
cs1_dq24_tx_de-skew = <7>;
cs1_dq25_rx_de-skew = <7>;
cs1_dq25_tx_de-skew = <7>;
cs1_dq26_rx_de-skew = <7>;
cs1_dq26_tx_de-skew = <7>;
cs1_dq27_rx_de-skew = <7>;
cs1_dq27_tx_de-skew = <7>;
cs1_dq28_rx_de-skew = <7>;
cs1_dq28_tx_de-skew = <7>;
cs1_dq29_rx_de-skew = <7>;
cs1_dq29_tx_de-skew = <7>;
cs1_dq30_rx_de-skew = <7>;
cs1_dq30_tx_de-skew = <7>;
cs1_dq31_rx_de-skew = <7>;
cs1_dq31_tx_de-skew = <7>;
cs1_dqs3p_rx_de-skew = <14>;
cs1_dqs3p_tx_de-skew = <9>;
cs1_dqs3n_tx_de-skew = <9>;
cs1_dqs2n_rx_de-skew = <14>;
cs1_dqs3n_rx_de-skew = <14>;
};
};

305
rk1808-evb-v10.dts Normal file
View File

@@ -0,0 +1,305 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/display/drm_mipi_dsi.h>
#include "rk1808-evb.dtsi"
/ {
model = "Rockchip RK1808 EVB V10 Board";
compatible = "rockchip,rk1808-evb-v10", "rockchip,rk1808";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff550000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=ext4 rootwait kpti=0 snd_aloop.index=7";
};
vad-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk1808-vad";
rockchip,cpu = <&i2s0>;
rockchip,codec = <&vad>;
};
};
&adc_key {
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <18000>;
};
};
&display_subsystem {
status = "okay";
};
&dsi {
status = "okay";
panel@0 {
compatible = "sitronix,st7703", "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
enable-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
power-supply = <&vcc5v0_sys>;
prepare-delay-ms = <2>;
reset-delay-ms = <1>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <50>;
unprepare-delay-ms = <20>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
05 fa 01 11
39 00 04 b9 f1 12 83
39 00 1c ba 33 81 05 f9 0e 0e 00 00 00
00 00 00 00 00 44 25 00 91 0a
00 00 02 4f 01 00 00 37
15 00 02 b8 25
39 00 04 bf 02 11 00
39 00 0b b3 0c 10 0a 50 03 ff 00 00 00
00
39 00 0a c0 73 73 50 50 00 00 08 70 00
15 00 02 bc 46
15 00 02 cc 0b
15 00 02 b4 80
39 00 04 b2 c8 12 30
39 00 0f e3 07 07 0b 0b 03 0b 00 00 00
00 ff 00 c0 10
39 00 0d c1 53 00 1e 1e 77 e1 cc dd 67
77 33 33
39 00 07 c6 00 00 ff ff 01 ff
39 00 03 b5 09 09
39 00 03 b6 87 95
39 00 40 e9 c2 10 05 05 10 05 a0 12 31
23 3f 81 0a a0 37 18 00 80 01
00 00 00 00 80 01 00 00 00 48
f8 86 42 08 88 88 80 88 88 88
58 f8 87 53 18 88 88 81 88 88
88 00 00 00 01 00 00 00 00 00
00 00 00 00
39 00 3e ea 00 1a 00 00 00 00 02 00 00
00 00 00 1f 88 81 35 78 88 88
85 88 88 88 0f 88 80 24 68 88
88 84 88 88 88 23 10 00 00 1c
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 30 05 a0 00 00
00 00
39 00 23 e0 00 06 08 2a 31 3f 38 36 07
0c 0d 11 13 12 13 11 18 00 06
08 2a 31 3f 38 36 07 0c 0d 11
13 12 13 11 18
05 32 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <64000000>;
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>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&i2c3 {
status = "okay";
clock-frequency = <100000>;
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vdd1v5_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
pwdn-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0>;
port {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
data-lanes = <1 2>;
};
};
};
};
&i2s0 {
status = "okay";
#sound-dai-cells = <0>;
};
&i2s1 {
status = "okay";
#sound-dai-cells = <0>;
};
&isp_mmu {
status = "okay";
};
&mipi_dphy {
status = "okay";
};
&mipi_dphy_rx {
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 = <&ucam_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>;
};
};
};
};
&rk_rga {
status = "okay";
};
&rk809_sound {
status = "okay";
};
&rkisp1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&rng {
status = "okay";
};
&rockchip_suspend {
status = "okay";
rockchip,sleep-debug-en = <1>;
};
&route_dsi {
status = "disabled";
};
&tsadc {
rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
pinctrl-names = "gpio", "otpout";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s0>;
rockchip,buffer-time-ms = <200>;
rockchip,det-channel = <0>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};
&vop_lite {
status = "okay";
};
&vopl_mmu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&vpu_service {
status = "okay";
};

272
rk1808-evb-x4-second.dts Normal file
View File

@@ -0,0 +1,272 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/display/drm_mipi_dsi.h>
#include "rk1808-evb.dtsi"
/ {
model = "Rockchip RK1808 EVB X4 Board";
compatible = "rockchip,rk1808-evb-x4", "rockchip,rk1808";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff550000 console=ttyFIQ0 dump_initrd init=/init kpti=0";
};
};
&adc_key {
power-key {
linux,code = <KEY_POWER>;
label = "power key";
press-threshold-microvolt = <18000>;
};
};
/delete-node/ &backlight;
/delete-node/ &vcc1v8_dvp;
/delete-node/ &vdd1v5_dvp;
/delete-node/ &vcc2v8_dvp;
&cif {
status = "okay";
port {
cif_in: endpoint@0 {
remote-endpoint = <&dphy_rx_out>;
data-lanes = <1 2 3 4>;
};
};
};
&cif_mmu {
status = "okay";
};
&cru {
assigned-clocks =
<&cru PLL_GPLL>, <&cru PLL_CPLL>,
<&cru PLL_PPLL>, <&cru ARMCLK>,
<&cru MSCLK_PERI>, <&cru LSCLK_PERI>,
<&cru HSCLK_BUS_PRE>, <&cru MSCLK_BUS_PRE>,
<&cru LSCLK_BUS_PRE>, <&cru DCLK_VOPRAW>;
assigned-clock-rates =
<1188000000>, <1000000000>,
<100000000>, <816000000>,
<200000000>, <100000000>,
<300000000>, <200000000>,
<100000000>, <80000000>;
};
&csi_tx {
status = "okay";
csi-tx-bypass-mode = <1>;
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 |
MIPI_DSI_CLOCK_NON_CONTINUOUS)>;
dsi,format = <MIPI_CSI_FMT_RAW8>;
dsi,lanes = <4>;
display-timings {
native-mode = <&timing_1280x3_720>;
timing_1280x3_720: timing-1280x3-720 {
clock-frequency = <80000000>;
hactive = <3840>;
vactive = <720>;
hfront-porch = <1200>;
hsync-len = <500>;
hback-porch = <30>;
vfront-porch = <40>;
vsync-len = <20>;
vback-porch = <40>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
timing_4k: timing-4k {
clock-frequency = <250000000>;
hactive = <3840>;
vactive = <2160>;
hfront-porch = <1500>;
hsync-len = <500>;
hback-porch = <30>;
vfront-porch = <40>;
vsync-len = <20>;
vback-porch = <40>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
timing_4096: timing-4096 {
clock-frequency = <100000000>;
hactive = <4096>;
vactive = <2048>;
hfront-porch = <1500>;
hsync-len = <500>;
hback-porch = <30>;
vfront-porch = <40>;
vsync-len = <20>;
vback-porch = <40>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
timing_1920x3_1080: timing-1920x3-1080 {
clock-frequency = <250000000>;
hactive = <5760>;
vactive = <1080>;
hfront-porch = <1500>;
hsync-len = <70>;
hback-porch = <30>;
vfront-porch = <40>;
vsync-len = <20>;
vback-porch = <40>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
};
};
&display_subsystem {
status = "okay";
};
&emmc {
status = "disabled";
};
&gmac {
status = "disabled";
};
&i2c0 {
status = "okay";
vcamera@30 {
compatible = "rockchip,virtual-camera";
reg = <0x30>;
width = <3840>;
height = <720>;
bus-format = <MEDIA_BUS_FMT_SBGGR8_1X8>;
port {
vcamera_out: endpoint {
remote-endpoint = <&dphy_rx_in>;
link-frequencies = /bits/ 64 <320000000>;
};
};
};
};
&i2c1 {
status = "disabled";
};
&i2c4 {
status = "disabled";
};
&mipi_dphy {
status = "okay";
};
&mipi_dphy_rx {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dphy_rx_in: endpoint@1 {
reg = <1>;
remote-endpoint = <&vcamera_out>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
dphy_rx_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_in>;
};
};
};
};
&rk809_codec {
status = "disabled";
};
&rk_rga {
status = "okay";
};
&route_csi {
status = "disabled";
};
&sdmmc {
status = "disabled";
};
&sdio {
status = "disabled";
};
&sfc {
status = "okay";
};
&uart4 {
status = "disabled";
};
&wireless_bluetooth {
status = "disabled";
};
&wireless_wlan {
status = "disabled";
};
&tsadc {
rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
pinctrl-names = "init", "default";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&vop_raw {
status = "okay";
};
&vopr_mmu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};

271
rk1808-evb-x4.dts Normal file
View File

@@ -0,0 +1,271 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/display/drm_mipi_dsi.h>
#include "rk1808-evb.dtsi"
/ {
model = "Rockchip RK1808 EVB X4 Board";
compatible = "rockchip,rk1808-evb-x4", "rockchip,rk1808";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff550000 console=ttyFIQ0 dump_initrd init=/init kpti=0";
};
};
&adc_key {
power-key {
linux,code = <KEY_POWER>;
label = "power key";
press-threshold-microvolt = <18000>;
};
};
/delete-node/ &backlight;
/delete-node/ &vcc1v8_dvp;
/delete-node/ &vdd1v5_dvp;
/delete-node/ &vcc2v8_dvp;
&cif {
status = "okay";
port {
cif_in: endpoint@0 {
remote-endpoint = <&dphy_rx_out>;
data-lanes = <1 2 3 4>;
};
};
};
&cif_mmu {
status = "okay";
};
&cru {
assigned-clocks =
<&cru PLL_GPLL>, <&cru PLL_CPLL>,
<&cru PLL_PPLL>, <&cru ARMCLK>,
<&cru MSCLK_PERI>, <&cru LSCLK_PERI>,
<&cru HSCLK_BUS_PRE>, <&cru MSCLK_BUS_PRE>,
<&cru LSCLK_BUS_PRE>, <&cru DCLK_VOPRAW>;
assigned-clock-rates =
<1188000000>, <1000000000>,
<100000000>, <816000000>,
<200000000>, <100000000>,
<300000000>, <200000000>,
<100000000>, <80000000>;
};
&csi_tx {
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 |
MIPI_DSI_CLOCK_NON_CONTINUOUS)>;
dsi,format = <MIPI_CSI_FMT_RAW8>;
dsi,lanes = <4>;
display-timings {
native-mode = <&timing_1280x3_720>;
timing_1280x3_720: timing-1280x3-720 {
clock-frequency = <80000000>;
hactive = <3840>;
vactive = <720>;
hfront-porch = <1200>;
hsync-len = <500>;
hback-porch = <30>;
vfront-porch = <40>;
vsync-len = <20>;
vback-porch = <40>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
timing_4k: timing-4k {
clock-frequency = <250000000>;
hactive = <3840>;
vactive = <2160>;
hfront-porch = <1500>;
hsync-len = <500>;
hback-porch = <30>;
vfront-porch = <40>;
vsync-len = <20>;
vback-porch = <40>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
timing_4096: timing-4096 {
clock-frequency = <190000000>;
hactive = <4096>;
vactive = <2048>;
hfront-porch = <1500>;
hsync-len = <500>;
hback-porch = <30>;
vfront-porch = <40>;
vsync-len = <20>;
vback-porch = <40>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
timing_1920x3_1080: timing-1920x3-1080 {
clock-frequency = <250000000>;
hactive = <5760>;
vactive = <1080>;
hfront-porch = <1500>;
hsync-len = <70>;
hback-porch = <30>;
vfront-porch = <40>;
vsync-len = <20>;
vback-porch = <40>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
};
};
&display_subsystem {
status = "okay";
};
&emmc {
status = "disabled";
};
&gmac {
status = "disabled";
};
&i2c0 {
status = "okay";
vcamera@30 {
compatible = "rockchip,virtual-camera";
reg = <0x30>;
width = <1280>;
height = <720>;
bus-format = <MEDIA_BUS_FMT_RGB888_1X24>;
port {
vcamera_out: endpoint {
remote-endpoint = <&dphy_rx_in>;
link-frequencies = /bits/ 64 <320000000>;
};
};
};
};
&i2c1 {
status = "disabled";
};
&i2c4 {
status = "disabled";
};
&mipi_dphy {
status = "okay";
};
&mipi_dphy_rx {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dphy_rx_in: endpoint@1 {
reg = <1>;
remote-endpoint = <&vcamera_out>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
dphy_rx_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_in>;
};
};
};
};
&rk809_codec {
status = "disabled";
};
&rk_rga {
status = "okay";
};
&route_csi {
status = "disabled";
};
&sdmmc {
status = "disabled";
};
&sdio {
status = "disabled";
};
&sfc {
status = "okay";
};
&uart4 {
status = "disabled";
};
&wireless_bluetooth {
status = "disabled";
};
&wireless_wlan {
status = "disabled";
};
&tsadc {
rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
pinctrl-names = "init", "default";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&vop_raw {
status = "okay";
};
&vopr_mmu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};

717
rk1808-evb.dtsi Normal file
View File

@@ -0,0 +1,717 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
// Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd.
#include <dt-bindings/display/media-bus-format.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/sensor-dev.h>
#include "rk1808.dtsi"
/ {
model = "Rockchip RK1808 EVB";
compatible = "rockchip,rk1808-evb", "rockchip,rk1808";
adc_key: adc-keys {
compatible = "adc-keys";
autorepeat;
io-channels = <&saradc 2>;
io-channel-names = "buttons";
keyup-threshold-microvolt = <1800000>;
poll-interval = <100>;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
display_subsystem: display-subsystem {
compatible = "rockchip,display-subsystem";
ports = <&vop_lite_out>, <&vop_raw_out>;
logo-memory-region = <&drm_logo>;
status = "disabled";
route {
route_csi: route-csi {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vop_raw_out_csi>;
};
route_dsi: route-dsi {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vop_lite_out_dsi>;
};
route_rgb: route-rgb {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vop_lite_out_rgb>;
};
};
};
fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <0>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
drm_logo: drm-logo@00000000 {
compatible = "rockchip,drm-logo";
reg = <0x0 0x0 0x0 0x0>;
};
ramoops: ramoops@110000 {
compatible = "ramoops";
reg = <0x0 0x110000 0x0 0xf0000>;
record-size = <0x30000>;
console-size = <0xc0000>;
ftrace-size = <0x00000>;
pmsg-size = <0x00000>;
};
};
rk809_sound: rk809-sound {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,rk809-codec";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Mic Jack", "MICBIAS1",
"IN1P", "Mic Jack",
"Headphone Jack", "HPOL",
"Headphone Jack", "HPOR";
simple-audio-card,cpu {
sound-dai = <&i2s1>;
};
simple-audio-card,codec {
sound-dai = <&rk809_codec>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio4 RK_PC0 GPIO_ACTIVE_LOW>;
};
vcc_otg_vbus: otg-vbus-regulator {
compatible = "regulator-fixed";
gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&otg_vbus_drv>;
regulator-name = "vcc_otg_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
};
vcc5v0_sys: vcc5v0-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
wireless_bluetooth: wireless-bluetooth {
compatible = "bluetooth-platdata";
uart_rts_gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart4_rts>;
pinctrl-1 = <&uart4_rts_gpio>;
BT,power_gpio = <&gpio4 RK_PC3 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless_wlan: wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_wake_host>;
wifi_chip_type = "ap6212";
WIFI,host_wake_irq = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&cpu0 {
cpu-supply = <&vdd_cpu>;
};
&cpu1 {
cpu-supply = <&vdd_cpu>;
};
&combphy {
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
max-frequency = <200000000>;
mmc-hs200-1_8v;
no-sdio;
no-sd;
non-removable;
num-slots = <1>;
status = "okay";
};
&gmac {
phy-supply = <&vcc_phy>;
phy-mode = "rgmii";
clock_in_out = "input";
snps,reset-gpio = <&gpio0 10 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
/* Reset time is 20ms, 100ms for rtl8211f */
snps,reset-delays-us = <0 20000 100000>;
assigned-clocks = <&cru SCLK_GMAC>;
assigned-clock-parents = <&gmac_clkin>;
tx_delay = <0x50>;
rx_delay = <0x3a>;
status = "okay";
};
&i2c0 {
status = "okay";
clock-frequency = <400000>;
vdd_npu: tcs4525@1c {
compatible = "tcs,tcs4525";
reg = <0x1c>;
vin-supply = <&vcc5v0_sys>;
regulator-compatible = "fan53555-reg";
pinctrl-0 = <&vsel_gpio>;
vsel-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
regulator-name = "vdd_npu";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <2300>;
fcs,suspend-voltage-selector = <0>;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_gpio>, <&rk817_slppin_null>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <0>;
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc_buck5>;
vcc6-supply = <&vcc_buck5>;
vcc7-supply = <&vcc5v0_sys>;
vcc8-supply = <&vcc_3v3>;
vcc9-supply = <&vcc5v0_sys>;
pwrkey {
status = "okay";
};
rtc {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_log: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_log";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <800000>;
};
};
vdd_cpu: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_cpu";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_ddr";
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v3: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v3";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vdda_0v8: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
regulator-name = "vdda_0v8";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <800000>;
};
};
vcc_1v8: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc_1v8";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd_0v8: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
regulator-name = "vdd_0v8";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <800000>;
};
};
vcca_1v8: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcca_1v8";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vcc1v8_dvp: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG6 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vccio_sd: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc3v3_sd: LDO_REG9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_buck5: DCDC_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
regulator-name = "vcc_buck5";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <2200000>;
};
};
vcc5v0_host: SWITCH_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc5v0_host";
};
vccio_3v3: SWITCH_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vccio_3v3";
};
};
rk809_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk809-codec", "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_2CH_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
status = "okay";
};
};
};
&i2c1 {
status = "okay";
gt1x: gt1x@14 {
compatible = "goodix,gt1x";
reg = <0x14>;
goodix,rst-gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
goodix,irq-gpio = <&gpio0 RK_PB5 IRQ_TYPE_LEVEL_LOW>;
};
};
&i2c4 {
status = "okay";
sensor@d {
status = "okay";
compatible = "ak8963";
reg = <0x0d>;
type = <SENSOR_TYPE_COMPASS>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <1>;
reprobe_en = <1>;
};
sensor@4c {
status = "okay";
compatible = "gs_mma7660";
reg = <0x4c>;
type = <SENSOR_TYPE_ACCEL>;
irq-gpio = <&gpio0 RK_PC6 IRQ_TYPE_LEVEL_LOW>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <2>;
reprobe_en = <1>;
};
};
&npu {
npu-supply = <&vdd_npu>;
status = "okay";
};
&pcie0 {
reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
/* Disable usbdrd_dwc3 and usbdrd3 if using pcie0 */
status = "disabled";
};
&power {
npu-supply = <&vdd_npu>;
};
&pwm1 {
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vcc_1v8>;
};
&sdio {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sd;
no-mmc;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <300>;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vmmc-supply = <&vcc3v3_sd>;
vqmmc-supply = <&vccio_sd>;
status = "okay";
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_xfer &uart4_cts>;
status = "okay";
};
&u2phy {
status = "okay";
};
&u2phy_host {
status = "okay";
};
&u2phy_otg {
status = "okay";
vbus-supply = <&vcc_otg_vbus>;
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&usbdrd3 {
status = "okay";
extcon = <&u2phy>;
};
&usbdrd_dwc3 {
status = "okay";
};
&pinctrl {
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
vsel_gpio: vsel-gpio {
rockchip,pins =
<0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins =
<4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
usb2 {
otg_vbus_drv: otg-vbus-drv {
rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-bluetooth {
uart4_rts_gpio: uart4-rts-gpio {
rockchip,pins = <4 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-wlan {
wifi_wake_host: wifi-wake-host {
rockchip,pins =
<4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};

58
rk1808-fpga.dts Normal file
View File

@@ -0,0 +1,58 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
// Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
/dts-v1/;
#include "rk1808.dtsi"
/ {
model = "Rockchip rk1808 fpga board";
compatible = "rockchip,fpga", "rockchip,rk1808";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff550000 console=ttyFIQ0 root=/dev/mmcblk1p8 rootfstype=ext4 rootwait clk_ignore_unused";
};
memory@200000 {
device_type = "memory";
reg = <0x0 0x00200000 0x0 0x0FE00000>;
};
fiq_debugger: fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
};
};
&emmc {
max-frequency = <400000>;
clocks = <&xin24m>, <&xin24m>, <&xin24m>, <&xin24m>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
mmc-hs200-1_8v;
no-sdio;
no-sd;
num-slots = <1>;
status = "okay";
};
&npu {
status = "okay";
};
&sdmmc {
max-frequency = <400000>;
clocks = <&xin24m>, <&xin24m>, <&xin24m>, <&xin24m>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
no-sdio;
no-mmc;
status = "okay";
};
/* If fiq_debugger set okay, need to define uart2 and to be disabled */
&uart2 {
status = "disabled";
};

3055
rk1808.dtsi Normal file

File diff suppressed because it is too large Load Diff

51
rk1808k.dtsi Normal file
View File

@@ -0,0 +1,51 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*/
&cpu0_opp_table {
rockchip,high-temp = <85000>;
rockchip,high-temp-max-freq = <1008000>;
};
&dmc {
status = "okay";
center-supply = <&vdd_log>;
system-status-freq = <
/*system status freq(KHz)*/
SYS_STATUS_NORMAL 924000
SYS_STATUS_REBOOT 924000
>;
};
&dmc_opp_table {
rockchip,high-temp = <85000>;
rockchip,high-temp-max-freq = <664000>;
rockchip,thermal-zone = "soc-thermal";
};
&thermal_zones {
soc-thermal {
sustainable-power = <1224>;
k_pu = <27>;
k_po = <55>;
k_i = <0>;
trips {
trip-point-0 {
temperature = <85000>;
};
trip-point-1 {
temperature = <100000>;
};
};
/delete-node/ cooling-maps;
cooling-maps {
map0 {
trip = <&target>;
cooling-device =
<&npu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
};

692
rk3308-ai-va-v10.dts Normal file
View File

@@ -0,0 +1,692 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include "rk3308.dtsi"
/ {
model = "Rockchip RK3308 voice assistant v10 board";
compatible = "rockchip,rk3308-ai-va-v10", "rockchip,rk3308";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff0c0000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait snd_aloop.index=7 snd_aloop.use_raw_jiffies=1";
};
adc-keys0 {
compatible = "adc-keys";
io-channels = <&saradc 0>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
func-key {
linux,code = <KEY_FN>;
label = "function";
press-threshold-microvolt = <17000>;
};
};
adc-keys1 {
compatible = "adc-keys";
io-channels = <&saradc 1>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
play-key {
linux,code = <KEY_PLAY>;
label = "play";
press-threshold-microvolt = <625000>;
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&mic_mute>;
mute {
gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_MICMUTE>;
label = "GPIO Mic Mute";
debounce-interval = <100>;
};
};
rotary {
compatible = "rotary-encoder";
pinctrl-names = "default";
pinctrl-0 = <&rotary_gpio>;
gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>,
<&gpio2 RK_PB4 GPIO_ACTIVE_LOW>;
linux,axis = <0>; /* REL_X */
rotary-encoder,relative-axis;
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
};
sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,name = "i2s_8ch_0";
simple-audio-card,dai-link@0 {
format = "i2s";
cpu {
sound-dai = <&i2s_8ch_0>;
};
codec {
sound-dai = <&dummy_codec>;
};
};
simple-audio-card,dai-link@1 {
format = "i2s";
cpu {
sound-dai = <&i2s_8ch_0>;
};
codec {
sound-dai = <&tas5711>;
};
};
};
dummy_codec: dummy-codec {
compatible = "rockchip,dummy-codec";
#sound-dai-cells = <0>;
};
vdd_log: vdd_core: vdd-core {
compatible = "pwm-regulator";
pwms = <&pwm0 0 5000 1>;
regulator-name = "vdd_core";
regulator-min-microvolt = <827000>;
regulator-max-microvolt = <1340000>;
regulator-init-microvolt = <1015000>;
regulator-always-on;
regulator-boot-on;
regulator-settling-time-up-us = <250>;
status = "okay";
};
vdd_1v0: vdd-1v0 {
compatible = "regulator-fixed";
regulator-name = "vdd_1v0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
vccio_sdio: vcc_1v8: vcc-1v8 {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_io>;
};
vcc_1v8_codec: vcc-1v8-codec {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8_codec";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_io>;
};
vcc_ddr: vcc-ddr {
compatible = "regulator-fixed";
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
};
vcc_3v3_codec: vcc_io: vcc-io {
compatible = "regulator-fixed";
regulator-name = "vcc_io";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vccio_flash: vccio-flash {
compatible = "regulator-fixed";
regulator-name = "vccio_flash";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
uart_rts_gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart4_rts>;
pinctrl-1 = <&uart4_rts_pin>;
BT,power_gpio = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
wifi_chip_type = "ap6255";
WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&cpu0 {
cpu-supply = <&vdd_core>;
};
&dmc {
center-supply = <&vdd_core>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&fiq_debugger {
status = "okay";
};
&io_domains {
status = "okay";
vccio0-supply = <&vcc_io>;
vccio1-supply = <&vcc_io>;
vccio2-supply = <&vcc_1v8>;
vccio3-supply = <&vccio_flash>;
vccio4-supply = <&vccio_sdio>;
vccio5-supply = <&vcc_io>;
};
&i2c1 {
clock-frequency = <400000>;
status = "okay";
is31fl3236: led-controller@3c {
compatible = "issi,is31fl3236";
reg = <0x3c>;
#address-cells = <1>;
#size-cells = <0>;
reset-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
led1: led@1 {
label = "led1";
reg = <1>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led2: led@2 {
label = "led2";
reg = <2>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led3: led@3 {
label = "led3";
reg = <3>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led4: led@4 {
label = "led4";
reg = <4>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led5: led@5 {
label = "led5";
reg = <5>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led6: led@6 {
label = "led6";
reg = <6>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led7: led@7 {
label = "led7";
reg = <7>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led8: led@8 {
label = "led8";
reg = <8>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led9: led@9 {
label = "led9";
reg = <9>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led10: led@10 {
label = "led10";
reg = <10>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led11: led@11 {
label = "led11";
reg = <11>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led12: led@12 {
label = "led12";
reg = <12>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led13: led@13 {
label = "led13";
reg = <13>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led14: led@14 {
label = "led14";
reg = <14>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led15: led@15 {
label = "led15";
reg = <15>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led16: led@16 {
label = "led16";
reg = <16>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led17: led@17 {
label = "led17";
reg = <17>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led18: led@18 {
label = "led18";
reg = <18>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led19: led@19 {
label = "led19";
reg = <19>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led20: led@20 {
label = "led20";
reg = <20>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led21: led@21 {
label = "led21";
reg = <21>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led22: led@22 {
label = "led22";
reg = <22>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led23: led@23 {
label = "led23";
reg = <23>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led124: led@24 {
label = "led24";
reg = <24>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led25: led@25 {
label = "led25";
reg = <25>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led26: led@26 {
label = "led26";
reg = <26>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led27: led@27 {
label = "led27";
reg = <27>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led28: led@28 {
label = "led28";
reg = <28>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led29: led@29 {
label = "led29";
reg = <29>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led30: led@30 {
label = "led30";
reg = <30>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led31: led@31 {
label = "led31";
reg = <31>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led32: led@32 {
label = "led32";
reg = <32>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led33: led@33 {
label = "led33";
reg = <33>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led34: led@34 {
label = "led34";
reg = <34>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led35: led@35 {
label = "led35";
reg = <35>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led36: led@36 {
label = "led36";
reg = <36>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
};
tas5711: tas5711@1b {
#sound-dai-cells = <0>;
compatible = "ti,tas5711";
reg = <0x1b>;
clocks = <&cru SCLK_I2S0_8CH_TX_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_0_mclk>;
pdn-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
};
};
&i2s_8ch_0 {
status = "okay";
assigned-clocks = <&cru SCLK_I2S0_8CH_RX>;
assigned-clock-parents = <&cru SCLK_I2S0_8CH_TX_MUX>;
rockchip,clk-trcm = <1>;
#sound-dai-cells = <0>;
};
&pinctrl {
buttons {
mic_mute: mic-mute {
rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
rotary {
rotary_gpio: rotary-gpio {
rockchip,pins =
<2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>,
<2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-bluetooth {
uart4_gpios: uart4-gpios {
rockchip,pins = <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-wlan {
wifi_wake_host: wifi-wake-host {
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&pwm0 {
status = "okay";
pinctrl-names = "active";
pinctrl-0 = <&pwm0_pin_pull_down>;
};
&rockchip_suspend {
rockchip,pwm-regulator-config = <
(0
| RKPM_PWM_REGULATOR
)
>;
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vcc_1v8>;
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
status = "okay";
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_xfer &uart4_cts>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};

55
rk3308-evb-amic-v10.dts Normal file
View File

@@ -0,0 +1,55 @@
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
#include "rk3308-evb-v10.dtsi"
/ {
model = "Rockchip RK3308 evb analog mic board";
compatible = "rockchip,rk3308-evb-amic-v10", "rockchip,rk3308";
vad_acodec_sound: vad-acodec-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec {
rockchip,micbias1;
rockchip,micbias2;
rockchip,en-always-grps = <0 1 2>;
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&is31fl3236 {
reg = <0x3f>;
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_2>;
rockchip,buffer-time-ms = <200>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

52
rk3308-evb-amic-v11.dts Normal file
View File

@@ -0,0 +1,52 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308-evb-v11.dtsi"
/ {
model = "Rockchip RK3308 evb analog mic v11 board";
compatible = "rockchip,rk3308-evb-amic-v11", "rockchip,rk3308";
vad_acodec_sound: vad-acodec-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec {
rockchip,micbias1;
rockchip,micbias2;
rockchip,en-always-grps = <1 2 3>;
rockchip,adc-grps-route = <1 2 3 0>;
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_2>;
rockchip,det-channel = <0>;
rockchip,buffer-time-ms = <200>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

52
rk3308-evb-amic-v13.dts Normal file
View File

@@ -0,0 +1,52 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308-evb-v13.dtsi"
/ {
model = "Rockchip RK3308 evb analog mic v13 board";
compatible = "rockchip,rk3308-evb-amic-v13", "rockchip,rk3308";
vad_acodec_sound: vad-acodec-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec {
rockchip,micbias1;
rockchip,micbias2;
rockchip,en-always-grps = <1 2 3>;
rockchip,adc-grps-route = <1 2 3 0>;
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_2>;
rockchip,det-channel = <0>;
rockchip,buffer-time-ms = <200>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

View File

@@ -0,0 +1,52 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308-evb-audio-v10.dtsi"
/ {
model = "Rockchip RK3308 evb audio analog mic v10 board";
compatible = "rockchip,rk3308-evb-audio-amic-v10", "rockchip,rk3308";
vad_acodec_sound: vad-acodec-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec {
rockchip,micbias1;
rockchip,micbias2;
rockchip,en-always-grps = <1 2 3>;
rockchip,adc-grps-route = <1 2 3 0>;
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_2>;
rockchip,det-channel = <0>;
rockchip,buffer-time-ms = <200>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

View File

@@ -0,0 +1,162 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308-evb-audio-amic-v10.dts"
/ {
model = "Rockchip RK3308B EVB AUDIO DDR3 V10 Board + Rockchip RK3308 RGB ExtBoard V10";
compatible = "rockchip,rk3308-evb-audio-rgb-display-v10", "rockchip,rk3308";
backlight: backlight {
status = "okay";
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
panel: panel {
compatible = "simple-panel";
bus-format = <MEDIA_BUS_FMT_RGB666_1X18>;
backlight = <&backlight>;
enable-gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
enable-delay-ms = <20>;
reset-gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>;
reset-value = <0>;
reset-delay-ms = <10>;
status = "okay";
display-timings {
native-mode = <&fx070_dhm11boe_timing>;
fx070_dhm11boe_timing: timing0 {
clock-frequency = <50000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <140>;
hfront-porch = <160>;
vback-porch = <20>;
vfront-porch = <20>;
hsync-len = <20>;
vsync-len = <2>; //value range <2~22>
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <1>;
};
};
port {
panel_in_rgb: endpoint {
remote-endpoint = <&rgb_out_panel>;
};
};
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
cma {
compatible = "shared-dma-pool";
reusable;
size = <0x0 0x1000000>;
linux,cma-default;
};
};
};
&display_subsystem {
status = "okay";
};
&i2c0 {
status = "okay";
gt9xx: gt9xx@14 {
compatible = "goodix,gt9xx";
reg = <0x14>;
pinctrl-names = "default";
pinctrl-0 = <&tp_int>;
touch-gpio = <&gpio0 RK_PA6 IRQ_TYPE_LEVEL_HIGH>;
reset-gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
max-x = <1024>;
max-y = <600>;
tp-size = <9110>;
};
};
&pwm1 {
status = "okay";
};
&rgb {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&lcdc_ctl>;
ports {
rgb_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
rgb_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in_rgb>;
};
};
};
};
&route_rgb {
status = "okay";
};
&vop {
status = "okay";
};
&pinctrl {
tp {
tp_int: tp-int {
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};

59
rk3308-evb-audio-v10.dtsi Normal file
View File

@@ -0,0 +1,59 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/input/input.h>
#include "rk3308-evb-v11.dtsi"
/ {
/delete-node/ wireless-wlan;
/delete-node/ wireless-bluetooth;
/delete-node/ gpio-keys;
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
wifi_chip_type = "ap6256";
WIFI,host_wake_irq = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
uart_rts_gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart4_rts>;
pinctrl-1 = <&uart4_rts_pin>;
BT,power_gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&acodec {
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
};
&emmc {
status = "okay";
};
&pinctrl {
acodec {
hp_det: hp-det {
rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_input_high>;
};
};
};
&sfc {
status = "okay";
};
&vccio_sd {
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
};

101
rk3308-evb-dmic-i2s-v10.dts Normal file
View File

@@ -0,0 +1,101 @@
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
#include "rk3308-evb-v10.dtsi"
/ {
model = "Rockchip RK3308 evb digital-i2s mic board";
compatible = "rockchip,rk3308-evb-dmic-i2s-v10", "rockchip,rk3308";
i2s_16ch_dais: i2s-16ch-dais {
status = "disabled";
compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
dais = <&i2s_8ch_0>, <&i2s_8ch_1>;
capture,channel-mapping = <8 8>;
playback,channel-mapping = <0 0>;
bitclock-master = <1 0>;
frame-master = <1 0>;
rockchip,grf = <&grf>;
};
i2s_8ch_0_2_dais: i2s-8ch-0-2-dais {
status = "okay";
compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
dais = <&i2s_8ch_0>, <&i2s_8ch_2>;
capture,channel-mapping = <6 2>;
playback,channel-mapping = <0 2>;
};
i2s-dmic-array {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,i2s-dmic-array";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s_8ch_0>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
vad-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,cpu = <&i2s_8ch_0_2_dais>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&i2s_8ch_0 {
status = "okay";
rockchip,no-dmaengine;
#sound-dai-cells = <0>;
};
&i2s_8ch_1 {
status = "disabled";
#sound-dai-cells = <0>;
rockchip,no-dmaengine;
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_1_m0_sdo0
&i2s_8ch_1_m0_sdo1_sdi3
&i2s_8ch_1_m0_sdo2_sdi2
&i2s_8ch_1_m0_sdo3_sdi1
&i2s_8ch_1_m0_sdi0>;
};
&i2s_8ch_2 {
status = "okay";
rockchip,no-dmaengine;
#sound-dai-cells = <0>;
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_0>;
rockchip,buffer-time-ms = <200>;
rockchip,det-channel = <0>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

View File

@@ -0,0 +1,77 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308-evb-v11.dtsi"
/ {
model = "Rockchip RK3308 evb digital-i2s mic v11 board";
compatible = "rockchip,rk3308-evb-dmic-i2s-v11", "rockchip,rk3308";
i2s_8ch_0_2_dais: i2s-8ch-0-2-dais {
status = "okay";
compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
dais = <&i2s_8ch_0>, <&i2s_8ch_2>;
capture,channel-mapping = <6 2>;
playback,channel-mapping = <0 2>;
};
i2s-dmic-array {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,i2s-dmic-array";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s_8ch_0>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
vad-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,cpu = <&i2s_8ch_0_2_dais>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&i2s_8ch_0 {
status = "okay";
rockchip,no-dmaengine;
#sound-dai-cells = <0>;
};
&i2s_8ch_2 {
status = "okay";
rockchip,no-dmaengine;
#sound-dai-cells = <0>;
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_0>;
rockchip,buffer-time-ms = <200>;
rockchip,det-channel = <0>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

View File

@@ -0,0 +1,88 @@
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
#include "rk3308-evb-v10.dtsi"
/ {
model = "Rockchip RK3308 evb digital-pdm mic board";
compatible = "rockchip,rk3308-evb-dmic-pdm-v10", "rockchip,rk3308";
pdm_i2s_dais: pdm-i2s-dais {
status = "okay";
compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
dais = <&pdm_8ch>, <&i2s_8ch_2>;
capture,channel-mapping = <6 2>;
playback,channel-mapping = <0 2>;
};
pdm-mic-array {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,pdm-mic-array";
simple-audio-card,cpu {
sound-dai = <&pdm_8ch>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
vad-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,cpu = <&pdm_i2s_dais>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&pdm_8ch {
status = "okay";
#sound-dai-cells = <0>;
rockchip,no-dmaengine;
pinctrl-names = "default";
pinctrl-0 = <&pdm_m2_clk
&pdm_m2_clkm
&pdm_m2_sdi0
&pdm_m2_sdi1
&pdm_m2_sdi2
&pdm_m2_sdi3>;
};
&vad {
status = "okay";
rockchip,audio-src = <&pdm_8ch>;
rockchip,buffer-time-ms = <200>;
rockchip,det-channel = <2>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};
&pdm_i2s_dais {
status = "okay";
#sound-dai-cells = <0>;
};
&i2s_8ch_2 {
status = "okay";
rockchip,no-dmaengine;
#sound-dai-cells = <0>;
};

View File

@@ -0,0 +1,92 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308-evb-v11.dtsi"
/ {
model = "Rockchip RK3308 evb digital-pdm mic v11 board";
compatible = "rockchip,rk3308-evb-dmic-pdm-v11", "rockchip,rk3308";
pdm_i2s_dais: pdm-i2s-dais {
status = "okay";
compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
dais = <&pdm_8ch>, <&i2s_8ch_2>;
capture,channel-mapping = <6 2>;
playback,channel-mapping = <0 2>;
bitclock-inversion = <1 0>;
};
pdm-mic-array {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,pdm-mic-array";
simple-audio-card,cpu {
sound-dai = <&pdm_8ch>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
vad-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,cpu = <&pdm_i2s_dais>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&rk_timer_rtc {
status = "okay";
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&pdm_8ch {
status = "okay";
#sound-dai-cells = <0>;
rockchip,no-dmaengine;
pinctrl-names = "default";
pinctrl-0 = <&pdm_m2_clk
&pdm_m2_clkm
&pdm_m2_sdi0
&pdm_m2_sdi1
&pdm_m2_sdi2
&pdm_m2_sdi3>;
};
&vad {
status = "okay";
rockchip,audio-src = <&pdm_8ch>;
rockchip,det-channel = <0>;
rockchip,mode = <1>;
rockchip,buffer-time-ms = <200>;
#sound-dai-cells = <0>;
};
&i2s_8ch_2 {
status = "okay";
rockchip,no-dmaengine;
#sound-dai-cells = <0>;
};
&pdm_i2s_dais {
status = "okay";
#sound-dai-cells = <0>;
};

View File

@@ -0,0 +1,92 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308-evb-v13.dtsi"
/ {
model = "Rockchip RK3308 evb digital-pdm mic v13 board";
compatible = "rockchip,rk3308-evb-dmic-pdm-v13", "rockchip,rk3308";
pdm_i2s_dais: pdm-i2s-dais {
status = "okay";
compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
dais = <&pdm_8ch>, <&i2s_8ch_2>;
capture,channel-mapping = <6 2>;
playback,channel-mapping = <0 2>;
bitclock-inversion = <1 0>;
};
pdm-mic-array {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,pdm-mic-array";
simple-audio-card,cpu {
sound-dai = <&pdm_8ch>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
vad-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,cpu = <&pdm_i2s_dais>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&rk_timer_rtc {
status = "okay";
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_2ch_0 {
status = "okay";
#sound-dai-cells = <0>;
};
&pdm_8ch {
status = "okay";
#sound-dai-cells = <0>;
rockchip,no-dmaengine;
pinctrl-names = "default";
pinctrl-0 = <&pdm_m2_clk
&pdm_m2_clkm
&pdm_m2_sdi0
&pdm_m2_sdi1
&pdm_m2_sdi2
&pdm_m2_sdi3>;
};
&vad {
status = "okay";
rockchip,audio-src = <&pdm_8ch>;
rockchip,det-channel = <0>;
rockchip,mode = <1>;
rockchip,buffer-time-ms = <200>;
#sound-dai-cells = <0>;
};
&i2s_8ch_2 {
status = "okay";
rockchip,no-dmaengine;
#sound-dai-cells = <0>;
};
&pdm_i2s_dais {
status = "okay";
#sound-dai-cells = <0>;
};

265
rk3308-evb-ext-v10.dtsi Normal file
View File

@@ -0,0 +1,265 @@
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/ {
backlight: backlight {
status = "okay";
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
spi_gpio: spi-gpio {
compatible = "spi-gpio";
#address-cells = <0x1>;
#size-cells = <0x0>;
pinctrl-names = "default";
pinctrl-0 = <&spi_pins>;
spi-delay-us = <10>;
status = "okay";
sck-gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
miso-gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_HIGH>;
mosi-gpios = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
cs-gpios = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
/*
* 320x480 RGB/MCU screen K350C4516T
*/
panel: panel {
compatible = "simple-panel-spi";
reg = <0>;
bus-format = <MEDIA_BUS_FMT_RGB666_1X18>;
backlight = <&backlight>;
enable-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
enable-delay-ms = <20>;
reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
reset-delay-ms = <10>;
prepare-delay-ms = <20>;
unprepare-delay-ms = <20>;
disable-delay-ms = <20>;
init-delay-ms = <10>;
width-mm = <217>;
height-mm = <136>;
rockchip,cmd-type = "spi";
status = "okay";
// type:0 is cmd, 1 is data
panel-init-sequence = [
/* type delay num val1 val2 val3 */
00 00 01 e0
01 00 01 00
01 00 01 07
01 00 01 0f
01 00 01 0d
01 00 01 1b
01 00 01 0a
01 00 01 3c
01 00 01 78
01 00 01 4a
01 00 01 07
01 00 01 0e
01 00 01 09
01 00 01 1b
01 00 01 1e
01 00 01 0f
00 00 01 e1
01 00 01 00
01 00 01 22
01 00 01 24
01 00 01 06
01 00 01 12
01 00 01 07
01 00 01 36
01 00 01 47
01 00 01 47
01 00 01 06
01 00 01 0a
01 00 01 07
01 00 01 30
01 00 01 37
01 00 01 0f
00 00 01 c0
01 00 01 10
01 00 01 10
00 00 01 c1
01 00 01 41
00 00 01 c5
01 00 01 00
01 00 01 22
01 00 01 80
00 00 01 36
01 00 01 48
00 00 01 3a
01 00 01 66 /*
* interface pixel format:
* 66 for RGB666(18bit)
*/
00 00 01 b0
01 00 01 00
00 00 01 b1
01 00 01 a0 /*
* frame rate control:
* a0 (60hz) for RGB666(18bit)
*/
01 00 01 11
00 00 01 b4
01 00 01 02
00 00 01 B6
01 00 01 32 /*
* display function control:
* 32 for RGB
* 02 for MCU
*/
01 00 01 02
00 00 01 b7
01 00 01 c6
00 00 01 be
01 00 01 00
01 00 01 04
00 00 01 e9
01 00 01 00
00 00 01 f7
01 00 01 a9
01 00 01 51
01 00 01 2c
01 00 01 82
00 78 01 11
00 00 01 29
];
panel-exit-sequence = [
//type delay num val1 val2 val3
00 0a 01 28
00 78 01 10
];
display-timings {
native-mode = <&kd050fwfba002_timing>;
kd050fwfba002_timing: timing0 {
/*
* 10453500 for RGB666(18bit)
*/
clock-frequency = <10453500>;
hactive = <320>;
vactive = <480>;
hback-porch = <10>;
hfront-porch = <5>;
vback-porch = <10>;
vfront-porch = <5>;
hsync-len = <10>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <1>;
};
};
port {
panel_in_rgb: endpoint {
remote-endpoint = <&rgb_out_panel>;
};
};
};
};
};
&display_subsystem {
status = "okay";
};
&pinctrl {
soft_spi {
spi_pins: spi-pins {
rockchip,pins =
/* spi sdo */
<3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>,
/* spi sdi */
<1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>,
/* spi scl */
<1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>,
/* spi cs */
<1 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pwm1 {
status = "okay";
};
&rgb {
status = "okay";
ports {
rgb_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
rgb_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in_rgb>;
};
};
};
};
&route_rgb {
status = "okay";
};
&vop {
status = "okay";
};

785
rk3308-evb-v10.dtsi Normal file
View File

@@ -0,0 +1,785 @@
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
#include <dt-bindings/input/input.h>
#include "rk3308.dtsi"
/ {
model = "Rockchip RK3308 EVB";
compatible = "rockchip,rk3308-evb", "rockchip,rk3308";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff0c0000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait snd_aloop.index=7 snd_aloop.use_raw_jiffies=1";
};
adc-keys0 {
compatible = "adc-keys";
io-channels = <&saradc 0>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
func-key {
linux,code = <KEY_FN>;
label = "function";
press-threshold-microvolt = <18000>;
};
};
adc-keys1 {
compatible = "adc-keys";
io-channels = <&saradc 1>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_MICMUTE>;
label = "micmute";
press-threshold-microvolt = <1130000>;
};
home-key {
linux,code = <KEY_MODE>;
label = "mode";
press-threshold-microvolt = <901000>;
};
menu-key {
linux,code = <KEY_PLAY>;
label = "play";
press-threshold-microvolt = <624000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <18000>;
};
};
dummy_codec: dummy-codec {
compatible = "rockchip,dummy-codec";
#sound-dai-cells = <0>;
};
gpio-keys {
compatible = "gpio-keys";
autorepeat;
pinctrl-names = "default";
pinctrl-0 = <&pwr_key>;
power {
gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "GPIO Key Power";
wakeup-source;
debounce-interval = <100>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
};
acodec_sound: acodec-sound {
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-acodec";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>;
};
bluetooth_sound: bluetooth-sound {
status = "disabled";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-pcm";
rockchip,mclk-fs = <128>;
rockchip,cpu = <&i2s_2ch_0>;
rockchip,codec = <&dummy_codec>;
rockchip,format = "dsp_b";
rockchip,bitclock-inversion = <0>;
rockchip,wait-card-locked = <0>;
};
spdif_rx_sound: spdif-rx-sound {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,spdif-rx-sound";
simple-audio-card,cpu {
sound-dai = <&spdif_rx>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
spdif_tx_sound: spdif-tx-sound {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,spdif-tx-sound";
simple-audio-card,mclk-fs = <128>;
simple-audio-card,cpu {
sound-dai = <&spdif_tx>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
vdd_log: vdd_core: vdd-core {
compatible = "pwm-regulator";
pwms = <&pwm0 0 5000 1>;
regulator-name = "vdd_core";
regulator-min-microvolt = <827000>;
regulator-max-microvolt = <1340000>;
regulator-init-microvolt = <1015000>;
regulator-early-min-microvolt = <1015000>;
regulator-always-on;
regulator-boot-on;
regulator-settling-time-up-us = <250>;
status = "okay";
};
vdd_1v0: vdd-1v0 {
compatible = "regulator-fixed";
regulator-name = "vdd_1v0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
vcc_3v3_codec: vcc_io: vcc-io {
compatible = "regulator-fixed";
regulator-name = "vcc_io";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vccio_sdio: vcc_1v8: vcc-1v8 {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_io>;
};
vcc_sd: vcc-sd {
compatible = "regulator-fixed";
gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
regulator-name = "vcc_sd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vcc_1v8_codec: vcc-1v8-codec {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8_codec";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_io>;
};
vcc_ddr: vcc-ddr {
compatible = "regulator-fixed";
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
};
vccio_flash: vccio-flash {
compatible = "regulator-fixed";
regulator-name = "vccio_flash";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vbus_host: vbus-host-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_drv>;
regulator-name = "vbus_host";
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
uart_rts_gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart4_rts>;
pinctrl-1 = <&uart4_rts_pin>;
BT,power_gpio = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
wifi_chip_type = "ap6255";
WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&acodec {
status = "okay";
rockchip,no-deep-low-power;
rockchip,loopback-grp = <3>;
hp-ctl-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
spk-ctl-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
};
&cpu0 {
cpu-supply = <&vdd_core>;
};
&dmc {
center-supply = <&vdd_core>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&fiq_debugger {
status = "okay";
};
&mac {
phy-supply = <&vcc_phy>;
assigned-clocks = <&cru SCLK_MAC>;
assigned-clock-parents = <&mac_clkin>;
clock_in_out = "input";
pinctrl-names = "default";
pinctrl-0 = <&rmii_pins &mac_refclk>;
snps,reset-gpio = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 50000 50000>;
status = "disable";
};
&io_domains {
status = "okay";
vccio0-supply = <&vcc_io>;
vccio1-supply = <&vcc_io>;
vccio2-supply = <&vcc_1v8>;
vccio3-supply = <&vccio_flash>;
vccio4-supply = <&vccio_sdio>;
vccio5-supply = <&vcc_io>;
};
&i2c1 {
clock-frequency = <400000>;
status = "okay";
is31fl3236: led-controller@3c {
compatible = "issi,is31fl3236";
reg = <0x3c>;
#address-cells = <1>;
#size-cells = <0>;
reset-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
led1: led@1 {
label = "led1";
reg = <1>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led2: led@2 {
label = "led2";
reg = <2>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led3: led@3 {
label = "led3";
reg = <3>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led4: led@4 {
label = "led4";
reg = <4>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led5: led@5 {
label = "led5";
reg = <5>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led6: led@6 {
label = "led6";
reg = <6>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led7: led@7 {
label = "led7";
reg = <7>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led8: led@8 {
label = "led8";
reg = <8>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led9: led@9 {
label = "led9";
reg = <9>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led10: led@10 {
label = "led10";
reg = <10>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led11: led@11 {
label = "led11";
reg = <11>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led12: led@12 {
label = "led12";
reg = <12>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led13: led@13 {
label = "led13";
reg = <13>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led14: led@14 {
label = "led14";
reg = <14>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led15: led@15 {
label = "led15";
reg = <15>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led16: led@16 {
label = "led16";
reg = <16>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led17: led@17 {
label = "led17";
reg = <17>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led18: led@18 {
label = "led18";
reg = <18>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led19: led@19 {
label = "led19";
reg = <19>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led20: led@20 {
label = "led20";
reg = <20>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led21: led@21 {
label = "led21";
reg = <21>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led22: led@22 {
label = "led22";
reg = <22>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led23: led@23 {
label = "led23";
reg = <23>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led124: led@24 {
label = "led24";
reg = <24>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led25: led@25 {
label = "led25";
reg = <25>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led26: led@26 {
label = "led26";
reg = <26>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led27: led@27 {
label = "led27";
reg = <27>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led28: led@28 {
label = "led28";
reg = <28>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led29: led@29 {
label = "led29";
reg = <29>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led30: led@30 {
label = "led30";
reg = <30>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led31: led@31 {
label = "led31";
reg = <31>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led32: led@32 {
label = "led32";
reg = <32>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led33: led@33 {
label = "led33";
reg = <33>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led34: led@34 {
label = "led34";
reg = <34>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led35: led@35 {
label = "led35";
reg = <35>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led36: led@36 {
label = "led36";
reg = <36>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
};
};
&i2s_8ch_2 {
status = "okay";
};
&nandc {
status = "okay";
};
&rockchip_suspend {
rockchip,pwm-regulator-config = <
(0
| RKPM_PWM_REGULATOR
)
>;
status = "okay";
};
&rng {
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vcc_1v8>;
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <300>;
vmmc-supply = <&vcc_sd>;
status = "disabled";
};
&sfc {
status = "okay";
};
&tsadc {
rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
status = "okay";
};
&pinctrl {
buttons {
pwr_key: pwr-key {
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
usb {
usb_drv: usb-drv {
rockchip,pins =
<0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-bluetooth {
uart4_gpios: uart4-gpios {
rockchip,pins = <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pwm0 {
status = "okay";
pinctrl-names = "active";
pinctrl-0 = <&pwm0_pin_pull_down>;
};
&u2phy {
status = "okay";
u2phy_host: host-port {
phy-supply = <&vbus_host>;
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_xfer &uart4_cts>;
status = "okay";
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci{
status = "okay";
};

848
rk3308-evb-v11.dtsi Normal file
View File

@@ -0,0 +1,848 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/input/input.h>
#include "rk3308.dtsi"
/ {
model = "Rockchip RK3308 EVB V11";
compatible = "rockchip,rk3308-evb-v11", "rockchip,rk3308";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff0c0000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait snd_aloop.index=7 snd_aloop.use_raw_jiffies=1";
};
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 1>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_MICMUTE>;
label = "micmute";
press-threshold-microvolt = <1130000>;
};
home-key {
linux,code = <KEY_MODE>;
label = "mode";
press-threshold-microvolt = <901000>;
};
menu-key {
linux,code = <KEY_PLAY>;
label = "play";
press-threshold-microvolt = <624000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <18000>;
};
};
dummy_codec: dummy-codec {
compatible = "rockchip,dummy-codec";
#sound-dai-cells = <0>;
};
gpio-keys {
compatible = "gpio-keys";
autorepeat;
pinctrl-names = "default";
pinctrl-0 = <&pwr_key>;
power {
gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "GPIO Key Power";
wakeup-source;
debounce-interval = <100>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
};
acodec_sound: acodec-sound {
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-acodec";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>;
};
bluetooth_sound: bluetooth-sound {
status = "disabled";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-pcm";
rockchip,mclk-fs = <128>;
rockchip,cpu = <&i2s_2ch_0>;
rockchip,codec = <&dummy_codec>;
rockchip,format = "dsp_b";
rockchip,bitclock-inversion = <0>;
rockchip,wait-card-locked = <0>;
};
spdif_rx_sound: spdif-rx-sound {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,spdif-rx-sound";
simple-audio-card,mclk-fs = <128>;
simple-audio-card,cpu {
sound-dai = <&spdif_rx>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
spdif_tx_sound: spdif-tx-sound {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,spdif-tx-sound";
simple-audio-card,cpu {
sound-dai = <&spdif_tx>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
tas5731_sound: tas5731-sound {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,tas5731";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s_8ch_1>;
};
simple-audio-card,codec {
sound-dai = <&tas5731>;
};
};
vdd_core: vdd-core {
compatible = "pwm-regulator";
pwms = <&pwm0 0 5000 1>;
regulator-name = "vdd_core";
regulator-min-microvolt = <827000>;
regulator-max-microvolt = <1340000>;
regulator-init-microvolt = <1015000>;
regulator-always-on;
regulator-boot-on;
regulator-settling-time-up-us = <250>;
status = "okay";
};
vdd_log: vdd-log {
compatible = "regulator-fixed";
regulator-name = "vdd_log";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
};
vdd_1v0: vdd-1v0 {
compatible = "regulator-fixed";
regulator-name = "vdd_1v0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
vccio_sdio: vcc_1v8: vcc-1v8 {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_io>;
};
vccio_sd: vccio-sd {
compatible = "regulator-gpio";
regulator-name = "vccio_sd";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
states = <1800000 0x0
3300000 0x1>;
};
vcc_sd: vcc-sd {
compatible = "regulator-fixed";
gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
regulator-name = "vcc_sd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vcc_1v8_codec: vcc-1v8-codec {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8_codec";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_io>;
};
vcc_ddr: vcc-ddr {
compatible = "regulator-fixed";
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
};
vcc_3v3_codec: vcc_io: vcc-io {
compatible = "regulator-fixed";
regulator-name = "vcc_io";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vccio_flash: vccio-flash {
compatible = "regulator-fixed";
regulator-name = "vccio_flash";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vbus_host: vbus-host-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_drv>;
regulator-name = "vbus_host";
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
uart_rts_gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart4_rts>;
pinctrl-1 = <&uart4_rts_pin>;
BT,power_gpio = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
wifi_chip_type = "ap6255";
WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
status = "okay";
};
};
&acodec {
status = "okay";
rockchip,no-deep-low-power;
rockchip,loopback-grp = <0>;
hp-ctl-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
spk-ctl-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
};
&cpu0 {
cpu-supply = <&vdd_core>;
};
&cpu0_opp_table {
opp-1200000000 {
status = "okay";
};
opp-1296000000 {
status = "okay";
};
};
&rk3308bs_cpu0_opp_table {
opp-1008000000 {
status = "okay";
};
opp-1104000000 {
status = "okay";
};
};
&dmc {
center-supply = <&vdd_log>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "disabled";
};
&fiq_debugger {
status = "okay";
};
&mac {
phy-supply = <&vcc_phy>;
assigned-clocks = <&cru SCLK_MAC>;
assigned-clock-parents = <&mac_clkin>;
clock_in_out = "input";
pinctrl-names = "default";
pinctrl-0 = <&rmii_pins &mac_refclk>;
snps,reset-gpio = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 50000 50000>;
status = "disable";
};
&io_domains {
status = "okay";
vccio0-supply = <&vcc_io>;
vccio1-supply = <&vcc_io>;
vccio2-supply = <&vcc_1v8>;
vccio3-supply = <&vccio_flash>;
vccio4-supply = <&vccio_sdio>;
vccio5-supply = <&vccio_sd>;
};
&i2c1 {
clock-frequency = <400000>;
status = "okay";
tas5731: tas5731@1a {
#sound-dai-cells = <0>;
compatible = "ti,tas5731";
reg = <0x1a>;
clocks = <&cru SCLK_I2S1_8CH_TX_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_1_m0_mclk>;
pdn-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
};
is31fl3236: led-controller@3f {
compatible = "issi,is31fl3236";
reg = <0x3f>;
#address-cells = <1>;
#size-cells = <0>;
reset-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
led1: led@1 {
label = "led1";
reg = <1>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led2: led@2 {
label = "led2";
reg = <2>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led3: led@3 {
label = "led3";
reg = <3>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led4: led@4 {
label = "led4";
reg = <4>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led5: led@5 {
label = "led5";
reg = <5>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led6: led@6 {
label = "led6";
reg = <6>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led7: led@7 {
label = "led7";
reg = <7>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led8: led@8 {
label = "led8";
reg = <8>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led9: led@9 {
label = "led9";
reg = <9>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led10: led@10 {
label = "led10";
reg = <10>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led11: led@11 {
label = "led11";
reg = <11>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led12: led@12 {
label = "led12";
reg = <12>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led13: led@13 {
label = "led13";
reg = <13>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led14: led@14 {
label = "led14";
reg = <14>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led15: led@15 {
label = "led15";
reg = <15>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led16: led@16 {
label = "led16";
reg = <16>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led17: led@17 {
label = "led17";
reg = <17>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led18: led@18 {
label = "led18";
reg = <18>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led19: led@19 {
label = "led19";
reg = <19>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led20: led@20 {
label = "led20";
reg = <20>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led21: led@21 {
label = "led21";
reg = <21>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led22: led@22 {
label = "led22";
reg = <22>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led23: led@23 {
label = "led23";
reg = <23>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led124: led@24 {
label = "led24";
reg = <24>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led25: led@25 {
label = "led25";
reg = <25>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led26: led@26 {
label = "led26";
reg = <26>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led27: led@27 {
label = "led27";
reg = <27>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led28: led@28 {
label = "led28";
reg = <28>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led29: led@29 {
label = "led29";
reg = <29>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led30: led@30 {
label = "led30";
reg = <30>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led31: led@31 {
label = "led31";
reg = <31>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led32: led@32 {
label = "led32";
reg = <32>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led33: led@33 {
label = "led33";
reg = <33>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led34: led@34 {
label = "led34";
reg = <34>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led35: led@35 {
label = "led35";
reg = <35>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led36: led@36 {
label = "led36";
reg = <36>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
};
};
&i2s_8ch_1 {
status = "disabled";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_1_m0_sclktx
&i2s_8ch_1_m0_lrcktx
&i2s_8ch_1_m0_sdo0
&i2s_8ch_1_m0_mclk>;
};
&i2s_8ch_2 {
status = "okay";
};
&nandc {
status = "okay";
};
&rockchip_suspend {
rockchip,pwm-regulator-config = <
(0
| RKPM_PWM_REGULATOR
)
>;
status = "okay";
};
&rng {
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vcc_1v8>;
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <300>;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vmmc-supply = <&vcc_sd>;
vqmmc-supply = <&vccio_sd>;
status = "disabled";
};
&tsadc {
rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
status = "okay";
};
&pinctrl {
buttons {
pwr_key: pwr-key {
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
usb {
usb_drv: usb-drv {
rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-bluetooth {
uart4_gpios: uart4-gpios {
rockchip,pins = <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-wlan {
wifi_wake_host: wifi-wake-host {
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&pwm0 {
status = "okay";
pinctrl-names = "active";
pinctrl-0 = <&pwm0_pin_pull_down>;
};
&u2phy {
status = "okay";
u2phy_host: host-port {
phy-supply = <&vbus_host>;
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_xfer &uart4_cts>;
status = "okay";
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci{
status = "okay";
};

23
rk3308-evb-v13.dtsi Normal file
View File

@@ -0,0 +1,23 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/input/input.h>
#include "rk3308-evb-v11.dtsi"
/ {
model = "Rockchip RK3308 EVB V13";
compatible = "rockchip,rk3308-evb-v13", "rockchip,rk3308";
/delete-node/ wireless-wlan;
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
wifi_chip_type = "ap6256";
WIFI,host_wake_irq = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};

227
rk3308-evb.dts Normal file
View File

@@ -0,0 +1,227 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include "rk3308.dtsi"
/ {
model = "Rockchip RK3308 EVB";
compatible = "rockchip,rk3308-evb", "rockchip,rk3308";
chosen {
stdout-path = "serial4:1500000n8";
};
adc-keys0 {
compatible = "adc-keys";
io-channels = <&saradc 0>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
func-key {
linux,code = <KEY_FN>;
label = "function";
press-threshold-microvolt = <18000>;
};
};
adc-keys1 {
compatible = "adc-keys";
io-channels = <&saradc 1>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_MICMUTE>;
label = "micmute";
press-threshold-microvolt = <1130000>;
};
home-key {
linux,code = <KEY_MODE>;
label = "mode";
press-threshold-microvolt = <901000>;
};
menu-key {
linux,code = <KEY_PLAY>;
label = "play";
press-threshold-microvolt = <624000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <18000>;
};
};
gpio-keys {
compatible = "gpio-keys";
autorepeat;
pinctrl-names = "default";
pinctrl-0 = <&pwr_key>;
power {
gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "GPIO Key Power";
debounce-interval = <100>;
wakeup-source;
};
};
vcc12v_dcin: vcc12v-dcin {
compatible = "regulator-fixed";
regulator-name = "vcc12v_dcin";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vcc5v0-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc12v_dcin>;
};
vccio_sdio: vcc_1v8: vcc-1v8 {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc_io>;
};
vcc_ddr: vcc-ddr {
compatible = "regulator-fixed";
regulator-name = "vcc_ddr";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
};
vcc_io: vcc-io {
compatible = "regulator-fixed";
regulator-name = "vcc_io";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
};
vccio_flash: vccio-flash {
compatible = "regulator-fixed";
regulator-name = "vccio_flash";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc_io>;
};
vcc5v0_host: vcc5v0-host {
compatible = "regulator-fixed";
gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&usb_drv>;
regulator-name = "vbus_host";
vin-supply = <&vcc5v0_sys>;
};
vdd_core: vdd-core {
compatible = "pwm-regulator";
pwms = <&pwm0 0 5000 1>;
regulator-name = "vdd_core";
regulator-min-microvolt = <827000>;
regulator-max-microvolt = <1340000>;
regulator-always-on;
regulator-boot-on;
regulator-settling-time-up-us = <250>;
pwm-supply = <&vcc5v0_sys>;
};
vdd_log: vdd-log {
compatible = "regulator-fixed";
regulator-name = "vdd_log";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
};
vdd_1v0: vdd-1v0 {
compatible = "regulator-fixed";
regulator-name = "vdd_1v0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
};
};
&cpu0 {
cpu-supply = <&vdd_core>;
};
&saradc {
status = "okay";
vref-supply = <&vcc_1v8>;
};
&pinctrl {
buttons {
pwr_key: pwr-key {
rockchip,pins = <0 RK_PA6 0 &pcfg_pull_up>;
};
};
usb {
usb_drv: usb-drv {
rockchip,pins = <0 RK_PC5 0 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 0 &pcfg_pull_none>;
};
};
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_pin_pull_down>;
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_xfer>;
status = "okay";
};

51
rk3308-fpga.dts Normal file
View File

@@ -0,0 +1,51 @@
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
#include "rk3308.dtsi"
/ {
model = "Rockchip RK3308 FPGA Platform";
compatible = "rockchip,rk3308-fpga", "rockchip,rk3308";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff0b0000 console=ttyFIQ0 init=/init initrd=0x9000000,0x18bfc0";
};
memory@200000 {
device_type = "memory";
reg = <0x0 0x00200000 0x0 0x0FE00000>;
};
};
&fiq_debugger {
rockchip,serial-id = <1>;
rockchip,irq-mode-enable = <1>;
status = "ok";
};
&cpu1 {
/delete-property/enable-method;
};
&cpu2 {
/delete-property/enable-method;
};
&cpu3 {
/delete-property/enable-method;
};
&emmc {
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
non-removable;
num-slots = <1>;
status = "okay";
};

182
rk3308-roc-cc.dts Normal file
View File

@@ -0,0 +1,182 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308.dtsi"
/ {
model = "Firefly ROC-RK3308-CC board";
compatible = "firefly,roc-rk3308-cc", "rockchip,rk3308";
chosen {
stdout-path = "serial2:1500000n8";
};
ir-receiver {
compatible = "gpio-ir-receiver";
gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&ir_recv_pin>;
};
ir_tx {
compatible = "pwm-ir-tx";
pwms = <&pwm5 0 25000 0>;
};
leds {
compatible = "gpio-leds";
power_led: led-0 {
label = "firefly:red:power";
linux,default-trigger = "ir-power-click";
default-state = "on";
gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
};
user_led: led-1 {
label = "firefly:blue:user";
linux,default-trigger = "ir-user-click";
default-state = "off";
gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
};
};
typec_vcc5v: typec-vcc5v {
compatible = "regulator-fixed";
regulator-name = "typec_vcc5v";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
};
vcc5v0_sys: vcc5v0-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&typec_vcc5v>;
};
vcc_io: vcc-io {
compatible = "regulator-fixed";
regulator-name = "vcc_io";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
};
vcc_sdmmc: vcc-sdmmc {
compatible = "regulator-gpio";
regulator-name = "vcc_sdmmc";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>;
states = <1800000 0x0>,
<3300000 0x1>;
vin-supply = <&vcc5v0_sys>;
};
vcc_sd: vcc-sd {
compatible = "regulator-fixed";
gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
regulator-name = "vcc_sd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc_io>;
};
vdd_core: vdd-core {
compatible = "pwm-regulator";
pwms = <&pwm0 0 5000 1>;
regulator-name = "vdd_core";
regulator-min-microvolt = <827000>;
regulator-max-microvolt = <1340000>;
regulator-init-microvolt = <1015000>;
regulator-settling-time-up-us = <250>;
regulator-always-on;
regulator-boot-on;
pwm-supply = <&vcc5v0_sys>;
};
vdd_log: vdd-log {
compatible = "regulator-fixed";
regulator-name = "vdd_log";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
};
};
&cpu0 {
cpu-supply = <&vdd_core>;
};
&emmc {
cap-mmc-highspeed;
mmc-hs200-1_8v;
non-removable;
status = "okay";
};
&i2c1 {
clock-frequency = <400000>;
status = "okay";
rtc: rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
#clock-cells = <0>;
};
};
&pwm5 {
status = "okay";
pinctrl-names = "active";
pinctrl-0 = <&pwm5_pin_pull_down>;
};
&pinctrl {
ir-receiver {
ir_recv_pin: ir-recv-pin {
rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
buttons {
pwr_key: pwr-key {
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_pin_pull_down>;
};
&sdmmc {
cap-mmc-highspeed;
cap-sd-highspeed;
card-detect-delay = <300>;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vmmc-supply = <&vcc_sd>;
vqmmc-supply = <&vcc_sdmmc>;
status = "okay";
};
&uart2 {
status = "okay";
};

View File

@@ -0,0 +1,19 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "arm/rk3308-voice-module-board-v10-aarch32.dts"
/ {
model = "Rockchip RK3308 Voice Module Board V10";
compatible = "rockchip,rk3308-voice-module-board-v10", "rockchip,rk3308";
};
&ramoops {
reg = <0x0 0x110000 0x0 0xf0000>;
record-size = <0x30000>;
console-size = <0xc0000>;
};

2726
rk3308.dtsi Normal file

File diff suppressed because it is too large Load Diff

60
rk3308b-amp.dtsi Normal file
View File

@@ -0,0 +1,60 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd.
*/
#include <dt-bindings/soc/rockchip-amp.h>
/ {
rockchip_amp: rockchip-amp {
compatible = "rockchip,amp";
clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>,
<&cru PCLK_TIMER>, <&cru SCLK_TIMER4>, <&cru SCLK_TIMER5>;
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer>;
status = "okay";
amp-cpu-aff-maskbits = /bits/ 64 <0x0 0x1 0x1 0x2 0x2 0x4 0x3 0x8>;
amp-irqs = /bits/ 64 <GIC_AMP_IRQ_CFG_ROUTE(51, 0xd0, CPU_GET_AFFINITY(3, 0))
GIC_AMP_IRQ_CFG_ROUTE(132, 0xd0, CPU_GET_AFFINITY(3, 0))>;
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
/* remote amp core address */
amp_reserved: amp@2e00000 {
reg = <0x0 0x2e00000 0x0 0x1200000>;
no-map;
};
rpmsg_reserved: rpmsg@7c00000 {
reg = <0x0 0x07c00000 0x0 0x400000>;
no-map;
};
rpmsg_dma_reserved: rpmsg-dma@8000000 {
compatible = "shared-dma-pool";
reg = <0x0 0x08000000 0x0 0x100000>;
no-map;
};
};
rpmsg: rpmsg@7c00000 {
compatible = "rockchip,rpmsg-softirq";
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
rockchip,vdev-nums = <1>;
rockchip,link-id = <0x03>;
reg = <0x0 0x7c00000 0x0 0x20000>;
memory-region = <&rpmsg_dma_reserved>;
status = "okay";
};
};
&cpu3 {
status = "disabled";
};

View File

@@ -0,0 +1,60 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308b-evb-v10.dtsi"
#include "rk3308b-amp.dtsi"
/ {
model = "Rockchip RK3308b evb analog mic v10 board";
compatible = "rockchip,rk3308b-evb-amic-v10", "rockchip,rk3308";
vad_acodec_sound: vad-acodec-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec {
rockchip,micbias1;
rockchip,micbias2;
rockchip,en-always-grps = <1 2 3>;
rockchip,adc-grps-route = <1 2 3 0>;
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_8ch_0 {
status = "okay";
#sound-dai-cells = <0>;
rockchip,clk-trcm = <1>;
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_0_sclktx
&i2s_8ch_0_lrcktx
&i2s_8ch_0_sdi0
&i2s_8ch_0_sdo2>;
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_2>;
rockchip,det-channel = <0>;
rockchip,buffer-time-ms = <200>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

58
rk3308b-evb-amic-v10.dts Normal file
View File

@@ -0,0 +1,58 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308b-evb-v10.dtsi"
/ {
model = "Rockchip RK3308b evb analog mic v10 board";
compatible = "rockchip,rk3308b-evb-amic-v10", "rockchip,rk3308";
vad_acodec_sound: vad-acodec-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec {
rockchip,micbias1;
rockchip,micbias2;
rockchip,en-always-grps = <1 2 3>;
rockchip,adc-grps-route = <1 2 3 0>;
};
&acodec_sound {
status = "disabled";
};
&bluetooth_sound {
status = "okay";
};
&i2s_8ch_0 {
status = "okay";
#sound-dai-cells = <0>;
rockchip,clk-trcm = <1>;
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_0_sclktx
&i2s_8ch_0_lrcktx
&i2s_8ch_0_sdi0
&i2s_8ch_0_sdo2>;
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_2>;
rockchip,det-channel = <0>;
rockchip,buffer-time-ms = <200>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

124
rk3308b-evb-ext-v10.dtsi Normal file
View File

@@ -0,0 +1,124 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*
*/
/ {
backlight: backlight {
status = "okay";
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
panel: panel {
compatible = "simple-panel";
bus-format = <MEDIA_BUS_FMT_RGB888_1X24>;
backlight = <&backlight>;
enable-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
enable-delay-ms = <20>;
reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
reset-delay-ms = <10>;
prepare-delay-ms = <20>;
unprepare-delay-ms = <20>;
disable-delay-ms = <20>;
width-mm = <95>;
height-mm = <54>;
status = "okay";
display-timings {
native-mode = <&stt0430_enl2c_timing>;
stt0430_enl2c_timing: timing0 {
clock-frequency = <12000000>;
hactive = <480>;
vactive = <272>;
hback-porch = <60>;
hfront-porch = <20>;
vback-porch = <28>;
vfront-porch = <20>;
hsync-len = <20>;
vsync-len = <20>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in_rgb: endpoint {
remote-endpoint = <&rgb_out_panel>;
};
};
};
};
&display_subsystem {
status = "okay";
};
&pwm1 {
status = "okay";
};
&rgb {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&lcdc_ctl &lcdc_rgb888_m1>;
ports {
rgb_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
rgb_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in_rgb>;
};
};
};
};
&route_rgb {
status = "okay";
};
&vop {
status = "okay";
};

802
rk3308b-evb-v10.dtsi Normal file
View File

@@ -0,0 +1,802 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/input/input.h>
#include "rk3308.dtsi"
/ {
model = "Rockchip RK3308B EVB V10";
compatible = "rockchip,rk3308b-evb-v10", "rockchip,rk3308";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff0e0000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait snd_aloop.index=7 snd_aloop.use_raw_jiffies=1";
};
acodec_sound: acodec-sound {
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-acodec";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>;
};
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 1>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_MICMUTE>;
label = "micmute";
press-threshold-microvolt = <1130000>;
};
home-key {
linux,code = <KEY_MODE>;
label = "mode";
press-threshold-microvolt = <901000>;
};
menu-key {
linux,code = <KEY_PLAY>;
label = "play";
press-threshold-microvolt = <624000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <18000>;
};
};
bluetooth_sound: bluetooth-sound {
status = "disabled";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-pcm";
rockchip,mclk-fs = <128>;
rockchip,cpu = <&i2s_8ch_0>;
rockchip,codec = <&dummy_codec>;
rockchip,format = "dsp_b";
rockchip,bitclock-inversion = <0>;
rockchip,wait-card-locked = <0>;
};
dummy_codec: dummy-codec {
compatible = "rockchip,dummy-codec";
#sound-dai-cells = <0>;
};
gpio-keys {
compatible = "gpio-keys";
autorepeat;
pinctrl-names = "default";
pinctrl-0 = <&pwr_key>;
power {
gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "GPIO Key Power";
wakeup-source;
debounce-interval = <100>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
};
spdif_rx_sound: spdif-rx-sound {
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,spdif-rx-sound";
status = "disabled";
simple-audio-card,cpu {
sound-dai = <&spdif_rx>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
spdif_tx_sound: spdif-tx-sound {
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,spdif-tx-sound";
status = "disabled";
simple-audio-card,mclk-fs = <128>;
simple-audio-card,cpu {
sound-dai = <&spdif_tx>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
vdd_core: vdd-core {
compatible = "pwm-regulator";
pwms = <&pwm0 0 5000 1>;
regulator-name = "vdd_core";
regulator-min-microvolt = <827000>;
regulator-max-microvolt = <1340000>;
regulator-init-microvolt = <1015000>;
regulator-always-on;
regulator-boot-on;
regulator-settling-time-up-us = <250>;
status = "okay";
};
vdd_log: vdd-log {
compatible = "regulator-fixed";
regulator-name = "vdd_log";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
};
vdd_1v0: vdd-1v0 {
compatible = "regulator-fixed";
regulator-name = "vdd_1v0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
vcc_3v3_codec: vcc_io: vcc-io {
compatible = "regulator-fixed";
regulator-name = "vcc_io";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vccio_sdio: vcc_1v8: vcc-1v8 {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_io>;
};
vcc_1v8_codec: vcc-1v8-codec {
compatible = "regulator-fixed";
regulator-name = "vcc_1v8_codec";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_io>;
};
vcc_ddr: vcc-ddr {
compatible = "regulator-fixed";
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
};
vccio_flash: vccio-flash {
compatible = "regulator-fixed";
regulator-name = "vccio_flash";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vbus_host: vbus-host-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb_drv>;
regulator-name = "vbus_host";
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
uart_rts_gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart0_rts>;
pinctrl-1 = <&uart0_rts_pin>;
BT,power_gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
wifi_chip_type = "ap6255";
WIFI,host_wake_irq = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&acodec {
status = "okay";
rockchip,no-deep-low-power;
hp-ctl-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
spk-ctl-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
};
&cpu0 {
cpu-supply = <&vdd_core>;
};
&cpu0_opp_table {
opp-1200000000 {
status = "okay";
};
opp-1296000000 {
status = "okay";
};
};
&rk3308bs_cpu0_opp_table {
opp-1008000000 {
status = "okay";
};
opp-1104000000 {
status = "okay";
};
};
&dmc {
center-supply = <&vdd_log>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "disabled";
};
&fiq_debugger {
rockchip,serial-id = <4>;
status = "okay";
};
&io_domains {
status = "okay";
vccio0-supply = <&vcc_io>;
vccio1-supply = <&vcc_io>;
vccio2-supply = <&vccio_sdio>;
vccio3-supply = <&vccio_flash>;
vccio4-supply = <&vcc_io>;
vccio5-supply = <&vccio_sdio>;
};
&i2c1 {
clock-frequency = <400000>;
status = "okay";
is31fl3236: led-controller@3f {
compatible = "issi,is31fl3236";
reg = <0x3f>;
#address-cells = <1>;
#size-cells = <0>;
reset-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
led1: led@1 {
label = "led1";
reg = <1>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led2: led@2 {
label = "led2";
reg = <2>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led3: led@3 {
label = "led3";
reg = <3>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led4: led@4 {
label = "led4";
reg = <4>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led5: led@5 {
label = "led5";
reg = <5>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led6: led@6 {
label = "led6";
reg = <6>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led7: led@7 {
label = "led7";
reg = <7>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led8: led@8 {
label = "led8";
reg = <8>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led9: led@9 {
label = "led9";
reg = <9>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led10: led@10 {
label = "led10";
reg = <10>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led11: led@11 {
label = "led11";
reg = <11>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led12: led@12 {
label = "led12";
reg = <12>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led13: led@13 {
label = "led13";
reg = <13>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led14: led@14 {
label = "led14";
reg = <14>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led15: led@15 {
label = "led15";
reg = <15>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led16: led@16 {
label = "led16";
reg = <16>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led17: led@17 {
label = "led17";
reg = <17>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led18: led@18 {
label = "led18";
reg = <18>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led19: led@19 {
label = "led19";
reg = <19>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led20: led@20 {
label = "led20";
reg = <20>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led21: led@21 {
label = "led21";
reg = <21>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led22: led@22 {
label = "led22";
reg = <22>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led23: led@23 {
label = "led23";
reg = <23>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led124: led@24 {
label = "led24";
reg = <24>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led25: led@25 {
label = "led25";
reg = <25>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led26: led@26 {
label = "led26";
reg = <26>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led27: led@27 {
label = "led27";
reg = <27>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led28: led@28 {
label = "led28";
reg = <28>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led29: led@29 {
label = "led29";
reg = <29>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led30: led@30 {
label = "led30";
reg = <30>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led31: led@31 {
label = "led31";
reg = <31>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led32: led@32 {
label = "led32";
reg = <32>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led33: led@33 {
label = "led33";
reg = <33>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led34: led@34 {
label = "led34";
reg = <34>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led35: led@35 {
label = "led35";
reg = <35>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led36: led@36 {
label = "led36";
reg = <36>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
};
};
&i2s_8ch_1 {
status = "disabled";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_1_m0_sclktx
&i2s_8ch_1_m0_lrcktx
&i2s_8ch_1_m0_sdo0
&i2s_8ch_1_m0_mclk>;
};
&i2s_8ch_2 {
status = "okay";
};
&mac {
phy-supply = <&vcc_phy>;
assigned-clocks = <&cru SCLK_MAC>;
assigned-clock-parents = <&mac_clkin>;
clock_in_out = "input";
pinctrl-names = "default";
pinctrl-0 = <&rmiim1_pins &macm1_refclk>;
snps,reset-gpio = <&gpio4 RK_PC0 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 50000 50000>;
status = "disable";
};
&nandc {
status = "okay";
};
&pinctrl {
buttons {
pwr_key: pwr-key {
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
usb {
usb_drv: usb-drv {
rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-bluetooth {
uart0_gpios: uart0-gpios {
rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-wlan {
wifi_wake_host: wifi-wake-host {
rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&pwm0 {
status = "okay";
pinctrl-names = "active";
pinctrl-0 = <&pwm0_pin_pull_down>;
};
&rng {
status = "okay";
};
&rockchip_suspend {
rockchip,pwm-regulator-config = <
(0
| RKPM_PWM_REGULATOR
)
>;
status = "okay";
};
&spdif_rx {
#sound-dai-cells = <0>;
};
&spdif_tx {
#sound-dai-cells = <0>;
};
&saradc {
status = "okay";
vref-supply = <&vcc_1v8>;
};
&sdmmc {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&sfc {
status = "okay";
};
&tsadc {
rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
phy-supply = <&vbus_host>;
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer &uart0_cts>;
status = "okay";
};
&usb20_otg {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci{
status = "okay";
};

View File

@@ -0,0 +1,447 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd
*
*/
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/clock/rk618-cru.h>
/ {
backlight: backlight {
status = "okay";
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
vcc3v3_lcd_n: vcc3v3-lcd-n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd_n";
pinctrl-names = "default";
pinctrl-0 = <&lcd_en>;
gpio = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
cma {
compatible = "shared-dma-pool";
reusable;
size = <0x0 0x2000000>;
linux,cma-default;
};
};
};
&i2c0 {
clock-frequency = <100000>;
status = "okay";
gt1x: gt1x@14 {
compatible = "goodix,gt1x";
reg = <0x14>;
pinctrl-names = "default";
pinctrl-0 = <&tp_int>;
power-supply = <&vcc3v3_lcd_n>;
goodix,rst-gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
goodix,irq-gpio = <&gpio0 RK_PC0 IRQ_TYPE_LEVEL_LOW>;
};
rk618@50 {
compatible = "rockchip,rk618";
reg = <0x50>;
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_0_mclk>;
clocks = <&cru SCLK_I2S0_8CH_TX_OUT>;
clock-names = "clkin";
assigned-clocks = <&cru SCLK_I2S0_8CH_TX_OUT>;
assigned-clock-rates = <12000000>;
power-supply = <&vcc3v3_lcd_n>;
reset-gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>;
status = "okay";
clock: cru {
compatible = "rockchip,rk618-cru";
clocks = <&cru SCLK_I2S0_8CH_TX_OUT>, <&cru DCLK_VOP>;
clock-names = "clkin", "lcdc0_dclkp";
assigned-clocks = <&clock SCALER_PLLIN_CLK>,
<&clock VIF_PLLIN_CLK>,
<&clock SCALER_CLK>,
<&clock VIF0_PRE_CLK>,
<&clock CODEC_CLK>,
<&clock DITHER_CLK>;
assigned-clock-parents = <&cru SCLK_I2S0_8CH_TX_OUT>,
<&clock LCDC0_CLK>,
<&clock SCALER_PLL_CLK>,
<&clock VIF_PLL_CLK>,
<&cru SCLK_I2S0_8CH_TX_OUT>,
<&clock VIF0_CLK>;
#clock-cells = <1>;
status = "okay";
};
dsi {
compatible = "rockchip,rk618-dsi";
clocks = <&clock MIPI_CLK>;
clock-names = "dsi";
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dsi_in_rgb: endpoint {
remote-endpoint = <&rgb_out_dsi>;
};
};
};
panel@0 {
compatible = "sitronix,st7703", "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
backlight = <&backlight>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 00 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <65000000>;
hactive = <720>;
vactive = <1280>;
hfront-porch = <48>;
hsync-len = <8>;
hback-porch = <52>;
vfront-porch = <16>;
vsync-len = <6>;
vback-porch = <15>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
};
};
};
};
&display_subsystem {
status = "okay";
};
&pinctrl {
lcd {
lcd_en: lcd-en {
rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
};
tp_int: tp-int {
rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pwm1 {
status = "okay";
};
&rgb {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&lcdc_ctl &lcdc_rgb888_m1>;
ports {
rgb_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
rgb_out_dsi: endpoint@0 {
reg = <0>;
remote-endpoint = <&dsi_in_rgb>;
};
};
};
};
&route_rgb {
logo,kernel = "logo_kernel.bmp";
status = "okay";
};
&vop {
status = "okay";
};

390
rk3308bs-evb-amic-v11.dts Normal file
View File

@@ -0,0 +1,390 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308bs-evb-v11.dtsi"
/ {
model = "Rockchip RK3308B-S evb analog mic v11 board";
compatible = "rockchip,rk3308bs-evb-amic-v11", "rockchip,rk3308";
vad_acodec_sound: vad-acodec-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,codec-hp-det;
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s_8ch_2>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&acodec {
rockchip,micbias1;
rockchip,micbias2;
rockchip,en-always-grps = <1 2 3>;
rockchip,adc-grps-route = <1 2 3 0>;
};
&bluetooth_sound {
status = "okay";
};
&i2s_8ch_0 {
status = "okay";
#sound-dai-cells = <0>;
rockchip,clk-trcm = <1>;
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_0_sclktx
&i2s_8ch_0_lrcktx
&i2s_8ch_0_sdi0
&i2s_8ch_0_sdo2>;
};
&i2c1 {
/delete-node/ led-controller@3c;
is31fl3236: led-controller@3f {
compatible = "issi,is31fl3236";
reg = <0x3f>;
#address-cells = <1>;
#size-cells = <0>;
reset-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
led1: led@1 {
label = "led1";
reg = <1>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led2: led@2 {
label = "led2";
reg = <2>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <0>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led3: led@3 {
label = "led3";
reg = <3>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led4: led@4 {
label = "led4";
reg = <4>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led5: led@5 {
label = "led5";
reg = <5>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led6: led@6 {
label = "led6";
reg = <6>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led7: led@7 {
label = "led7";
reg = <7>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led8: led@8 {
label = "led8";
reg = <8>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <200>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led9: led@9 {
label = "led9";
reg = <9>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led10: led@10 {
label = "led10";
reg = <10>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led11: led@11 {
label = "led11";
reg = <11>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <300>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led12: led@12 {
label = "led12";
reg = <12>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led13: led@13 {
label = "led13";
reg = <13>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led14: led@14 {
label = "led14";
reg = <14>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <400>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led15: led@15 {
label = "led15";
reg = <15>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led16: led@16 {
label = "led16";
reg = <16>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led17: led@17 {
label = "led17";
reg = <17>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <500>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led18: led@18 {
label = "led18";
reg = <18>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led19: led@19 {
label = "led19";
reg = <19>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led20: led@20 {
label = "led20";
reg = <20>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <600>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led21: led@21 {
label = "led21";
reg = <21>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led22: led@22 {
label = "led22";
reg = <22>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led23: led@23 {
label = "led23";
reg = <23>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <700>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led124: led@24 {
label = "led24";
reg = <24>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led25: led@25 {
label = "led25";
reg = <25>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led26: led@26 {
label = "led26";
reg = <26>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <800>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led27: led@27 {
label = "led27";
reg = <27>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led28: led@28 {
label = "led28";
reg = <28>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led29: led@29 {
label = "led29";
reg = <29>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <900>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led30: led@30 {
label = "led30";
reg = <30>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led31: led@31 {
label = "led31";
reg = <31>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led32: led@32 {
label = "led32";
reg = <32>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1000>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led33: led@33 {
label = "led33";
reg = <33>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
led34: led@34 {
label = "led34";
reg = <34>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led35: led@35 {
label = "led35";
reg = <35>;
led-max-microamp = <10000>;
linux,default-trigger = "timer";
linux,default-trigger-delay-ms = <1100>;
linux,blink-delay-on-ms = <100>;
linux,blink-delay-off-ms = <1200>;
};
led36: led@36 {
label = "led36";
reg = <36>;
led-max-microamp = <10000>;
linux,default-trigger = "default-on";
};
};
};
&vad {
status = "okay";
rockchip,audio-src = <&i2s_8ch_2>;
rockchip,det-channel = <0>;
rockchip,buffer-time-ms = <200>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

View File

@@ -0,0 +1,14 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308bs-evb-amic-v11.dts"
#include "rk3308b-mipi-display-v11.dtsi"
/ {
model = "Rockchip RK3308B-S EVB DDR3 V20 Board + Rockchip RK3308B-S MIPI DISPLAY V10 Ext Board";
compatible = "rockchip,rk3308bs-evb-ddr3-v20-rk618-rgb2dsi", "rockchip,rk3308";
};

View File

@@ -0,0 +1,70 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd
*
*/
/dts-v1/;
#include "rk3308bs-evb-v11.dtsi"
/ {
model = "Rockchip RK3308B-S evb digital-pdm mic v11 board";
compatible = "rockchip,rk3308bs-evb-dmic-pdm-v11", "rockchip,rk3308";
pdm_i2s_dais: pdm-i2s-dais {
status = "okay";
compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
dais = <&pdm_8ch>, <&i2s_8ch_2>;
capture,channel-mapping = <6 2>;
playback,channel-mapping = <0 2>;
#sound-dai-cells = <0>;
};
pdm-mic-array {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,pdm-mic-array";
simple-audio-card,cpu {
sound-dai = <&pdm_8ch>;
};
simple-audio-card,codec {
sound-dai = <&dummy_codec>;
};
};
vad-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,rk3308-vad";
rockchip,cpu = <&pdm_i2s_dais>;
rockchip,codec = <&acodec>, <&vad>;
};
};
&i2s_8ch_2 {
status = "okay";
rockchip,no-dmaengine;
#sound-dai-cells = <0>;
};
&pdm_8ch {
status = "okay";
#sound-dai-cells = <0>;
rockchip,no-dmaengine;
pinctrl-names = "default";
pinctrl-0 = <&pdm_m2_clk
&pdm_m2_sdi0
&pdm_m2_sdi1
&pdm_m2_sdi2
&pdm_m2_sdi3>;
};
&vad {
status = "okay";
rockchip,audio-src = <&pdm_8ch>;
rockchip,buffer-time-ms = <200>;
rockchip,det-channel = <2>;
rockchip,mode = <1>;
#sound-dai-cells = <0>;
};

View File

@@ -0,0 +1,274 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd
*
*/
/ {
backlight: backlight {
status = "okay";
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
cma {
compatible = "shared-dma-pool";
reusable;
size = <0x0 0x800000>;
linux,cma-default;
};
};
};
&display_subsystem {
status = "okay";
};
&pwm1 {
status = "okay";
};
&rgb {
status = "okay";
rockchip,data-sync-bypass;
/*
* 320x480 RGB/MCU screen K350C4516T
*/
mcu_panel: mcu-panel {
/*
* MEDIA_BUS_FMT_RGB888_3X8 for RGB3x8(8bit)
* MEDIA_BUS_FMT_RGB565_1X16 for RGB565(16bit)
*/
bus-format = <MEDIA_BUS_FMT_RGB565_1X16>;
backlight = <&backlight>;
enable-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
enable-delay-ms = <20>;
reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
reset-value = <0>;
reset-delay-ms = <10>;
prepare-delay-ms = <20>;
unprepare-delay-ms = <20>;
disable-delay-ms = <20>;
width-mm = <217>;
height-mm = <136>;
// type:0 is cmd, 1 is data
panel-init-sequence = [
//type delay num val1 val2 val3
00 00 01 e0
01 00 01 00
01 00 01 07
01 00 01 0f
01 00 01 0d
01 00 01 1b
01 00 01 0a
01 00 01 3c
01 00 01 78
01 00 01 4a
01 00 01 07
01 00 01 0e
01 00 01 09
01 00 01 1b
01 00 01 1e
01 00 01 0f
00 00 01 e1
01 00 01 00
01 00 01 22
01 00 01 24
01 00 01 06
01 00 01 12
01 00 01 07
01 00 01 36
01 00 01 47
01 00 01 47
01 00 01 06
01 00 01 0a
01 00 01 07
01 00 01 30
01 00 01 37
01 00 01 0f
00 00 01 c0
01 00 01 10
01 00 01 10
00 00 01 c1
01 00 01 41
00 00 01 c5
01 00 01 00
01 00 01 22
01 00 01 80
00 00 01 36
01 00 01 48
00 00 01 3a
01 00 01 55 /*
* interface pixel format:
* 66 for RGB3x8(8bit)
* 55 for RGB565(16bit)
*/
00 00 01 b0
01 00 01 00
00 00 01 b1
01 00 01 a0 /*
* frame rate control:
* 70 (45hz) for RGB3x8(8bit)
* a0 (60hz) for RGB565(16bit)
*/
01 00 01 11
00 00 01 b4
01 00 01 02
00 00 01 B6
01 00 01 02 /*
* display function control:
* 32 for RGB
* 02 for MCU
*/
01 00 01 02
00 00 01 b7
01 00 01 c6
00 00 01 be
01 00 01 00
01 00 01 04
00 00 01 e9
01 00 01 00
00 00 01 f7
01 00 01 a9
01 00 01 51
01 00 01 2c
01 00 01 82
00 78 01 11
00 32 01 29
00 00 01 2c
];
panel-exit-sequence = [
//type delay num val1 val2 val3
00 0a 01 28
00 78 01 10
];
display-timings {
native-mode = <&kd050fwfba002_timing>;
kd050fwfba002_timing: timing0 {
/*
* 7840125 for frame rate 45Hz
* 10453500 for frame rate 60Hz
*/
clock-frequency = <10453500>;
hactive = <320>;
vactive = <480>;
hback-porch = <10>;
hfront-porch = <5>;
vback-porch = <10>;
vfront-porch = <5>;
hsync-len = <10>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in_rgb: endpoint {
remote-endpoint = <&rgb_out_panel>;
};
};
};
ports {
rgb_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
rgb_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in_rgb>;
};
};
};
};
&route_rgb {
status = "okay";
};
&vop {
status = "okay";
/*
* Default config is as follows:
*
* mcu-pix-total = <9>;
* mcu-cs-pst = <1>;
* mcu-cs-pend = <8>;
* mcu-rw-pst = <2>;
* mcu-rw-pend = <5>;
* mcu-hold-mode = <0>; // default set to 0
*
* To increase the frame rate, reduce all parameters because
* the max dclk rate of mcu is 150M in rk3308.
*/
mcu-timing {
mcu-pix-total = <5>;
mcu-cs-pst = <1>;
mcu-cs-pend = <4>;
mcu-rw-pst = <2>;
mcu-rw-pend = <3>;
mcu-hold-mode = <0>; // default set to 0
};
};

View File

@@ -0,0 +1,14 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308bs-evb-amic-v11.dts"
#include "rk3308bs-evb-ext-mcu-v10.dtsi"
/ {
model = "Rockchip RK3308B-S EVB DDR3 V20 Board + Rockchip RK3308 EVB ExtBoard V10";
compatible = "rockchip,rk3308bs-evb-mcu-display-v20", "rockchip,rk3308";
};

View File

@@ -0,0 +1,42 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd
*
*/
/dts-v1/;
#include "rk3308bs-evb-dmic-pdm-v11.dts"
#include "rk3308b-mipi-display-v11.dtsi"
/ {
model = "Rockchip RK3308B-S evb mipi display v11 board";
compatible = "rockchip,rk3308bs-evb-mipi-display-v11", "rockchip,rk3308";
};
&is31fl3236 {
status = "disabled";
};
&lcdc_rgb888_m1 {
rockchip,pins =
/* d18 */
<3 RK_PA6 3 &pcfg_pull_none_2ma>,
/* d19 */
<3 RK_PA7 3 &pcfg_pull_none_2ma>,
/* d20 */
<3 RK_PB0 3 &pcfg_pull_none_2ma>,
/* d21 */
<3 RK_PB1 3 &pcfg_pull_none_2ma>,
/* d22 */
<3 RK_PB2 4 &pcfg_pull_none_2ma>,
/* d23 */
<3 RK_PB3 4 &pcfg_pull_none_2ma>;
};
&pdm_8ch {
pinctrl-names = "default";
pinctrl-0 = <&pdm_m2_clk
&pdm_m2_sdi0
&pdm_m2_sdi1>;
};

View File

@@ -0,0 +1,139 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3308bs-evb-amic-v11.dts"
/ {
model = "Rockchip RK3308B-S EVB DDR3 V20 Board + Rockchip RK3308 RGB ExtBoard V10";
compatible = "rockchip,rk3308bs-evb-rgb-display-v20", "rockchip,rk3308";
backlight: backlight {
status = "okay";
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
panel: panel {
compatible = "simple-panel";
bus-format = <MEDIA_BUS_FMT_RGB888_1X24>;
backlight = <&backlight>;
enable-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
enable-delay-ms = <20>;
reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
reset-value = <0>;
reset-delay-ms = <10>;
status = "okay";
display-timings {
native-mode = <&fx070_dhm11boe_timing>;
fx070_dhm11boe_timing: timing0 {
clock-frequency = <50000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <140>;
hfront-porch = <160>;
vback-porch = <20>;
vfront-porch = <20>;
hsync-len = <20>;
vsync-len = <2>; //value range <2~22>
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in_rgb: endpoint {
remote-endpoint = <&rgb_out_panel>;
};
};
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
cma {
compatible = "shared-dma-pool";
reusable;
size = <0x0 0x800000>;
linux,cma-default;
};
};
};
&display_subsystem {
status = "okay";
};
&pwm1 {
status = "okay";
};
&rgb {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&lcdc_ctl &lcdc_rgb888_m1>;
ports {
rgb_out: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
rgb_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_in_rgb>;
};
};
};
};
&route_rgb {
status = "okay";
};
&vop {
status = "okay";
};

64
rk3308bs-evb-v11.dtsi Normal file
View File

@@ -0,0 +1,64 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/input/input.h>
#include "rk3308b-evb-v10.dtsi"
/ {
model = "Rockchip RK3308B-S EVB V11";
compatible = "rockchip,rk3308bs-evb-v11", "rockchip,rk3308";
/delete-node/ vdd-1v0;
/delete-node/ wireless-bluetooth;
/delete-node/ wireless-wlan;
vdd_0v9: vdd-0v9 {
compatible = "regulator-fixed";
regulator-name = "vdd_0v9";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
uart_rts_gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart0_rts>;
pinctrl-1 = <&uart0_rts_pin>;
BT,power_gpio = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
wifi_chip_type = "ap6256";
WIFI,host_wake_irq = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&acodec_sound {
status = "disabled";
};
&mac {
status = "okay";
};
&vcc_ddr {
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
};
&vdd_log {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
};

750
rk3308bs-pinctrl.dtsi Normal file
View File

@@ -0,0 +1,750 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd
*/
&pinctrl {
/* default for rk3308 and 4ma for rk3308bs */
pcfg_pull_none_0_4ma: pcfg-pull-none-0-4ma {
bias-disable;
drive-strength-s = <4>;
};
pcfg_pull_none_0_4ma_smt: pcfg-pull-none-0-4ma-smt {
bias-disable;
drive-strength-s = <4>;
input-schmitt-enable;
};
pcfg_pull_up_0_4ma: pcfg-pull-up-0-4ma {
bias-pull-up;
drive-strength-s = <4>;
};
pcfg_pull_down_0_4ma: pcfg-pull-down-0-4ma {
bias-pull-down;
drive-strength-s = <4>;
};
/* default for rk3308 and 6ma for rk3308bs */
pcfg_pull_none_0_6ma: pcfg-pull-none-0-6ma {
bias-disable;
drive-strength-s = <6>;
};
pcfg_pull_up_0_6ma: pcfg-pull-up-0-6ma {
bias-pull-up;
drive-strength-s = <6>;
};
pcfg_pull_down_0_6ma: pcfg-pull-down-0-6ma {
bias-pull-down;
drive-strength-s = <6>;
};
/* 4ma for rk3308 and 6ma for rk3308bs */
pcfg_pull_none_4_6ma: pcfg-pull-none-4-6ma {
bias-disable;
drive-strength = <4>;
drive-strength-s = <6>;
};
pcfg_pull_up_4_6ma: pcfg-pull-up-4-6ma {
bias-pull-up;
drive-strength = <4>;
drive-strength-s = <6>;
};
pcfg_pull_down_4_6ma: pcfg-pull-down-4-6ma {
bias-pull-down;
drive-strength = <4>;
drive-strength-s = <6>;
};
/* 8ma for rk3308 and 6ma for rk3308bs */
pcfg_pull_none_8_6ma: pcfg-pull-none-8-6ma {
bias-disable;
drive-strength = <8>;
drive-strength-s = <6>;
};
pcfg_pull_up_8_6ma: pcfg-pull-up-8-6ma {
bias-pull-up;
drive-strength = <8>;
drive-strength-s = <6>;
};
pcfg_pull_down_8_6ma: pcfg-pull-down-8-6ma {
bias-pull-down;
drive-strength = <8>;
drive-strength-s = <6>;
};
/* 8ma for rk3308 and 4ma for rk3308bs */
pcfg_pull_none_8_4ma: pcfg-pull-none-8-4ma {
bias-disable;
drive-strength = <8>;
drive-strength-s = <4>;
};
pcfg_pull_up_8_4ma: pcfg-pull-up-8-4ma {
bias-pull-up;
drive-strength = <8>;
drive-strength-s = <4>;
};
pcfg_pull_down_8_4ma: pcfg-pull-down-8-4ma {
bias-pull-down;
drive-strength = <8>;
drive-strength-s = <4>;
};
/* 12ma for rk3308 and 4ma for rk3308bs */
pcfg_pull_none_12_4ma: pcfg-pull-none-12-4ma {
bias-disable;
drive-strength = <12>;
drive-strength-s = <4>;
};
pcfg_pull_up_12_4ma: pcfg-pull-up-12-4ma {
bias-pull-up;
drive-strength = <12>;
drive-strength-s = <4>;
};
pcfg_pull_down_12_4ma: pcfg-pull-down-12-4ma {
bias-pull-down;
drive-strength = <12>;
drive-strength-s = <4>;
};
/* 12ma for rk3308 and 6ma for rk3308bs */
pcfg_pull_none_12_6ma: pcfg-pull-none-12-6ma {
bias-disable;
drive-strength = <12>;
drive-strength-s = <6>;
};
pcfg_pull_up_12_6ma: pcfg-pull-up-12-6ma {
bias-pull-up;
drive-strength = <12>;
drive-strength-s = <6>;
};
pcfg_pull_down_12_6ma: pcfg-pull-down-12-6ma {
bias-pull-down;
drive-strength = <12>;
drive-strength-s = <6>;
};
};
&pinctrl {
/delete-node/ i2s_2ch_0;
/delete-node/ i2s_8ch_0;
/delete-node/ i2s_8ch_1_m0;
/delete-node/ i2s_8ch_1_m1;
i2s_2ch_0 {
i2s_2ch_0_mclk: i2s-2ch-0-mclk {
rockchip,pins =
<4 RK_PB4 1 &pcfg_pull_none_smt>;
};
i2s_2ch_0_sclk: i2s-2ch-0-sclk {
rockchip,pins =
<4 RK_PB5 1 &pcfg_pull_none_smt>;
};
i2s_2ch_0_lrck: i2s-2ch-0-lrck {
rockchip,pins =
<4 RK_PB6 1 &pcfg_pull_none_0_4ma_smt>;
};
i2s_2ch_0_sdo: i2s-2ch-0-sdo {
rockchip,pins =
<4 RK_PB7 1 &pcfg_pull_none_0_4ma>;
};
i2s_2ch_0_sdi: i2s-2ch-0-sdi {
rockchip,pins =
<4 RK_PC0 1 &pcfg_pull_none_0_4ma>;
};
};
i2s_8ch_0 {
i2s_8ch_0_mclk: i2s-8ch-0-mclk {
rockchip,pins =
<2 RK_PA4 1 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_0_sclktx: i2s-8ch-0-sclktx {
rockchip,pins =
<2 RK_PA5 1 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_0_sclkrx: i2s-8ch-0-sclkrx {
rockchip,pins =
<2 RK_PA6 1 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_0_lrcktx: i2s-8ch-0-lrcktx {
rockchip,pins =
<2 RK_PA7 1 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_0_lrckrx: i2s-8ch-0-lrckrx {
rockchip,pins =
<2 RK_PB0 1 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_0_sdo0: i2s-8ch-0-sdo0 {
rockchip,pins =
<2 RK_PB1 1 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_0_sdo1: i2s-8ch-0-sdo1 {
rockchip,pins =
<2 RK_PB2 1 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_0_sdo2: i2s-8ch-0-sdo2 {
rockchip,pins =
<2 RK_PB3 1 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_0_sdo3: i2s-8ch-0-sdo3 {
rockchip,pins =
<2 RK_PB4 1 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_0_sdi0: i2s-8ch-0-sdi0 {
rockchip,pins =
<2 RK_PB5 1 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_0_sdi1: i2s-8ch-0-sdi1 {
rockchip,pins =
<2 RK_PB6 1 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_0_sdi2: i2s-8ch-0-sdi2 {
rockchip,pins =
<2 RK_PB7 1 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_0_sdi3: i2s-8ch-0-sdi3 {
rockchip,pins =
<2 RK_PC0 1 &pcfg_pull_none_0_4ma>;
};
};
i2s_8ch_1_m0 {
i2s_8ch_1_m0_mclk: i2s-8ch-1-m0-mclk {
rockchip,pins =
<1 RK_PA2 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m0_sclktx: i2s-8ch-1-m0-sclktx {
rockchip,pins =
<1 RK_PA3 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m0_sclkrx: i2s-8ch-1-m0-sclkrx {
rockchip,pins =
<1 RK_PA4 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m0_lrcktx: i2s-8ch-1-m0-lrcktx {
rockchip,pins =
<1 RK_PA5 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m0_lrckrx: i2s-8ch-1-m0-lrckrx {
rockchip,pins =
<1 RK_PA6 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m0_sdo0: i2s-8ch-1-m0-sdo0 {
rockchip,pins =
<1 RK_PA7 2 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_1_m0_sdo1_sdi3: i2s-8ch-1-m0-sdo1-sdi3 {
rockchip,pins =
<1 RK_PB0 2 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_1_m0_sdo2_sdi2: i2s-8ch-1-m0-sdo2-sdi2 {
rockchip,pins =
<1 RK_PB1 2 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_1_m0_sdo3_sdi1: i2s-8ch-1-m0-sdo3_sdi1 {
rockchip,pins =
<1 RK_PB2 2 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_1_m0_sdi0: i2s-8ch-1-m0-sdi0 {
rockchip,pins =
<1 RK_PB3 2 &pcfg_pull_none_0_4ma>;
};
};
i2s_8ch_1_m1 {
i2s_8ch_1_m1_mclk: i2s-8ch-1-m1-mclk {
rockchip,pins =
<1 RK_PB4 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m1_sclktx: i2s-8ch-1-m1-sclktx {
rockchip,pins =
<1 RK_PB5 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m1_sclkrx: i2s-8ch-1-m1-sclkrx {
rockchip,pins =
<1 RK_PB6 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m1_lrcktx: i2s-8ch-1-m1-lrcktx {
rockchip,pins =
<1 RK_PB7 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m1_lrckrx: i2s-8ch-1-m1-lrckrx {
rockchip,pins =
<1 RK_PC0 2 &pcfg_pull_none_0_4ma_smt>;
};
i2s_8ch_1_m1_sdo0: i2s-8ch-1-m1-sdo0 {
rockchip,pins =
<1 RK_PC1 2 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_1_m1_sdo1_sdi3: i2s-8ch-1-m1-sdo1-sdi3 {
rockchip,pins =
<1 RK_PC2 2 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_1_m1_sdo2_sdi2: i2s-8ch-1-m1-sdo2-sdi2 {
rockchip,pins =
<1 RK_PC3 2 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_1_m1_sdo3_sdi1: i2s-8ch-1-m1-sdo3_sdi1 {
rockchip,pins =
<1 RK_PC4 2 &pcfg_pull_none_0_4ma>;
};
i2s_8ch_1_m1_sdi0: i2s-8ch-1-m1-sdi0 {
rockchip,pins =
<1 RK_PC5 2 &pcfg_pull_none_0_4ma>;
};
};
};
&pinctrl {
/delete-node/ sdmmc;
sdmmc {
sdmmc_clk: sdmmc-clk {
rockchip,pins =
<4 RK_PD5 1 &pcfg_pull_none_4_6ma>;
};
sdmmc_cmd: sdmmc-cmd {
rockchip,pins =
<4 RK_PD4 1 &pcfg_pull_up_4ma>;
};
sdmmc_det: sdmmc-det {
rockchip,pins =
<0 RK_PA3 1 &pcfg_pull_up_4ma>;
};
sdmmc_pwren: sdmmc-pwren {
rockchip,pins =
<4 RK_PD6 1 &pcfg_pull_none_4ma>;
};
sdmmc_bus1: sdmmc-bus1 {
rockchip,pins =
<4 RK_PD0 1 &pcfg_pull_up_4_6ma>;
};
sdmmc_bus4: sdmmc-bus4 {
rockchip,pins =
<4 RK_PD0 1 &pcfg_pull_up_4_6ma>,
<4 RK_PD1 1 &pcfg_pull_up_4_6ma>,
<4 RK_PD2 1 &pcfg_pull_up_4_6ma>,
<4 RK_PD3 1 &pcfg_pull_up_4_6ma>;
};
sdmmc_gpio: sdmmc-gpio {
rockchip,pins =
<4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
};
};
};
&pinctrl {
/delete-node/ sdio;
sdio {
sdio_clk: sdio-clk {
rockchip,pins =
<4 RK_PA5 1 &pcfg_pull_none_8_6ma>;
};
sdio_cmd: sdio-cmd {
rockchip,pins =
<4 RK_PA4 1 &pcfg_pull_up_8_6ma>;
};
sdio_pwren: sdio-pwren {
rockchip,pins =
<0 RK_PA2 1 &pcfg_pull_none_8_6ma>;
};
sdio_wrpt: sdio-wrpt {
rockchip,pins =
<0 RK_PA1 1 &pcfg_pull_none_8_6ma>;
};
sdio_intn: sdio-intn {
rockchip,pins =
<0 RK_PA0 1 &pcfg_pull_none_8_6ma>;
};
sdio_bus1: sdio-bus1 {
rockchip,pins =
<4 RK_PA0 1 &pcfg_pull_up_8_6ma>;
};
sdio_bus4: sdio-bus4 {
rockchip,pins =
<4 RK_PA0 1 &pcfg_pull_up_8_6ma>,
<4 RK_PA1 1 &pcfg_pull_up_8_6ma>,
<4 RK_PA2 1 &pcfg_pull_up_8_6ma>,
<4 RK_PA3 1 &pcfg_pull_up_8_6ma>;
};
sdio_gpio: sdio-gpio {
rockchip,pins =
<4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
<4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
};
};
};
&pinctrl {
/delete-node/ gmac;
/delete-node/ gmac-m1;
gmac {
rmii_pins: rmii-pins {
rockchip,pins =
/* mac_txen */
<1 RK_PC1 3 &pcfg_pull_none_12_6ma>,
/* mac_txd1 */
<1 RK_PC3 3 &pcfg_pull_none_12_6ma>,
/* mac_txd0 */
<1 RK_PC2 3 &pcfg_pull_none_12_6ma>,
/* mac_rxd0 */
<1 RK_PC4 3 &pcfg_pull_none>,
/* mac_rxd1 */
<1 RK_PC5 3 &pcfg_pull_none>,
/* mac_rxer */
<1 RK_PB7 3 &pcfg_pull_none>,
/* mac_rxdv */
<1 RK_PC0 3 &pcfg_pull_none>,
/* mac_mdio */
<1 RK_PB6 3 &pcfg_pull_none>,
/* mac_mdc */
<1 RK_PB5 3 &pcfg_pull_none>;
};
mac_refclk_12ma: mac-refclk-12ma {
rockchip,pins =
<1 RK_PB4 3 &pcfg_pull_none_12_6ma>;
};
mac_refclk: mac-refclk {
rockchip,pins =
<1 RK_PB4 3 &pcfg_pull_none>;
};
};
gmac-m1 {
rmiim1_pins: rmiim1-pins {
rockchip,pins =
/* mac_txen */
<4 RK_PB7 2 &pcfg_pull_none_12_6ma>,
/* mac_txd1 */
<4 RK_PA5 2 &pcfg_pull_none_12_6ma>,
/* mac_txd0 */
<4 RK_PA4 2 &pcfg_pull_none_12_6ma>,
/* mac_rxd0 */
<4 RK_PA2 2 &pcfg_pull_none>,
/* mac_rxd1 */
<4 RK_PA3 2 &pcfg_pull_none>,
/* mac_rxer */
<4 RK_PA0 2 &pcfg_pull_none>,
/* mac_rxdv */
<4 RK_PA1 2 &pcfg_pull_none>,
/* mac_mdio */
<4 RK_PB6 2 &pcfg_pull_none>,
/* mac_mdc */
<4 RK_PB5 2 &pcfg_pull_none>;
};
macm1_refclk_12ma: macm1-refclk-12ma {
rockchip,pins =
<4 RK_PB4 2 &pcfg_pull_none_12_6ma>;
};
macm1_refclk: macm1-refclk {
rockchip,pins =
<4 RK_PB4 2 &pcfg_pull_none>;
};
};
};
&pinctrl {
/delete-node/ spi0;
/delete-node/ spi1;
/delete-node/ spi2;
spi0 {
spi0_clk: spi0-clk {
rockchip,pins =
<2 RK_PA2 2 &pcfg_pull_up_4ma>;
};
spi0_csn0: spi0-csn0 {
rockchip,pins =
<2 RK_PA3 2 &pcfg_pull_up_4ma>;
};
spi0_miso: spi0-miso {
rockchip,pins =
<2 RK_PA0 2 &pcfg_pull_up_4ma>;
};
spi0_mosi: spi0-mosi {
rockchip,pins =
<2 RK_PA1 2 &pcfg_pull_up_4ma>;
};
spi0_clk_hs: spi0-clk-hs {
rockchip,pins =
<2 RK_PA2 2 &pcfg_pull_up_8_4ma>;
};
spi0_miso_hs: spi0-miso-hs {
rockchip,pins =
<2 RK_PA0 2 &pcfg_pull_up_8_4ma>;
};
spi0_mosi_hs: spi0-mosi-hs {
rockchip,pins =
<2 RK_PA1 2 &pcfg_pull_up_8_4ma>;
};
};
spi1 {
spi1_clk: spi1-clk {
rockchip,pins =
<3 RK_PB3 3 &pcfg_pull_up_4ma>;
};
spi1_csn0: spi1-csn0 {
rockchip,pins =
<3 RK_PB5 3 &pcfg_pull_up_4ma>;
};
spi1_miso: spi1-miso {
rockchip,pins =
<3 RK_PB2 3 &pcfg_pull_up_4ma>;
};
spi1_mosi: spi1-mosi {
rockchip,pins =
<3 RK_PB4 3 &pcfg_pull_up_4ma>;
};
spi1_clk_hs: spi1-clk-hs {
rockchip,pins =
<3 RK_PB3 3 &pcfg_pull_up_8_4ma>;
};
spi1_miso_hs: spi1-miso-hs {
rockchip,pins =
<3 RK_PB2 3 &pcfg_pull_up_8_4ma>;
};
spi1_mosi_hs: spi1-mosi-hs {
rockchip,pins =
<3 RK_PB4 3 &pcfg_pull_up_8_4ma>;
};
};
spi1-m1 {
spi1m1_miso: spi1m1-miso {
rockchip,pins =
<2 RK_PA4 2 &pcfg_pull_up_4ma>;
};
spi1m1_mosi: spi1m1-mosi {
rockchip,pins =
<2 RK_PA5 2 &pcfg_pull_up_4ma>;
};
spi1m1_clk: spi1m1-clk {
rockchip,pins =
<2 RK_PA7 2 &pcfg_pull_up_4ma>;
};
spi1m1_csn0: spi1m1-csn0 {
rockchip,pins =
<2 RK_PB1 2 &pcfg_pull_up_4ma>;
};
spi1m1_miso_hs: spi1m1-miso-hs {
rockchip,pins =
<2 RK_PA4 2 &pcfg_pull_up_8_4ma>;
};
spi1m1_mosi_hs: spi1m1-mosi-hs {
rockchip,pins =
<2 RK_PA5 2 &pcfg_pull_up_8_4ma>;
};
spi1m1_clk_hs: spi1m1-clk-hs {
rockchip,pins =
<2 RK_PA7 2 &pcfg_pull_up_8_4ma>;
};
spi1m1_csn0_hs: spi1m1-csn0-hs {
rockchip,pins =
<2 RK_PB1 2 &pcfg_pull_up_8_4ma>;
};
};
spi2 {
spi2_clk: spi2-clk {
rockchip,pins =
<1 RK_PD0 3 &pcfg_pull_up_4ma>;
};
spi2_csn0: spi2-csn0 {
rockchip,pins =
<1 RK_PD1 3 &pcfg_pull_up_4ma>;
};
spi2_miso: spi2-miso {
rockchip,pins =
<1 RK_PC6 3 &pcfg_pull_up_4ma>;
};
spi2_mosi: spi2-mosi {
rockchip,pins =
<1 RK_PC7 3 &pcfg_pull_up_4ma>;
};
spi2_clk_hs: spi2-clk-hs {
rockchip,pins =
<1 RK_PD0 3 &pcfg_pull_up_8_4ma>;
};
spi2_miso_hs: spi2-miso-hs {
rockchip,pins =
<1 RK_PC6 3 &pcfg_pull_up_8_4ma>;
};
spi2_mosi_hs: spi2-mosi-hs {
rockchip,pins =
<1 RK_PC7 3 &pcfg_pull_up_8_4ma>;
};
};
};
&pinctrl {
/delete-node/ lcdc;
lcdc {
lcdc_ctl: lcdc-ctl {
rockchip,pins =
/* dclk */
<1 RK_PA0 1 &pcfg_pull_none_4_6ma>,
/* hsync */
<1 RK_PA1 1 &pcfg_pull_none_4_6ma>,
/* vsync */
<1 RK_PA2 1 &pcfg_pull_none_4_6ma>,
/* den */
<1 RK_PA3 1 &pcfg_pull_none_4_6ma>,
/* d0 */
<1 RK_PA4 1 &pcfg_pull_none_4_6ma>,
/* d1 */
<1 RK_PA5 1 &pcfg_pull_none_4_6ma>,
/* d2 */
<1 RK_PA6 1 &pcfg_pull_none_4_6ma>,
/* d3 */
<1 RK_PA7 1 &pcfg_pull_none_4_6ma>,
/* d4 */
<1 RK_PB0 1 &pcfg_pull_none_4_6ma>,
/* d5 */
<1 RK_PB1 1 &pcfg_pull_none_4_6ma>,
/* d6 */
<1 RK_PB2 1 &pcfg_pull_none_4_6ma>,
/* d7 */
<1 RK_PB3 1 &pcfg_pull_none_4_6ma>,
/* d8 */
<1 RK_PB4 1 &pcfg_pull_none_4_6ma>,
/* d9 */
<1 RK_PB5 1 &pcfg_pull_none_4_6ma>,
/* d10 */
<1 RK_PB6 1 &pcfg_pull_none_4_6ma>,
/* d11 */
<1 RK_PB7 1 &pcfg_pull_none_4_6ma>,
/* d12 */
<1 RK_PC0 1 &pcfg_pull_none_4_6ma>,
/* d13 */
<1 RK_PC1 1 &pcfg_pull_none_4_6ma>,
/* d14 */
<1 RK_PC2 1 &pcfg_pull_none_4_6ma>,
/* d15 */
<1 RK_PC3 1 &pcfg_pull_none_4_6ma>,
/* d16 */
<1 RK_PC4 1 &pcfg_pull_none_4_6ma>,
/* d17 */
<1 RK_PC5 1 &pcfg_pull_none_4_6ma>;
};
lcdc_rgb888_m0: lcdc-rgb888-m0 {
rockchip,pins =
/* d18 */
<1 RK_PC6 6 &pcfg_pull_none_4_6ma>,
/* d19 */
<1 RK_PC7 6 &pcfg_pull_none_4_6ma>,
/* d20 */
<2 RK_PB1 3 &pcfg_pull_none_4_6ma>,
/* d21 */
<2 RK_PB2 3 &pcfg_pull_none_4_6ma>,
/* d22 */
<2 RK_PB7 3 &pcfg_pull_none_4_6ma>,
/* d23 */
<2 RK_PC0 3 &pcfg_pull_none_4_6ma>;
};
lcdc_rgb888_m1: lcdc-rgb888-m1 {
rockchip,pins =
/* d18 */
<3 RK_PA6 3 &pcfg_pull_none_4_6ma>,
/* d19 */
<3 RK_PA7 3 &pcfg_pull_none_4_6ma>,
/* d20 */
<3 RK_PB0 3 &pcfg_pull_none_4_6ma>,
/* d21 */
<3 RK_PB1 3 &pcfg_pull_none_4_6ma>,
/* d22 */
<3 RK_PB2 4 &pcfg_pull_none_4_6ma>,
/* d23 */
<3 RK_PB3 4 &pcfg_pull_none_4_6ma>;
};
};
};

52
rk3308k.dtsi Normal file
View File

@@ -0,0 +1,52 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/input/input.h>
#include "rk3308.dtsi"
/ {
uboot-wide-temperature {
status = "okay";
compatible = "rockchip,uboot-wide-temperature";
};
};
&cpu0_opp_table {
rockchip,high-temp = <55000>;
rockchip,high-temp-max-freq = <1008000>;
};
&rk3308bs_cpu0_opp_table {
rockchip,high-temp = <55000>;
rockchip,high-temp-max-freq = <1008000>;
};
&rockchip_suspend {
rockchip,sleep-mode-config = <
(0
| RKPM_PMU_HW_PLLS_PD
| RKPM_PWM_VOLTAGE_DEFAULT
)
>;
};
&thermal_zones {
soc-thermal {
sustainable-power = <422>;
rk3308bs-sustainable-power = <363>;
k_pu = <6>;
k_po = <1024>;
k_i = <0>;
trips {
trip-point@0 {
temperature = <55000>;
};
trip-point@1 {
temperature = <90000>;
};
};
};
};

374
rk3318-a95x-z2.dts Normal file
View File

@@ -0,0 +1,374 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/dts-v1/;
#include <dt-bindings/input/input.h>
#include "rk3328.dtsi"
/ {
model = "A95X Z2";
compatible = "zkmagic,a95x-z2", "rockchip,rk3318";
chosen {
stdout-path = "serial2:1500000n8";
};
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 0>;
io-channel-names = "buttons";
keyup-threshold-microvolt = <1800000>;
poll-interval = <100>;
recovery {
label = "recovery";
linux,code = <KEY_VENDOR>;
press-threshold-microvolt = <17000>;
};
};
ir-receiver {
compatible = "gpio-ir-receiver";
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&ir_int>;
pinctrl-names = "default";
};
leds {
compatible = "gpio-leds";
pinctrl-0 = <&cyx_led_pin>;
pinctrl-names = "default";
cyx_led: led-0 {
default-state = "on";
gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_LOW>;
label = "CYX_LED";
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-0 = <&wifi_enable_h>;
pinctrl-names = "default";
reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
};
spdif-sound {
compatible = "simple-audio-card";
simple-audio-card,name = "SPDIF";
simple-audio-card,mclk-fs = <128>;
simple-audio-card,cpu {
sound-dai = <&spdif>;
};
simple-audio-card,codec {
sound-dai = <&spdif_out>;
};
};
spdif_out: spdif-out {
compatible = "linux,spdif-dit";
#sound-dai-cells = <0>;
};
/* Power tree */
vccio_1v8: vccio-1v8-regulator {
compatible = "regulator-fixed";
regulator-name = "vccio_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
vccio_3v3: vccio-3v3-regulator {
compatible = "regulator-fixed";
regulator-name = "vccio_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vcc_otg_vbus: otg-vbus-regulator {
compatible = "regulator-fixed";
gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&otg_vbus_drv>;
pinctrl-names = "default";
regulator-name = "vcc_otg_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
};
vcc_sd: sdmmc-regulator {
compatible = "regulator-fixed";
gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&sdmmc0m1_pin>;
pinctrl-names = "default";
regulator-name = "vcc_sd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vccio_3v3>;
};
vdd_arm: vdd-arm {
compatible = "pwm-regulator";
pwms = <&pwm0 0 5000 1>;
regulator-name = "vdd_arm";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1400000>;
regulator-settling-time-up-us = <250>;
regulator-always-on;
regulator-boot-on;
};
vdd_log: vdd-log {
compatible = "pwm-regulator";
pwms = <&pwm1 0 5000 1>;
regulator-name = "vdd_log";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1300000>;
regulator-settling-time-up-us = <250>;
regulator-always-on;
regulator-boot-on;
};
};
&analog_sound {
status = "okay";
};
&codec {
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&cpu1 {
cpu-supply = <&vdd_arm>;
};
&cpu2 {
cpu-supply = <&vdd_arm>;
};
&cpu3 {
cpu-supply = <&vdd_arm>;
};
&cpu0_opp_table {
opp-1200000000 {
status = "disabled";
};
opp-1296000000 {
status = "disabled";
};
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
non-removable;
pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
pinctrl-names = "default";
status = "okay";
};
&gmac2phy {
assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
assigned-clock-rate = <50000000>;
assigned-clocks = <&cru SCLK_MAC2PHY>;
clock_in_out = "output";
status = "okay";
};
&gpu {
mali-supply = <&vdd_log>;
};
&hdmi {
ddc-i2c-scl-high-time-ns = <9625>;
ddc-i2c-scl-low-time-ns = <10000>;
status = "okay";
};
&hdmiphy {
status = "okay";
};
&hdmi_sound {
status = "okay";
};
&i2s0 {
status = "okay";
};
&i2s1 {
status = "okay";
};
&io_domains {
pmuio-supply = <&vccio_3v3>;
vccio1-supply = <&vccio_3v3>;
vccio2-supply = <&vccio_1v8>;
vccio3-supply = <&vccio_3v3>;
vccio4-supply = <&vccio_1v8>;
vccio5-supply = <&vccio_3v3>;
vccio6-supply = <&vccio_3v3>;
status = "okay";
};
&pinctrl {
ir {
ir_int: ir-int {
rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
leds {
cyx_led_pin: cyx-led-pin {
rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
pwm0 {
pwm0_pin_pull_up: pwm0-pin-pull-up {
rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>;
};
};
pwm1 {
pwm1_pin_pull_up: pwm1-pin-pull-up {
rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
sdmmc1 {
clk_32k_out: clk-32k-out {
rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
};
};
usb {
host_vbus_drv: host-vbus-drv {
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
};
otg_vbus_drv: otg-vbus-drv {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pwm0 {
pinctrl-0 = <&pwm0_pin_pull_up>;
pinctrl-names = "active";
status = "okay";
};
&pwm1 {
pinctrl-0 = <&pwm1_pin_pull_up>;
pinctrl-names = "active";
status = "okay";
};
&saradc {
vref-supply = <&vccio_1v8>;
status = "okay";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
cap-sdio-irq;
keep-power-in-suspend;
max-frequency = <125000000>;
mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &clk_32k_out>;
pinctrl-names = "default";
sd-uhs-sdr104;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-sd-highspeed;
pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
pinctrl-names = "default";
vmmc-supply = <&vcc_sd>;
status = "okay";
};
&spdif {
pinctrl-0 = <&spdifm0_tx>;
status = "okay";
};
&soc_crit {
temperature = <115000>; /* millicelsius */
};
&target {
temperature = <105000>; /* millicelsius */
};
&threshold {
temperature = <90000>; /* millicelsius */
};
&tsadc {
rockchip,hw-tshut-temp = <120000>;
status = "okay";
};
&u2phy {
status = "okay";
};
&u2phy_host {
status = "okay";
};
&u2phy_otg {
phy-supply = <&vcc_otg_vbus>;
status = "okay";
};
&uart0 {
pinctrl-0 = <&uart0_xfer &uart0_cts>;
status = "okay";
};
&uart2 {
status = "okay";
};
&usb20_otg {
dr_mode = "host";
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&vop {
status = "okay";
};
&vop_mmu {
status = "okay";
};

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
#include "../../../../../drivers/soc/rockchip/rk_camera_sensor_info.h"
/{
cif_sensor: cif_sensor {
compatible = "rockchip,sensor";
status = "disabled";
gc2145_b {
is_front = <0>;
powerdown-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
pwdn_active = <gc2145_PWRDN_ACTIVE>;
pwr_active = <PWR_ACTIVE_HIGH>;
rockchip,power_pmu_name1 = "vcc2v8_dvp";
rockchip,power_pmu_voltage1 = <2800000>;
rockchip,power_pmu_name2 = "vcc1v8_dvp";
rockchip,power_pmu_voltage2 = <1800000>;
mir = <0>;
flash_attach = <0>;
resolution = <gc2145_FULL_RESOLUTION>;
powerup_sequence = <gc2145_PWRSEQ>;
orientation = <90>;
i2c_add = <gc2145_I2C_ADDR>;
i2c_chl = <2>;
cif_chl = <0>;
mclk_rate = <24>;
};
gc0312_f {
is_front = <1>;
powerdown-gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
pwdn_active = <gc0312_PWRDN_ACTIVE>;
pwr_active = <PWR_ACTIVE_HIGH>;
rockchip,power_pmu_name1 = "vcc2v8_dvp";
rockchip,power_pmu_voltage1 = <2800000>;
rockchip,power_pmu_name2 = "vcc1v8_dvp";
rockchip,power_pmu_voltage2 = <1800000>;
mir = <0>;
flash_attach = <0>;
resolution = <gc0312_FULL_RESOLUTION>;
powerup_sequence = <gc0312_PWRSEQ>;
orientation = <270>;
i2c_add = <gc0312_I2C_ADDR>;
i2c_chl = <2>;
cif_chl = <0>;
mclk_rate = <24>;
};
};
};

112
rk3326-863-lp3-v10-avb.dts Normal file
View File

@@ -0,0 +1,112 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3326-863-lp3-v10.dtsi"
/ {
model = "Rockchip rk3326 863 avb board";
compatible = "rockchip,rk3326-863-lp3-v10-avb", "rockchip,rk3326";
};
&firmware_android {
compatible = "android,firmware";
boot_devices = "ff390000.dwmmc,ff3b0000.nandc";
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";
};
};
};
&i2c2 {
status = "okay";
gc0312@21 {
status = "okay";
compatible = "galaxycore,gc0312";
reg = <0x21>;
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
port {
gc0312_out: endpoint {
remote-endpoint = <&dvp_in_fcam>;
};
};
};
gc2145@3c {
status = "okay";
compatible = "galaxycore,gc2145";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
pwdn-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
port {
gc2145_out: endpoint {
remote-endpoint = <&dvp_in_bcam>;
};
};
};
};
&isp_mmu {
status = "okay";
};
&rkisp1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0 &dvp_d0d1_m0 &dvp_d2d9_m0 &dvp_d10d11_m0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dvp_in_fcam: endpoint@0 {
reg = <0>;
remote-endpoint = <&gc0312_out>;
};
dvp_in_bcam: endpoint@1 {
reg = <1>;
remote-endpoint = <&gc2145_out>;
};
};
};
};

View File

@@ -0,0 +1,99 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3326-863-lp3-v10.dtsi"
/ {
model = "Rockchip rk3326 863 rkisp1 board";
compatible = "rockchip,rk3326-863-lp3-v10-rkisp1", "rockchip,rk3326";
};
&i2c2 {
status = "okay";
gc0312: gc0312@21 {
status = "okay";
compatible = "galaxycore,gc0312";
reg = <0x21>;
//pinctrl-names = "default";
//pinctrl-0 = <&cif_clkout_m0>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CameraKing";
rockchip,camera-module-lens-name = "Largan";
port {
gc0312_out: endpoint {
remote-endpoint = <&dvp_in_fcam>;
};
};
};
gc2145: gc2145@3c {
status = "okay";
compatible = "galaxycore,gc2145";
reg = <0x3c>;
//pinctrl-names = "default";
//pinctrl-0 = <&cif_clkout_m0>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
pwdn-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CameraKing";
rockchip,camera-module-lens-name = "Largan";
port {
gc2145_out: endpoint {
remote-endpoint = <&dvp_in_bcam>;
};
};
};
};
&isp_mmu {
status = "okay";
};
&rkisp1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dvp_d0d1_m0 &dvp_d2d9_m0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dvp_in_fcam: endpoint@0 {
reg = <0>;
remote-endpoint = <&gc0312_out>;
};
dvp_in_bcam: endpoint@1 {
reg = <1>;
remote-endpoint = <&gc2145_out>;
};
};
};
};

42
rk3326-863-lp3-v10.dts Normal file
View File

@@ -0,0 +1,42 @@
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
#include "rk3326-863-lp3-v10.dtsi"
/ {
model = "Rockchip rk3326 863 board";
compatible = "rockchip,rk3326-863-lp3-v10", "rockchip,rk3326";
};
&cif {
status = "okay";
};
&cif_sensor {
status = "okay";
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

805
rk3326-863-lp3-v10.dtsi Normal file
View File

@@ -0,0 +1,805 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/sensor-dev.h>
#include "rk3326.dtsi"
#include "rk3326-863-cif-sensor.dtsi"
#include "px30-android.dtsi"
/ {
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 10 10 11 11 12 12 13
13 14 14 15 15 16 16 17
17 18 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
charge-animation {
compatible = "rockchip,uboot-charge";
rockchip,uboot-charge-on = <1>;
rockchip,android-charge-on = <0>;
rockchip,uboot-low-power-voltage = <3500>;
rockchip,screen-on-voltage = <3600>;
status = "okay";
};
rk817-sound {
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip-rk817";
hp-det-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>;
rockchip,format = "i2s";
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s1_2ch>;
rockchip,codec = <&rk817_codec>;
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&cru SCLK_WIFI_PMU>;
clock-names = "clk_wifi_pmu";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
vccsys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc3v8_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3800000>;
regulator-max-microvolt = <3800000>;
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "rtl8723cs";
WIFI,host_wake_irq = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
WIFI,vbat_gpio = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>;
status = "okay";
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
uart_rts_gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_LOW>;
pinctrl-names = "default","rts_gpio";
pinctrl-0 = <&uart1_rts>;
pinctrl-1 = <&uart1_rts_gpio>;
BT,reset_gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&display_subsystem {
status = "okay";
};
&dsi {
status = "okay";
panel@0 {
compatible = "aoly,sl008pa21y1285-b00", "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
enable-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
prepare-delay-ms = <20>;
reset-delay-ms = <20>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <20>;
unprepare-delay-ms = <20>;
width-mm = <108>;
height-mm = <172>;
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>;
panel-init-sequence = [
05 78 01 11
05 14 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <66000000>;
hactive = <800>;
vactive = <1280>;
hfront-porch = <2>;
hsync-len = <18>;
hback-porch = <18>;
vfront-porch = <4>;
vsync-len = <4>;
vback-porch = <16>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi_in_vopb {
status = "okay";
};
&route_dsi {
connect = <&vopb_out_dsi>;
status = "okay";
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&cpu0_opp_table {
/*
* max IR-drop values on different freq condition for this board!
*/
rockchip,board-irdrop = <
/*MHz MHz uV */
0 815 37500
816 1119 50000
1200 1512 75000
>;
};
&dmc_opp_table {
/*
* max IR-drop values on different freq condition for this board!
*/
rockchip,board-irdrop = <
/*MHz MHz uV */
451 800 75000
>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
rk817: pmic@20 {
compatible = "rockchip,rk817";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <1>;
vcc1-supply = <&vccsys>;
vcc2-supply = <&vccsys>;
vcc3-supply = <&vccsys>;
vcc4-supply = <&vccsys>;
vcc5-supply = <&vccsys>;
vcc6-supply = <&vccsys>;
vcc7-supply = <&vcc_3v0>;
vcc8-supply = <&vccsys>;
vcc9-supply = <&dcdc_boost>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_ts_gpio1: rk817_ts_gpio1 {
pins = "gpio_ts";
function = "pin_fun1";
/* output-low; */
/* input-enable; */
};
rk817_gt_gpio2: rk817_gt_gpio2 {
pins = "gpio_gt";
function = "pin_fun1";
};
rk817_pin_ts: rk817_pin_ts {
pins = "gpio_ts";
function = "pin_fun0";
};
rk817_pin_gt: rk817_pin_gt {
pins = "gpio_gt";
function = "pin_fun0";
};
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_ddr";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
dcdc_boost: BOOST {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <4700000>;
regulator-max-microvolt = <5400000>;
regulator-name = "boost";
};
otg_switch: OTG_SWITCH {
regulator-name = "otg_switch";
};
};
battery {
compatible = "rk817,battery";
ocv_table = <3500 3548 3592 3636 3687 3740 3780
3806 3827 3846 3864 3889 3929 3964
3993 4015 4030 4041 4056 4076 4148>;
design_capacity = <4000>;
design_qmax = <4200>;
bat_res = <100>;
sleep_enter_current = <150>;
sleep_exit_current = <180>;
sleep_filter_current = <100>;
power_off_thresd = <3500>;
zero_algorithm_vol = <3850>;
max_soc_offset = <60>;
monitor_sec = <5>;
sample_res = <10>;
virtual_power = <0>;
};
charger {
compatible = "rk817,charger";
min_input_voltage = <4500>;
max_input_current = <1500>;
max_chrg_current = <2000>;
max_chrg_voltage = <4200>;
chrg_term_mode = <0>;
chrg_finish_cur = <300>;
virtual_power = <0>;
dc_det_adc = <0>;
extcon = <&u2phy>;
};
rk817_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
mic-in-differential;
status = "okay";
};
};
};
&i2c1 {
status = "okay";
ts@40 {
status = "okay";
compatible = "GSL,GSL3673_800X1280";
reg = <0x40>;
irq_gpio_number = <&gpio0 RK_PA5 IRQ_TYPE_LEVEL_LOW>;
rst_gpio_number = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
};
sensor@19 {
status = "okay";
compatible = "gs_lis3dh";
reg = <0x19>;
type = <SENSOR_TYPE_ACCEL>;
irq-gpio = <&gpio0 RK_PB5 IRQ_TYPE_LEVEL_LOW>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <7>;
reprobe_en = <1>;
};
};
&i2c2 {
status = "okay";
};
&i2s1_2ch {
status = "okay";
#sound-dai-cells = <0>;
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc_3v0>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc2v8_dvp>;
vccio4-supply = <&vcc_3v0>;
vccio5-supply = <&vcc_3v0>;
};
&nandc0 {
status = "okay";
};
&pinctrl {
headphone {
hp_det: hp-det {
rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&pwm1 {
status = "okay";
};
&rk_rga {
status = "okay";
};
&rockchip_suspend {
status = "okay";
rockchip,sleep-debug-en = <1>;
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "disabled";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "gpio", "otpout";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
rockchip,low-power-mode;
status = "okay";
};
u2phy_otg: otg-port {
rockchip,low-power-mode;
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&vip_mmu {
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};

840
rk3326-86v-v10.dts Normal file
View File

@@ -0,0 +1,840 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/sensor-dev.h>
#include "rk3326.dtsi"
#include "rk3326-863-cif-sensor.dtsi"
#include "px30-android.dtsi"
/ {
model = "Rockchip rk3326 86v board";
compatible = "rockchip,rk3326-86v-v10", "rockchip,rk3326";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <617000>;
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 10 10 11 11 12 12 13
13 14 14 15 15 16 16 17
17 18 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
charge-animation {
compatible = "rockchip,uboot-charge";
rockchip,uboot-charge-on = <0>;
rockchip,android-charge-on = <0>;
rockchip,uboot-low-power-voltage = <3500>;
rockchip,screen-on-voltage = <3600>;
status = "okay";
};
panel {
compatible ="simple-panel";
enable-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
bus-format = <MEDIA_BUS_FMT_RGB666_1X18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <51200000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <100>;
hfront-porch = <120>;
vback-porch = <10>;
vfront-porch = <15>;
hsync-len = <100>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in_rgb: endpoint {
remote-endpoint = <&rgb_out_panel>;
};
};
};
rk817-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,rk817-codec";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Mic Jack", "MICBIAS1",
"IN1P", "Mic Jack",
"Headphone Jack", "HPOL",
"Headphone Jack", "HPOR";
simple-audio-card,cpu {
sound-dai = <&i2s1_2ch>;
};
simple-audio-card,codec {
sound-dai = <&rk817_codec>;
};
};
rk_headset: rk-headset {
compatible = "rockchip_headset";
headset_gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&cru SCLK_WIFI_PMU>;
clock-names = "clk_wifi_pmu";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
vccsys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc3v8_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3800000>;
regulator-max-microvolt = <3800000>;
};
};
&cif {
status = "okay";
};
&cif_sensor {
status = "okay";
};
&display_subsystem {
status = "okay";
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&cpu0_opp_table {
/*
* max IR-drop values on different freq condition for this board!
*/
rockchip,board-irdrop = <
/*MHz MHz uV */
0 815 75000
816 1119 75000
1200 1512 75000
>;
};
&dmc_opp_table {
/*
* max IR-drop values on different freq condition for this board!
*/
rockchip,board-irdrop = <
/*MHz MHz uV */
451 800 75000
>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "disabled";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
/*mmc-hs200-1_8v;*/
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
rk817: pmic@20 {
compatible = "rockchip,rk817";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <1>;
vcc1-supply = <&vccsys>;
vcc2-supply = <&vccsys>;
vcc3-supply = <&vccsys>;
vcc4-supply = <&vccsys>;
vcc5-supply = <&vccsys>;
vcc6-supply = <&vccsys>;
vcc7-supply = <&vcc_3v0>;
vcc8-supply = <&vccsys>;
vcc9-supply = <&dcdc_boost>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_ts_gpio1: rk817_ts_gpio1 {
pins = "gpio_ts";
function = "pin_fun1";
/* output-low; */
/* input-enable; */
};
rk817_gt_gpio2: rk817_gt_gpio2 {
pins = "gpio_gt";
function = "pin_fun1";
};
rk817_pin_ts: rk817_pin_ts {
pins = "gpio_ts";
function = "pin_fun0";
};
rk817_pin_gt: rk817_pin_gt {
pins = "gpio_gt";
function = "pin_fun0";
};
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_ddr";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
dcdc_boost: BOOST {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <4700000>;
regulator-max-microvolt = <5400000>;
regulator-name = "boost";
};
otg_switch: OTG_SWITCH {
regulator-name = "otg_switch";
};
};
battery {
compatible = "rk817,battery";
ocv_table = <3500 3548 3592 3636 3687 3740 3780
3806 3827 3846 3864 3889 3929 3964
3993 4015 4030 4041 4056 4076 4148>;
design_capacity = <4000>;
design_qmax = <4200>;
bat_res = <100>;
sleep_enter_current = <150>;
sleep_exit_current = <180>;
sleep_filter_current = <100>;
power_off_thresd = <3500>;
zero_algorithm_vol = <3850>;
max_soc_offset = <60>;
monitor_sec = <5>;
sample_res = <10>;
virtual_power = <0>;
};
charger {
compatible = "rk817,charger";
min_input_voltage = <4500>;
max_input_current = <1500>;
max_chrg_current = <2000>;
max_chrg_voltage = <4200>;
chrg_term_mode = <0>;
chrg_finish_cur = <300>;
virtual_power = <0>;
dc_det_adc = <0>;
extcon = <&u2phy>;
};
rk817_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
mic-in-differential;
status = "okay";
};
};
};
&i2c1 {
status = "okay";
ts@40 {
compatible = "gslX680-d708";
reg = <0x40>;
touch-gpio = <&gpio0 RK_PB3 IRQ_TYPE_LEVEL_LOW>;
wake-gpio = <&gpio0 RK_PC1 IRQ_TYPE_LEVEL_LOW>;
screen_max_x = <1024>;
screen_max_y = <600>;
revert_x = <1>;
status = "okay";
};
sensor@1d {
status = "okay";
compatible = "gs_lsm303d";
reg = <0x1d>;
type = <SENSOR_TYPE_ACCEL>;
irq-gpio = <&gpio0 RK_PA1 IRQ_TYPE_LEVEL_LOW>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <5>;
reprobe_en = <1>;
};
};
&i2c2 {
status = "okay";
};
&i2s1_2ch {
status = "okay";
#sound-dai-cells = <0>;
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc_3v0>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc2v8_dvp>;
vccio4-supply = <&vcc_3v0>;
vccio5-supply = <&vcc_3v0>;
};
&rgb {
status = "okay";
ports {
port@1 {
reg = <1>;
rgb_out_panel: endpoint {
remote-endpoint = <&panel_in_rgb>;
};
};
};
};
&nandc0 {
status = "okay";
};
&pinctrl {
headphone {
hp_det: hp-det {
rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
lcdc {
lcdc_m1_rgb_pins: lcdc-m1-rgb-pins {
rockchip,pins =
<3 RK_PA0 1 &pcfg_pull_none>, /* LCDC_DCLK */
<3 RK_PA4 1 &pcfg_pull_none_8ma>, /* LCDC_D0 */
<3 RK_PA6 1 &pcfg_pull_none_8ma>, /* LCDC_D2 */
<3 RK_PB2 1 &pcfg_pull_none_8ma>, /* LCDC_D6 */
<3 RK_PB3 1 &pcfg_pull_none_8ma>, /* LCDC_D7 */
<3 RK_PB5 1 &pcfg_pull_none_8ma>, /* LCDC_D9 */
<3 RK_PC0 1 &pcfg_pull_none_8ma>, /* LCDC_D12 */
<3 RK_PC1 1 &pcfg_pull_none_8ma>, /* LCDC_D13 */
<3 RK_PC2 1 &pcfg_pull_none_8ma>, /* LCDC_D14 */
<3 RK_PC3 1 &pcfg_pull_none_8ma>, /* LCDC_D15 */
<3 RK_PC4 1 &pcfg_pull_none_8ma>, /* LCDC_D16 */
<3 RK_PC5 1 &pcfg_pull_none_8ma>; /* LCDC_D17 */
};
lcdc_m1_sleep_pins: lcdc-m1-sleep-pins {
rockchip,pins =
<3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_DCLK */
<3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D0 */
<3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D2 */
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D6 */
<3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D7 */
<3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D9 */
<3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D12 */
<3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D13 */
<3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D14 */
<3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D15 */
<3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>, /* LCDC_D16 */
<3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; /* LCDC_D17 */
};
};
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&pwm1 {
status = "okay";
};
&rk_rga {
status = "okay";
};
&rockchip_suspend {
status = "okay";
rockchip,sleep-debug-en = <1>;
};
&route_rgb {
connect = <&vopb_out_rgb>;
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "disabled";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "disabled";
};
&tsadc {
pinctrl-names = "gpio", "otpout";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
rockchip,low-power-mode;
status = "okay";
};
u2phy_otg: otg-port {
rockchip,low-power-mode;
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&vip_mmu {
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};

1308
rk3326-evb-ai-va-v10.dts Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1317
rk3326-evb-ai-va-v11.dts Normal file

File diff suppressed because it is too large Load Diff

1317
rk3326-evb-ai-va-v12.dts Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,94 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3326.dtsi"
#include "px30-android.dtsi"
#include "rk3326-evb-lp3-v10.dtsi"
#include "rk3326-863-cif-sensor.dtsi"
/ {
model = "Rockchip rk3326 evb board";
compatible = "rockchip,rk3326-evb-lp3-v10-avb", "rockchip,rk3326";
};
&i2c2 {
status = "okay";
clock-frequency = <100000>;
/* These are relatively safe rise/fall times; TODO: measure */
i2c-scl-falling-time-ns = <50>;
i2c-scl-rising-time-ns = <300>;
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
/*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
//pinctrl-names = "default";
//pinctrl-0 = <&cif_clkout_m0>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
port {
ov5695_out: endpoint {
remote-endpoint = <&mipi_in>;
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: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov5695_out>;
data-lanes = <1 2>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
dphy_rx_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&isp_mipi_in>;
};
};
};
};
&rkisp1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0 &dvp_d2d9_m0>;
port {
#address-cells = <1>;
#size-cells = <0>;
isp_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx_out>;
};
};
};

View File

@@ -0,0 +1,163 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3326.dtsi"
#include "rk3326-linux.dtsi"
#include "rk3326-evb-lp3-v10.dtsi"
/ {
model = "Rockchip rk3326 evb lpddr3 v10 board for linux";
compatible = "rockchip,rk3326-evb-lp3-v10-linux", "rockchip,rk3326";
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff160000 console=ttyFIQ0 rw root=PARTUUID=614e0000-0000 rootfstype=ext4 rootwait";
};
/delete-node/ test-power;
};
&cif_new {
status = "okay";
port {
cif_in: endpoint {
remote-endpoint = <&gc2155_out>;
vsync-active = <0>;
hsync-active = <1>;
};
};
};
&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>;
gc2155: gc2155@3c {
compatible = "gc,gc2155";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&cif_pin_m0>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
/* hw changed the pwdn to gpio2_b5 */
pwdn-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
port {
gc2155_out: endpoint {
remote-endpoint = <&cif_in>;
};
};
};
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vdd1v5_dvp>;
/*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/
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 {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
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 = <&ucam_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>;
};
};
};
};
&pinctrl {
cif-pin-m0 {
cif_pin_m0: cif-pin-m0 {
rockchip,pins =
<2 RK_PA0 1 &pcfg_pull_none>,/* cif_data2 */
<2 RK_PA1 1 &pcfg_pull_none>,/* cif_data3 */
<2 RK_PA2 1 &pcfg_pull_none>,/* cif_data4 */
<2 RK_PA3 1 &pcfg_pull_none>,/* cif_data5 */
<2 RK_PA4 1 &pcfg_pull_none>,/* cif_data6 */
<2 RK_PA5 1 &pcfg_pull_none>,/* cif_data7 */
<2 RK_PA6 1 &pcfg_pull_none>,/* cif_data8 */
<2 RK_PA7 1 &pcfg_pull_none>,/* cif_data9 */
<2 RK_PB0 1 &pcfg_pull_none>,/* cif_sync */
<2 RK_PB1 1 &pcfg_pull_none>,/* cif_href */
<2 RK_PB2 1 &pcfg_pull_none>;/* cif_clkin */
};
};
};
&rkisp1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&vip_mmu {
status = "okay";
};

View File

@@ -0,0 +1,748 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include "px30-robot.dtsi"
/ {
model = "Rockchip rk3326 evb lpddr3 v10 board for robot linux";
compatible = "rockchip,rk3326-evb-lp3-v10-robot-linux", "rockchip,rk3326";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_ESC>;
label = "esc";
press-threshold-microvolt = <1310000>;
};
home-key {
linux,code = <KEY_HOME>;
label = "home";
press-threshold-microvolt = <624000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <987000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
rk817-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,rk817-codec";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s1_2ch>;
};
simple-audio-card,codec {
sound-dai = <&rk817_codec>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
/*clocks = <&rk817 1>;*/
/*clock-names = "ext_clock";*/
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
vccsys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc3v8_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3800000>;
regulator-max-microvolt = <3800000>;
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "AP6210";
WIFI,host_wake_irq = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cif_new {
status = "okay";
port {
cif_in: endpoint {
remote-endpoint = <&gc2155_out>;
vsync-active = <0>;
hsync-active = <1>;
};
};
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
clock-frequency = <400000>;
i2c-scl-rising-time-ns = <280>;
i2c-scl-falling-time-ns = <16>;
rk817: pmic@20 {
compatible = "rockchip,rk817";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <1>;
vcc1-supply = <&vccsys>;
vcc2-supply = <&vccsys>;
vcc3-supply = <&vccsys>;
vcc4-supply = <&vccsys>;
vcc5-supply = <&vccsys>;
vcc6-supply = <&vccsys>;
vcc7-supply = <&vcc_3v0>;
vcc8-supply = <&vccsys>;
vcc9-supply = <&dcdc_boost>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_ts_gpio1: rk817_ts_gpio1 {
pins = "gpio_ts";
function = "pin_fun1";
/* output-low; */
/* input-enable; */
};
rk817_gt_gpio2: rk817_gt_gpio2 {
pins = "gpio_gt";
function = "pin_fun1";
};
rk817_pin_ts: rk817_pin_ts {
pins = "gpio_ts";
function = "pin_fun0";
};
rk817_pin_gt: rk817_pin_gt {
pins = "gpio_gt";
function = "pin_fun0";
};
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_ddr";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
dcdc_boost: BOOST {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <4700000>;
regulator-max-microvolt = <5400000>;
regulator-name = "boost";
};
otg_switch: OTG_SWITCH {
regulator-name = "otg_switch";
};
};
battery {
compatible = "rk817,battery";
ocv_table = <3500 3625 3685 3697 3718 3735 3748
3760 3774 3788 3802 3816 3834 3853
3877 3908 3946 3975 4018 4071 4106>;
design_capacity = <2500>;
design_qmax = <2750>;
bat_res = <100>;
sleep_enter_current = <300>;
sleep_exit_current = <300>;
sleep_filter_current = <100>;
power_off_thresd = <3500>;
zero_algorithm_vol = <3850>;
max_soc_offset = <60>;
monitor_sec = <5>;
sample_res = <10>;
virtual_power = <1>;
};
charger {
compatible = "rk817,charger";
min_input_voltage = <4500>;
max_input_current = <1500>;
max_chrg_current = <2000>;
max_chrg_voltage = <4200>;
chrg_term_mode = <0>;
chrg_finish_cur = <300>;
virtual_power = <0>;
dc_det_adc = <0>;
extcon = <&u2phy>;
};
rk817_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
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>;
gc2155: gc2155@3c {
compatible = "gc,gc2155";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&cif_pin_m0>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
/* hw changed the pwdn to gpio2_b5 */
pwdn-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
port {
gc2155_out: endpoint {
remote-endpoint = <&cif_in>;
};
};
};
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
/*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
port {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
data-lanes = <1 2>;
};
};
};
};
&i2s1_2ch {
status = "okay";
#sound-dai-cells = <0>;
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc1v8_soc>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc1v8_dvp>;
vccio4-supply = <&vcc_3v0>;
vccio5-supply = <&vcc_3v0>;
};
&isp_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_ucam: endpoint@1 {
reg = <1>;
remote-endpoint = <&ucam_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>;
};
};
};
};
&nandc0 {
status = "okay";
};
&rkisp1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&rk_rga {
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
/*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "disabled";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "init", "default";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&vip_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&pinctrl {
cif-pin-m0 {
cif_pin_m0: cif-pin-m0 {
rockchip,pins =
<2 RK_PA0 1 &pcfg_pull_none>,/* cif_data2 */
<2 RK_PA1 1 &pcfg_pull_none>,/* cif_data3 */
<2 RK_PA2 1 &pcfg_pull_none>,/* cif_data4 */
<2 RK_PA3 1 &pcfg_pull_none>,/* cif_data5 */
<2 RK_PA4 1 &pcfg_pull_none>,/* cif_data6 */
<2 RK_PA5 1 &pcfg_pull_none>,/* cif_data7 */
<2 RK_PA6 1 &pcfg_pull_none>,/* cif_data8 */
<2 RK_PA7 1 &pcfg_pull_none>,/* cif_data9 */
<2 RK_PB0 1 &pcfg_pull_none>,/* cif_sync */
<2 RK_PB1 1 &pcfg_pull_none>,/* cif_href */
<2 RK_PB2 1 &pcfg_pull_none>;/* cif_clkin */
};
cif_pin_m1: cif-pin-m1 {
rockchip,pins =
<3 RK_PA3 3 &pcfg_pull_none>,/* cif_data2 */
<3 RK_PA5 3 &pcfg_pull_none>,/* cif_data3 */
<3 RK_PA7 3 &pcfg_pull_none>,/* cif_data4 */
<3 RK_PB0 3 &pcfg_pull_none>,/* cif_data5 */
<3 RK_PB1 3 &pcfg_pull_none>,/* cif_data6 */
<3 RK_PB4 3 &pcfg_pull_none>,/* cif_data7 */
<3 RK_PB6 3 &pcfg_pull_none>,/* cif_data8 */
<3 RK_PB7 3 &pcfg_pull_none>,/* cif_data9 */
<3 RK_PD1 3 &pcfg_pull_none>,/* cif_sync */
<3 RK_PD2 3 &pcfg_pull_none>,/* cif_href */
<3 RK_PD3 3 &pcfg_pull_none>;/* cif_clkin */
};
};
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */

View File

@@ -0,0 +1,728 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/input.h>
#include "px30-robot-no-gpu.dtsi"
/ {
model = "Rockchip rk3326 evb lpddr3 v10 board for robot linux";
compatible = "rockchip,rk3326-evb-lp3-v10-robot-linux", "rockchip,rk3326";
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_ESC>;
label = "esc";
press-threshold-microvolt = <1310000>;
};
home-key {
linux,code = <KEY_HOME>;
label = "home";
press-threshold-microvolt = <624000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <987000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
rk817-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,rk817-codec";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s1_2ch>;
};
simple-audio-card,codec {
sound-dai = <&rk817_codec>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
/*clocks = <&rk817 1>;*/
/*clock-names = "ext_clock";*/
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
vccsys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc3v8_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3800000>;
regulator-max-microvolt = <3800000>;
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "AP6210";
WIFI,host_wake_irq = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cif_new {
status = "okay";
port {
cif_in: endpoint {
remote-endpoint = <&gc2155_out>;
vsync-active = <0>;
hsync-active = <1>;
};
};
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&i2c0 {
status = "okay";
clock-frequency = <400000>;
i2c-scl-rising-time-ns = <280>;
i2c-scl-falling-time-ns = <16>;
rk817: pmic@20 {
compatible = "rockchip,rk817";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <1>;
vcc1-supply = <&vccsys>;
vcc2-supply = <&vccsys>;
vcc3-supply = <&vccsys>;
vcc4-supply = <&vccsys>;
vcc5-supply = <&vccsys>;
vcc6-supply = <&vccsys>;
vcc7-supply = <&vcc_3v0>;
vcc8-supply = <&vccsys>;
vcc9-supply = <&dcdc_boost>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_ts_gpio1: rk817_ts_gpio1 {
pins = "gpio_ts";
function = "pin_fun1";
/* output-low; */
/* input-enable; */
};
rk817_gt_gpio2: rk817_gt_gpio2 {
pins = "gpio_gt";
function = "pin_fun1";
};
rk817_pin_ts: rk817_pin_ts {
pins = "gpio_ts";
function = "pin_fun0";
};
rk817_pin_gt: rk817_pin_gt {
pins = "gpio_gt";
function = "pin_fun0";
};
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_ddr";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
dcdc_boost: BOOST {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <4700000>;
regulator-max-microvolt = <5400000>;
regulator-name = "boost";
};
otg_switch: OTG_SWITCH {
regulator-name = "otg_switch";
};
};
battery {
compatible = "rk817,battery";
ocv_table = <3500 3625 3685 3697 3718 3735 3748
3760 3774 3788 3802 3816 3834 3853
3877 3908 3946 3975 4018 4071 4106>;
design_capacity = <2500>;
design_qmax = <2750>;
bat_res = <100>;
sleep_enter_current = <300>;
sleep_exit_current = <300>;
sleep_filter_current = <100>;
power_off_thresd = <3500>;
zero_algorithm_vol = <3850>;
max_soc_offset = <60>;
monitor_sec = <5>;
sample_res = <10>;
virtual_power = <1>;
};
charger {
compatible = "rk817,charger";
min_input_voltage = <4500>;
max_input_current = <1500>;
max_chrg_current = <2000>;
max_chrg_voltage = <4200>;
chrg_term_mode = <0>;
chrg_finish_cur = <300>;
virtual_power = <0>;
dc_det_adc = <0>;
extcon = <&u2phy>;
};
rk817_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
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>;
gc2155: gc2155@3c {
compatible = "gc,gc2155";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&cif_pin_m0>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
/* hw changed the pwdn to gpio2_b5 */
pwdn-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
port {
gc2155_out: endpoint {
remote-endpoint = <&cif_in>;
};
};
};
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vcc1v8_dvp>;
/*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
port {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
data-lanes = <1 2>;
};
};
};
};
&i2s1_2ch {
status = "okay";
#sound-dai-cells = <0>;
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc1v8_soc>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc1v8_dvp>;
vccio4-supply = <&vcc_3v0>;
vccio5-supply = <&vcc_3v0>;
};
&isp_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_ucam: endpoint@1 {
reg = <1>;
remote-endpoint = <&ucam_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>;
};
};
};
};
&nandc0 {
status = "okay";
};
&rkisp1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx0_out>;
};
};
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&rk_rga {
status = "okay";
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
/*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "disabled";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "init", "default";
pinctrl-0 = <&tsadc_otp_gpio>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&vip_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};
&pinctrl {
cif-pin-m0 {
cif_pin_m0: cif-pin-m0 {
rockchip,pins =
<2 RK_PA0 1 &pcfg_pull_none>,/* cif_data2 */
<2 RK_PA1 1 &pcfg_pull_none>,/* cif_data3 */
<2 RK_PA2 1 &pcfg_pull_none>,/* cif_data4 */
<2 RK_PA3 1 &pcfg_pull_none>,/* cif_data5 */
<2 RK_PA4 1 &pcfg_pull_none>,/* cif_data6 */
<2 RK_PA5 1 &pcfg_pull_none>,/* cif_data7 */
<2 RK_PA6 1 &pcfg_pull_none>,/* cif_data8 */
<2 RK_PA7 1 &pcfg_pull_none>,/* cif_data9 */
<2 RK_PB0 1 &pcfg_pull_none>,/* cif_sync */
<2 RK_PB1 1 &pcfg_pull_none>,/* cif_href */
<2 RK_PB2 1 &pcfg_pull_none>;/* cif_clkin */
};
};
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */
/* DON'T PUT ANYTHING BELOW HERE. PUT IT ABOVE PINCTRL */

40
rk3326-evb-lp3-v10.dts Normal file
View File

@@ -0,0 +1,40 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*/
/dts-v1/;
#include "rk3326.dtsi"
#include "px30-android.dtsi"
#include "rk3326-evb-lp3-v10.dtsi"
#include "rk3326-863-cif-sensor.dtsi"
/ {
model = "Rockchip rk3326 evb board";
compatible = "rockchip,rk3326-evb-lp3-v10", "rockchip,rk3326";
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};
&rk_isp {
status = "okay";
};

868
rk3326-evb-lp3-v10.dtsi Normal file
View File

@@ -0,0 +1,868 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
*/
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/sensor-dev.h>
/ {
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 2>;
io-channel-names = "buttons";
poll-interval = <100>;
keyup-threshold-microvolt = <1800000>;
esc-key {
linux,code = <KEY_BACK>;
label = "back";
press-threshold-microvolt = <1310000>;
};
home-key {
linux,code = <KEY_HOMEPAGE>;
label = "homepage";
press-threshold-microvolt = <624000>;
};
menu-key {
linux,code = <KEY_MENU>;
label = "menu";
press-threshold-microvolt = <987000>;
};
vol-down-key {
linux,code = <KEY_VOLUMEDOWN>;
label = "volume down";
press-threshold-microvolt = <300000>;
};
vol-up-key {
linux,code = <KEY_VOLUMEUP>;
label = "volume up";
press-threshold-microvolt = <17000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
brightness-levels = <
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255>;
default-brightness-level = <200>;
};
rk817-sound {
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip-rk817";
hp-det-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>;
io-channels = <&saradc 1>;
io-channel-names = "adc-detect";
keyup-threshold-microvolt = <1800000>;
poll-interval = <100>;
rockchip,format = "i2s";
rockchip,mclk-fs = <256>;
rockchip,cpu = <&i2s1_2ch>;
rockchip,codec = <&rk817_codec>;
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
play-pause-key {
label = "playpause";
linux,code = <KEY_PLAYPAUSE>;
press-threshold-microvolt = <2000>;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
/*clocks = <&rk817 1>;*/
/*clock-names = "ext_clock";*/
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
};
test-power {
status = "okay";
};
vccsys: vccsys {
compatible = "regulator-fixed";
regulator-name = "vcc3v8_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3800000>;
regulator-max-microvolt = <3800000>;
};
wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "AP6210";
WIFI,host_wake_irq = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
WIFI,poweren_gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless-bluetooth {
compatible = "bluetooth-platdata";
clocks = <&rk817 1>;
clock-names = "ext_clock";
uart_rts_gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_LOW>;
pinctrl-names = "default","rts_gpio";
pinctrl-0 = <&uart1_rts>;
pinctrl-1 = <&uart1_rts_gpio>;
BT,reset_gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
status = "okay";
};
vcc18_lcd_n: vcc18-lcd-n {
compatible = "regulator-fixed";
regulator-name = "vcc18_lcd_n";
regulator-boot-on;
gpio = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
&bus_apll {
bus-supply = <&vdd_logic>;
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&display_subsystem {
status = "okay";
};
&dsi {
status = "okay";
panel@0 {
compatible = "sitronix,st7703", "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
power-supply = <&vcc18_lcd_n>;
prepare-delay-ms = <2>;
reset-delay-ms = <1>;
init-delay-ms = <20>;
enable-delay-ms = <120>;
disable-delay-ms = <50>;
unprepare-delay-ms = <20>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
05 fa 01 11
39 00 04 b9 f1 12 83
39 00 1c ba 33 81 05 f9 0e 0e 00 00 00
00 00 00 00 00 44 25 00 91 0a
00 00 02 4f 01 00 00 37
15 00 02 b8 25
39 00 04 bf 02 11 00
39 00 0b b3 0c 10 0a 50 03 ff 00 00 00
00
39 00 0a c0 73 73 50 50 00 00 08 70 00
15 00 02 bc 46
15 00 02 cc 0b
15 00 02 b4 80
39 00 04 b2 c8 12 30
39 00 0f e3 07 07 0b 0b 03 0b 00 00 00
00 ff 00 c0 10
39 00 0d c1 53 00 1e 1e 77 e1 cc dd 67
77 33 33
39 00 07 c6 00 00 ff ff 01 ff
39 00 03 b5 09 09
39 00 03 b6 87 95
39 00 40 e9 c2 10 05 05 10 05 a0 12 31
23 3f 81 0a a0 37 18 00 80 01
00 00 00 00 80 01 00 00 00 48
f8 86 42 08 88 88 80 88 88 88
58 f8 87 53 18 88 88 81 88 88
88 00 00 00 01 00 00 00 00 00
00 00 00 00
39 00 3e ea 00 1a 00 00 00 00 02 00 00
00 00 00 1f 88 81 35 78 88 88
85 88 88 88 0f 88 80 24 68 88
88 84 88 88 88 23 10 00 00 1c
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 30 05 a0 00 00
00 00
39 00 23 e0 00 06 08 2a 31 3f 38 36 07
0c 0d 11 13 12 13 11 18 00 06
08 2a 31 3f 38 36 07 0c 0d 11
13 12 13 11 18
05 32 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
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>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi_in_vopb {
status = "okay";
};
&route_dsi {
connect = <&vopb_out_dsi>;
status = "okay";
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
no-sdio;
no-sd;
disable-wp;
non-removable;
num-slots = <1>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_logic>;
status = "okay";
};
&i2c0 {
status = "okay";
clock-frequency = <400000>;
i2c-scl-rising-time-ns = <280>;
i2c-scl-falling-time-ns = <16>;
rk817: pmic@20 {
compatible = "rockchip,rk817";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default", "pmic-sleep",
"pmic-power-off", "pmic-reset";
pinctrl-0 = <&pmic_int>;
pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
rockchip,system-power-controller;
wakeup-source;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
//fb-inner-reg-idxs = <2>;
/* 1: rst regs (default in codes), 0: rst the pmic */
pmic-reset-func = <1>;
vcc1-supply = <&vccsys>;
vcc2-supply = <&vccsys>;
vcc3-supply = <&vccsys>;
vcc4-supply = <&vccsys>;
vcc5-supply = <&vccsys>;
vcc6-supply = <&vccsys>;
vcc7-supply = <&vcc_3v0>;
vcc8-supply = <&vccsys>;
vcc9-supply = <&dcdc_boost>;
pwrkey {
status = "okay";
};
pinctrl_rk8xx: pinctrl_rk8xx {
gpio-controller;
#gpio-cells = <2>;
rk817_ts_gpio1: rk817_ts_gpio1 {
pins = "gpio_ts";
function = "pin_fun1";
/* output-low; */
/* input-enable; */
};
rk817_gt_gpio2: rk817_gt_gpio2 {
pins = "gpio_gt";
function = "pin_fun1";
};
rk817_pin_ts: rk817_pin_ts {
pins = "gpio_ts";
function = "pin_fun0";
};
rk817_pin_gt: rk817_pin_gt {
pins = "gpio_gt";
function = "pin_fun0";
};
rk817_slppin_null: rk817_slppin_null {
pins = "gpio_slp";
function = "pin_fun0";
};
rk817_slppin_slp: rk817_slppin_slp {
pins = "gpio_slp";
function = "pin_fun1";
};
rk817_slppin_pwrdn: rk817_slppin_pwrdn {
pins = "gpio_slp";
function = "pin_fun2";
};
rk817_slppin_rst: rk817_slppin_rst {
pins = "gpio_slp";
function = "pin_fun3";
};
};
regulators {
vdd_logic: DCDC_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_logic";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vdd_arm: DCDC_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_arm";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <950000>;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_ddr";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_3v0: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_3v0";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc_1v0: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc_1v0";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc1v8_soc: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v0_soc: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-name = "vcc1v0_soc";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1000000>;
};
};
vcc3v0_pmu: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "vcc3v0_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_sd: LDO_REG6 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc_sd";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc2v8_dvp: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "vcc2v8_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <2800000>;
};
};
vcc1v8_dvp: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc1v8_dvp";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd1v5_dvp: LDO_REG9 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vdd1v5_dvp";
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
dcdc_boost: BOOST {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <4700000>;
regulator-max-microvolt = <5400000>;
regulator-name = "boost";
};
otg_switch: OTG_SWITCH {
regulator-name = "otg_switch";
};
};
battery {
compatible = "rk817,battery";
ocv_table = <3500 3625 3685 3697 3718 3735 3748
3760 3774 3788 3802 3816 3834 3853
3877 3908 3946 3975 4018 4071 4106>;
design_capacity = <2500>;
design_qmax = <2750>;
bat_res = <100>;
sleep_enter_current = <300>;
sleep_exit_current = <300>;
sleep_filter_current = <100>;
power_off_thresd = <3500>;
zero_algorithm_vol = <3850>;
max_soc_offset = <60>;
monitor_sec = <5>;
sample_res = <10>;
virtual_power = <1>;
};
charger {
compatible = "rk817,charger";
min_input_voltage = <4500>;
max_input_current = <1500>;
max_chrg_current = <2000>;
max_chrg_voltage = <4200>;
chrg_term_mode = <0>;
chrg_finish_cur = <300>;
virtual_power = <0>;
dc_det_adc = <0>;
extcon = <&u2phy>;
};
rk817_codec: codec {
#sound-dai-cells = <0>;
compatible = "rockchip,rk817-codec";
clocks = <&cru SCLK_I2S1_OUT>;
clock-names = "mclk";
pinctrl-names = "default";
pinctrl-0 = <&i2s1_2ch_mclk>;
hp-volume = <20>;
spk-volume = <3>;
status = "okay";
};
};
};
&i2c1 {
status = "okay";
clock-frequency = <400000>;
i2c-scl-rising-time-ns = <275>;
i2c-scl-falling-time-ns = <16>;
sensor@f {
status = "okay";
compatible = "ak8963";
reg = <0x0f>;
type = <SENSOR_TYPE_COMPASS>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <1>;
reprobe_en = <1>;
};
gt1x: gt1x@14 {
compatible = "goodix,gt1x";
reg = <0x14>;
power-supply = <&vcc18_lcd_n>;
goodix,rst-gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
goodix,irq-gpio = <&gpio0 RK_PA5 IRQ_TYPE_LEVEL_LOW>;
};
sensor@4c {
status = "okay";
compatible = "gs_mma7660";
reg = <0x4c>;
type = <SENSOR_TYPE_ACCEL>;
irq-gpio = <&gpio0 RK_PB5 IRQ_TYPE_LEVEL_LOW>;
irq_enable = <0>;
poll_delay_ms = <30>;
layout = <1>;
reprobe_en = <1>;
};
};
&i2c2 {
status = "okay";
};
&i2s1_2ch {
status = "okay";
#sound-dai-cells = <0>;
};
&io_domains {
status = "okay";
vccio1-supply = <&vcc1v8_soc>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc1v8_dvp>;
vccio4-supply = <&vcc_3v0>;
vccio5-supply = <&vcc_3v0>;
};
&isp_mmu {
status = "okay";
};
&nandc0 {
status = "okay";
};
&pinctrl {
headphone {
hp_det: hp-det {
rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
pmic {
pmic_int: pmic_int {
rockchip,pins =
<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
soc_slppin_gpio: soc_slppin_gpio {
rockchip,pins =
<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
};
soc_slppin_slp: soc_slppin_slp {
rockchip,pins =
<0 RK_PA4 1 &pcfg_pull_none>;
};
soc_slppin_rst: soc_slppin_rst {
rockchip,pins =
<0 RK_PA4 2 &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pmu_io_domains {
status = "okay";
pmuio1-supply = <&vcc3v0_pmu>;
pmuio2-supply = <&vcc3v0_pmu>;
};
&pwm1 {
status = "okay";
};
&rk_rga {
status = "okay";
};
&rockchip_suspend {
status = "okay";
rockchip,sleep-debug-en = <1>;
};
&saradc {
status = "okay";
vref-supply = <&vcc1v8_soc>;
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
no-sdio;
no-mmc;
card-detect-delay = <800>;
ignore-pm-notify;
/*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vqmmc-supply = <&vccio_sd>;
vmmc-supply = <&vcc_sd>;
status = "disabled";
};
&sdio {
bus-width = <4>;
cap-sd-highspeed;
no-sd;
no-mmc;
ignore-pm-notify;
keep-power-in-suspend;
non-removable;
mmc-pwrseq = <&sdio_pwrseq>;
sd-uhs-sdr104;
status = "okay";
};
&tsadc {
pinctrl-names = "gpio", "otpout";
pinctrl-0 = <&tsadc_otp_pin>;
pinctrl-1 = <&tsadc_otp_out>;
status = "okay";
};
&u2phy {
status = "okay";
u2phy_host: host-port {
status = "okay";
};
u2phy_otg: otg-port {
status = "okay";
};
};
&usb20_otg {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts>;
status = "okay";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&vdpu {
status = "okay";
};
&vepu {
status = "okay";
};
&vpu_mmu {
status = "okay";
};
&hevc {
status = "okay";
};
&hevc_mmu {
status = "okay";
};

354
rk3326-evb-lp3-v11-avb.dts Normal file
View File

@@ -0,0 +1,354 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd.
*/
/dts-v1/;
#include "rk3326.dtsi"
#include "px30-android.dtsi"
#include "rk3326-evb-lp3-v10.dtsi"
#include "rk3326-863-cif-sensor.dtsi"
/ {
model = "Rockchip rk3326 evb board";
compatible = "rockchip,rk3326-evb-lp3-v11-avb", "rockchip,rk3326";
};
&dsi {
status = "okay";
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc18_lcd_n>;
backlight = <&backlight>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 78 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <64000000>;
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>;
};
};
};
};
&i2c2 {
status = "okay";
clock-frequency = <100000>;
/* These are relatively safe rise/fall times; TODO: measure */
i2c-scl-falling-time-ns = <50>;
i2c-scl-rising-time-ns = <300>;
ov5695: ov5695@36 {
compatible = "ovti,ov5695";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
/*reset-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;*/
pwdn-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
//pinctrl-names = "default";
//pinctrl-0 = <&cif_clkout_m0>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
port {
ov5695_out: endpoint {
remote-endpoint = <&mipi_in>;
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: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov5695_out>;
data-lanes = <1 2>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
dphy_rx_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&isp_mipi_in>;
};
};
};
};
&rkisp1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&cif_clkout_m0 &dvp_d2d9_m0>;
port {
#address-cells = <1>;
#size-cells = <0>;
isp_mipi_in: endpoint@0 {
reg = <0>;
remote-endpoint = <&dphy_rx_out>;
};
};
};

300
rk3326-evb-lp3-v11.dts Normal file
View File

@@ -0,0 +1,300 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd.
*/
/dts-v1/;
#include "rk3326.dtsi"
#include "px30-android.dtsi"
#include "rk3326-evb-lp3-v10.dtsi"
#include "rk3326-863-cif-sensor.dtsi"
/ {
model = "Rockchip rk3326 evb board";
compatible = "rockchip,rk3326-evb-lp3-v11", "rockchip,rk3326";
};
&dsi {
status = "okay";
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc18_lcd_n>;
backlight = <&backlight>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 00 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
clock-frequency = <64000000>;
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>;
};
};
};
};
&firmware_android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
vendor {
compatible = "android,vendor";
dev = "/dev/block/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
fsmgr_flags = "wait";
};
};
};
&rk_isp {
status = "okay";
};

View File

@@ -0,0 +1,273 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd
*
*/
/dts-v1/;
#include "rk3326-evb-lp3-v10-linux.dts"
/ {
model = "Rockchip rk3326 evb lpddr3 v12 board for linux";
compatible = "rockchip,rk3326-evb-lp3-v12-linux", "rockchip,rk3326";
};
&dsi {
status = "okay";
panel@0 {
compatible = "sitronix,st7703", "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
power-supply = <&vcc18_lcd_n>;
prepare-delay-ms = <0>;
reset-delay-ms = <0>;
init-delay-ms = <80>;
enable-delay-ms = <0>;
disable-delay-ms = <10>;
unprepare-delay-ms = <60>;
width-mm = <68>;
height-mm = <121>;
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>;
panel-init-sequence = [
39 00 04 ff 98 81 03
15 00 02 01 00
15 00 02 02 00
15 00 02 03 53
15 00 02 04 53
15 00 02 05 13
15 00 02 06 04
15 00 02 07 02
15 00 02 08 02
15 00 02 09 00
15 00 02 0a 00
15 00 02 0b 00
15 00 02 0c 00
15 00 02 0d 00
15 00 02 0e 00
15 00 02 0f 00
15 00 02 10 00
15 00 02 11 00
15 00 02 12 00
15 00 02 13 00
15 00 02 14 00
15 00 02 15 08
15 00 02 16 10
15 00 02 17 00
15 00 02 18 08
15 00 02 19 00
15 00 02 1a 00
15 00 02 1b 00
15 00 02 1c 00
15 00 02 1d 00
15 00 02 1e c0
15 00 02 1f 80
15 00 02 20 02
15 00 02 21 09
15 00 02 22 00
15 00 02 23 00
15 00 02 24 00
15 00 02 25 00
15 00 02 26 00
15 00 02 27 00
15 00 02 28 55
15 00 02 29 03
15 00 02 2a 00
15 00 02 2b 00
15 00 02 2c 00
15 00 02 2d 00
15 00 02 2e 00
15 00 02 2f 00
15 00 02 30 00
15 00 02 31 00
15 00 02 32 00
15 00 02 33 00
15 00 02 34 04
15 00 02 35 05
15 00 02 36 05
15 00 02 37 00
15 00 02 38 3c
15 00 02 39 35
15 00 02 3a 00
15 00 02 3b 40
15 00 02 3c 00
15 00 02 3d 00
15 00 02 3e 00
15 00 02 3f 00
15 00 02 40 00
15 00 02 41 88
15 00 02 42 00
15 00 02 43 00
15 00 02 44 1f
15 00 02 50 01
15 00 02 51 23
15 00 02 52 45
15 00 02 53 67
15 00 02 54 89
15 00 02 55 ab
15 00 02 56 01
15 00 02 57 23
15 00 02 58 45
15 00 02 59 67
15 00 02 5a 89
15 00 02 5b ab
15 00 02 5c cd
15 00 02 5d ef
15 00 02 5e 03
15 00 02 5f 14
15 00 02 60 15
15 00 02 61 0c
15 00 02 62 0d
15 00 02 63 0e
15 00 02 64 0f
15 00 02 65 10
15 00 02 66 11
15 00 02 67 08
15 00 02 68 02
15 00 02 69 0a
15 00 02 6a 02
15 00 02 6b 02
15 00 02 6c 02
15 00 02 6d 02
15 00 02 6e 02
15 00 02 6f 02
15 00 02 70 02
15 00 02 71 02
15 00 02 72 06
15 00 02 73 02
15 00 02 74 02
15 00 02 75 14
15 00 02 76 15
15 00 02 77 0f
15 00 02 78 0e
15 00 02 79 0d
15 00 02 7a 0c
15 00 02 7b 11
15 00 02 7c 10
15 00 02 7d 06
15 00 02 7e 02
15 00 02 7f 0a
15 00 02 80 02
15 00 02 81 02
15 00 02 82 02
15 00 02 83 02
15 00 02 84 02
15 00 02 85 02
15 00 02 86 02
15 00 02 87 02
15 00 02 88 08
15 00 02 89 02
15 00 02 8a 02
39 00 04 ff 98 81 04
15 00 02 00 80
15 00 02 70 00
15 00 02 71 00
15 00 02 66 fe
15 00 02 82 15
15 00 02 84 15
15 00 02 85 15
15 00 02 3a 24
15 00 02 32 ac
15 00 02 8c 80
15 00 02 3c f5
15 00 02 88 33
39 00 04 ff 98 81 01
15 00 02 22 0a
15 00 02 31 00
15 00 02 53 78
15 00 02 50 5b
15 00 02 51 5b
15 00 02 60 20
15 00 02 61 00
15 00 02 62 0d
15 00 02 63 00
15 00 02 a0 00
15 00 02 a1 10
15 00 02 a2 1c
15 00 02 a3 13
15 00 02 a4 15
15 00 02 a5 26
15 00 02 a6 1a
15 00 02 a7 1d
15 00 02 a8 67
15 00 02 a9 1c
15 00 02 aa 29
15 00 02 ab 5b
15 00 02 ac 26
15 00 02 ad 28
15 00 02 ae 5c
15 00 02 af 30
15 00 02 b0 31
15 00 02 b1 2e
15 00 02 b2 32
15 00 02 b3 00
15 00 02 c0 00
15 00 02 c1 10
15 00 02 c2 1c
15 00 02 c3 13
15 00 02 c4 15
15 00 02 c5 26
15 00 02 c6 1a
15 00 02 c7 1d
15 00 02 c8 67
15 00 02 c9 1c
15 00 02 ca 29
15 00 02 cb 5b
15 00 02 cc 26
15 00 02 cd 28
15 00 02 ce 5c
15 00 02 cf 30
15 00 02 d0 31
15 00 02 d1 2e
15 00 02 d2 32
15 00 02 d3 00
39 00 04 ff 98 81 00
05 00 01 11
05 01 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
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>;
};
};
};
};

98
rk3326-linux.dtsi Normal file
View File

@@ -0,0 +1,98 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 Rockchip Electronics Co., Ltd.
*
*/
/ {
compatible = "rockchip,linux", "rockchip,rk3326";
aliases {
mmc0 = &emmc;
mmc1 = &sdmmc;
mmc2 = &sdio;
};
chosen {
bootargs = "earlycon=uart8250,mmio32,0xff160000 console=ttyFIQ0 rw root=PARTUUID=614e0000-0000 rootwait";
};
fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
drm_logo: drm-logo@00000000 {
compatible = "rockchip,drm-logo";
reg = <0x0 0x0 0x0 0x0>;
};
ramoops: ramoops@110000 {
compatible = "ramoops";
reg = <0x0 0x110000 0x0 0xf0000>;
record-size = <0x20000>;
console-size = <0x80000>;
ftrace-size = <0x00000>;
pmsg-size = <0x50000>;
};
};
};
&cpu0_opp_table {
rockchip,avs = <1>;
};
&display_subsystem {
status = "disabled";
logo-memory-region = <&drm_logo>;
route {
route_lvds: route-lvds {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vopb_out_lvds>;
};
route_dsi: route-dsi {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vopb_out_dsi>;
};
route_rgb: route-rgb {
status = "disabled";
logo,uboot = "logo.bmp";
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
connect = <&vopb_out_rgb>;
};
};
};
&rng {
status = "okay";
};
&video_phy {
status = "okay";
};

Some files were not shown because too many files have changed in this diff Show More