├── .github └── workflows │ └── sync-to-gitee.yml ├── How to use MV and RAW series cameras on Firefly's board.md ├── How to use VEYE and CS series cameras on Firefly's RK35XX board.md ├── README.md ├── android ├── rk356x │ ├── drivers │ │ ├── cam_drv_src │ │ │ ├── Kconfig │ │ │ ├── Makefile │ │ │ ├── path.txt │ │ │ └── veyecam2m.c │ │ ├── dts │ │ │ ├── path.txt │ │ │ ├── rk3566-roc-pc-cam-veyecam2m.dtsi │ │ │ ├── rk3566-roc-pc.dts │ │ │ └── rk3568-firefly-port.dtsi │ │ ├── firefly_defconfig │ │ └── readme.md │ └── etc │ │ ├── camera │ │ └── camera3_profiles_rk356x.xml │ │ └── path.txt └── rk358x │ ├── drivers │ ├── cam_drv_src │ │ ├── Kconfig │ │ ├── Makefile │ │ ├── path.txt │ │ └── veyecam2m.c │ ├── dts │ │ ├── path.txt │ │ ├── rk3588-roc-pc-cam-veyecam2m.dtsi │ │ └── roc-rk3588s-pc.dts │ ├── firefly_defconfig │ └── readme.md │ └── etc │ ├── camera │ └── camera3_profiles_rk3588.xml │ └── path.txt ├── linux └── drivers │ ├── rk356x │ ├── kernel_v4.19 │ │ ├── cam_drv_src │ │ │ ├── Kconfig_release_20211019 │ │ │ ├── Kconfig_v1.3.0b_20221213 │ │ │ ├── Makefile_release_20211019 │ │ │ ├── Makefile_v1.3.0b_20221213 │ │ │ └── path.txt │ │ ├── dts │ │ │ ├── path.txt │ │ │ ├── rk3566-firefly-roc-pc-cam-veyecam2m.dtsi │ │ │ ├── rk3566-firefly-roc-pc-cam-veyemvcam.dtsi │ │ │ └── rk3566-firefly-roc-pc.dts │ │ ├── firefly_linux_defconfig_release_20211019 │ │ ├── firefly_linux_defconfig_v1.3.0b_20221213 │ │ └── readme.md │ └── kernel_v5.10 │ │ ├── cam_drv_src │ │ ├── Kconfig │ │ ├── Makefile │ │ └── path.txt │ │ ├── dts │ │ ├── path.txt │ │ ├── rk3566-firefly-roc-pc-cam-veyecam2m.dtsi │ │ ├── rk3566-firefly-roc-pc-cam-veyemvcam.dtsi │ │ └── rk3566-firefly-roc-pc.dts │ │ ├── firefly_linux_defconfig_v1.4.0b │ │ └── readme.md │ ├── rk3576 │ ├── cam_drv_src │ │ ├── Kconfig │ │ ├── Makefile │ │ └── path.txt │ ├── dts │ │ ├── path.txt │ │ ├── rk3576-firefly-roc-rk3576-pc.dts │ │ ├── rk3576-roc-pc-cam-cam1-veyecam2m.dtsi │ │ ├── rk3576-roc-pc-cam-cam1-veyemv-4lane.dtsi │ │ └── rk3576-roc-pc-cam-cam1-veyemv.dtsi │ ├── firefly-linux.config │ └── path.txt │ └── rk358x │ ├── cam_drv_src │ ├── Kconfig │ ├── Makefile │ └── path.txt │ ├── dts │ ├── aio-3588sjd4-cam-veyemvcam.dtsi │ ├── path.txt │ ├── rk3588-roc-pc-cam-veyecam2m-4lane.dtsi │ ├── rk3588-roc-pc-cam-veyecam2m.dtsi │ ├── rk3588-roc-pc-cam-veyemvcam-4lane.dtsi │ ├── rk3588-roc-pc-cam-veyemvcam.dtsi │ ├── rk3588-roc-pc-fpdlink-90ub954.dtsi │ ├── rk3588-roc-pc-vbyone-overlay.dtsi │ ├── rk3588s-firefly-aio-3588sg-cam-veyemvcam.dtsi │ ├── v1.0.6f │ │ ├── aio-3588sjd4-mipi101-M101014-BE45-A1.dts │ │ ├── rk3588s-firefly-aio-3588sg-mipi101-M101014-BE45-A1-veyemvcam.dtb │ │ ├── rk3588s-firefly-aio-3588sg-mipi101-M101014-BE45-A1.dts │ │ ├── roc-rk3588s-pc-mipi101-M101014-BE45-A1-v10-mvcam-4lane.dtb │ │ └── roc-rk3588s-pc-mipi101-M101014-BE45-A1-v10.dtsi │ └── v1.02a │ │ └── roc-rk3588s-pc-v10.dtsi │ ├── firefly-linux.config │ ├── firefly-linux.config_v1.0.6f │ └── readme.md └── resources ├── ADP-MV2-MV-MIPI_01.jpg ├── ADP-MV2-MV-MIPI_02.jpg ├── ADP-MV2-RAW-MIPI_01.jpg ├── ADP-MV2-RAW-MIPI_02.jpg ├── ADP-MV2-V2_to_MV-MIPI-X.jpg ├── ADP-MV2-V2_to_MV-MIPI-X_No.2.jpg ├── ADP-MV2-schematic.pdf ├── ADP-MV2_to_RAW-MIPI-SC132M.jpg ├── ADP-MV2_to_RAW-MIPI-SC132M_No.2.jpg ├── ADP-MV2_to_RAW_series_camera.jpg ├── ADP-MV2_to_RAW_series_camera_No.2.jpg ├── ADP-Tfirefly connect to Firefly board.jpg ├── ADP-Tfirefly-V1.0.pdf ├── Compact_raw_and_noncompact_raw_of_rk3588_vicap.png ├── Firefly Board and VEYE camera overall.jpg ├── Fpdlink-III_to_RK3588S.png ├── RK-ADP-MV2-MV-MIPI_01.jpg ├── VBYONE-connection-with-rk3588.jpg └── VEYE camera connect to ADP-Tfirefly.jpg /.github/workflows/sync-to-gitee.yml: -------------------------------------------------------------------------------- 1 | name: Sync to Gitee (Organization) 2 | 3 | on: 4 | push: 5 | branches: 6 | - main # 或 master,取决于你主分支的名字 7 | 8 | jobs: 9 | sync: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Checkout code 14 | uses: actions/checkout@v3 15 | with: 16 | fetch-depth: 0 17 | 18 | - name: Mirror push to Gitee (org repo) 19 | run: | 20 | git config --global user.name "mmxuxp" 21 | git config --global user.email "xumm@veye.cc" 22 | 23 | # 添加 Gitee 的组织仓库地址 24 | git remote add gitee https://mmxuxp:${{ secrets.GITEE_TOKEN }}@gitee.com/veyeimaging/rk35xx_firefly.git 25 | 26 | # 推送源码 27 | git push -f gitee HEAD:main 28 | 29 | # 可选:推送标签 30 | git push -f gitee --tags 31 | -------------------------------------------------------------------------------- /How to use VEYE and CS series cameras on Firefly's RK35XX board.md: -------------------------------------------------------------------------------- 1 | # How to use VEYE and CS series cameras on Firefly's RK35XX board 2 | This is a mirror of [our wiki article](http://wiki.veye.cc/index.php/VEYE_CS_Camera_on_Firfly_Boards). 3 | 4 | [toc] 5 | 6 | ## Overview 7 | VEYE series and CS series cameras are the video streaming mode MIPI cameras we designed. This article takes Firefly's ROC-RK3566-PC,ROC-RK3576-PC and ROC-RK3588S-PC board as an example to introduce how to connect VEYE and CS series cameras to RK3566/RK3568/RK3576/RK3588 system. 8 | We provide drivers for both Linux(Ubuntu) and Android. 9 | ## Camera Module List 10 | 11 | | Series | Model | Status | 12 | | ------------ | ------------ | ------------ | 13 | | VEYE Series | VEYE-MIPI-IMX327S | Done | 14 | | VEYE Series | VEYE-MIPI-IMX462 | Done | 15 | | VEYE Series | VEYE-MIPI-IMX385 | Done | 16 | In addition, the driver for the Fpdlink connection mode has been finished on the Ubuntu system. 17 | ## Hardware Setup 18 | VEYE series and CS series cameras are provided with Raspberry Pi compatible 15Pin FFC connector. An [ADP-Tfirefly adapter board](resources/ADP-Tfirefly-V1.0.pdf) is required to adapt to the ROC-RK3566-PC board. 19 | ### Connection of camera and ADP-Tfirefly 20 | The two are connected using 1.0 mm pitch*15P FFC cable with opposite direction. The cable must be inserted with the silver contacts facing outside. 21 | 22 | ![VEYE camera connect to ADP-Tfirefly](resources/VEYE%20camera%20connect%20to%20ADP-Tfirefly.jpg) 23 | 24 | ### Connection of ADP-Tfirefly and Firefly Board 25 | The two are connected using 0.5 mm pitch*30P FFC cable with same direction. The cable must be inserted with the silver contacts facing inside. 26 | 27 | ![ADP-Tfirefly connect to Firefly board](resources/ADP-Tfirefly%20connect%20to%20Firefly%20board.jpg) 28 | 29 | ### Overall connection 30 | ![Firefly Board and VEYE camera overall](resources/Firefly%20Board%20and%20VEYE%20camera%20overall.jpg) 31 | 32 | ### FPD-Link III Camera Connection Diagram 33 | ![Fpd-link camera to ROC-RK3588S-PC](resources/Fpdlink-III_to_RK3588S.png) 34 | 35 | ## Introduction to github repositories 36 | includes: 37 | - driver source code 38 | - i2c toolkits 39 | - application demo 40 | 41 | In addition, a compiled linux kernel installation package and Android image is provided in the releases. 42 | 43 | ## Ubuntu 44 | ### Upgrade Firefly Ubuntu system(RK356x) 45 | #### Overview 46 | This section describes how to update the RK35xx system to support our camera modules. 47 | 48 | For the kernel version 4.19, we provide a deb installation package that can be installed directly. For the kernel version 5.10 and 6.1, we provide a burning image. 49 | For versions where no installer is provided, you will need to refer to later chapters to compile from the driver source code. 50 | 51 | Although we are now using Ubuntu system as an example to introduce, other Linux distributions can also refer to this article. 52 | 53 | #### kernel version 5.10 and 6.1 54 | 55 | For the ROC-RK3588S-PC and ROC-RK3576-PC, we have provided an image of the release system. 56 | 57 | Download the latest released image file corresponding to the camera model you are using from https://github.com/veyeimaging/rk35xx_firefly/releases/ . 58 | 59 | Refer to the [Firefly documentation](https://wiki.t-firefly.com/en/ROC-RK3566-PC/03-upgrade_firmware.html) to burn in a standard system. 60 | 61 | #### kernel version 4.19 62 | ##### Burn Firefly standard system 63 | Refer to the [Firefly documentation](https://wiki.t-firefly.com/en/ROC-RK3566-PC/01-bootmode.html) to burn in a standard system. 64 | 65 | ##### Using prebuilt Image and dtb file 66 | Using the compiled debain installation package 67 | 68 | On the RK35xx board, 69 | Download the latest rk356x_firefly_ubuntu.tar.gz from https://github.com/veyeimaging/rk356x_firefly/releases/ . 70 | ``` 71 | 72 | tar -xavf rk356x_firefly.tar.gz 73 | 74 | cd cd rk356x_firefly/released_images/ROC-RK3566-PC/ubuntu/ 75 | 76 | sudo dpkg -i linux-image-4.19.232_4.19.232-21_arm64.deb 77 | ``` 78 | If the version does not match, it needs to be compiled from the source code. 79 | 80 | ### Upgrade Firefly Ubuntu system(RK358x and RK3576) 81 | 82 | For the ROC-RK3588S-PC and ROC-RK3576-PC, we have provided an image of the release system. 83 | Download the latest rk358x_firefly_ubuntu.tar.gz from https://github.com/veyeimaging/rk356x_firefly/releases/ . 84 | 85 | Refer to the [Firefly documentation](https://wiki.t-firefly.com/en/ROC-RK3588S-PC/upgrade_bootmode.html) to burn in a standard system. 86 | 87 | ### Check system status 88 | Run the following command to confirm whether the camera is probed. 89 | - VEYE-MIPI-XXX 90 | `dmesg | grep veye` 91 | The output message appears as shown below: 92 | ``` 93 | veyecam2m 4-003b: camera id is veyecam2m 94 | 95 | veyecam2m 4-003b: sensor is IMX327 96 | ``` 97 | - Run the following command to check the presence of video node. 98 | 99 | `ls /dev/video0` 100 | 101 | The output message appears as shown below. 102 | 103 | `video0` 104 | 105 | For ROC-RK3566-PC and ROC-RK3576-PC, the camera is connected to i2c-4, for ROC-RK3588S-PC to i2c-7. 106 | 107 | ### Samples 108 | #### v4l2-ctl 109 | 110 | ##### Install v4l2-utils 111 | 112 | `sudo apt-get install v4l-utils` 113 | 114 | ##### List the data formats supported by the camera 115 | 116 | `v4l2-ctl --list-formats-ext` 117 | 118 | ##### Snap YUV picture 119 | 120 | `v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat='NV12' --stream-mmap --stream-count=100 --stream-to=nv12-1920x1080.yuv` 121 | 122 | For RK3566, also: 123 | `v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap --stream-count=1 --stream-to=uyvy-1920x1080.yuv` 124 | 125 | Play YUV picture 126 | `ffplay -f rawvideo -video_size 1920x1080 -pix_fmt nv12 nv12-1920x1080.yuv` 127 | 128 | ##### Check frame rate 129 | `v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap --stream-count=-1 --stream-to=/dev/null` 130 | 131 | #### yavta 132 | ``` 133 | git clone https://github.com/veyeimaging/yavta.git 134 | 135 | cd yavta;make 136 | 137 | ./yavta -c1 -Fnv12-1920x1080.yuv --skip 0 -f NV12 -s 1920x1080 /dev/video0 138 | ``` 139 | 140 | #### gstreamer 141 | We provide several gstreamer routines that implement the preview, capture, and video recording functions. See the samples directory on github for details. 142 | 143 | #### Import to OpenCV 144 | 145 | First install OpenCV: 146 | `sudo apt install python3-opencv` 147 | 148 | We provide several routines to import camera data into opencv. See the samples directory on github for details. 149 | 150 | In addition, [this page from Firefly](https://wiki.t-firefly.com/en/Firefly-Linux-Guide/demo_OpenCV_support.html) has some reference value. 151 | 152 | ### Compile drivers and dtb from source code 153 | - RK356x 154 | https://github.com/veyeimaging/rk35xx_veye_bsp 155 | [https://github.com/veyeimaging/rk35xx_firefly/tree/main/linux/drivers/rk356x](https://github.com/veyeimaging/rk35xx_firefly/tree/main/linux/drivers/rk356x) 156 | 157 | - RK358x 158 | https://github.com/veyeimaging/rk35xx_veye_bsp 159 | [https://github.com/veyeimaging/rk35xx_firefly/tree/main/linux/drivers/rk358x](https://github.com/veyeimaging/rk35xx_firefly/tree/main/linux/drivers/rk358x) 160 | 161 | - RK3576 162 | https://github.com/veyeimaging/rk35xx_veye_bsp 163 | [https://github.com/veyeimaging/rk35xx_firefly/tree/main/linux/drivers/rk3576](https://github.com/veyeimaging/rk35xx_firefly/tree/main/linux/drivers/rk3576) 164 | 165 | ## i2c script for parameter configuration 166 | 167 | Because of the high degree of freedom of our camera parameters, we do not use V4L2 parameters to control, but use scripts to configure parameters. 168 | 169 | [https://github.com/veyeimaging/rk356x_firefly/tree/main/i2c_cmd](https://github.com/veyeimaging/rk356x_firefly/tree/main/i2c_cmd) 170 | 171 | using -b option to identify which bus you want to use. 172 | 173 | - VEYE series 174 | Video Control Toolkits Manual :[VEYE-MIPI-327 I2C](http://wiki.veye.cc/index.php/VEYE-MIPI-290/327_i2c/) 175 | 176 | - CS series 177 | Video Control Toolkits Manual :[CS-MIPI-X I2C](http://wiki.veye.cc/index.php/CS-MIPI-X_i2c) 178 | 179 | ## Android 180 | ### Update Android system 181 | 182 | Download the latest rk356x_firefly_android.tar.gz or rk358x_firefly_android.tar.gz from https://github.com/veyeimaging/rk35xx_firefly/releases/ . 183 | Burn the system refer to firefly's documentation. 184 | ### Check system status 185 | 186 | Login system via ADB, then run the following command to confirm whether the camera is probed. 187 | - VEYE-MIPI-XXX 188 | `dmesg | grep veye` 189 | The output message appears as shown below: 190 | ``` 191 | veyecam2m 4-003b: camera id is veyecam2m 192 | 193 | veyecam2m 4-003b: sensor is IMX327 194 | ``` 195 | - Run the following command to check the presence of video node. 196 | 197 | `ls /dev/video0` 198 | 199 | The output message appears as shown below. 200 | 201 | `video0` 202 | 203 | The camera can be seen connected to the i2c-4. 204 | 205 | ### Application example 206 | 207 | The camera can be opened using the camera program that comes with the system. 208 | 209 | ### Compile system from source code 210 | 211 | - RK356x 212 | https://github.com/veyeimaging/rk35xx_firefly/tree/main/android/rk356x/drivers 213 | 214 | - RK358x 215 | https://github.com/veyeimaging/rk35xx_firefly/tree/main/android/rk358x/drivers 216 | 217 | ## Known issues 218 | 219 | 1. The VICAP module of RK3588 does not support outputting the UYVY format, so please use the NV12 format instead. 220 | 221 | ## References 222 | - ROC-RK3566-PC Manual 223 | [https://wiki.t-firefly.com/en/ROC-RK3566-PC/](https://wiki.t-firefly.com/en/ROC-RK3566-PC/) 224 | - ROC-RK3588S-PC Manual 225 | [https://wiki.t-firefly.com/en/ROC-RK3588S-PC/](https://wiki.t-firefly.com/en/ROC-RK3576-PC/) 226 | - ROC-RK3588S-PC Manual 227 | [https://wiki.t-firefly.com/en/ROC-RK3576-PC/](https://wiki.t-firefly.com/en/ROC-RK3576-PC/) 228 | - Firefly Linux User Guide 229 | [https://wiki.t-firefly.com/en/Firefly-Linux-Guide/index.html](https://wiki.t-firefly.com/en/Firefly-Linux-Guide/index.html) 230 | 231 | ## Document History 232 | - 2025-04-14 233 | Support kernel v6.1 on RK3576. 234 | - 2024-04-17 235 | Support kernel v5.10 on RK3566. 236 | - 2023-05-22 237 | Support Fpdlink-III on ubuntu system. 238 | - 2022-12-28 239 | Add support for RK358x. 240 | - 2022-12-06 241 | Support Android system. 242 | - 2022-10-22 243 | Release 1st version. 244 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | This repository contains drivers and application layer examples for connecting our MIPI CSI-2 camera module to Rockchip's RK3566, RK3568, RK3588S, and RK3588 chips. 3 | 4 | - For VEYE series cameras 5 | [How to use VEYE and CS series cameras on Firefly's RK35XX board](How%20to%20use%20VEYE%20and%20CS%20series%20cameras%20on%20Firefly's%20RK35XX%20board.md). 6 | 7 | - For MV series and RAW series cameras 8 | [How to use MV and RAW series cameras on Firefly's RK35XX board](How%20to%20use%20MV%20and%20RAW%20series%20cameras%20on%20Firefly's%20board.md). 9 | -------------------------------------------------------------------------------- /android/rk356x/drivers/cam_drv_src/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | msp3400-objs := msp3400-driver.o msp3400-kthreads.o 3 | obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o 4 | 5 | obj-$(CONFIG_VIDEO_SMIAPP) += smiapp/ 6 | obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/ 7 | obj-$(CONFIG_VIDEO_CX25840) += cx25840/ 8 | obj-$(CONFIG_VIDEO_M5MOLS) += m5mols/ 9 | obj-y += soc_camera/ 10 | obj-$(CONFIG_VIDEO_NVP6158) += nvp6158_drv/ 11 | obj-$(CONFIG_VIDEO_NVP6188) += nvp6188.o 12 | obj-$(CONFIG_VIDEO_NVP6324) += jaguar1_drv/ 13 | 14 | obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o 15 | obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o 16 | obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o 17 | obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o 18 | obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o 19 | obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o 20 | obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o 21 | obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o 22 | obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o 23 | obj-$(CONFIG_VIDEO_SAA711X) += saa7115.o 24 | obj-$(CONFIG_VIDEO_SAA717X) += saa717x.o 25 | obj-$(CONFIG_VIDEO_SAA7127) += saa7127.o 26 | obj-$(CONFIG_VIDEO_SAA7185) += saa7185.o 27 | obj-$(CONFIG_VIDEO_SAA6752HS) += saa6752hs.o 28 | obj-$(CONFIG_VIDEO_AD5820) += ad5820.o 29 | obj-$(CONFIG_VIDEO_AK7375) += ak7375.o 30 | obj-$(CONFIG_VIDEO_DW9714) += dw9714.o 31 | obj-$(CONFIG_VIDEO_DW9718) += dw9718.o 32 | obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o 33 | obj-$(CONFIG_VIDEO_FP5501) += fp5501.o 34 | obj-$(CONFIG_VIDEO_FP5510) += fp5510.o 35 | obj-$(CONFIG_VIDEO_GT9760S) += gt9760s.o 36 | obj-$(CONFIG_VIDEO_VM149C) += vm149c.o 37 | obj-$(CONFIG_VIDEO_ADV7170) += adv7170.o 38 | obj-$(CONFIG_VIDEO_ADV7175) += adv7175.o 39 | obj-$(CONFIG_VIDEO_ADV7180) += adv7180.o 40 | obj-$(CONFIG_VIDEO_ADV7183) += adv7183.o 41 | obj-$(CONFIG_VIDEO_ADV7343) += adv7343.o 42 | obj-$(CONFIG_VIDEO_ADV7393) += adv7393.o 43 | obj-$(CONFIG_VIDEO_ADV748X) += adv748x/ 44 | obj-$(CONFIG_VIDEO_ADV7604) += adv7604.o 45 | obj-$(CONFIG_VIDEO_ADV7842) += adv7842.o 46 | obj-$(CONFIG_VIDEO_AD9389B) += ad9389b.o 47 | obj-$(CONFIG_VIDEO_ADV7511) += adv7511-v4l2.o 48 | obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o 49 | obj-$(CONFIG_VIDEO_VS6624) += vs6624.o 50 | obj-$(CONFIG_VIDEO_BT819) += bt819.o 51 | obj-$(CONFIG_VIDEO_BT856) += bt856.o 52 | obj-$(CONFIG_VIDEO_BT866) += bt866.o 53 | obj-$(CONFIG_VIDEO_KS0127) += ks0127.o 54 | obj-$(CONFIG_VIDEO_THS7303) += ths7303.o 55 | obj-$(CONFIG_VIDEO_THS8200) += ths8200.o 56 | obj-$(CONFIG_VIDEO_TECHPOINT) += techpoint/ 57 | obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o 58 | obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o 59 | obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o 60 | obj-$(CONFIG_VIDEO_TW2804) += tw2804.o 61 | obj-$(CONFIG_VIDEO_TW9903) += tw9903.o 62 | obj-$(CONFIG_VIDEO_TW9906) += tw9906.o 63 | obj-$(CONFIG_VIDEO_TW9910) += tw9910.o 64 | obj-$(CONFIG_VIDEO_CS3308) += cs3308.o 65 | obj-$(CONFIG_VIDEO_CS5345) += cs5345.o 66 | obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o 67 | obj-$(CONFIG_VIDEO_M52790) += m52790.o 68 | obj-$(CONFIG_VIDEO_HALL_DC_MOTOR) += hall-dc-motor.o 69 | obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o 70 | obj-$(CONFIG_VIDEO_MP6507) += mp6507.o 71 | obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o 72 | obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o 73 | obj-$(CONFIG_VIDEO_WM8775) += wm8775.o 74 | obj-$(CONFIG_VIDEO_WM8739) += wm8739.o 75 | obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o 76 | obj-$(CONFIG_VIDEO_SONY_BTF_MPX) += sony-btf-mpx.o 77 | obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o 78 | obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o 79 | obj-$(CONFIG_VIDEO_OS02G10) += os02g10.o 80 | obj-$(CONFIG_VIDEO_OS04A10) += os04a10.o 81 | obj-$(CONFIG_VIDEO_OS04C10) += os04c10.o 82 | obj-$(CONFIG_VIDEO_OS05A20) += os05a20.o 83 | obj-$(CONFIG_VIDEO_OS08A10) += os08a10.o 84 | obj-$(CONFIG_VIDEO_OS08A20) += os08a20.o 85 | obj-$(CONFIG_VIDEO_OS12D40) += os12d40.o 86 | obj-$(CONFIG_VIDEO_OV02B10) += ov02b10.o 87 | obj-$(CONFIG_VIDEO_OV02K10) += ov02k10.o 88 | obj-$(CONFIG_VIDEO_OV2640) += ov2640.o 89 | obj-$(CONFIG_VIDEO_OV2680) += ov2680.o 90 | obj-$(CONFIG_VIDEO_OV2685) += ov2685.o 91 | obj-$(CONFIG_VIDEO_OV2718) += ov2718.o 92 | obj-$(CONFIG_VIDEO_OV2735) += ov2735.o 93 | obj-$(CONFIG_VIDEO_OV2775) += ov2775.o 94 | obj-$(CONFIG_VIDEO_OV4686) += ov4686.o 95 | obj-$(CONFIG_VIDEO_OV4688) += ov4688.o 96 | obj-$(CONFIG_VIDEO_OV4689) += ov4689.o 97 | obj-$(CONFIG_VIDEO_OV5640) += ov5640.o 98 | obj-$(CONFIG_VIDEO_OV5645) += ov5645.o 99 | obj-$(CONFIG_VIDEO_OV5647) += ov5647.o 100 | obj-$(CONFIG_VIDEO_OV5648) += ov5648.o 101 | obj-$(CONFIG_VIDEO_OV5670) += ov5670.o 102 | obj-$(CONFIG_VIDEO_OV5695) += ov5695.o 103 | obj-$(CONFIG_VIDEO_OV6650) += ov6650.o 104 | obj-$(CONFIG_VIDEO_OV7251) += ov7251.o 105 | obj-$(CONFIG_VIDEO_OV7640) += ov7640.o 106 | obj-$(CONFIG_VIDEO_OV7670) += ov7670.o 107 | obj-$(CONFIG_VIDEO_OV772X) += ov772x.o 108 | obj-$(CONFIG_VIDEO_OV7740) += ov7740.o 109 | obj-$(CONFIG_VIDEO_OV7750) += ov7750.o 110 | obj-$(CONFIG_VIDEO_OV8858) += ov8858.o 111 | obj-$(CONFIG_VIDEO_OV9281) += ov9281.o 112 | obj-$(CONFIG_VIDEO_OV9650) += ov9650.o 113 | obj-$(CONFIG_VIDEO_OV9750) += ov9750.o 114 | obj-$(CONFIG_VIDEO_OV12D2Q) += ov12d2q.o 115 | obj-$(CONFIG_VIDEO_OV13850) += ov13850.o 116 | obj-$(CONFIG_VIDEO_OV13858) += ov13858.o 117 | obj-$(CONFIG_VIDEO_OV13B10) += ov13b10.o 118 | obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o 119 | obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o 120 | obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o 121 | obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o 122 | obj-$(CONFIG_VIDEO_MT9T112) += mt9t112.o 123 | obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o 124 | obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o 125 | obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o 126 | obj-$(CONFIG_VIDEO_AR0230) += ar0230.o 127 | obj-$(CONFIG_VIDEO_SR030PC30) += sr030pc30.o 128 | obj-$(CONFIG_VIDEO_NOON010PC30) += noon010pc30.o 129 | obj-$(CONFIG_VIDEO_RJ54N1) += rj54n1cb0c.o 130 | obj-$(CONFIG_VIDEO_S5K6AA) += s5k6aa.o 131 | obj-$(CONFIG_VIDEO_S5K6A3) += s5k6a3.o 132 | obj-$(CONFIG_VIDEO_S5K4ECGX) += s5k4ecgx.o 133 | obj-$(CONFIG_VIDEO_S5K5BAF) += s5k5baf.o 134 | obj-$(CONFIG_VIDEO_S5KGM1SP) += s5kgm1sp.o 135 | obj-$(CONFIG_VIDEO_S5K4H7YX) += s5k4h7yx.o 136 | obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3/ 137 | obj-$(CONFIG_VIDEO_ADP1653) += adp1653.o 138 | obj-$(CONFIG_VIDEO_LM3560) += lm3560.o 139 | obj-$(CONFIG_VIDEO_LM3646) += lm3646.o 140 | obj-$(CONFIG_VIDEO_SGM3784) += sgm3784.o 141 | obj-$(CONFIG_VIDEO_SMIAPP_PLL) += smiapp-pll.o 142 | obj-$(CONFIG_VIDEO_AK881X) += ak881x.o 143 | obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o 144 | obj-$(CONFIG_VIDEO_I2C) += video-i2c.o 145 | obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o 146 | obj-$(CONFIG_VIDEO_OV2659) += ov2659.o 147 | obj-$(CONFIG_VIDEO_TC358743) += tc358743.o 148 | obj-$(CONFIG_VIDEO_TC35874X) += tc35874x.o 149 | obj-$(CONFIG_VIDEO_RK628_CSI) += rk628_csi.o 150 | obj-$(CONFIG_VIDEO_LT6911UXC) += lt6911uxc.o 151 | obj-$(CONFIG_VIDEO_LT8619C) += lt8619c.o 152 | obj-$(CONFIG_VIDEO_IMX178) += imx178.o 153 | obj-$(CONFIG_VIDEO_IMX219) += imx219.o 154 | obj-$(CONFIG_VIDEO_IMX258) += imx258.o 155 | obj-$(CONFIG_VIDEO_IMX258_EEPROM) += imx258_eeprom.o 156 | obj-$(CONFIG_VIDEO_IMX274) += imx274.o 157 | obj-$(CONFIG_VIDEO_IMX307) += imx307.o 158 | obj-$(CONFIG_VIDEO_IMX317) += imx317.o 159 | obj-$(CONFIG_VIDEO_IMX323) += imx323.o 160 | obj-$(CONFIG_VIDEO_IMX327) += imx327.o 161 | obj-$(CONFIG_VIDEO_IMX334) += imx334.o 162 | obj-$(CONFIG_VIDEO_IMX335) += imx335.o 163 | obj-$(CONFIG_VIDEO_IMX347) += imx347.o 164 | obj-$(CONFIG_VIDEO_IMX378) += imx378.o 165 | obj-$(CONFIG_VIDEO_IMX415) += imx415.o 166 | obj-$(CONFIG_VIDEO_IMX462) += imx462.o 167 | obj-$(CONFIG_VIDEO_IMX464) += imx464.o 168 | obj-$(CONFIG_VIDEO_GC02M2) += gc02m2.o 169 | obj-$(CONFIG_VIDEO_GC0312) += gc0312.o 170 | obj-$(CONFIG_VIDEO_GC0329) += gc0329.o 171 | obj-$(CONFIG_VIDEO_GC032A) += gc032a.o 172 | obj-$(CONFIG_VIDEO_GC0403) += gc0403.o 173 | obj-$(CONFIG_VIDEO_GC1054) += gc1054.o 174 | obj-$(CONFIG_VIDEO_GC2035) += gc2035.o 175 | obj-$(CONFIG_VIDEO_GC2053) += gc2053.o 176 | obj-$(CONFIG_VIDEO_GC2093) += gc2093.o 177 | obj-$(CONFIG_VIDEO_GC2145) += gc2145.o 178 | obj-$(CONFIG_VIDEO_GC2155) += gc2155.o 179 | obj-$(CONFIG_VIDEO_GC2355) += gc2355.o 180 | obj-$(CONFIG_VIDEO_GC2375H) += gc2375h.o 181 | obj-$(CONFIG_VIDEO_GC2385) += gc2385.o 182 | obj-$(CONFIG_VIDEO_GC4663) += gc4663.o 183 | obj-$(CONFIG_VIDEO_GC4C33) += gc4c33.o 184 | obj-$(CONFIG_VIDEO_GC5024) += gc5024.o 185 | obj-$(CONFIG_VIDEO_GC5025) += gc5025.o 186 | obj-$(CONFIG_VIDEO_GC5035) += gc5035.o 187 | obj-$(CONFIG_VIDEO_GC8034) += gc8034.o 188 | obj-$(CONFIG_VIDEO_BF3925) += bf3925.o 189 | obj-$(CONFIG_VIDEO_JX_F37) += jx_f37.o 190 | obj-$(CONFIG_VIDEO_JX_F37P) += jx_f37p.o 191 | obj-$(CONFIG_VIDEO_JX_H62) += jx_h62.o 192 | obj-$(CONFIG_VIDEO_JX_H65) += jx_h65.o 193 | obj-$(CONFIG_VIDEO_JX_K04) += jx_k04.o 194 | obj-$(CONFIG_VIDEO_SC031GS) += sc031gs.o 195 | obj-$(CONFIG_VIDEO_SC035HGS) += sc035hgs.o 196 | obj-$(CONFIG_VIDEO_SC1330) += sc1330.o 197 | obj-$(CONFIG_VIDEO_SC132GS) += sc132gs.o 198 | obj-$(CONFIG_VIDEO_SC200AI) += sc200ai.o 199 | obj-$(CONFIG_VIDEO_SC210IOT) += sc210iot.o 200 | obj-$(CONFIG_VIDEO_SC2232) += sc2232.o 201 | obj-$(CONFIG_VIDEO_SC2239) += sc2239.o 202 | obj-$(CONFIG_VIDEO_SC223A) += sc223a.o 203 | obj-$(CONFIG_VIDEO_SC2310) += sc2310.o 204 | obj-$(CONFIG_VIDEO_SC2335) += sc2335.o 205 | obj-$(CONFIG_VIDEO_SC401AI) += sc401ai.o 206 | obj-$(CONFIG_VIDEO_SC4238) += sc4238.o 207 | obj-$(CONFIG_VIDEO_SC430CS) += sc430cs.o 208 | obj-$(CONFIG_VIDEO_SC500AI) += sc500ai.o 209 | obj-$(CONFIG_VIDEO_SC5239) += sc5239.o 210 | obj-$(CONFIG_VIDEO_SC8220) += sc8220.o 211 | obj-$(CONFIG_VIDEO_SP250A) += sp250a.o 212 | obj-$(CONFIG_VIDEO_HYNIX_HI556) += hynix_hi556.o 213 | obj-$(CONFIG_VIDEO_HYNIX_HI846) += hynix_hi846.o 214 | obj-$(CONFIG_VIDEO_HM5040) += hm5040.o 215 | 216 | obj-$(CONFIG_VIDEO_PREISP_DUMMY_SENSOR) += preisp-dummy.o 217 | 218 | obj-$(CONFIG_SDR_MAX2175) += max2175.o 219 | obj-$(CONFIG_VIDEO_XC7022) += xc7022.o 220 | obj-$(CONFIG_VIDEO_XC7160) += xc7160.o 221 | obj-$(CONFIG_VIDEO_VEYECAM2M) += veyecam2m.o 222 | obj-$(CONFIG_VIDEO_OTP_EEPROM) += otp_eeprom.o 223 | -------------------------------------------------------------------------------- /android/rk356x/drivers/cam_drv_src/path.txt: -------------------------------------------------------------------------------- 1 | kernel\drivers\media\i2c -------------------------------------------------------------------------------- /android/rk356x/drivers/dts/path.txt: -------------------------------------------------------------------------------- 1 | kernel\arch\arm64\boot\dts\rockchip -------------------------------------------------------------------------------- /android/rk356x/drivers/dts/rk3566-roc-pc-cam-veyecam2m.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 veye.cc 4 | * 5 | */ 6 | 7 | /* VEYE 2M pixel mipi camera */ 8 | 9 | /* 10 | * csi2_dphy0: used for csi2 dphy full mode, 11 | is mutually exclusive with 12 | csi2_dphy1 and csi2_dphy2 13 | * csi2_dphy1: used for csi2 dphy split mode, 14 | physical lanes use lane0 and lane1, 15 | can be used with csi2_dphy2 parallel 16 | * csi2_dphy2: used for csi2 dphy split mode, 17 | physical lanes use lane2 and lane3, 18 | can be used with csi2_dphy1 parallel 19 | */ 20 | 21 | &csi2_dphy0 { 22 | status = "okay"; 23 | }; 24 | 25 | &csi2_dphy1 { 26 | status = "disabled"; 27 | }; 28 | 29 | &csi2_dphy2 { 30 | status = "disabled"; 31 | }; 32 | 33 | /* 34 | * csidphy_out ----> csi2_dphy0 35 | * dphy1_out ----> csi2_dphy1 36 | * dphy2_out ----> csi2_dphy2 37 | */ 38 | &isp0_in { 39 | remote-endpoint = <&csidphy_out>; 40 | }; 41 | 42 | &mipi_csi2 { 43 | status = "disabled"; 44 | }; 45 | 46 | &rkcif_mipi_lvds { 47 | status = "disabled"; 48 | }; 49 | 50 | &rkcif_mipi_lvds_sditf { 51 | status = "disabled"; 52 | }; 53 | 54 | &rkcif_mmu { 55 | status = "disabled"; 56 | }; 57 | 58 | &rkcif { 59 | status = "disabled"; 60 | }; 61 | 62 | &rkisp { 63 | status = "okay"; 64 | }; 65 | 66 | &rkisp_mmu { 67 | status = "okay"; 68 | }; 69 | 70 | 71 | &mipi_csi2 { 72 | status = "disabled"; 73 | }; 74 | 75 | &rkisp_vir1 { 76 | status = "disabled"; 77 | }; 78 | 79 | &i2c4 { 80 | status = "okay"; 81 | clock-frequency = <400000>; 82 | 83 | veyecam2m: veyecam2m@3b{ 84 | //power-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_LOW>; 85 | reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 86 | pwdn-gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_HIGH>; 87 | status = "okay"; 88 | }; 89 | 90 | }; 91 | -------------------------------------------------------------------------------- /android/rk356x/drivers/dts/rk3566-roc-pc.dts: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 veye.cc 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | #include "rk3566-roc-pc.dtsi" 10 | /* 11 | * Select one of the three 12 | * using single camera xc7160 ----> rk3566-roc-pc-cam-8ms1m.dtsi 13 | * using dual camera gc2053/gc2093 ----> rk3566-roc-pc-cam-2ms2m.dtsi 14 | * using veye camera 2m ---> rk3566-roc-pc-cam-veyecam2m.dtsi 15 | */ 16 | //#include "rk3566-roc-pc-cam-8ms1m.dtsi" 17 | //#include "rk3566-roc-pc-cam-2ms2m.dtsi" 18 | #include "rk3566-roc-pc-cam-veyecam2m.dtsi" 19 | 20 | / { 21 | model = "ROC-RK3566-PC HDMI(Android)"; 22 | compatible = "rockchip,rk3566-roc-pc", "rockchip,rk3566"; 23 | }; 24 | 25 | &route_hdmi { 26 | status = "okay"; 27 | connect = <&vp0_out_hdmi>; 28 | }; 29 | -------------------------------------------------------------------------------- /android/rk356x/drivers/readme.md: -------------------------------------------------------------------------------- 1 | # How to add VEYE mipi cameras on RK356x(Android) 2 | ### Introduction 3 | Use firefly ROC-RK3566-PC as an example. 4 | This document references this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/ "link") from this Firefly.Please check it together with this documentation. 5 | ### Build the standard version 6 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/prepare_compile_android.html "link"), Build the build environment. 7 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/compile_android11.0_firmware.html "link") to compile the standard version. 8 | ### Patch the code 9 | 1. Put the camera driver files into the kernel/drivers/media/i2c directory, and modify the Kconfig and Makefile files to add driver options. 10 | 2. Put the dts file into the kernel\arch\arm64\boot\dts\rockchip directory. 11 | 3. Modify the . /arch/arm64/configs/firefly_defconfig file to add VEYE camera option. 12 | 4. Put camera3_profiles_rk356x.xml file into hardware\rockchip\camera\etc\camera directory. 13 | ### Compile firmware to support VEYE camera version 14 | To compile the kernel and dtb in the same way as the standard version, execute the following command. 15 | ``` 16 | ./FFTools/make.sh -d rk3566-roc-pc -j8 -l rk3566_roc_pc-userdebug 17 | ``` 18 | ### 19 | Packaged into unified firmware update.img 20 | After compilation, you can use Firefly official scripts to package into unified firmware, execute the following command: 21 | 22 | `./FFTools/mkupdate/mkupdate.sh -l rk3566_roc_pc-userdebug` 23 | 24 | ### Burn new android image in the same way as the standard version 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /android/rk356x/etc/path.txt: -------------------------------------------------------------------------------- 1 | hardware\rockchip\camera\etc\camera -------------------------------------------------------------------------------- /android/rk358x/drivers/cam_drv_src/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | msp3400-objs := msp3400-driver.o msp3400-kthreads.o 3 | obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o 4 | 5 | obj-$(CONFIG_VIDEO_SMIAPP) += smiapp/ 6 | obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/ 7 | obj-$(CONFIG_VIDEO_CX25840) += cx25840/ 8 | obj-$(CONFIG_VIDEO_IT66353) += it66353/ 9 | obj-$(CONFIG_VIDEO_M5MOLS) += m5mols/ 10 | obj-$(CONFIG_VIDEO_NVP6158) += nvp6158_drv/ 11 | obj-$(CONFIG_VIDEO_NVP6188) += nvp6188.o 12 | obj-$(CONFIG_VIDEO_NVP6324) += jaguar1_drv/ 13 | 14 | obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o 15 | obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o 16 | obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o 17 | obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o 18 | obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o 19 | obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o 20 | obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o 21 | obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o 22 | obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o 23 | obj-$(CONFIG_VIDEO_SAA711X) += saa7115.o 24 | obj-$(CONFIG_VIDEO_SAA717X) += saa717x.o 25 | obj-$(CONFIG_VIDEO_SAA7127) += saa7127.o 26 | obj-$(CONFIG_VIDEO_SAA7185) += saa7185.o 27 | obj-$(CONFIG_VIDEO_SAA6752HS) += saa6752hs.o 28 | obj-$(CONFIG_VIDEO_AD5820) += ad5820.o 29 | obj-$(CONFIG_VIDEO_AK7375) += ak7375.o 30 | obj-$(CONFIG_VIDEO_AW8601) += aw8601.o 31 | obj-$(CONFIG_VIDEO_CN3927V) += cn3927v.o 32 | obj-$(CONFIG_VIDEO_DW9714) += dw9714.o 33 | obj-$(CONFIG_VIDEO_DW9768) += dw9768.o 34 | obj-$(CONFIG_VIDEO_DW9800W) += dw9800w.o 35 | obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o 36 | obj-$(CONFIG_VIDEO_FP5510) += fp5510.o 37 | obj-$(CONFIG_VIDEO_ADV7170) += adv7170.o 38 | obj-$(CONFIG_VIDEO_ADV7175) += adv7175.o 39 | obj-$(CONFIG_VIDEO_ADV7180) += adv7180.o 40 | obj-$(CONFIG_VIDEO_ADV7183) += adv7183.o 41 | obj-$(CONFIG_VIDEO_ADV7343) += adv7343.o 42 | obj-$(CONFIG_VIDEO_ADV7393) += adv7393.o 43 | obj-$(CONFIG_VIDEO_ADV748X) += adv748x/ 44 | obj-$(CONFIG_VIDEO_ADV7604) += adv7604.o 45 | obj-$(CONFIG_VIDEO_ADV7842) += adv7842.o 46 | obj-$(CONFIG_VIDEO_AD9389B) += ad9389b.o 47 | obj-$(CONFIG_VIDEO_ADV7511) += adv7511-v4l2.o 48 | obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o 49 | obj-$(CONFIG_VIDEO_VS6624) += vs6624.o 50 | obj-$(CONFIG_VIDEO_BT819) += bt819.o 51 | obj-$(CONFIG_VIDEO_BT856) += bt856.o 52 | obj-$(CONFIG_VIDEO_BT866) += bt866.o 53 | obj-$(CONFIG_VIDEO_EP9461E) += ep9461e.o 54 | obj-$(CONFIG_VIDEO_KS0127) += ks0127.o 55 | obj-$(CONFIG_VIDEO_THS7303) += ths7303.o 56 | obj-$(CONFIG_VIDEO_THS8200) += ths8200.o 57 | obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o 58 | obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o 59 | obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o 60 | obj-$(CONFIG_VIDEO_TW2804) += tw2804.o 61 | obj-$(CONFIG_VIDEO_TW9903) += tw9903.o 62 | obj-$(CONFIG_VIDEO_TW9906) += tw9906.o 63 | obj-$(CONFIG_VIDEO_TW9910) += tw9910.o 64 | obj-$(CONFIG_VIDEO_CS3308) += cs3308.o 65 | obj-$(CONFIG_VIDEO_CS5345) += cs5345.o 66 | obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o 67 | obj-$(CONFIG_VIDEO_M52790) += m52790.o 68 | obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o 69 | obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o 70 | obj-$(CONFIG_VIDEO_WM8775) += wm8775.o 71 | obj-$(CONFIG_VIDEO_WM8739) += wm8739.o 72 | obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o 73 | obj-$(CONFIG_VIDEO_SONY_BTF_MPX) += sony-btf-mpx.o 74 | obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o 75 | obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o 76 | obj-$(CONFIG_VIDEO_OS02G10) += os02g10.o 77 | obj-$(CONFIG_VIDEO_OS03B10) += os03b10.o 78 | obj-$(CONFIG_VIDEO_OS04A10) += os04a10.o 79 | obj-$(CONFIG_VIDEO_OS05A20) += os05a20.o 80 | obj-$(CONFIG_VIDEO_OS08A20) += os08a20.o 81 | obj-$(CONFIG_VIDEO_OV02B10) += ov02b10.o 82 | obj-$(CONFIG_VIDEO_OV02K10) += ov02k10.o 83 | obj-$(CONFIG_VIDEO_OV2640) += ov2640.o 84 | obj-$(CONFIG_VIDEO_OV2680) += ov2680.o 85 | obj-$(CONFIG_VIDEO_OV2685) += ov2685.o 86 | obj-$(CONFIG_VIDEO_OV2718) += ov2718.o 87 | obj-$(CONFIG_VIDEO_OV2740) += ov2740.o 88 | obj-$(CONFIG_VIDEO_OV4686) += ov4686.o 89 | obj-$(CONFIG_VIDEO_OV4688) += ov4688.o 90 | obj-$(CONFIG_VIDEO_OV4689) += ov4689.o 91 | obj-$(CONFIG_VIDEO_OV50C40) += ov50c40.o 92 | obj-$(CONFIG_VIDEO_OV5640) += ov5640.o 93 | obj-$(CONFIG_VIDEO_OV5645) += ov5645.o 94 | obj-$(CONFIG_VIDEO_OV5647) += ov5647.o 95 | obj-$(CONFIG_VIDEO_OV5670) += ov5670.o 96 | obj-$(CONFIG_VIDEO_OV5675) += ov5675.o 97 | obj-$(CONFIG_VIDEO_OV5695) += ov5695.o 98 | obj-$(CONFIG_VIDEO_OV6650) += ov6650.o 99 | obj-$(CONFIG_VIDEO_OV7251) += ov7251.o 100 | obj-$(CONFIG_VIDEO_OV7640) += ov7640.o 101 | obj-$(CONFIG_VIDEO_OV7670) += ov7670.o 102 | obj-$(CONFIG_VIDEO_OV772X) += ov772x.o 103 | obj-$(CONFIG_VIDEO_OV7740) += ov7740.o 104 | obj-$(CONFIG_VIDEO_OV8856) += ov8856.o 105 | obj-$(CONFIG_VIDEO_OV8858) += ov8858.o 106 | obj-$(CONFIG_VIDEO_OV9281) += ov9281.o 107 | obj-$(CONFIG_VIDEO_OV9640) += ov9640.o 108 | obj-$(CONFIG_VIDEO_OV9650) += ov9650.o 109 | obj-$(CONFIG_VIDEO_OV12D2Q) += ov12d2q.o 110 | obj-$(CONFIG_VIDEO_OV13850) += ov13850.o 111 | obj-$(CONFIG_VIDEO_OV13855) += ov13855.o 112 | obj-$(CONFIG_VIDEO_OV13858) += ov13858.o 113 | obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o 114 | obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o 115 | obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o 116 | obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o 117 | obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o 118 | obj-$(CONFIG_VIDEO_MT9T112) += mt9t112.o 119 | obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o 120 | obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o 121 | obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o 122 | obj-$(CONFIG_VIDEO_SC132GS) += sc132gs.o 123 | obj-$(CONFIG_VIDEO_SC230AI) += sc230ai.o 124 | obj-$(CONFIG_VIDEO_SC301IOT) += sc301iot.o 125 | obj-$(CONFIG_VIDEO_SC3336) += sc3336.o 126 | obj-$(CONFIG_VIDEO_SC401AI) += sc401ai.o 127 | obj-$(CONFIG_VIDEO_SC4336) += sc4336.o 128 | obj-$(CONFIG_VIDEO_SC500AI) += sc500ai.o 129 | obj-$(CONFIG_VIDEO_SC530AI) += sc530ai.o 130 | obj-$(CONFIG_VIDEO_SENSOR_ADAPTER) += sensor_adapter.o 131 | obj-$(CONFIG_VIDEO_SR030PC30) += sr030pc30.o 132 | obj-$(CONFIG_VIDEO_NOON010PC30) += noon010pc30.o 133 | obj-$(CONFIG_VIDEO_RJ54N1) += rj54n1cb0c.o 134 | obj-$(CONFIG_VIDEO_S5K3L6XX) += s5k3l6xx.o 135 | obj-$(CONFIG_VIDEO_S5K6AA) += s5k6aa.o 136 | obj-$(CONFIG_VIDEO_S5K6A3) += s5k6a3.o 137 | obj-$(CONFIG_VIDEO_S5K4ECGX) += s5k4ecgx.o 138 | obj-$(CONFIG_VIDEO_S5K5BAF) += s5k5baf.o 139 | obj-$(CONFIG_VIDEO_S5KJN1) += s5kjn1.o 140 | obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3/ 141 | obj-$(CONFIG_VIDEO_ADP1653) += adp1653.o 142 | obj-$(CONFIG_VIDEO_AW36518) += aw36518.o 143 | obj-$(CONFIG_VIDEO_LM3560) += lm3560.o 144 | obj-$(CONFIG_VIDEO_LM3646) += lm3646.o 145 | obj-$(CONFIG_VIDEO_SGM3784) += sgm3784.o 146 | obj-$(CONFIG_VIDEO_LT6911UXC) += lt6911uxc.o 147 | obj-$(CONFIG_VIDEO_IT6616) += it6616.o 148 | obj-$(CONFIG_VIDEO_LT7911D) += lt7911d.o 149 | obj-$(CONFIG_VIDEO_LT8619C) += lt8619c.o 150 | obj-$(CONFIG_VIDEO_SMIAPP_PLL) += smiapp-pll.o 151 | obj-$(CONFIG_VIDEO_AK881X) += ak881x.o 152 | obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o 153 | obj-$(CONFIG_VIDEO_I2C) += video-i2c.o 154 | obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o 155 | obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o 156 | obj-$(CONFIG_VIDEO_OV2659) += ov2659.o 157 | obj-$(CONFIG_VIDEO_TC358743) += tc358743.o 158 | obj-$(CONFIG_VIDEO_TC35874X) += tc35874x.o 159 | obj-$(CONFIG_VIDEO_RK628) += rk628/ 160 | obj-$(CONFIG_VIDEO_AR0230) += ar0230.o 161 | obj-$(CONFIG_VIDEO_GC02M2) += gc02m2.o 162 | obj-$(CONFIG_VIDEO_GC08A3) += gc08a3.o 163 | obj-$(CONFIG_VIDEO_GC2053) += gc2053.o 164 | obj-$(CONFIG_VIDEO_GC2093) += gc2093.o 165 | obj-$(CONFIG_VIDEO_GC2145) += gc2145.o 166 | obj-$(CONFIG_VIDEO_GC2385) += gc2385.o 167 | obj-$(CONFIG_VIDEO_GC4023) += gc4023.o 168 | obj-$(CONFIG_VIDEO_GC4653) += gc4653.o 169 | obj-$(CONFIG_VIDEO_GC4663) += gc4663.o 170 | obj-$(CONFIG_VIDEO_GC4C33) += gc4c33.o 171 | obj-$(CONFIG_VIDEO_GC5025) += gc5025.o 172 | obj-$(CONFIG_VIDEO_GC8034) += gc8034.o 173 | obj-$(CONFIG_VIDEO_HI556) += hi556.o 174 | obj-$(CONFIG_VIDEO_IMX214) += imx214.o 175 | obj-$(CONFIG_VIDEO_IMX214_EEPROM) += imx214_eeprom.o 176 | obj-$(CONFIG_VIDEO_IMX219) += imx219.o 177 | obj-$(CONFIG_VIDEO_IMX258) += imx258.o 178 | obj-$(CONFIG_VIDEO_IMX258_EEPROM) += imx258_eeprom.o 179 | obj-$(CONFIG_VIDEO_IMX274) += imx274.o 180 | obj-$(CONFIG_VIDEO_IMX290) += imx290.o 181 | obj-$(CONFIG_VIDEO_IMX307) += imx307.o 182 | obj-$(CONFIG_VIDEO_IMX317) += imx317.o 183 | obj-$(CONFIG_VIDEO_IMX319) += imx319.o 184 | obj-$(CONFIG_VIDEO_IMX323) += imx323.o 185 | obj-$(CONFIG_VIDEO_IMX327) += imx327.o 186 | obj-$(CONFIG_VIDEO_IMX334) += imx334.o 187 | obj-$(CONFIG_VIDEO_IMX335) += imx335.o 188 | obj-$(CONFIG_VIDEO_IMX347) += imx347.o 189 | obj-$(CONFIG_VIDEO_IMX378) += imx378.o 190 | obj-$(CONFIG_VIDEO_IMX415) += imx415.o 191 | obj-$(CONFIG_VIDEO_IMX464) += imx464.o 192 | obj-$(CONFIG_VIDEO_IMX355) += imx355.o 193 | obj-$(CONFIG_VIDEO_IMX577) += imx577.o 194 | obj-$(CONFIG_VIDEO_IMX586) += imx586.o 195 | obj-$(CONFIG_VIDEO_JX_K17) += jx_k17.o 196 | obj-$(CONFIG_VIDEO_MAX9286) += max9286.o 197 | obj-$(CONFIG_VIDEO_MAX96714) += max96714.o 198 | obj-$(CONFIG_VIDEO_MAX96722) += max96722.o 199 | rdacm20-camera_module-objs := rdacm20.o max9271.o 200 | obj-$(CONFIG_VIDEO_RDACM20) += rdacm20-camera_module.o 201 | obj-$(CONFIG_VIDEO_ST_MIPID02) += st-mipid02.o 202 | 203 | obj-$(CONFIG_SDR_MAX2175) += max2175.o 204 | obj-$(CONFIG_VIDEO_XC7160) += xc7160.o 205 | obj-$(CONFIG_VIDEO_VEYECAM2M) += veyecam2m.o 206 | obj-$(CONFIG_VIDEO_OTP_EEPROM) += otp_eeprom.o 207 | obj-$(CONFIG_VIDEO_PREISP_DUMMY_SENSOR) += preisp-dummy.o 208 | -------------------------------------------------------------------------------- /android/rk358x/drivers/cam_drv_src/path.txt: -------------------------------------------------------------------------------- 1 | kernel-5.10\drivers\media\i2c -------------------------------------------------------------------------------- /android/rk358x/drivers/dts/path.txt: -------------------------------------------------------------------------------- 1 | kernel\arch\arm64\boot\dts\rockchip -------------------------------------------------------------------------------- /android/rk358x/drivers/dts/rk3588-roc-pc-cam-veyecam2m.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 www.veye.cc 4 | * 5 | */ 6 | 7 | / { 8 | vcc_mipidphy0: vcc-mipidcphy0-regulator { 9 | status = "disabled"; 10 | compatible = "regulator-fixed"; 11 | gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; 12 | pinctrl-names = "default"; 13 | pinctrl-0 = <&mipidphy0_pwr>; 14 | regulator-name = "vcc_mipidphy0"; 15 | enable-active-high; 16 | }; 17 | }; 18 | 19 | &csi2_dphy0 { 20 | status = "okay"; 21 | 22 | ports { 23 | #address-cells = <1>; 24 | #size-cells = <0>; 25 | port@0 { 26 | reg = <0>; 27 | #address-cells = <1>; 28 | #size-cells = <0>; 29 | 30 | mipidphy0_in_ucam0: endpoint@1 { 31 | reg = <1>; 32 | remote-endpoint = <&veyecam2m_out0>; 33 | data-lanes = <1 2>; 34 | }; 35 | }; 36 | port@1 { 37 | reg = <1>; 38 | #address-cells = <1>; 39 | #size-cells = <0>; 40 | 41 | csidphy0_out: endpoint@0 { 42 | reg = <0>; 43 | remote-endpoint = <&mipi2_csi2_input>; 44 | }; 45 | }; 46 | }; 47 | }; 48 | 49 | &csi2_dphy0_hw { 50 | status = "okay"; 51 | }; 52 | 53 | &i2c7 { 54 | status = "okay"; 55 | pinctrl-names = "default"; 56 | pinctrl-0 = <&i2c7m2_xfer>; 57 | 58 | veyecam2m: veyecam2m@3b{ 59 | compatible = "veye,veyecam2m"; 60 | reg = <0x3b>; 61 | clocks = <&cru CLK_MIPI_CAMARAOUT_M1>; 62 | clock-names = "xvclk"; 63 | pinctrl-names = "default"; 64 | pinctrl-0 = <&mipim1_camera1_clk>; 65 | power-domains = <&power RK3588_PD_VI>; 66 | 67 | //power-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; 68 | reset-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; 69 | pwdn-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; 70 | 71 | //avdd-supply = <&vcc_mipidcphy0>; 72 | //firefly,clkout-enabled-index = <0>; 73 | rockchip,camera-module-index = <0>; 74 | rockchip,camera-module-facing = "back"; 75 | rockchip,camera-module-name = "NC"; 76 | rockchip,camera-module-lens-name = "NC"; 77 | port { 78 | veyecam2m_out0: endpoint { 79 | remote-endpoint = <&mipidphy0_in_ucam0>; 80 | data-lanes = <1 2>; 81 | }; 82 | }; 83 | }; 84 | 85 | }; 86 | 87 | &mipi2_csi2 { 88 | status = "okay"; 89 | 90 | ports { 91 | #address-cells = <1>; 92 | #size-cells = <0>; 93 | 94 | port@0 { 95 | reg = <0>; 96 | #address-cells = <1>; 97 | #size-cells = <0>; 98 | 99 | mipi2_csi2_input: endpoint@1 { 100 | reg = <1>; 101 | remote-endpoint = <&csidphy0_out>; 102 | }; 103 | }; 104 | 105 | port@1 { 106 | reg = <1>; 107 | #address-cells = <1>; 108 | #size-cells = <0>; 109 | 110 | mipi2_csi2_output: endpoint@0 { 111 | reg = <0>; 112 | remote-endpoint = <&cif_mipi2_in0>; 113 | }; 114 | }; 115 | }; 116 | }; 117 | 118 | &pinctrl { 119 | cam { 120 | mipidphy0_pwr: mipidphy0-pwr { 121 | rockchip,pins = 122 | /* camera power en */ 123 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 124 | }; 125 | }; 126 | }; 127 | 128 | &rkcif { 129 | status = "okay"; 130 | // memory-region = <&cif_reserved>; 131 | }; 132 | 133 | &rkcif_mipi_lvds2 { 134 | status = "okay"; 135 | 136 | port { 137 | cif_mipi2_in0: endpoint { 138 | remote-endpoint = <&mipi2_csi2_output>; 139 | }; 140 | }; 141 | }; 142 | 143 | &rkcif_mipi_lvds2_sditf { 144 | status = "disabled"; 145 | 146 | port { 147 | mipi_lvds2_sditf: endpoint { 148 | remote-endpoint = <&isp0_vir0>; 149 | }; 150 | }; 151 | }; 152 | 153 | &rkcif_mmu { 154 | status = "okay"; 155 | }; 156 | 157 | &rkisp0 { 158 | status = "disabled"; 159 | }; 160 | 161 | &isp0_mmu { 162 | status = "disabled"; 163 | }; 164 | 165 | &rkisp0_vir0 { 166 | status = "disabled"; 167 | 168 | port { 169 | #address-cells = <1>; 170 | #size-cells = <0>; 171 | 172 | isp0_vir0: endpoint@0 { 173 | reg = <0>; 174 | remote-endpoint = <&mipi_lvds2_sditf>; 175 | }; 176 | }; 177 | }; 178 | -------------------------------------------------------------------------------- /android/rk358x/drivers/dts/roc-rk3588s-pc.dts: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | #include "roc-rk3588s-pc.dtsi" 10 | //#include "roc-rk3588s-pc-ext.dtsi" 11 | 12 | #include "rk3588-roc-pc-cam-veyecam2m.dtsi" 13 | 14 | 15 | / { 16 | model = "Firefly ROC-RK3588S-PC HDMI(Android)"; 17 | compatible = "rockchip,roc-rk3588s-pc", "rockchip,rk3588"; 18 | }; 19 | -------------------------------------------------------------------------------- /android/rk358x/drivers/readme.md: -------------------------------------------------------------------------------- 1 | # How to add VEYE mipi cameras on RK358x(Android) 2 | ### Introduction 3 | Use firefly ROC-RK3588S-PC as an example. 4 | This document references this [link](https://wiki.t-firefly.com/en/ROC-RK3588S-PC/ "link") from this Firefly.Please check it together with this documentation. 5 | ### Build the standard version 6 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3588S-PC/android_prepare_compile_android.html "link"), Build the build environment. 7 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3588S-PC/android_compile_android12.0_firmware.html "link") to compile the standard version. 8 | ### Patch the code 9 | 1. Put the camera driver files into the kernel/drivers/media/i2c directory, and modify the Kconfig and Makefile files to add driver options. 10 | 2. Put the dts file into the kernel\arch\arm64\boot\dts\rockchip directory. 11 | 3. Modify the . /arch/arm64/configs/firefly_defconfig file to add VEYE camera option. 12 | 4. Put camera3_profiles_rk3588.xml file into hardware\rockchip\camera\etc\camera directory. 13 | 14 | ### Compile firmware to support VEYE camera version 15 | To compile the kernel and dtb in the same way as the standard version, execute the following command. 16 | ``` 17 | ./FFTools/make.sh -d roc-rk3588s-pc -j8 -l roc_rk3588s_pc-userdebug 18 | ``` 19 | Packaged into unified firmware update.img 20 | After compilation, you can use Firefly official scripts to package into unified firmware, execute the following command: 21 | 22 | `./FFTools/mkupdate/mkupdate.sh -l roc_rk3588s_pc-userdebug` 23 | 24 | ### Burn new android image in the same way as the standard version 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /android/rk358x/etc/path.txt: -------------------------------------------------------------------------------- 1 | hardware\rockchip\camera\etc\camera -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v4.19/cam_drv_src/Makefile_release_20211019: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | msp3400-objs := msp3400-driver.o msp3400-kthreads.o 3 | obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o 4 | 5 | obj-$(CONFIG_VIDEO_SMIAPP) += smiapp/ 6 | obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/ 7 | obj-$(CONFIG_VIDEO_CX25840) += cx25840/ 8 | obj-$(CONFIG_VIDEO_M5MOLS) += m5mols/ 9 | obj-y += soc_camera/ 10 | obj-$(CONFIG_VIDEO_NVP6158) += nvp6158_drv/ 11 | obj-$(CONFIG_VIDEO_NVP6188) += nvp6188.o 12 | obj-$(CONFIG_VIDEO_NVP6324) += jaguar1_drv/ 13 | 14 | obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o 15 | obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o 16 | obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o 17 | obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o 18 | obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o 19 | obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o 20 | obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o 21 | obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o 22 | obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o 23 | obj-$(CONFIG_VIDEO_SAA711X) += saa7115.o 24 | obj-$(CONFIG_VIDEO_SAA717X) += saa717x.o 25 | obj-$(CONFIG_VIDEO_SAA7127) += saa7127.o 26 | obj-$(CONFIG_VIDEO_SAA7185) += saa7185.o 27 | obj-$(CONFIG_VIDEO_SAA6752HS) += saa6752hs.o 28 | obj-$(CONFIG_VIDEO_AD5820) += ad5820.o 29 | obj-$(CONFIG_VIDEO_AK7375) += ak7375.o 30 | obj-$(CONFIG_VIDEO_DW9714) += dw9714.o 31 | obj-$(CONFIG_VIDEO_DW9718) += dw9718.o 32 | obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o 33 | obj-$(CONFIG_VIDEO_FP5501) += fp5501.o 34 | obj-$(CONFIG_VIDEO_FP5510) += fp5510.o 35 | obj-$(CONFIG_VIDEO_GT9760S) += gt9760s.o 36 | obj-$(CONFIG_VIDEO_VM149C) += vm149c.o 37 | obj-$(CONFIG_VIDEO_ADV7170) += adv7170.o 38 | obj-$(CONFIG_VIDEO_ADV7175) += adv7175.o 39 | obj-$(CONFIG_VIDEO_ADV7180) += adv7180.o 40 | obj-$(CONFIG_VIDEO_ADV7183) += adv7183.o 41 | obj-$(CONFIG_VIDEO_ADV7343) += adv7343.o 42 | obj-$(CONFIG_VIDEO_ADV7393) += adv7393.o 43 | obj-$(CONFIG_VIDEO_ADV748X) += adv748x/ 44 | obj-$(CONFIG_VIDEO_ADV7604) += adv7604.o 45 | obj-$(CONFIG_VIDEO_ADV7842) += adv7842.o 46 | obj-$(CONFIG_VIDEO_AD9389B) += ad9389b.o 47 | obj-$(CONFIG_VIDEO_ADV7511) += adv7511-v4l2.o 48 | obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o 49 | obj-$(CONFIG_VIDEO_VS6624) += vs6624.o 50 | obj-$(CONFIG_VIDEO_BT819) += bt819.o 51 | obj-$(CONFIG_VIDEO_BT856) += bt856.o 52 | obj-$(CONFIG_VIDEO_BT866) += bt866.o 53 | obj-$(CONFIG_VIDEO_KS0127) += ks0127.o 54 | obj-$(CONFIG_VIDEO_THS7303) += ths7303.o 55 | obj-$(CONFIG_VIDEO_THS8200) += ths8200.o 56 | obj-$(CONFIG_VIDEO_TECHPOINT) += techpoint/ 57 | obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o 58 | obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o 59 | obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o 60 | obj-$(CONFIG_VIDEO_TW2804) += tw2804.o 61 | obj-$(CONFIG_VIDEO_TW9903) += tw9903.o 62 | obj-$(CONFIG_VIDEO_TW9906) += tw9906.o 63 | obj-$(CONFIG_VIDEO_TW9910) += tw9910.o 64 | obj-$(CONFIG_VIDEO_CS3308) += cs3308.o 65 | obj-$(CONFIG_VIDEO_CS5345) += cs5345.o 66 | obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o 67 | obj-$(CONFIG_VIDEO_M52790) += m52790.o 68 | obj-$(CONFIG_VIDEO_HALL_DC_MOTOR) += hall-dc-motor.o 69 | obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o 70 | obj-$(CONFIG_VIDEO_MP6507) += mp6507.o 71 | obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o 72 | obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o 73 | obj-$(CONFIG_VIDEO_WM8775) += wm8775.o 74 | obj-$(CONFIG_VIDEO_WM8739) += wm8739.o 75 | obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o 76 | obj-$(CONFIG_VIDEO_SONY_BTF_MPX) += sony-btf-mpx.o 77 | obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o 78 | obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o 79 | obj-$(CONFIG_VIDEO_OS02G10) += os02g10.o 80 | obj-$(CONFIG_VIDEO_OS04A10) += os04a10.o 81 | obj-$(CONFIG_VIDEO_OS04C10) += os04c10.o 82 | obj-$(CONFIG_VIDEO_OS05A20) += os05a20.o 83 | obj-$(CONFIG_VIDEO_OS08A10) += os08a10.o 84 | obj-$(CONFIG_VIDEO_OS08A20) += os08a20.o 85 | obj-$(CONFIG_VIDEO_OS12D40) += os12d40.o 86 | obj-$(CONFIG_VIDEO_OV02B10) += ov02b10.o 87 | obj-$(CONFIG_VIDEO_OV02K10) += ov02k10.o 88 | obj-$(CONFIG_VIDEO_OV2640) += ov2640.o 89 | obj-$(CONFIG_VIDEO_OV2680) += ov2680.o 90 | obj-$(CONFIG_VIDEO_OV2685) += ov2685.o 91 | obj-$(CONFIG_VIDEO_OV2718) += ov2718.o 92 | obj-$(CONFIG_VIDEO_OV2735) += ov2735.o 93 | obj-$(CONFIG_VIDEO_OV2775) += ov2775.o 94 | obj-$(CONFIG_VIDEO_OV4686) += ov4686.o 95 | obj-$(CONFIG_VIDEO_OV4688) += ov4688.o 96 | obj-$(CONFIG_VIDEO_OV4689) += ov4689.o 97 | obj-$(CONFIG_VIDEO_OV5640) += ov5640.o 98 | obj-$(CONFIG_VIDEO_OV5645) += ov5645.o 99 | obj-$(CONFIG_VIDEO_OV5647) += ov5647.o 100 | obj-$(CONFIG_VIDEO_OV5648) += ov5648.o 101 | obj-$(CONFIG_VIDEO_OV5670) += ov5670.o 102 | obj-$(CONFIG_VIDEO_OV5695) += ov5695.o 103 | obj-$(CONFIG_VIDEO_OV6650) += ov6650.o 104 | obj-$(CONFIG_VIDEO_OV7251) += ov7251.o 105 | obj-$(CONFIG_VIDEO_OV7640) += ov7640.o 106 | obj-$(CONFIG_VIDEO_OV7670) += ov7670.o 107 | obj-$(CONFIG_VIDEO_OV772X) += ov772x.o 108 | obj-$(CONFIG_VIDEO_OV7740) += ov7740.o 109 | obj-$(CONFIG_VIDEO_OV7750) += ov7750.o 110 | obj-$(CONFIG_VIDEO_OV8858) += ov8858.o 111 | obj-$(CONFIG_VIDEO_OV9281) += ov9281.o 112 | obj-$(CONFIG_VIDEO_OV9650) += ov9650.o 113 | obj-$(CONFIG_VIDEO_OV9750) += ov9750.o 114 | obj-$(CONFIG_VIDEO_OV12D2Q) += ov12d2q.o 115 | obj-$(CONFIG_VIDEO_OV13850) += ov13850.o 116 | obj-$(CONFIG_VIDEO_OV13858) += ov13858.o 117 | obj-$(CONFIG_VIDEO_OV13B10) += ov13b10.o 118 | obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o 119 | obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o 120 | obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o 121 | obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o 122 | obj-$(CONFIG_VIDEO_MT9T112) += mt9t112.o 123 | obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o 124 | obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o 125 | obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o 126 | obj-$(CONFIG_VIDEO_AR0230) += ar0230.o 127 | obj-$(CONFIG_VIDEO_SR030PC30) += sr030pc30.o 128 | obj-$(CONFIG_VIDEO_NOON010PC30) += noon010pc30.o 129 | obj-$(CONFIG_VIDEO_RJ54N1) += rj54n1cb0c.o 130 | obj-$(CONFIG_VIDEO_S5K6AA) += s5k6aa.o 131 | obj-$(CONFIG_VIDEO_S5K6A3) += s5k6a3.o 132 | obj-$(CONFIG_VIDEO_S5K4ECGX) += s5k4ecgx.o 133 | obj-$(CONFIG_VIDEO_S5K5BAF) += s5k5baf.o 134 | obj-$(CONFIG_VIDEO_S5KGM1SP) += s5kgm1sp.o 135 | obj-$(CONFIG_VIDEO_S5K4H7YX) += s5k4h7yx.o 136 | obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3/ 137 | obj-$(CONFIG_VIDEO_ADP1653) += adp1653.o 138 | obj-$(CONFIG_VIDEO_LM3560) += lm3560.o 139 | obj-$(CONFIG_VIDEO_LM3646) += lm3646.o 140 | obj-$(CONFIG_VIDEO_SGM3784) += sgm3784.o 141 | obj-$(CONFIG_VIDEO_SMIAPP_PLL) += smiapp-pll.o 142 | obj-$(CONFIG_VIDEO_AK881X) += ak881x.o 143 | obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o 144 | obj-$(CONFIG_VIDEO_I2C) += video-i2c.o 145 | obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o 146 | obj-$(CONFIG_VIDEO_OV2659) += ov2659.o 147 | obj-$(CONFIG_VIDEO_TC358743) += tc358743.o 148 | obj-$(CONFIG_VIDEO_TC35874X) += tc35874x.o 149 | obj-$(CONFIG_VIDEO_RK628_CSI) += rk628_csi.o 150 | obj-$(CONFIG_VIDEO_LT6911UXC) += lt6911uxc.o 151 | obj-$(CONFIG_VIDEO_LT7911D) += lt7911d.o 152 | obj-$(CONFIG_VIDEO_LT8619C) += lt8619c.o 153 | obj-$(CONFIG_VIDEO_IMX178) += imx178.o 154 | obj-$(CONFIG_VIDEO_IMX219) += imx219.o 155 | obj-$(CONFIG_VIDEO_IMX258) += imx258.o 156 | obj-$(CONFIG_VIDEO_IMX258_EEPROM) += imx258_eeprom.o 157 | obj-$(CONFIG_VIDEO_IMX274) += imx274.o 158 | obj-$(CONFIG_VIDEO_IMX307) += imx307.o 159 | obj-$(CONFIG_VIDEO_IMX317) += imx317.o 160 | obj-$(CONFIG_VIDEO_IMX323) += imx323.o 161 | obj-$(CONFIG_VIDEO_IMX327) += imx327.o 162 | obj-$(CONFIG_VIDEO_IMX334) += imx334.o 163 | obj-$(CONFIG_VIDEO_IMX335) += imx335.o 164 | obj-$(CONFIG_VIDEO_IMX347) += imx347.o 165 | obj-$(CONFIG_VIDEO_IMX378) += imx378.o 166 | obj-$(CONFIG_VIDEO_IMX415) += imx415.o 167 | obj-$(CONFIG_VIDEO_IMX462) += imx462.o 168 | obj-$(CONFIG_VIDEO_IMX464) += imx464.o 169 | obj-$(CONFIG_VIDEO_GC02M2) += gc02m2.o 170 | obj-$(CONFIG_VIDEO_GC030A) += gc030a.o 171 | obj-$(CONFIG_VIDEO_GC0312) += gc0312.o 172 | obj-$(CONFIG_VIDEO_GC0329) += gc0329.o 173 | obj-$(CONFIG_VIDEO_GC032A) += gc032a.o 174 | obj-$(CONFIG_VIDEO_GC0403) += gc0403.o 175 | obj-$(CONFIG_VIDEO_GC1054) += gc1054.o 176 | obj-$(CONFIG_VIDEO_GC2035) += gc2035.o 177 | obj-$(CONFIG_VIDEO_GC2053) += gc2053.o 178 | obj-$(CONFIG_VIDEO_GC2093) += gc2093.o 179 | obj-$(CONFIG_VIDEO_GC2145) += gc2145.o 180 | obj-$(CONFIG_VIDEO_GC2155) += gc2155.o 181 | obj-$(CONFIG_VIDEO_GC2355) += gc2355.o 182 | obj-$(CONFIG_VIDEO_GC2375H) += gc2375h.o 183 | obj-$(CONFIG_VIDEO_GC2385) += gc2385.o 184 | obj-$(CONFIG_VIDEO_GC4663) += gc4663.o 185 | obj-$(CONFIG_VIDEO_GC4C33) += gc4c33.o 186 | obj-$(CONFIG_VIDEO_GC5024) += gc5024.o 187 | obj-$(CONFIG_VIDEO_GC5025) += gc5025.o 188 | obj-$(CONFIG_VIDEO_GC5035) += gc5035.o 189 | obj-$(CONFIG_VIDEO_GC8034) += gc8034.o 190 | obj-$(CONFIG_VIDEO_BF3925) += bf3925.o 191 | obj-$(CONFIG_VIDEO_JX_F37) += jx_f37.o 192 | obj-$(CONFIG_VIDEO_JX_F37P) += jx_f37p.o 193 | obj-$(CONFIG_VIDEO_JX_H62) += jx_h62.o 194 | obj-$(CONFIG_VIDEO_JX_H65) += jx_h65.o 195 | obj-$(CONFIG_VIDEO_JX_K04) += jx_k04.o 196 | obj-$(CONFIG_VIDEO_SC031GS) += sc031gs.o 197 | obj-$(CONFIG_VIDEO_SC035HGS) += sc035hgs.o 198 | obj-$(CONFIG_VIDEO_SC1330) += sc1330.o 199 | obj-$(CONFIG_VIDEO_SC132GS) += sc132gs.o 200 | obj-$(CONFIG_VIDEO_SC200AI) += sc200ai.o 201 | obj-$(CONFIG_VIDEO_SC210IOT) += sc210iot.o 202 | obj-$(CONFIG_VIDEO_SC2232) += sc2232.o 203 | obj-$(CONFIG_VIDEO_SC2239) += sc2239.o 204 | obj-$(CONFIG_VIDEO_SC223A) += sc223a.o 205 | obj-$(CONFIG_VIDEO_SC2310) += sc2310.o 206 | obj-$(CONFIG_VIDEO_SC2335) += sc2335.o 207 | obj-$(CONFIG_VIDEO_SC2355) += sc2355.o 208 | obj-$(CONFIG_VIDEO_SC401AI) += sc401ai.o 209 | obj-$(CONFIG_VIDEO_SC4238) += sc4238.o 210 | obj-$(CONFIG_VIDEO_SC430CS) += sc430cs.o 211 | obj-$(CONFIG_VIDEO_SC500AI) += sc500ai.o 212 | obj-$(CONFIG_VIDEO_SC530AI) += sc530ai.o 213 | obj-$(CONFIG_VIDEO_SC5239) += sc5239.o 214 | obj-$(CONFIG_VIDEO_SC8220) += sc8220.o 215 | obj-$(CONFIG_VIDEO_SP250A) += sp250a.o 216 | obj-$(CONFIG_VIDEO_HYNIX_HI556) += hynix_hi556.o 217 | obj-$(CONFIG_VIDEO_HYNIX_HI846) += hynix_hi846.o 218 | obj-$(CONFIG_VIDEO_HM5040) += hm5040.o 219 | 220 | obj-$(CONFIG_VIDEO_PREISP_DUMMY_SENSOR) += preisp-dummy.o 221 | 222 | obj-$(CONFIG_SDR_MAX2175) += max2175.o 223 | obj-$(CONFIG_VIDEO_XC7022) += xc7022.o 224 | obj-$(CONFIG_VIDEO_XC7160) += xc7160.o 225 | obj-$(CONFIG_VIDEO_VEYECAM2M) += veyecam2m.o 226 | obj-$(CONFIG_VIDEO_OTP_EEPROM) += otp_eeprom.o 227 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v4.19/cam_drv_src/Makefile_v1.3.0b_20221213: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | msp3400-objs := msp3400-driver.o msp3400-kthreads.o 3 | obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o 4 | 5 | obj-$(CONFIG_VIDEO_SMIAPP) += smiapp/ 6 | obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/ 7 | obj-$(CONFIG_VIDEO_CX25840) += cx25840/ 8 | obj-$(CONFIG_VIDEO_M5MOLS) += m5mols/ 9 | obj-y += soc_camera/ 10 | obj-$(CONFIG_VIDEO_NVP6158) += nvp6158_drv/ 11 | obj-$(CONFIG_VIDEO_NVP6188) += nvp6188.o 12 | obj-$(CONFIG_VIDEO_NVP6324) += jaguar1_drv/ 13 | obj-$(CONFIG_VIDEO_RN6854) += rn6854.o 14 | 15 | obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o 16 | obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o 17 | obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o 18 | obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o 19 | obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o 20 | obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o 21 | obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o 22 | obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o 23 | obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o 24 | obj-$(CONFIG_VIDEO_SAA711X) += saa7115.o 25 | obj-$(CONFIG_VIDEO_SAA717X) += saa717x.o 26 | obj-$(CONFIG_VIDEO_SAA7127) += saa7127.o 27 | obj-$(CONFIG_VIDEO_SAA7185) += saa7185.o 28 | obj-$(CONFIG_VIDEO_SAA6752HS) += saa6752hs.o 29 | obj-$(CONFIG_VIDEO_AD5820) += ad5820.o 30 | obj-$(CONFIG_VIDEO_AK7375) += ak7375.o 31 | obj-$(CONFIG_VIDEO_DW9714) += dw9714.o 32 | obj-$(CONFIG_VIDEO_DW9718) += dw9718.o 33 | obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o 34 | obj-$(CONFIG_VIDEO_FP5501) += fp5501.o 35 | obj-$(CONFIG_VIDEO_FP5510) += fp5510.o 36 | obj-$(CONFIG_VIDEO_GT9760S) += gt9760s.o 37 | obj-$(CONFIG_VIDEO_VM149C) += vm149c.o 38 | obj-$(CONFIG_VIDEO_ADV7170) += adv7170.o 39 | obj-$(CONFIG_VIDEO_ADV7175) += adv7175.o 40 | obj-$(CONFIG_VIDEO_ADV7180) += adv7180.o 41 | obj-$(CONFIG_VIDEO_ADV7183) += adv7183.o 42 | obj-$(CONFIG_VIDEO_ADV7343) += adv7343.o 43 | obj-$(CONFIG_VIDEO_ADV7393) += adv7393.o 44 | obj-$(CONFIG_VIDEO_ADV748X) += adv748x/ 45 | obj-$(CONFIG_VIDEO_ADV7604) += adv7604.o 46 | obj-$(CONFIG_VIDEO_ADV7842) += adv7842.o 47 | obj-$(CONFIG_VIDEO_AD9389B) += ad9389b.o 48 | obj-$(CONFIG_VIDEO_ADV7511) += adv7511-v4l2.o 49 | obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o 50 | obj-$(CONFIG_VIDEO_VS6624) += vs6624.o 51 | obj-$(CONFIG_VIDEO_BT819) += bt819.o 52 | obj-$(CONFIG_VIDEO_BT856) += bt856.o 53 | obj-$(CONFIG_VIDEO_BT866) += bt866.o 54 | obj-$(CONFIG_VIDEO_KS0127) += ks0127.o 55 | obj-$(CONFIG_VIDEO_THS7303) += ths7303.o 56 | obj-$(CONFIG_VIDEO_THS8200) += ths8200.o 57 | obj-$(CONFIG_VIDEO_TECHPOINT) += techpoint/ 58 | obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o 59 | obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o 60 | obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o 61 | obj-$(CONFIG_VIDEO_TW2804) += tw2804.o 62 | obj-$(CONFIG_VIDEO_TW9903) += tw9903.o 63 | obj-$(CONFIG_VIDEO_TW9906) += tw9906.o 64 | obj-$(CONFIG_VIDEO_TW9910) += tw9910.o 65 | obj-$(CONFIG_VIDEO_CS3308) += cs3308.o 66 | obj-$(CONFIG_VIDEO_CS5345) += cs5345.o 67 | obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o 68 | obj-$(CONFIG_VIDEO_M52790) += m52790.o 69 | obj-$(CONFIG_VIDEO_HALL_DC_MOTOR) += hall-dc-motor.o 70 | obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o 71 | obj-$(CONFIG_VIDEO_MP6507) += mp6507.o 72 | obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o 73 | obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o 74 | obj-$(CONFIG_VIDEO_WM8775) += wm8775.o 75 | obj-$(CONFIG_VIDEO_WM8739) += wm8739.o 76 | obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o 77 | obj-$(CONFIG_VIDEO_SONY_BTF_MPX) += sony-btf-mpx.o 78 | obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o 79 | obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o 80 | obj-$(CONFIG_VIDEO_OS02G10) += os02g10.o 81 | obj-$(CONFIG_VIDEO_OS04A10) += os04a10.o 82 | obj-$(CONFIG_VIDEO_OS04C10) += os04c10.o 83 | obj-$(CONFIG_VIDEO_OS05A20) += os05a20.o 84 | obj-$(CONFIG_VIDEO_OS08A10) += os08a10.o 85 | obj-$(CONFIG_VIDEO_OS08A20) += os08a20.o 86 | obj-$(CONFIG_VIDEO_OS12D40) += os12d40.o 87 | obj-$(CONFIG_VIDEO_OV02B10) += ov02b10.o 88 | obj-$(CONFIG_VIDEO_OV02K10) += ov02k10.o 89 | obj-$(CONFIG_VIDEO_OV2640) += ov2640.o 90 | obj-$(CONFIG_VIDEO_OV2680) += ov2680.o 91 | obj-$(CONFIG_VIDEO_OV2685) += ov2685.o 92 | obj-$(CONFIG_VIDEO_OV2718) += ov2718.o 93 | obj-$(CONFIG_VIDEO_OV2735) += ov2735.o 94 | obj-$(CONFIG_VIDEO_OV2775) += ov2775.o 95 | obj-$(CONFIG_VIDEO_OV4686) += ov4686.o 96 | obj-$(CONFIG_VIDEO_OV4688) += ov4688.o 97 | obj-$(CONFIG_VIDEO_OV4689) += ov4689.o 98 | obj-$(CONFIG_VIDEO_OV5640) += ov5640.o 99 | obj-$(CONFIG_VIDEO_OV5645) += ov5645.o 100 | obj-$(CONFIG_VIDEO_OV5647) += ov5647.o 101 | obj-$(CONFIG_VIDEO_OV5648) += ov5648.o 102 | obj-$(CONFIG_VIDEO_OV5670) += ov5670.o 103 | obj-$(CONFIG_VIDEO_OV5695) += ov5695.o 104 | obj-$(CONFIG_VIDEO_OV6650) += ov6650.o 105 | obj-$(CONFIG_VIDEO_OV7251) += ov7251.o 106 | obj-$(CONFIG_VIDEO_OV7640) += ov7640.o 107 | obj-$(CONFIG_VIDEO_OV7670) += ov7670.o 108 | obj-$(CONFIG_VIDEO_OV772X) += ov772x.o 109 | obj-$(CONFIG_VIDEO_OV7740) += ov7740.o 110 | obj-$(CONFIG_VIDEO_OV7750) += ov7750.o 111 | obj-$(CONFIG_VIDEO_OV8858) += ov8858.o 112 | obj-$(CONFIG_VIDEO_OV9281) += ov9281.o 113 | obj-$(CONFIG_VIDEO_OV9650) += ov9650.o 114 | obj-$(CONFIG_VIDEO_OV9750) += ov9750.o 115 | obj-$(CONFIG_VIDEO_OV12D2Q) += ov12d2q.o 116 | obj-$(CONFIG_VIDEO_OV13850) += ov13850.o 117 | obj-$(CONFIG_VIDEO_OV13858) += ov13858.o 118 | obj-$(CONFIG_VIDEO_OV13B10) += ov13b10.o 119 | obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o 120 | obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o 121 | obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o 122 | obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o 123 | obj-$(CONFIG_VIDEO_MT9T112) += mt9t112.o 124 | obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o 125 | obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o 126 | obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o 127 | obj-$(CONFIG_VIDEO_AR0230) += ar0230.o 128 | obj-$(CONFIG_VIDEO_SR030PC30) += sr030pc30.o 129 | obj-$(CONFIG_VIDEO_NOON010PC30) += noon010pc30.o 130 | obj-$(CONFIG_VIDEO_RJ54N1) += rj54n1cb0c.o 131 | obj-$(CONFIG_VIDEO_S5K6AA) += s5k6aa.o 132 | obj-$(CONFIG_VIDEO_S5K6A3) += s5k6a3.o 133 | obj-$(CONFIG_VIDEO_S5K4ECGX) += s5k4ecgx.o 134 | obj-$(CONFIG_VIDEO_S5K5BAF) += s5k5baf.o 135 | obj-$(CONFIG_VIDEO_S5KGM1SP) += s5kgm1sp.o 136 | obj-$(CONFIG_VIDEO_S5K4H7YX) += s5k4h7yx.o 137 | obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3/ 138 | obj-$(CONFIG_VIDEO_ADP1653) += adp1653.o 139 | obj-$(CONFIG_VIDEO_LM3560) += lm3560.o 140 | obj-$(CONFIG_VIDEO_LM3646) += lm3646.o 141 | obj-$(CONFIG_VIDEO_SGM3784) += sgm3784.o 142 | obj-$(CONFIG_VIDEO_SMIAPP_PLL) += smiapp-pll.o 143 | obj-$(CONFIG_VIDEO_AK881X) += ak881x.o 144 | obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o 145 | obj-$(CONFIG_VIDEO_I2C) += video-i2c.o 146 | obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o 147 | obj-$(CONFIG_VIDEO_OV2659) += ov2659.o 148 | obj-$(CONFIG_VIDEO_TC358743) += tc358743.o 149 | obj-$(CONFIG_VIDEO_TC35874X) += tc35874x.o 150 | obj-$(CONFIG_VIDEO_RK628_CSI) += rk628_csi.o 151 | obj-$(CONFIG_VIDEO_LT6911UXC) += lt6911uxc.o 152 | obj-$(CONFIG_VIDEO_LT7911D) += lt7911d.o 153 | obj-$(CONFIG_VIDEO_LT8619C) += lt8619c.o 154 | obj-$(CONFIG_VIDEO_IMX178) += imx178.o 155 | obj-$(CONFIG_VIDEO_IMX214) += imx214.o 156 | obj-$(CONFIG_VIDEO_IMX214_EEPROM) += imx214_eeprom.o 157 | obj-$(CONFIG_VIDEO_IMX219) += imx219.o 158 | obj-$(CONFIG_VIDEO_IMX258) += imx258.o 159 | obj-$(CONFIG_VIDEO_IMX258_EEPROM) += imx258_eeprom.o 160 | obj-$(CONFIG_VIDEO_IMX274) += imx274.o 161 | obj-$(CONFIG_VIDEO_IMX307) += imx307.o 162 | obj-$(CONFIG_VIDEO_IMX317) += imx317.o 163 | obj-$(CONFIG_VIDEO_IMX323) += imx323.o 164 | obj-$(CONFIG_VIDEO_IMX327) += imx327.o 165 | obj-$(CONFIG_VIDEO_IMX334) += imx334.o 166 | obj-$(CONFIG_VIDEO_IMX335) += imx335.o 167 | obj-$(CONFIG_VIDEO_IMX347) += imx347.o 168 | obj-$(CONFIG_VIDEO_IMX378) += imx378.o 169 | obj-$(CONFIG_VIDEO_IMX415) += imx415.o 170 | obj-$(CONFIG_VIDEO_IMX462) += imx462.o 171 | obj-$(CONFIG_VIDEO_IMX464) += imx464.o 172 | obj-$(CONFIG_VIDEO_GC02M2) += gc02m2.o 173 | obj-$(CONFIG_VIDEO_GC030A) += gc030a.o 174 | obj-$(CONFIG_VIDEO_GC0312) += gc0312.o 175 | obj-$(CONFIG_VIDEO_GC0329) += gc0329.o 176 | obj-$(CONFIG_VIDEO_GC032A) += gc032a.o 177 | obj-$(CONFIG_VIDEO_GC0403) += gc0403.o 178 | obj-$(CONFIG_VIDEO_GC1054) += gc1054.o 179 | obj-$(CONFIG_VIDEO_GC2035) += gc2035.o 180 | obj-$(CONFIG_VIDEO_GC2053) += gc2053.o 181 | obj-$(CONFIG_VIDEO_GC2093) += gc2093.o 182 | obj-$(CONFIG_VIDEO_GC2145) += gc2145.o 183 | obj-$(CONFIG_VIDEO_GC2155) += gc2155.o 184 | obj-$(CONFIG_VIDEO_GC2355) += gc2355.o 185 | obj-$(CONFIG_VIDEO_GC2375H) += gc2375h.o 186 | obj-$(CONFIG_VIDEO_GC2385) += gc2385.o 187 | obj-$(CONFIG_VIDEO_GC4653) += gc4653.o 188 | obj-$(CONFIG_VIDEO_GC4663) += gc4663.o 189 | obj-$(CONFIG_VIDEO_GC4C33) += gc4c33.o 190 | obj-$(CONFIG_VIDEO_GC5024) += gc5024.o 191 | obj-$(CONFIG_VIDEO_GC5025) += gc5025.o 192 | obj-$(CONFIG_VIDEO_GC5035) += gc5035.o 193 | obj-$(CONFIG_VIDEO_GC8034) += gc8034.o 194 | obj-$(CONFIG_VIDEO_BF3925) += bf3925.o 195 | obj-$(CONFIG_VIDEO_JX_F37) += jx_f37.o 196 | obj-$(CONFIG_VIDEO_JX_F37P) += jx_f37p.o 197 | obj-$(CONFIG_VIDEO_JX_H62) += jx_h62.o 198 | obj-$(CONFIG_VIDEO_JX_H65) += jx_h65.o 199 | obj-$(CONFIG_VIDEO_JX_K04) += jx_k04.o 200 | obj-$(CONFIG_VIDEO_SC031GS) += sc031gs.o 201 | obj-$(CONFIG_VIDEO_SC035HGS) += sc035hgs.o 202 | obj-$(CONFIG_VIDEO_SC1330) += sc1330.o 203 | obj-$(CONFIG_VIDEO_SC132GS) += sc132gs.o 204 | obj-$(CONFIG_VIDEO_SC200AI) += sc200ai.o 205 | obj-$(CONFIG_VIDEO_SC210IOT) += sc210iot.o 206 | obj-$(CONFIG_VIDEO_SC2232) += sc2232.o 207 | obj-$(CONFIG_VIDEO_SC2239) += sc2239.o 208 | obj-$(CONFIG_VIDEO_SC223A) += sc223a.o 209 | obj-$(CONFIG_VIDEO_SC2310) += sc2310.o 210 | obj-$(CONFIG_VIDEO_SC2335) += sc2335.o 211 | obj-$(CONFIG_VIDEO_SC2355) += sc2355.o 212 | obj-$(CONFIG_VIDEO_SC3336) += sc3336.o 213 | obj-$(CONFIG_VIDEO_SC401AI) += sc401ai.o 214 | obj-$(CONFIG_VIDEO_SC4238) += sc4238.o 215 | obj-$(CONFIG_VIDEO_SC430CS) += sc430cs.o 216 | obj-$(CONFIG_VIDEO_SC4336) += sc4336.o 217 | obj-$(CONFIG_VIDEO_SC500AI) += sc500ai.o 218 | obj-$(CONFIG_VIDEO_SC530AI) += sc530ai.o 219 | obj-$(CONFIG_VIDEO_SC5239) += sc5239.o 220 | obj-$(CONFIG_VIDEO_SC8220) += sc8220.o 221 | obj-$(CONFIG_VIDEO_SP250A) += sp250a.o 222 | obj-$(CONFIG_VIDEO_HYNIX_HI556) += hynix_hi556.o 223 | obj-$(CONFIG_VIDEO_HYNIX_HI846) += hynix_hi846.o 224 | obj-$(CONFIG_VIDEO_HM5040) += hm5040.o 225 | 226 | obj-$(CONFIG_VIDEO_PREISP_DUMMY_SENSOR) += preisp-dummy.o 227 | 228 | obj-$(CONFIG_SDR_MAX2175) += max2175.o 229 | obj-$(CONFIG_VIDEO_XC7022) += xc7022.o 230 | obj-$(CONFIG_VIDEO_XC7160) += xc7160.o 231 | obj-$(CONFIG_VIDEO_VEYECAM2M) += veyecam2m.o 232 | obj-$(CONFIG_VIDEO_OTP_EEPROM) += otp_eeprom.o 233 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v4.19/cam_drv_src/path.txt: -------------------------------------------------------------------------------- 1 | kernel\drivers\media\i2c 2 | 3 | driver source move to https://github.com/veyeimaging/rk35xx_veye_bsp -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v4.19/dts/path.txt: -------------------------------------------------------------------------------- 1 | kernel\arch\arm64\boot\dts\rockchip -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v4.19/dts/rk3566-firefly-roc-pc-cam-veyecam2m.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | &csi2_dphy0 { 8 | status = "okay"; 9 | 10 | ports { 11 | #address-cells = <1>; 12 | #size-cells = <0>; 13 | port@0 { 14 | reg = <0>; 15 | #address-cells = <1>; 16 | #size-cells = <0>; 17 | 18 | mipi_in_ucam3: endpoint@4 { 19 | reg = <4>; 20 | remote-endpoint = <&veyecam2m_out>; 21 | data-lanes = <1 2>; 22 | }; 23 | }; 24 | port@1 { 25 | reg = <1>; 26 | #address-cells = <1>; 27 | #size-cells = <0>; 28 | 29 | csidphy_out: endpoint@0 { 30 | reg = <0>; 31 | remote-endpoint = <&isp0_in>; 32 | }; 33 | }; 34 | }; 35 | }; 36 | 37 | &csi2_dphy1 { 38 | status = "disabled"; 39 | }; 40 | 41 | &csi2_dphy2 { 42 | status = "disabled"; 43 | }; 44 | 45 | &rkisp_vir0 { 46 | status = "okay"; 47 | 48 | port { 49 | #address-cells = <1>; 50 | #size-cells = <0>; 51 | 52 | isp0_in: endpoint@0 { 53 | reg = <0>; 54 | remote-endpoint = <&csidphy_out>; 55 | }; 56 | }; 57 | }; 58 | 59 | &rkisp_vir1 { 60 | status = "disabled"; 61 | }; 62 | 63 | &i2c4 { 64 | status = "okay"; 65 | clock-frequency = <400000>; 66 | 67 | veyecam2m: veyecam2m@3b{ 68 | status = "okay"; 69 | compatible = "veye,veyecam2m"; 70 | reg = <0x3b>; 71 | clocks = <&cru CLK_CIF_OUT>; 72 | clock-names = "xvclk"; 73 | //avdd-supply = <&vcc_mipi>; 74 | power-domains = <&power RK3568_PD_VI>; 75 | pinctrl-names = "default"; 76 | pinctrl-0 = <&cif_clk>; 77 | 78 | //power-gpios = <&pca9555 PCA_IO0_4 GPIO_ACTIVE_HIGH>; 79 | reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 80 | pwdn-gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_HIGH>; 81 | 82 | firefly,clkout-enabled-index = <0>; 83 | rockchip,camera-module-index = <0>; 84 | rockchip,camera-module-facing = "back"; 85 | rockchip,camera-module-name = "NC"; 86 | rockchip,camera-module-lens-name = "NC"; 87 | port { 88 | veyecam2m_out: endpoint { 89 | remote-endpoint = <&mipi_in_ucam3>; 90 | data-lanes = <1 2>; 91 | }; 92 | }; 93 | }; 94 | }; 95 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v4.19/dts/rk3566-firefly-roc-pc-cam-veyemvcam.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | &csi2_dphy0 { 8 | status = "okay"; 9 | 10 | ports { 11 | #address-cells = <1>; 12 | #size-cells = <0>; 13 | port@0 { 14 | reg = <0>; 15 | #address-cells = <1>; 16 | #size-cells = <0>; 17 | 18 | mipi_in_ucam3: endpoint@4 { 19 | reg = <4>; 20 | remote-endpoint = <&mvcam_out>; 21 | data-lanes = <1 2>; 22 | }; 23 | }; 24 | port@1 { 25 | reg = <1>; 26 | #address-cells = <1>; 27 | #size-cells = <0>; 28 | 29 | csidphy_out: endpoint@0 { 30 | reg = <0>; 31 | remote-endpoint = <&isp0_in>; 32 | }; 33 | }; 34 | }; 35 | }; 36 | 37 | &csi2_dphy1 { 38 | status = "disabled"; 39 | }; 40 | 41 | &csi2_dphy2 { 42 | status = "disabled"; 43 | }; 44 | 45 | &rkisp_vir0 { 46 | status = "okay"; 47 | 48 | port { 49 | #address-cells = <1>; 50 | #size-cells = <0>; 51 | 52 | isp0_in: endpoint@0 { 53 | reg = <0>; 54 | remote-endpoint = <&csidphy_out>; 55 | }; 56 | }; 57 | }; 58 | 59 | &rkisp_vir1 { 60 | status = "disabled"; 61 | }; 62 | 63 | &i2c4 { 64 | status = "okay"; 65 | clock-frequency = <400000>; 66 | 67 | mvcam: mvcam@3b{ 68 | status = "okay"; 69 | compatible = "veye,mvcam"; 70 | reg = <0x3b>; 71 | clocks = <&cru CLK_CIF_OUT>; 72 | clock-names = "xvclk"; 73 | //avdd-supply = <&vcc_mipi>; 74 | power-domains = <&power RK3568_PD_VI>; 75 | pinctrl-names = "default"; 76 | pinctrl-0 = <&cif_clk>; 77 | 78 | //power-gpios = <&pca9555 PCA_IO0_4 GPIO_ACTIVE_HIGH>; 79 | reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 80 | pwdn-gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_HIGH>; 81 | 82 | firefly,clkout-enabled-index = <0>; 83 | rockchip,camera-module-index = <0>; 84 | rockchip,camera-module-facing = "back"; 85 | rockchip,camera-module-name = "NC"; 86 | rockchip,camera-module-lens-name = "NC"; 87 | port { 88 | mvcam_out: endpoint { 89 | remote-endpoint = <&mipi_in_ucam3>; 90 | data-lanes = <1 2>; 91 | }; 92 | }; 93 | }; 94 | }; 95 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v4.19/dts/rk3566-firefly-roc-pc.dts: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | #include "rk3566-firefly-roc-pc.dtsi" 10 | 11 | /* 12 | * select camera 13 | * 14 | * using single camera xc7160 ---> rk3566-firefly-roc-pc-cam-8ms1m.dtsi 15 | * using dual camera gc2053/gc2093 ---> rk3566-firefly-roc-pc-cam-2ms2m.dtsi 16 | * using veye camera 2m ---> rk3566-firefly-roc-pc-cam-veyecam2m.dtsi 17 | * using mv camera ---> rk3566-firefly-roc-pc-cam-veyemvcam.dtsi 18 | */ 19 | #include "rk3566-firefly-roc-pc-cam-veyemvcam.dtsi" 20 | 21 | / { 22 | model = "Firefly RK3566-ROC-PC HDMI(Linux)"; 23 | compatible = "rockchip,rk3566-firefly-roc-pc", "rockchip,rk3566"; 24 | }; 25 | 26 | &route_hdmi { 27 | status = "okay"; 28 | connect = <&vp0_out_hdmi>; 29 | }; 30 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v4.19/readme.md: -------------------------------------------------------------------------------- 1 | # How to add VEYE mipi cameras on RK356x 2 | ### Introduction 3 | Use firefly ROC-RK3566-PC as an example. RK356x is now using linux kernel version 4.19 4 | This document references this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/ "link") from this Firefly.Please check it together with this documentation. 5 | ### Build the standard version 6 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/prepare_compile_linux.html "link"), Build the build environment. 7 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/ubuntu_compile.html "link") to compile the standard version. 8 | ### Patch the code 9 | 1. Put the camera driver files into the kernel/drivers/media/i2c directory, and modify the Kconfig and Makefile files to add driver options. 10 | 2. Put the dts file into the kernel\arch\arm64\boot\dts\rockchip directory. 11 | 3. For RK356X, Modify the . /arch/arm64/configs/firefly_linux_defconfig file to add VEYE camera option. 12 | ### Compile firmware to support VEYE camera version 13 | To compile the kernel and dtb in the same way as the standard version, execute the following command. 14 | `./build.sh extboot` 15 | Execute the following command to compile and get the installation package. 16 | `./build.sh kerneldeb` 17 | 18 | ### Install 19 | Copy the installation package to the motherboard and execute. 20 | ``` 21 | sudo dpkg -i linux-image-4.19.232_4.19.232-20_arm64.deb 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v5.10/cam_drv_src/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | msp3400-objs := msp3400-driver.o msp3400-kthreads.o 3 | obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o 4 | 5 | obj-$(CONFIG_VIDEO_SMIAPP) += smiapp/ 6 | obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/ 7 | obj-$(CONFIG_VIDEO_CX25840) += cx25840/ 8 | obj-$(CONFIG_VIDEO_IT66353) += it66353/ 9 | obj-$(CONFIG_VIDEO_M5MOLS) += m5mols/ 10 | obj-$(CONFIG_VIDEO_NVP6158) += nvp6158_drv/ 11 | obj-$(CONFIG_VIDEO_NVP6188) += nvp6188.o 12 | obj-$(CONFIG_VIDEO_NVP6324) += jaguar1_drv/ 13 | obj-$(CONFIG_VIDEO_DES_MAXIM2C) += maxim2c/ 14 | obj-$(CONFIG_VIDEO_DES_MAXIM4C) += maxim4c/ 15 | 16 | obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o 17 | obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o 18 | obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o 19 | obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o 20 | obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o 21 | obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o 22 | obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o 23 | obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o 24 | obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o 25 | obj-$(CONFIG_VIDEO_SAA711X) += saa7115.o 26 | obj-$(CONFIG_VIDEO_SAA717X) += saa717x.o 27 | obj-$(CONFIG_VIDEO_SAA7127) += saa7127.o 28 | obj-$(CONFIG_VIDEO_SAA7185) += saa7185.o 29 | obj-$(CONFIG_VIDEO_SAA6752HS) += saa6752hs.o 30 | obj-$(CONFIG_VIDEO_AD5820) += ad5820.o 31 | obj-$(CONFIG_VIDEO_AK7375) += ak7375.o 32 | obj-$(CONFIG_VIDEO_AW8601) += aw8601.o 33 | obj-$(CONFIG_VIDEO_CN3927V) += cn3927v.o 34 | obj-$(CONFIG_VIDEO_DW9714) += dw9714.o 35 | obj-$(CONFIG_VIDEO_DW9763) += dw9763.o 36 | obj-$(CONFIG_VIDEO_DW9768) += dw9768.o 37 | obj-$(CONFIG_VIDEO_DW9800V) += dw9800v.o 38 | obj-$(CONFIG_VIDEO_DW9800W) += dw9800w.o 39 | obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o 40 | obj-$(CONFIG_VIDEO_FP5510) += fp5510.o 41 | obj-$(CONFIG_VIDEO_ADV7170) += adv7170.o 42 | obj-$(CONFIG_VIDEO_ADV7175) += adv7175.o 43 | obj-$(CONFIG_VIDEO_ADV7180) += adv7180.o 44 | obj-$(CONFIG_VIDEO_ADV7183) += adv7183.o 45 | obj-$(CONFIG_VIDEO_ADV7343) += adv7343.o 46 | obj-$(CONFIG_VIDEO_ADV7393) += adv7393.o 47 | obj-$(CONFIG_VIDEO_ADV748X) += adv748x/ 48 | obj-$(CONFIG_VIDEO_ADV7604) += adv7604.o 49 | obj-$(CONFIG_VIDEO_ADV7842) += adv7842.o 50 | obj-$(CONFIG_VIDEO_AD9389B) += ad9389b.o 51 | obj-$(CONFIG_VIDEO_ADV7511) += adv7511-v4l2.o 52 | obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o 53 | obj-$(CONFIG_VIDEO_VS6624) += vs6624.o 54 | obj-$(CONFIG_VIDEO_BT819) += bt819.o 55 | obj-$(CONFIG_VIDEO_BT856) += bt856.o 56 | obj-$(CONFIG_VIDEO_BT866) += bt866.o 57 | obj-$(CONFIG_VIDEO_EP9461E) += ep9461e.o 58 | obj-$(CONFIG_VIDEO_KS0127) += ks0127.o 59 | obj-$(CONFIG_VIDEO_THS7303) += ths7303.o 60 | obj-$(CONFIG_VIDEO_THS8200) += ths8200.o 61 | obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o 62 | obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o 63 | obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o 64 | obj-$(CONFIG_VIDEO_TW2804) += tw2804.o 65 | obj-$(CONFIG_VIDEO_TW9903) += tw9903.o 66 | obj-$(CONFIG_VIDEO_TW9906) += tw9906.o 67 | obj-$(CONFIG_VIDEO_TW9910) += tw9910.o 68 | obj-$(CONFIG_VIDEO_CS3308) += cs3308.o 69 | obj-$(CONFIG_VIDEO_CS5345) += cs5345.o 70 | obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o 71 | obj-$(CONFIG_VIDEO_M52790) += m52790.o 72 | obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o 73 | obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o 74 | obj-$(CONFIG_VIDEO_WM8775) += wm8775.o 75 | obj-$(CONFIG_VIDEO_WM8739) += wm8739.o 76 | obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o 77 | obj-$(CONFIG_VIDEO_SONY_BTF_MPX) += sony-btf-mpx.o 78 | obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o 79 | obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o 80 | obj-$(CONFIG_VIDEO_OG01A10) += og01a10.o 81 | obj-$(CONFIG_VIDEO_OG02B10) += og02b10.o 82 | obj-$(CONFIG_VIDEO_OS02G10) += os02g10.o 83 | obj-$(CONFIG_VIDEO_OS02K10) += os02k10.o 84 | obj-$(CONFIG_VIDEO_OS03B10) += os03b10.o 85 | obj-$(CONFIG_VIDEO_OS04A10) += os04a10.o 86 | obj-$(CONFIG_VIDEO_OS04D10) += os04d10.o 87 | obj-$(CONFIG_VIDEO_OS05A20) += os05a20.o 88 | obj-$(CONFIG_VIDEO_OS08A20) += os08a20.o 89 | obj-$(CONFIG_VIDEO_OV02B10) += ov02b10.o 90 | obj-$(CONFIG_VIDEO_OV02K10) += ov02k10.o 91 | obj-$(CONFIG_VIDEO_OV16885) += ov16885.o 92 | obj-$(CONFIG_VIDEO_OV16A10) += ov16a10.o 93 | obj-$(CONFIG_VIDEO_OV16A1Q) += ov16a1q.o 94 | obj-$(CONFIG_VIDEO_OV2640) += ov2640.o 95 | obj-$(CONFIG_VIDEO_OV2680) += ov2680.o 96 | obj-$(CONFIG_VIDEO_OV2685) += ov2685.o 97 | obj-$(CONFIG_VIDEO_OV2718) += ov2718.o 98 | obj-$(CONFIG_VIDEO_OV2740) += ov2740.o 99 | obj-$(CONFIG_VIDEO_OV4686) += ov4686.o 100 | obj-$(CONFIG_VIDEO_OV4688) += ov4688.o 101 | obj-$(CONFIG_VIDEO_OV4689) += ov4689.o 102 | obj-$(CONFIG_VIDEO_OV50C40) += ov50c40.o 103 | obj-$(CONFIG_VIDEO_OV5640) += ov5640.o 104 | obj-$(CONFIG_VIDEO_OV5645) += ov5645.o 105 | obj-$(CONFIG_VIDEO_OV5647) += ov5647.o 106 | obj-$(CONFIG_VIDEO_OV5670) += ov5670.o 107 | obj-$(CONFIG_VIDEO_OV5675) += ov5675.o 108 | obj-$(CONFIG_VIDEO_OV5695) += ov5695.o 109 | obj-$(CONFIG_VIDEO_OV6650) += ov6650.o 110 | obj-$(CONFIG_VIDEO_OV7251) += ov7251.o 111 | obj-$(CONFIG_VIDEO_OV7640) += ov7640.o 112 | obj-$(CONFIG_VIDEO_OV7670) += ov7670.o 113 | obj-$(CONFIG_VIDEO_OV772X) += ov772x.o 114 | obj-$(CONFIG_VIDEO_OV7740) += ov7740.o 115 | obj-$(CONFIG_VIDEO_OV8856) += ov8856.o 116 | obj-$(CONFIG_VIDEO_OV8858) += ov8858.o 117 | obj-$(CONFIG_VIDEO_OV9281) += ov9281.o 118 | obj-$(CONFIG_VIDEO_OV9640) += ov9640.o 119 | obj-$(CONFIG_VIDEO_OV9650) += ov9650.o 120 | obj-$(CONFIG_VIDEO_OV12D2Q) += ov12d2q.o 121 | obj-$(CONFIG_VIDEO_OV13850) += ov13850.o 122 | obj-$(CONFIG_VIDEO_OV13855) += ov13855.o 123 | obj-$(CONFIG_VIDEO_OV13858) += ov13858.o 124 | obj-$(CONFIG_VIDEO_MIS2031) += mis2031.o 125 | obj-$(CONFIG_VIDEO_MIS4001) += mis4001.o 126 | obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o 127 | obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o 128 | obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o 129 | obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o 130 | obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o 131 | obj-$(CONFIG_VIDEO_MT9T112) += mt9t112.o 132 | obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o 133 | obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o 134 | obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o 135 | obj-$(CONFIG_VIDEO_SC031GS) += sc031gs.o 136 | obj-$(CONFIG_VIDEO_SC035GS) += sc035gs.o 137 | obj-$(CONFIG_VIDEO_SC132GS) += sc132gs.o 138 | obj-$(CONFIG_VIDEO_SC1346) += sc1346.o 139 | obj-$(CONFIG_VIDEO_SC200AI) += sc200ai.o 140 | obj-$(CONFIG_VIDEO_SC210IOT) += sc210iot.o 141 | obj-$(CONFIG_VIDEO_SC2232) += sc2232.o 142 | obj-$(CONFIG_VIDEO_SC2239) += sc2239.o 143 | obj-$(CONFIG_VIDEO_SC223A) += sc223a.o 144 | obj-$(CONFIG_VIDEO_SC230AI) += sc230ai.o 145 | obj-$(CONFIG_VIDEO_SC2310) += sc2310.o 146 | obj-$(CONFIG_VIDEO_SC2336) += sc2336.o 147 | obj-$(CONFIG_VIDEO_SC2355) += sc2355.o 148 | obj-$(CONFIG_VIDEO_SC301IOT) += sc301iot.o 149 | obj-$(CONFIG_VIDEO_SC3336) += sc3336.o 150 | obj-$(CONFIG_VIDEO_SC3338) += sc3338.o 151 | obj-$(CONFIG_VIDEO_SC401AI) += sc401ai.o 152 | obj-$(CONFIG_VIDEO_SC4210) += sc4210.o 153 | obj-$(CONFIG_VIDEO_SC4238) += sc4238.o 154 | obj-$(CONFIG_VIDEO_SC430CS) += sc430cs.o 155 | obj-$(CONFIG_VIDEO_SC4336) += sc4336.o 156 | obj-$(CONFIG_VIDEO_SC4336P) += sc4336p.o 157 | obj-$(CONFIG_VIDEO_SC450AI) += sc450ai.o 158 | obj-$(CONFIG_VIDEO_SC500AI) += sc500ai.o 159 | obj-$(CONFIG_VIDEO_SC501AI) += sc501ai.o 160 | obj-$(CONFIG_VIDEO_SC530AI) += sc530ai.o 161 | obj-$(CONFIG_VIDEO_SC5336) += sc5336.o 162 | obj-$(CONFIG_VIDEO_SC850SL) += sc850sl.o 163 | obj-$(CONFIG_VIDEO_SENSOR_ADAPTER) += sensor_adapter.o 164 | obj-$(CONFIG_VIDEO_SR030PC30) += sr030pc30.o 165 | obj-$(CONFIG_VIDEO_NOON010PC30) += noon010pc30.o 166 | obj-$(CONFIG_VIDEO_RJ54N1) += rj54n1cb0c.o 167 | obj-$(CONFIG_VIDEO_S5K3L6XX) += s5k3l6xx.o 168 | obj-$(CONFIG_VIDEO_S5K6AA) += s5k6aa.o 169 | obj-$(CONFIG_VIDEO_S5K6A3) += s5k6a3.o 170 | obj-$(CONFIG_VIDEO_S5K4ECGX) += s5k4ecgx.o 171 | obj-$(CONFIG_VIDEO_S5K5BAF) += s5k5baf.o 172 | obj-$(CONFIG_VIDEO_S5KJN1) += s5kjn1.o 173 | obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3/ 174 | obj-$(CONFIG_VIDEO_ADP1653) += adp1653.o 175 | obj-$(CONFIG_VIDEO_AW36518) += aw36518.o 176 | obj-$(CONFIG_VIDEO_LM3560) += lm3560.o 177 | obj-$(CONFIG_VIDEO_LM3646) += lm3646.o 178 | obj-$(CONFIG_VIDEO_SGM3784) += sgm3784.o 179 | obj-$(CONFIG_VIDEO_LT6911UXC) += lt6911uxc.o 180 | obj-$(CONFIG_VIDEO_LT6911UXE) += lt6911uxe.o 181 | obj-$(CONFIG_VIDEO_IT6616) += it6616.o 182 | obj-$(CONFIG_VIDEO_LT7911D) += lt7911d.o 183 | obj-$(CONFIG_VIDEO_LT7911UXC) += lt7911uxc.o 184 | obj-$(CONFIG_VIDEO_LT8619C) += lt8619c.o 185 | obj-$(CONFIG_VIDEO_SMIAPP_PLL) += smiapp-pll.o 186 | obj-$(CONFIG_VIDEO_AK881X) += ak881x.o 187 | obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o 188 | obj-$(CONFIG_VIDEO_I2C) += video-i2c.o 189 | obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o 190 | obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o 191 | obj-$(CONFIG_VIDEO_OV2659) += ov2659.o 192 | obj-$(CONFIG_VIDEO_TC358743) += tc358743.o 193 | obj-$(CONFIG_VIDEO_TC35874X) += tc35874x.o 194 | obj-$(CONFIG_VIDEO_TECHPOINT) += techpoint/ 195 | obj-$(CONFIG_VIDEO_THCV244) += thcv244.o 196 | obj-$(CONFIG_VIDEO_RK628) += rk628/ 197 | obj-$(CONFIG_VIDEO_AR0230) += ar0230.o 198 | obj-$(CONFIG_VIDEO_AR0822) += ar0822.o 199 | obj-$(CONFIG_VIDEO_AR2020) += ar2020.o 200 | obj-$(CONFIG_VIDEO_GC02M2) += gc02m2.o 201 | obj-$(CONFIG_VIDEO_GC08A3) += gc08a3.o 202 | obj-$(CONFIG_VIDEO_GC1084) += gc1084.o 203 | obj-$(CONFIG_VIDEO_GC2053) += gc2053.o 204 | obj-$(CONFIG_VIDEO_GC2093) += gc2093.o 205 | obj-$(CONFIG_VIDEO_GC2145) += gc2145.o 206 | obj-$(CONFIG_VIDEO_GC2385) += gc2385.o 207 | obj-$(CONFIG_VIDEO_GC3003) += gc3003.o 208 | obj-$(CONFIG_VIDEO_GC4023) += gc4023.o 209 | obj-$(CONFIG_VIDEO_GC4653) += gc4653.o 210 | obj-$(CONFIG_VIDEO_GC4663) += gc4663.o 211 | obj-$(CONFIG_VIDEO_GC4C33) += gc4c33.o 212 | obj-$(CONFIG_VIDEO_GC5025) += gc5025.o 213 | obj-$(CONFIG_VIDEO_GC5035) += gc5035.o 214 | obj-$(CONFIG_VIDEO_GC8034) += gc8034.o 215 | obj-$(CONFIG_VIDEO_HI556) += hi556.o 216 | obj-$(CONFIG_VIDEO_IMX214) += imx214.o 217 | obj-$(CONFIG_VIDEO_IMX214_EEPROM) += imx214_eeprom.o 218 | obj-$(CONFIG_VIDEO_IMX219) += imx219.o 219 | obj-$(CONFIG_VIDEO_IMX258) += imx258.o 220 | obj-$(CONFIG_VIDEO_IMX258_EEPROM) += imx258_eeprom.o 221 | obj-$(CONFIG_VIDEO_IMX274) += imx274.o 222 | obj-$(CONFIG_VIDEO_IMX290) += imx290.o 223 | obj-$(CONFIG_VIDEO_IMX307) += imx307.o 224 | obj-$(CONFIG_VIDEO_IMX317) += imx317.o 225 | obj-$(CONFIG_VIDEO_IMX319) += imx319.o 226 | obj-$(CONFIG_VIDEO_IMX323) += imx323.o 227 | obj-$(CONFIG_VIDEO_IMX327) += imx327.o 228 | obj-$(CONFIG_VIDEO_IMX334) += imx334.o 229 | obj-$(CONFIG_VIDEO_IMX335) += imx335.o 230 | obj-$(CONFIG_VIDEO_IMX347) += imx347.o 231 | obj-$(CONFIG_VIDEO_IMX378) += imx378.o 232 | obj-$(CONFIG_VIDEO_IMX415) += imx415.o 233 | obj-$(CONFIG_VIDEO_IMX464) += imx464.o 234 | obj-$(CONFIG_VIDEO_IMX492) += imx492.o 235 | obj-$(CONFIG_VIDEO_IMX355) += imx355.o 236 | obj-$(CONFIG_VIDEO_IMX577) += imx577.o 237 | obj-$(CONFIG_VIDEO_IMX586) += imx586.o 238 | obj-$(CONFIG_VIDEO_JX_K17) += jx_k17.o 239 | obj-$(CONFIG_VIDEO_MAX9286) += max9286.o 240 | obj-$(CONFIG_VIDEO_MAX96712) += max96712.o 241 | obj-$(CONFIG_VIDEO_MAX96714) += max96714.o 242 | obj-$(CONFIG_VIDEO_MAX96722) += max96722.o 243 | obj-$(CONFIG_VIDEO_MAX96756) += max96756.o 244 | rdacm20-camera_module-objs := rdacm20.o max9271.o 245 | obj-$(CONFIG_VIDEO_RDACM20) += rdacm20-camera_module.o 246 | obj-$(CONFIG_VIDEO_ST_MIPID02) += st-mipid02.o 247 | 248 | obj-$(CONFIG_SDR_MAX2175) += max2175.o 249 | obj-$(CONFIG_VIDEO_XC7160) += xc7160.o 250 | obj-$(CONFIG_VIDEO_DS90UB954) += ds90ub954.o 251 | obj-$(CONFIG_VIDEO_VEYEVBYONE) += veye_vbyone.o 252 | obj-$(CONFIG_VIDEO_VEYECAM2M) += veyecam2m.o 253 | obj-$(CONFIG_VIDEO_VEYEMVCAM) += veye_mvcam.o 254 | obj-$(CONFIG_VIDEO_OTP_EEPROM) += otp_eeprom.o 255 | obj-$(CONFIG_VIDEO_PREISP_DUMMY_SENSOR) += preisp-dummy.o 256 | obj-$(CONFIG_VIDEO_ROCKCHIP_THUNDER_BOOT_ISP) += cam-tb-setup.o 257 | obj-$(CONFIG_VIDEO_CAM_SLEEP_WAKEUP) += cam-sleep-wakeup.o 258 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v5.10/cam_drv_src/path.txt: -------------------------------------------------------------------------------- 1 | kernel\drivers\media\i2c 2 | 3 | driver source move to https://github.com/veyeimaging/rk35xx_veye_bsp -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v5.10/dts/path.txt: -------------------------------------------------------------------------------- 1 | kernel\arch\arm64\boot\dts\rockchip -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v5.10/dts/rk3566-firefly-roc-pc-cam-veyecam2m.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | &csi2_dphy0 { 8 | status = "okay"; 9 | 10 | ports { 11 | #address-cells = <1>; 12 | #size-cells = <0>; 13 | port@0 { 14 | reg = <0>; 15 | #address-cells = <1>; 16 | #size-cells = <0>; 17 | 18 | mipi_in_ucam3: endpoint@4 { 19 | reg = <4>; 20 | remote-endpoint = <&veyecam2m_out>; 21 | data-lanes = <1 2>; 22 | }; 23 | }; 24 | port@1 { 25 | reg = <1>; 26 | #address-cells = <1>; 27 | #size-cells = <0>; 28 | 29 | csidphy_out: endpoint@0 { 30 | reg = <0>; 31 | remote-endpoint = <&isp0_in>; 32 | }; 33 | }; 34 | }; 35 | }; 36 | 37 | &csi2_dphy1 { 38 | status = "disabled"; 39 | }; 40 | 41 | &csi2_dphy2 { 42 | status = "disabled"; 43 | }; 44 | 45 | &rkisp_vir0 { 46 | status = "okay"; 47 | 48 | port { 49 | #address-cells = <1>; 50 | #size-cells = <0>; 51 | 52 | isp0_in: endpoint@0 { 53 | reg = <0>; 54 | remote-endpoint = <&csidphy_out>; 55 | }; 56 | }; 57 | }; 58 | 59 | &rkisp_vir1 { 60 | status = "disabled"; 61 | }; 62 | 63 | &i2c4 { 64 | status = "okay"; 65 | clock-frequency = <400000>; 66 | 67 | veyecam2m: veyecam2m@3b{ 68 | status = "okay"; 69 | compatible = "veye,veyecam2m"; 70 | reg = <0x3b>; 71 | clocks = <&cru CLK_CIF_OUT>; 72 | clock-names = "xvclk"; 73 | //avdd-supply = <&vcc_mipi>; 74 | power-domains = <&power RK3568_PD_VI>; 75 | pinctrl-names = "default"; 76 | pinctrl-0 = <&cif_clk>; 77 | 78 | //power-gpios = <&pca9555 PCA_IO0_4 GPIO_ACTIVE_HIGH>; 79 | reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 80 | pwdn-gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_HIGH>; 81 | 82 | firefly,clkout-enabled-index = <0>; 83 | rockchip,camera-module-index = <0>; 84 | rockchip,camera-module-facing = "back"; 85 | rockchip,camera-module-name = "NC"; 86 | rockchip,camera-module-lens-name = "NC"; 87 | port { 88 | veyecam2m_out: endpoint { 89 | remote-endpoint = <&mipi_in_ucam3>; 90 | data-lanes = <1 2>; 91 | }; 92 | }; 93 | }; 94 | }; 95 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v5.10/dts/rk3566-firefly-roc-pc-cam-veyemvcam.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 www.veye.cc 4 | * 5 | */ 6 | 7 | &csi2_dphy0 { 8 | status = "okay"; 9 | 10 | ports { 11 | #address-cells = <1>; 12 | #size-cells = <0>; 13 | port@0 { 14 | reg = <0>; 15 | #address-cells = <1>; 16 | #size-cells = <0>; 17 | 18 | mipi_in_ucam3: endpoint@4 { 19 | reg = <4>; 20 | remote-endpoint = <&mvcam_out>; 21 | data-lanes = <1 2>; 22 | }; 23 | }; 24 | port@1 { 25 | reg = <1>; 26 | #address-cells = <1>; 27 | #size-cells = <0>; 28 | 29 | csidphy0_out: endpoint@0 { 30 | reg = <0>; 31 | remote-endpoint = <&mipi_csi2_input>; 32 | }; 33 | }; 34 | }; 35 | }; 36 | 37 | &csi2_dphy1 { 38 | status = "disabled"; 39 | }; 40 | 41 | &csi2_dphy2 { 42 | status = "disabled"; 43 | }; 44 | 45 | 46 | &i2c4 { 47 | status = "okay"; 48 | clock-frequency = <400000>; 49 | 50 | mvcam: mvcam@3b{ 51 | status = "okay"; 52 | compatible = "veye,mvcam"; 53 | reg = <0x3b>; 54 | clocks = <&cru CLK_CIF_OUT>; 55 | clock-names = "xvclk"; 56 | //avdd-supply = <&vcc_mipi>; 57 | power-domains = <&power RK3568_PD_VI>; 58 | pinctrl-names = "default"; 59 | pinctrl-0 = <&cif_clk>; 60 | 61 | //power-gpios = <&pca9555 PCA_IO0_4 GPIO_ACTIVE_HIGH>; 62 | reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 63 | pwdn-gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_HIGH>; 64 | 65 | firefly,clkout-enabled-index = <0>; 66 | rockchip,camera-module-index = <0>; 67 | rockchip,camera-module-facing = "back"; 68 | rockchip,camera-module-name = "NC"; 69 | rockchip,camera-module-lens-name = "NC"; 70 | port { 71 | mvcam_out: endpoint { 72 | remote-endpoint = <&mipi_in_ucam3>; 73 | data-lanes = <1 2>; 74 | }; 75 | }; 76 | }; 77 | }; 78 | 79 | &mipi_csi2 { 80 | status = "okay"; 81 | 82 | ports { 83 | #address-cells = <1>; 84 | #size-cells = <0>; 85 | 86 | port@0 { 87 | reg = <0>; 88 | #address-cells = <1>; 89 | #size-cells = <0>; 90 | 91 | mipi_csi2_input: endpoint@1 { 92 | reg = <1>; 93 | remote-endpoint = <&csidphy0_out>; 94 | }; 95 | }; 96 | 97 | port@1 { 98 | reg = <1>; 99 | #address-cells = <1>; 100 | #size-cells = <0>; 101 | 102 | mipi_csi2_output: endpoint@0 { 103 | reg = <0>; 104 | remote-endpoint = <&cif_mipi2_in0>; 105 | }; 106 | }; 107 | }; 108 | }; 109 | 110 | &rkcif { 111 | status = "okay"; 112 | // memory-region = <&cif_reserved>; 113 | }; 114 | &rkcif_mipi_lvds { 115 | status = "okay"; 116 | 117 | port { 118 | cif_mipi2_in0: endpoint { 119 | remote-endpoint = <&mipi_csi2_output>; 120 | }; 121 | }; 122 | }; 123 | &rkcif_mipi_lvds_sditf { 124 | status = "disabled"; 125 | 126 | }; 127 | &rkcif_mmu { 128 | status = "okay"; 129 | }; 130 | &rkisp { 131 | status = "disabled"; 132 | }; 133 | 134 | &rkisp_vir0 { 135 | status = "disabled"; 136 | }; 137 | 138 | &rkisp_vir1 { 139 | status = "disabled"; 140 | }; 141 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v5.10/dts/rk3566-firefly-roc-pc.dts: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | #include "rk3566-firefly-roc-pc.dtsi" 10 | 11 | /* 12 | * 13 | * using single camera xc7160 ---> rk3566-firefly-roc-pc-cam-8ms1m.dtsi 14 | * using single camera imx415 ---> rk3566-firefly-roc-pc-cam-imx415.dtsi 15 | * using dual camera gc2053/gc2093 ---> rk3566-firefly-roc-pc-cam-2ms2m.dtsi 16 | * using rk628d ---> rk3566-firefly-roc-pc-tf-hdmi-mipi-rk628.dtsi 17 | * using veye camera 2m ---> rk3566-firefly-roc-pc-cam-veyecam2m.dtsi 18 | * using mv camera ---> rk3566-firefly-roc-pc-cam-veyemvcam.dtsi 19 | * 20 | */ 21 | //#include "rk3566-firefly-roc-pc-cam-8ms1m.dtsi" 22 | //#include "rk3566-firefly-roc-pc-cam-imx415.dtsi" 23 | //#include "rk3566-firefly-roc-pc-cam-veyecam2m.dtsi" 24 | #include "rk3566-firefly-roc-pc-cam-veyemvcam.dtsi" 25 | 26 | / { 27 | model = "Firefly RK3566-ROC-PC HDMI(Linux)"; 28 | compatible = "rockchip,rk3566-firefly-roc-pc", "rockchip,rk3566"; 29 | }; 30 | 31 | &route_hdmi { 32 | status = "okay"; 33 | connect = <&vp0_out_hdmi>; 34 | }; 35 | -------------------------------------------------------------------------------- /linux/drivers/rk356x/kernel_v5.10/readme.md: -------------------------------------------------------------------------------- 1 | # How to add VEYE mipi cameras on RK358x 2 | ### Introduction 3 | Use firefly ROC-RK3566-PC as an example. RK358x is now using linux kernel version 5.10. 4 | This document references this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/ "link") from this Firefly.Please check it together with this documentation. 5 | ### Build the standard version 6 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/linux_compile_linux5.10.html "link"), Build the build environment. 7 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3566-PC/linux_compile_linux5.10.html "link") to compile the standard version. 8 | ### Patch the code 9 | 1. Put the camera driver files into the kernel/drivers/media/i2c directory, and modify the Kconfig and Makefile files to add driver options. 10 | 2. Put the dts file into the kernel\arch\arm64\boot\dts\rockchip directory. 11 | Note that for different SDK versions, the first few lines of different DTSI files need to be modified to select the camera driver to be enabled - either the VEYE series or the MV series. 12 | 3. For RK3566, Modify the . /arch/arm64/configs/firefly-linux.config file to add VEYE camera option. 13 | ### Compile firmware to support VEYE camera version 14 | 15 | `./build.sh` 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /linux/drivers/rk3576/cam_drv_src/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | 3 | msp3400-objs := msp3400-driver.o msp3400-kthreads.o 4 | 5 | obj-$(CONFIG_SDR_MAX2175) += max2175.o 6 | obj-$(CONFIG_VIDEO_AD5820) += ad5820.o 7 | obj-$(CONFIG_VIDEO_AD9389B) += ad9389b.o 8 | obj-$(CONFIG_VIDEO_ADP1653) += adp1653.o 9 | obj-$(CONFIG_VIDEO_ADV7170) += adv7170.o 10 | obj-$(CONFIG_VIDEO_ADV7175) += adv7175.o 11 | obj-$(CONFIG_VIDEO_ADV7180) += adv7180.o 12 | obj-$(CONFIG_VIDEO_ADV7183) += adv7183.o 13 | obj-$(CONFIG_VIDEO_ADV7343) += adv7343.o 14 | obj-$(CONFIG_VIDEO_ADV7393) += adv7393.o 15 | obj-$(CONFIG_VIDEO_ADV748X) += adv748x/ 16 | obj-$(CONFIG_VIDEO_ADV7511) += adv7511-v4l2.o 17 | obj-$(CONFIG_VIDEO_ADV7604) += adv7604.o 18 | obj-$(CONFIG_VIDEO_ADV7842) += adv7842.o 19 | obj-$(CONFIG_VIDEO_AK7375) += ak7375.o 20 | obj-$(CONFIG_VIDEO_AK881X) += ak881x.o 21 | obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o 22 | obj-$(CONFIG_VIDEO_AR0230) += ar0230.o 23 | obj-$(CONFIG_VIDEO_AR0521) += ar0521.o 24 | obj-$(CONFIG_VIDEO_AR0822) += ar0822.o 25 | obj-$(CONFIG_VIDEO_AR2020) += ar2020.o 26 | obj-$(CONFIG_VIDEO_AW36518) += aw36518.o 27 | obj-$(CONFIG_VIDEO_AW8601) += aw8601.o 28 | obj-$(CONFIG_VIDEO_BF3925) += bf3925.o 29 | obj-$(CONFIG_VIDEO_BT819) += bt819.o 30 | obj-$(CONFIG_VIDEO_BT856) += bt856.o 31 | obj-$(CONFIG_VIDEO_BT866) += bt866.o 32 | obj-$(CONFIG_VIDEO_CAM_SLEEP_WAKEUP) += cam-sleep-wakeup.o 33 | obj-$(CONFIG_VIDEO_CCS) += ccs/ 34 | obj-$(CONFIG_VIDEO_CCS_PLL) += ccs-pll.o 35 | obj-$(CONFIG_VIDEO_CES6301) += ces6301.o 36 | obj-$(CONFIG_VIDEO_CN3927V) += cn3927v.o 37 | obj-$(CONFIG_VIDEO_CS3308) += cs3308.o 38 | obj-$(CONFIG_VIDEO_CS5345) += cs5345.o 39 | obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o 40 | obj-$(CONFIG_VIDEO_CX25840) += cx25840/ 41 | obj-$(CONFIG_VIDEO_MAXIM_SERDES) += maxim/ 42 | obj-$(CONFIG_VIDEO_DW9714) += dw9714.o 43 | obj-$(CONFIG_VIDEO_DW9763) += dw9763.o 44 | obj-$(CONFIG_VIDEO_DW9768) += dw9768.o 45 | obj-$(CONFIG_VIDEO_DW9800V) += dw9800v.o 46 | obj-$(CONFIG_VIDEO_DW9800W) += dw9800w.o 47 | obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o 48 | obj-$(CONFIG_VIDEO_EP9461E) += ep9461e.o 49 | obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/ 50 | obj-$(CONFIG_VIDEO_FP5510) += fp5510.o 51 | obj-$(CONFIG_VIDEO_GC02M2) += gc02m2.o 52 | obj-$(CONFIG_VIDEO_GC0312) += gc0312.o 53 | obj-$(CONFIG_VIDEO_GC0329) += gc0329.o 54 | obj-$(CONFIG_VIDEO_GC0403) += gc0403.o 55 | obj-$(CONFIG_VIDEO_GC05A2) += gc05a2.o 56 | obj-$(CONFIG_VIDEO_GC08A3) += gc08a3.o 57 | obj-$(CONFIG_VIDEO_GC1084) += gc1084.o 58 | obj-$(CONFIG_VIDEO_GC2035) += gc2035.o 59 | obj-$(CONFIG_VIDEO_GC2053) += gc2053.o 60 | obj-$(CONFIG_VIDEO_GC2093) += gc2093.o 61 | obj-$(CONFIG_VIDEO_GC2145) += gc2145.o 62 | obj-$(CONFIG_VIDEO_GC2155) += gc2155.o 63 | obj-$(CONFIG_VIDEO_GC2355) += gc2355.o 64 | obj-$(CONFIG_VIDEO_GC2375H) += gc2375h.o 65 | obj-$(CONFIG_VIDEO_GC2385) += gc2385.o 66 | obj-$(CONFIG_VIDEO_GC3003) += gc3003.o 67 | obj-$(CONFIG_VIDEO_GC4023) += gc4023.o 68 | obj-$(CONFIG_VIDEO_GC4653) += gc4653.o 69 | obj-$(CONFIG_VIDEO_GC4663) += gc4663.o 70 | obj-$(CONFIG_VIDEO_GC4C33) += gc4c33.o 71 | obj-$(CONFIG_VIDEO_GC5024) += gc5024.o 72 | obj-$(CONFIG_VIDEO_GC5025) += gc5025.o 73 | obj-$(CONFIG_VIDEO_GC5035) += gc5035.o 74 | obj-$(CONFIG_VIDEO_GC8034) += gc8034.o 75 | obj-$(CONFIG_VIDEO_HI556) += hi556.o 76 | obj-$(CONFIG_VIDEO_HI846) += hi846.o 77 | obj-$(CONFIG_VIDEO_HI847) += hi847.o 78 | obj-$(CONFIG_VIDEO_I2C) += video-i2c.o 79 | obj-$(CONFIG_VIDEO_IMX208) += imx208.o 80 | obj-$(CONFIG_VIDEO_IMX214) += imx214.o 81 | obj-$(CONFIG_VIDEO_IMX214_EEPROM) += imx214_eeprom.o 82 | obj-$(CONFIG_VIDEO_IMX219) += imx219.o 83 | obj-$(CONFIG_VIDEO_IMX258) += imx258.o 84 | obj-$(CONFIG_VIDEO_IMX258_EEPROM) += imx258_eeprom.o 85 | obj-$(CONFIG_VIDEO_IMX274) += imx274.o 86 | obj-$(CONFIG_VIDEO_IMX290) += imx290.o 87 | obj-$(CONFIG_VIDEO_IMX307) += imx307.o 88 | obj-$(CONFIG_VIDEO_IMX317) += imx317.o 89 | obj-$(CONFIG_VIDEO_IMX319) += imx319.o 90 | obj-$(CONFIG_VIDEO_IMX323) += imx323.o 91 | obj-$(CONFIG_VIDEO_IMX327) += imx327.o 92 | obj-$(CONFIG_VIDEO_IMX334) += imx334.o 93 | obj-$(CONFIG_VIDEO_IMX335) += imx335.o 94 | obj-$(CONFIG_VIDEO_IMX347) += imx347.o 95 | obj-$(CONFIG_VIDEO_IMX355) += imx355.o 96 | obj-$(CONFIG_VIDEO_IMX378) += imx378.o 97 | obj-$(CONFIG_VIDEO_IMX412) += imx412.o 98 | obj-$(CONFIG_VIDEO_IMX415) += imx415.o 99 | obj-$(CONFIG_VIDEO_IMX464) += imx464.o 100 | obj-$(CONFIG_VIDEO_IMX492) += imx492.o 101 | obj-$(CONFIG_VIDEO_IMX492) += imx498.o 102 | obj-$(CONFIG_VIDEO_IMX577) += imx577.o 103 | obj-$(CONFIG_VIDEO_IMX586) += imx586.o 104 | obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o 105 | obj-$(CONFIG_VIDEO_ISL7998X) += isl7998x.o 106 | obj-$(CONFIG_VIDEO_IT6616) += it6616.o 107 | obj-$(CONFIG_VIDEO_IT66353) += it66353/ 108 | obj-$(CONFIG_VIDEO_JX_F37) += jx_f37.o 109 | obj-$(CONFIG_VIDEO_JX_H62) += jx_h62.o 110 | obj-$(CONFIG_VIDEO_JX_H65) += jx_h65.o 111 | obj-$(CONFIG_VIDEO_JX_K17) += jx_k17.o 112 | obj-$(CONFIG_VIDEO_KS0127) += ks0127.o 113 | obj-$(CONFIG_VIDEO_LM3560) += lm3560.o 114 | obj-$(CONFIG_VIDEO_LM3646) += lm3646.o 115 | obj-$(CONFIG_VIDEO_LT6911C) += lt6911c.o 116 | obj-$(CONFIG_VIDEO_LT6911UXC) += lt6911uxc.o 117 | obj-$(CONFIG_VIDEO_LT6911UXE) += lt6911uxe.o 118 | obj-$(CONFIG_VIDEO_LT7911D) += lt7911d.o 119 | obj-$(CONFIG_VIDEO_LT7911UXC) += lt7911uxc.o 120 | obj-$(CONFIG_VIDEO_LT8619C) += lt8619c.o 121 | obj-$(CONFIG_VIDEO_LT8668SX) += lt8668sx.o 122 | obj-$(CONFIG_VIDEO_M52790) += m52790.o 123 | obj-$(CONFIG_VIDEO_M5MOLS) += m5mols/ 124 | obj-$(CONFIG_VIDEO_MAX9271_LIB) += max9271.o 125 | obj-$(CONFIG_VIDEO_MAX9286) += max9286.o 126 | obj-$(CONFIG_VIDEO_MAX96712) += max96712.o 127 | obj-$(CONFIG_VIDEO_MAX96714) += max96714.o 128 | obj-$(CONFIG_VIDEO_MAX96722) += max96722.o 129 | obj-$(CONFIG_VIDEO_MAX96756) += max96756.o 130 | obj-$(CONFIG_VIDEO_MIS2031) += mis2031.o 131 | obj-$(CONFIG_VIDEO_MIS4001) += mis4001.o 132 | obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o 133 | obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o 134 | obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o 135 | obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o 136 | obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o 137 | obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o 138 | obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o 139 | obj-$(CONFIG_VIDEO_MT9T112) += mt9t112.o 140 | obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o 141 | obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o 142 | obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o 143 | obj-$(CONFIG_VIDEO_NOON010PC30) += noon010pc30.o 144 | obj-$(CONFIG_VIDEO_NVP6158) += nvp6158_drv/ 145 | obj-$(CONFIG_VIDEO_NVP6188) += nvp6188.o 146 | obj-$(CONFIG_VIDEO_NVP6324) += jaguar1_drv/ 147 | obj-$(CONFIG_VIDEO_OG01A10) += og01a10.o 148 | obj-$(CONFIG_VIDEO_OG01A1B) += og01a1b.o 149 | obj-$(CONFIG_VIDEO_OG02B10) += og02b10.o 150 | obj-$(CONFIG_VIDEO_OS02G10) += os02g10.o 151 | obj-$(CONFIG_VIDEO_OS02K10) += os02k10.o 152 | obj-$(CONFIG_VIDEO_OS03B10) += os03b10.o 153 | obj-$(CONFIG_VIDEO_OS04A10) += os04a10.o 154 | obj-$(CONFIG_VIDEO_OS04D10) += os04d10.o 155 | obj-$(CONFIG_VIDEO_OS05A20) += os05a20.o 156 | obj-$(CONFIG_VIDEO_OS08A20) += os08a20.o 157 | obj-$(CONFIG_VIDEO_OTP_EEPROM) += otp_eeprom.o 158 | obj-$(CONFIG_VIDEO_OV02A10) += ov02a10.o 159 | obj-$(CONFIG_VIDEO_OV02B10) += ov02b10.o 160 | obj-$(CONFIG_VIDEO_OV02K10) += ov02k10.o 161 | obj-$(CONFIG_VIDEO_OV08D10) += ov08d10.o 162 | obj-$(CONFIG_VIDEO_OV12D2Q) += ov12d2q.o 163 | obj-$(CONFIG_VIDEO_OV13850) += ov13850.o 164 | obj-$(CONFIG_VIDEO_OV13855) += ov13855.o 165 | obj-$(CONFIG_VIDEO_OV13858) += ov13858.o 166 | obj-$(CONFIG_VIDEO_OV13B10) += ov13b10.o 167 | obj-$(CONFIG_VIDEO_OV16880) += ov16880.o 168 | obj-$(CONFIG_VIDEO_OV16885) += ov16885.o 169 | obj-$(CONFIG_VIDEO_OV16A10) += ov16a10.o 170 | obj-$(CONFIG_VIDEO_OV16A1Q) += ov16a1q.o 171 | obj-$(CONFIG_VIDEO_OV2640) += ov2640.o 172 | obj-$(CONFIG_VIDEO_OV2659) += ov2659.o 173 | obj-$(CONFIG_VIDEO_OV2680) += ov2680.o 174 | obj-$(CONFIG_VIDEO_OV2685) += ov2685.o 175 | obj-$(CONFIG_VIDEO_OV2718) += ov2718.o 176 | obj-$(CONFIG_VIDEO_OV2740) += ov2740.o 177 | obj-$(CONFIG_VIDEO_OV4686) += ov4686.o 178 | obj-$(CONFIG_VIDEO_OV4688) += ov4688.o 179 | obj-$(CONFIG_VIDEO_OV4689) += ov4689.o 180 | obj-$(CONFIG_VIDEO_OV50C40) += ov50c40.o 181 | obj-$(CONFIG_VIDEO_OV5640) += ov5640.o 182 | obj-$(CONFIG_VIDEO_OV5645) += ov5645.o 183 | obj-$(CONFIG_VIDEO_OV5647) += ov5647.o 184 | obj-$(CONFIG_VIDEO_OV5648) += ov5648.o 185 | obj-$(CONFIG_VIDEO_OV5670) += ov5670.o 186 | obj-$(CONFIG_VIDEO_OV5675) += ov5675.o 187 | obj-$(CONFIG_VIDEO_OV5693) += ov5693.o 188 | obj-$(CONFIG_VIDEO_OV5695) += ov5695.o 189 | obj-$(CONFIG_VIDEO_OV6650) += ov6650.o 190 | obj-$(CONFIG_VIDEO_OV7251) += ov7251.o 191 | obj-$(CONFIG_VIDEO_OV7640) += ov7640.o 192 | obj-$(CONFIG_VIDEO_OV7670) += ov7670.o 193 | obj-$(CONFIG_VIDEO_OV772X) += ov772x.o 194 | obj-$(CONFIG_VIDEO_OV7740) += ov7740.o 195 | obj-$(CONFIG_VIDEO_OV8856) += ov8856.o 196 | obj-$(CONFIG_VIDEO_OV8858) += ov8858.o 197 | obj-$(CONFIG_VIDEO_OV8865) += ov8865.o 198 | obj-$(CONFIG_VIDEO_OV9281) += ov9281.o 199 | obj-$(CONFIG_VIDEO_OV9282) += ov9282.o 200 | obj-$(CONFIG_VIDEO_OV9640) += ov9640.o 201 | obj-$(CONFIG_VIDEO_OV9650) += ov9650.o 202 | obj-$(CONFIG_VIDEO_OV9734) += ov9734.o 203 | obj-$(CONFIG_VIDEO_PREISP_DUMMY_SENSOR) += preisp-dummy.o 204 | obj-$(CONFIG_VIDEO_RDACM20) += rdacm20.o 205 | obj-$(CONFIG_VIDEO_RDACM21) += rdacm21.o 206 | obj-$(CONFIG_VIDEO_RJ54N1) += rj54n1cb0c.o 207 | obj-$(CONFIG_VIDEO_RK628) += rk628/ 208 | obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o 209 | obj-$(CONFIG_VIDEO_ROCKCHIP_THUNDER_BOOT_ISP) += cam-tb-setup.o 210 | obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3/ 211 | obj-$(CONFIG_VIDEO_S5K3L6XX) += s5k3l6xx.o 212 | obj-$(CONFIG_VIDEO_S5K3L8XX) += s5k3l8xx.o 213 | obj-$(CONFIG_VIDEO_S5K4ECGX) += s5k4ecgx.o 214 | obj-$(CONFIG_VIDEO_S5K5BAF) += s5k5baf.o 215 | obj-$(CONFIG_VIDEO_S5K6A3) += s5k6a3.o 216 | obj-$(CONFIG_VIDEO_S5K6AA) += s5k6aa.o 217 | obj-$(CONFIG_VIDEO_S5KJN1) += s5kjn1.o 218 | obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o 219 | obj-$(CONFIG_VIDEO_SAA6752HS) += saa6752hs.o 220 | obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o 221 | obj-$(CONFIG_VIDEO_SAA711X) += saa7115.o 222 | obj-$(CONFIG_VIDEO_SAA7127) += saa7127.o 223 | obj-$(CONFIG_VIDEO_SAA717X) += saa717x.o 224 | obj-$(CONFIG_VIDEO_SAA7185) += saa7185.o 225 | obj-$(CONFIG_VIDEO_SC031GS) += sc031gs.o 226 | obj-$(CONFIG_VIDEO_SC035GS) += sc035gs.o 227 | obj-$(CONFIG_VIDEO_SC132GS) += sc132gs.o 228 | obj-$(CONFIG_VIDEO_SC1346) += sc1346.o 229 | obj-$(CONFIG_VIDEO_SC200AI) += sc200ai.o 230 | obj-$(CONFIG_VIDEO_SC210IOT) += sc210iot.o 231 | obj-$(CONFIG_VIDEO_SC2232) += sc2232.o 232 | obj-$(CONFIG_VIDEO_SC2239) += sc2239.o 233 | obj-$(CONFIG_VIDEO_SC223A) += sc223a.o 234 | obj-$(CONFIG_VIDEO_SC230AI) += sc230ai.o 235 | obj-$(CONFIG_VIDEO_SC2310) += sc2310.o 236 | obj-$(CONFIG_VIDEO_SC2336) += sc2336.o 237 | obj-$(CONFIG_VIDEO_SC2355) += sc2355.o 238 | obj-$(CONFIG_VIDEO_SC301IOT) += sc301iot.o 239 | obj-$(CONFIG_VIDEO_SC3336) += sc3336.o 240 | obj-$(CONFIG_VIDEO_SC3336P) += sc3336p.o 241 | obj-$(CONFIG_VIDEO_SC3338) += sc3338.o 242 | obj-$(CONFIG_VIDEO_SC401AI) += sc401ai.o 243 | obj-$(CONFIG_VIDEO_SC4210) += sc4210.o 244 | obj-$(CONFIG_VIDEO_SC4238) += sc4238.o 245 | obj-$(CONFIG_VIDEO_SC430CS) += sc430cs.o 246 | obj-$(CONFIG_VIDEO_SC4336) += sc4336.o 247 | obj-$(CONFIG_VIDEO_SC4336P) += sc4336p.o 248 | obj-$(CONFIG_VIDEO_SC450AI) += sc450ai.o 249 | obj-$(CONFIG_VIDEO_SC500AI) += sc500ai.o 250 | obj-$(CONFIG_VIDEO_SC501AI) += sc501ai.o 251 | obj-$(CONFIG_VIDEO_SC530AI) += sc530ai.o 252 | obj-$(CONFIG_VIDEO_SC5336) += sc5336.o 253 | obj-$(CONFIG_VIDEO_SC830AI) += sc830ai.o 254 | obj-$(CONFIG_VIDEO_SC831AI) += sc831ai.o 255 | obj-$(CONFIG_VIDEO_SC850SL) += sc850sl.o 256 | obj-$(CONFIG_VIDEO_SENSOR_ADAPTER) += sensor_adapter.o 257 | obj-$(CONFIG_VIDEO_SGM3784) += sgm3784.o 258 | obj-$(CONFIG_VIDEO_SONY_BTF_MPX) += sony-btf-mpx.o 259 | obj-$(CONFIG_VIDEO_SR030PC30) += sr030pc30.o 260 | obj-$(CONFIG_VIDEO_ST_MIPID02) += st-mipid02.o 261 | obj-$(CONFIG_VIDEO_TC358743) += tc358743.o 262 | obj-$(CONFIG_VIDEO_TC35874X) += tc35874x.o 263 | obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o 264 | obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o 265 | obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o 266 | obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o 267 | obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o 268 | obj-$(CONFIG_VIDEO_TECHPOINT) += techpoint/ 269 | obj-$(CONFIG_VIDEO_THCV244) += thcv244.o 270 | obj-$(CONFIG_VIDEO_THS7303) += ths7303.o 271 | obj-$(CONFIG_VIDEO_THS8200) += ths8200.o 272 | obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o 273 | obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o 274 | obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o 275 | obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o 276 | obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o 277 | obj-$(CONFIG_VIDEO_TW2804) += tw2804.o 278 | obj-$(CONFIG_VIDEO_TW9903) += tw9903.o 279 | obj-$(CONFIG_VIDEO_TW9906) += tw9906.o 280 | obj-$(CONFIG_VIDEO_TW9910) += tw9910.o 281 | obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o 282 | obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o 283 | obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o 284 | obj-$(CONFIG_VIDEO_VM149C) += vm149c.o 285 | obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o 286 | obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o 287 | obj-$(CONFIG_VIDEO_VS6624) += vs6624.o 288 | obj-$(CONFIG_VIDEO_WM8739) += wm8739.o 289 | obj-$(CONFIG_VIDEO_WM8775) += wm8775.o 290 | obj-$(CONFIG_VIDEO_XC7160) += xc7160.o 291 | obj-$(CONFIG_VIDEO_VEYECAM2M) += veyecam2m.o 292 | obj-$(CONFIG_VIDEO_VEYEMVCAM) += veye_mvcam.o -------------------------------------------------------------------------------- /linux/drivers/rk3576/cam_drv_src/path.txt: -------------------------------------------------------------------------------- 1 | drivers/media/i2c -------------------------------------------------------------------------------- /linux/drivers/rk3576/dts/path.txt: -------------------------------------------------------------------------------- 1 | kernel/arch/arm64/boot/dts/rockchip/ -------------------------------------------------------------------------------- /linux/drivers/rk3576/dts/rk3576-firefly-roc-rk3576-pc.dts: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2024 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | /* Firefly */ 10 | #define N_LED 1 11 | #define N_ES8388 1 12 | #define N_RTC 1 13 | #define N_WATCH_DOG 1 14 | #define RECOVERY_KEY 1 15 | #define SDCARD 1 16 | #define DP 1 17 | #define WIFI_BT 1 18 | #define HDMI 1 19 | #define CONTROLLER1_USBA30 1 20 | #define CONTROLLER0_TYPEC_FULL 1 21 | #define UFS 1 22 | #define PCIE 0 23 | #define SATA 1 24 | #define GMAC0 1 25 | #define GMAC1 0 26 | #define FAN 1 27 | 28 | #include "rk3576-firefly-roc-rk3576-pc.dtsi" 29 | //#include "rk3576-roc-pc-cam-8ms1m.dtsi" 30 | #include "rk3576-roc-pc-cam-cam1-veyemv.dtsi" 31 | //#include "rk3576-roc-pc-cam-cam1-veyecam2m.dtsi" 32 | // #include "rk3576-firefly-roc-rk3576-pc-mipi101-M101014-BE45-A1.dtsi" 33 | #include "rk3576-firefly-roc-rk3576-pc-mipi101-BSD1218-A101KL68.dtsi" 34 | #include "rk3576-firefly-roc-rk3576-pc-tf-hdmi-mipi-rk628.dtsi" 35 | #include "rk3576-firefly-roc-rk3576-pc-cam-imx415.dtsi" 36 | 37 | / { 38 | model = "Firefly ROC-RK3576-PC Linux HDMI"; 39 | compatible = "rockchip,rk3576-firefly-roc-rk3576-pc", "rockchip,rk3576"; 40 | }; 41 | -------------------------------------------------------------------------------- /linux/drivers/rk3576/dts/rk3576-roc-pc-cam-cam1-veyecam2m.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | &i2c4 { 8 | status = "okay"; 9 | clock-frequency = <400000>; 10 | pinctrl-names = "default"; 11 | pinctrl-0 = <&i2c4m3_xfer>; 12 | veyecam2m_1: veyecam2m@3b{ 13 | status = "okay"; 14 | compatible = "veye,veyecam2m"; 15 | reg = <0x3b>; 16 | clocks = <&cru CLK_MIPI_CAMERAOUT_M1>; 17 | clock-names = "xvclk"; 18 | pinctrl-names = "default"; 19 | pinctrl-0 = <&cam_clk1m0_clk1>; 20 | power-domains = <&power RK3576_PD_VI>; 21 | 22 | power-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>; 23 | reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 24 | pwdn-gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_HIGH>; 25 | 26 | //avdd-supply = <&vcc_mipidcphy0>; 27 | rockchip,camera-module-index = <0>; 28 | rockchip,camera-module-facing = "back"; 29 | rockchip,camera-module-name = "NC"; 30 | rockchip,camera-module-lens-name = "NC"; 31 | port { 32 | veyecam2m_out1: endpoint { 33 | remote-endpoint = <&mipi_dphy0_in_n4>; 34 | data-lanes = <1 2>; 35 | }; 36 | 37 | }; 38 | }; 39 | 40 | }; 41 | 42 | &csi2_dphy0 { 43 | status = "okay"; 44 | 45 | ports { 46 | #address-cells = <1>; 47 | #size-cells = <0>; 48 | port@0 { 49 | reg = <0>; 50 | #address-cells = <1>; 51 | #size-cells = <0>; 52 | 53 | mipi_dphy0_in_n4: endpoint@2 { 54 | reg = <2>; 55 | remote-endpoint = <&veyecam2m_out1>; 56 | data-lanes = <1 2>; 57 | }; 58 | }; 59 | port@1 { 60 | reg = <1>; 61 | #address-cells = <1>; 62 | #size-cells = <0>; 63 | 64 | csidphy0_out1: endpoint@0 { 65 | reg = <0>; 66 | remote-endpoint = <&mipi1_csi2_input>; 67 | }; 68 | }; 69 | }; 70 | }; 71 | 72 | &csi2_dphy0_hw { 73 | status = "okay"; 74 | }; 75 | 76 | &csi2_dphy1_hw{ 77 | status = "okay"; 78 | }; 79 | 80 | &mipi1_csi2 { 81 | status = "okay"; 82 | 83 | ports { 84 | #address-cells = <1>; 85 | #size-cells = <0>; 86 | 87 | port@0 { 88 | reg = <0>; 89 | #address-cells = <1>; 90 | #size-cells = <0>; 91 | 92 | mipi1_csi2_input: endpoint@0 { 93 | reg = <0>; 94 | remote-endpoint = <&csidphy0_out1>; 95 | }; 96 | }; 97 | 98 | port@1 { 99 | reg = <1>; 100 | #address-cells = <1>; 101 | #size-cells = <0>; 102 | 103 | mipi1_csi2_output: endpoint@0 { 104 | reg = <0>; 105 | remote-endpoint = <&cif_mipi_in1>; 106 | }; 107 | }; 108 | }; 109 | }; 110 | 111 | &pinctrl { 112 | cam { 113 | mipidphy0_pwr: mipidphy0-pwr { 114 | rockchip,pins = 115 | /* camera power en */ 116 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 117 | }; 118 | }; 119 | }; 120 | 121 | &rkcif { 122 | status = "okay"; 123 | rockchip,android-usb-camerahal-enable; 124 | }; 125 | 126 | &rkcif_mipi_lvds1 { 127 | status = "okay"; 128 | 129 | port { 130 | cif_mipi_in1: endpoint { 131 | remote-endpoint = <&mipi1_csi2_output>; 132 | }; 133 | }; 134 | }; 135 | 136 | /* 137 | &rkcif_mipi_lvds2_sditf { 138 | status = "disabled"; 139 | 140 | port { 141 | mipi_lvds2_sditf: endpoint { 142 | remote-endpoint = <&isp0_vir0>; 143 | }; 144 | }; 145 | }; 146 | */ 147 | &rkcif_mmu { 148 | status = "okay"; 149 | }; 150 | /* 151 | &rkisp0 { 152 | status = "disabled"; 153 | }; 154 | 155 | &isp0_mmu { 156 | status = "disabled"; 157 | }; 158 | 159 | &rkisp0_vir0 { 160 | status = "disabled"; 161 | 162 | port { 163 | #address-cells = <1>; 164 | #size-cells = <0>; 165 | 166 | isp0_vir0: endpoint@0 { 167 | reg = <0>; 168 | remote-endpoint = <&mipi_lvds2_sditf>; 169 | }; 170 | }; 171 | }; 172 | */ 173 | -------------------------------------------------------------------------------- /linux/drivers/rk3576/dts/rk3576-roc-pc-cam-cam1-veyemv-4lane.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | &i2c4 { 8 | status = "okay"; 9 | clock-frequency = <400000>; 10 | pinctrl-names = "default"; 11 | pinctrl-0 = <&i2c4m3_xfer>; 12 | mvcam_1: mvcam@3b{ 13 | status = "okay"; 14 | compatible = "veye,mvcam"; 15 | reg = <0x3b>; 16 | clocks = <&cru CLK_MIPI_CAMERAOUT_M1>; 17 | clock-names = "xvclk"; 18 | pinctrl-names = "default"; 19 | pinctrl-0 = <&cam_clk1m0_clk1>; 20 | power-domains = <&power RK3576_PD_VI>; 21 | 22 | power-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>; 23 | reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 24 | pwdn-gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_HIGH>; 25 | 26 | //avdd-supply = <&vcc_mipidcphy0>; 27 | rockchip,camera-module-index = <0>; 28 | rockchip,camera-module-facing = "back"; 29 | rockchip,camera-module-name = "NC"; 30 | rockchip,camera-module-lens-name = "NC"; 31 | port { 32 | mvcam_out1: endpoint { 33 | remote-endpoint = <&mipi_dphy0_in_n4>; 34 | data-lanes = <1 2 3 4>; 35 | }; 36 | 37 | }; 38 | }; 39 | 40 | }; 41 | 42 | &csi2_dphy0 { 43 | status = "okay"; 44 | 45 | ports { 46 | #address-cells = <1>; 47 | #size-cells = <0>; 48 | port@0 { 49 | reg = <0>; 50 | #address-cells = <1>; 51 | #size-cells = <0>; 52 | 53 | mipi_dphy0_in_n4: endpoint@2 { 54 | reg = <2>; 55 | remote-endpoint = <&mvcam_out1>; 56 | data-lanes = <1 2 3 4>; 57 | }; 58 | }; 59 | port@1 { 60 | reg = <1>; 61 | #address-cells = <1>; 62 | #size-cells = <0>; 63 | 64 | csidphy0_out1: endpoint@0 { 65 | reg = <0>; 66 | remote-endpoint = <&mipi1_csi2_input>; 67 | }; 68 | }; 69 | }; 70 | }; 71 | 72 | &csi2_dphy0_hw { 73 | status = "okay"; 74 | }; 75 | 76 | &csi2_dphy1_hw{ 77 | status = "okay"; 78 | }; 79 | 80 | &mipi1_csi2 { 81 | status = "okay"; 82 | 83 | ports { 84 | #address-cells = <1>; 85 | #size-cells = <0>; 86 | 87 | port@0 { 88 | reg = <0>; 89 | #address-cells = <1>; 90 | #size-cells = <0>; 91 | 92 | mipi1_csi2_input: endpoint@0 { 93 | reg = <0>; 94 | remote-endpoint = <&csidphy0_out1>; 95 | }; 96 | }; 97 | 98 | port@1 { 99 | reg = <1>; 100 | #address-cells = <1>; 101 | #size-cells = <0>; 102 | 103 | mipi1_csi2_output: endpoint@0 { 104 | reg = <0>; 105 | remote-endpoint = <&cif_mipi_in1>; 106 | }; 107 | }; 108 | }; 109 | }; 110 | 111 | &pinctrl { 112 | cam { 113 | mipidphy0_pwr: mipidphy0-pwr { 114 | rockchip,pins = 115 | /* camera power en */ 116 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 117 | }; 118 | }; 119 | }; 120 | 121 | &rkcif { 122 | status = "okay"; 123 | rockchip,android-usb-camerahal-enable; 124 | }; 125 | 126 | &rkcif_mipi_lvds1 { 127 | status = "okay"; 128 | 129 | port { 130 | cif_mipi_in1: endpoint { 131 | remote-endpoint = <&mipi1_csi2_output>; 132 | }; 133 | }; 134 | }; 135 | 136 | /* 137 | &rkcif_mipi_lvds2_sditf { 138 | status = "disabled"; 139 | 140 | port { 141 | mipi_lvds2_sditf: endpoint { 142 | remote-endpoint = <&isp0_vir0>; 143 | }; 144 | }; 145 | }; 146 | */ 147 | &rkcif_mmu { 148 | status = "okay"; 149 | }; 150 | /* 151 | &rkisp0 { 152 | status = "disabled"; 153 | }; 154 | 155 | &isp0_mmu { 156 | status = "disabled"; 157 | }; 158 | 159 | &rkisp0_vir0 { 160 | status = "disabled"; 161 | 162 | port { 163 | #address-cells = <1>; 164 | #size-cells = <0>; 165 | 166 | isp0_vir0: endpoint@0 { 167 | reg = <0>; 168 | remote-endpoint = <&mipi_lvds2_sditf>; 169 | }; 170 | }; 171 | }; 172 | */ 173 | -------------------------------------------------------------------------------- /linux/drivers/rk3576/dts/rk3576-roc-pc-cam-cam1-veyemv.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | &i2c4 { 8 | status = "okay"; 9 | clock-frequency = <400000>; 10 | pinctrl-names = "default"; 11 | pinctrl-0 = <&i2c4m3_xfer>; 12 | mvcam_1: mvcam@3b{ 13 | status = "okay"; 14 | compatible = "veye,mvcam"; 15 | reg = <0x3b>; 16 | clocks = <&cru CLK_MIPI_CAMERAOUT_M1>; 17 | clock-names = "xvclk"; 18 | pinctrl-names = "default"; 19 | pinctrl-0 = <&cam_clk1m0_clk1>; 20 | power-domains = <&power RK3576_PD_VI>; 21 | 22 | power-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>; 23 | reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 24 | pwdn-gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_HIGH>; 25 | 26 | //avdd-supply = <&vcc_mipidcphy0>; 27 | rockchip,camera-module-index = <0>; 28 | rockchip,camera-module-facing = "back"; 29 | rockchip,camera-module-name = "NC"; 30 | rockchip,camera-module-lens-name = "NC"; 31 | port { 32 | mvcam_out1: endpoint { 33 | remote-endpoint = <&mipi_dphy0_in_n4>; 34 | data-lanes = <1 2>; 35 | }; 36 | 37 | }; 38 | }; 39 | 40 | }; 41 | 42 | &csi2_dphy0 { 43 | status = "okay"; 44 | 45 | ports { 46 | #address-cells = <1>; 47 | #size-cells = <0>; 48 | port@0 { 49 | reg = <0>; 50 | #address-cells = <1>; 51 | #size-cells = <0>; 52 | 53 | mipi_dphy0_in_n4: endpoint@2 { 54 | reg = <2>; 55 | remote-endpoint = <&mvcam_out1>; 56 | data-lanes = <1 2>; 57 | }; 58 | }; 59 | port@1 { 60 | reg = <1>; 61 | #address-cells = <1>; 62 | #size-cells = <0>; 63 | 64 | csidphy0_out1: endpoint@0 { 65 | reg = <0>; 66 | remote-endpoint = <&mipi1_csi2_input>; 67 | }; 68 | }; 69 | }; 70 | }; 71 | 72 | &csi2_dphy0_hw { 73 | status = "okay"; 74 | }; 75 | 76 | &csi2_dphy1_hw{ 77 | status = "okay"; 78 | }; 79 | 80 | &mipi1_csi2 { 81 | status = "okay"; 82 | 83 | ports { 84 | #address-cells = <1>; 85 | #size-cells = <0>; 86 | 87 | port@0 { 88 | reg = <0>; 89 | #address-cells = <1>; 90 | #size-cells = <0>; 91 | 92 | mipi1_csi2_input: endpoint@0 { 93 | reg = <0>; 94 | remote-endpoint = <&csidphy0_out1>; 95 | }; 96 | }; 97 | 98 | port@1 { 99 | reg = <1>; 100 | #address-cells = <1>; 101 | #size-cells = <0>; 102 | 103 | mipi1_csi2_output: endpoint@0 { 104 | reg = <0>; 105 | remote-endpoint = <&cif_mipi_in1>; 106 | }; 107 | }; 108 | }; 109 | }; 110 | 111 | &pinctrl { 112 | cam { 113 | mipidphy0_pwr: mipidphy0-pwr { 114 | rockchip,pins = 115 | /* camera power en */ 116 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 117 | }; 118 | }; 119 | }; 120 | 121 | &rkcif { 122 | status = "okay"; 123 | rockchip,android-usb-camerahal-enable; 124 | }; 125 | 126 | &rkcif_mipi_lvds1 { 127 | status = "okay"; 128 | 129 | port { 130 | cif_mipi_in1: endpoint { 131 | remote-endpoint = <&mipi1_csi2_output>; 132 | }; 133 | }; 134 | }; 135 | 136 | /* 137 | &rkcif_mipi_lvds2_sditf { 138 | status = "disabled"; 139 | 140 | port { 141 | mipi_lvds2_sditf: endpoint { 142 | remote-endpoint = <&isp0_vir0>; 143 | }; 144 | }; 145 | }; 146 | */ 147 | &rkcif_mmu { 148 | status = "okay"; 149 | }; 150 | /* 151 | &rkisp0 { 152 | status = "disabled"; 153 | }; 154 | 155 | &isp0_mmu { 156 | status = "disabled"; 157 | }; 158 | 159 | &rkisp0_vir0 { 160 | status = "disabled"; 161 | 162 | port { 163 | #address-cells = <1>; 164 | #size-cells = <0>; 165 | 166 | isp0_vir0: endpoint@0 { 167 | reg = <0>; 168 | remote-endpoint = <&mipi_lvds2_sditf>; 169 | }; 170 | }; 171 | }; 172 | */ 173 | -------------------------------------------------------------------------------- /linux/drivers/rk3576/firefly-linux.config: -------------------------------------------------------------------------------- 1 | CONFIG_SENSORS_PWM_FAN=y 2 | CONFIG_TOUCHSCREEN_ELAN5515=n 3 | CONFIG_PC9202_WATCHDOG=y 4 | CONFIG_LEDS_PWM=y 5 | CONFIG_TOUCHSCREEN_HX83102=y 6 | CONFIG_VIDEO_XC7160=y 7 | CONFIG_SPI_WK2XXX=y 8 | CONFIG_OVERLAY_FS=y 9 | CONFIG_CAN_DEV=y 10 | CONFIG_CAN_NETLINK=y 11 | CONFIG_USB_USBNET=y 12 | CONFIG_USB_NET_CDC_MBIM=y 13 | CONFIG_USB_NET_QMI_WWAN=y 14 | CONFIG_CAN=y 15 | CONFIG_CANFD_RK3576=y 16 | CONFIG_GPIO_PCA953X=y 17 | CONFIG_RTL8852BE=y 18 | CONFIG_EXFAT_FS=y 19 | CONFIG_BT_HCIBTUSB=m 20 | CONFIG_GPIO_FIREFLY_DETECT_POSITION=y 21 | #GT9XX for M10R800V3S 22 | CONFIG_TOUCHSCREEN_GT9XXX=y 23 | CONFIG_SND_SOC_ES8389=y 24 | 25 | CONFIG_VIDEO_VEYEMVCAM=y 26 | CONFIG_VIDEO_VEYECAM2M=y 27 | 28 | # RNDIS 29 | CONFIG_USB_NET_RNDIS_HOST=m 30 | -------------------------------------------------------------------------------- /linux/drivers/rk3576/path.txt: -------------------------------------------------------------------------------- 1 | kernel/arch/arm64/configs/ -------------------------------------------------------------------------------- /linux/drivers/rk358x/cam_drv_src/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | msp3400-objs := msp3400-driver.o msp3400-kthreads.o 3 | obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o 4 | 5 | obj-$(CONFIG_VIDEO_SMIAPP) += smiapp/ 6 | obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/ 7 | obj-$(CONFIG_VIDEO_CX25840) += cx25840/ 8 | obj-$(CONFIG_VIDEO_IT66353) += it66353/ 9 | obj-$(CONFIG_VIDEO_M5MOLS) += m5mols/ 10 | obj-$(CONFIG_VIDEO_NVP6158) += nvp6158_drv/ 11 | obj-$(CONFIG_VIDEO_NVP6188) += nvp6188.o 12 | obj-$(CONFIG_VIDEO_NVP6324) += jaguar1_drv/ 13 | 14 | obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o 15 | obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o 16 | obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o 17 | obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o 18 | obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o 19 | obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o 20 | obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o 21 | obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o 22 | obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o 23 | obj-$(CONFIG_VIDEO_SAA711X) += saa7115.o 24 | obj-$(CONFIG_VIDEO_SAA717X) += saa717x.o 25 | obj-$(CONFIG_VIDEO_SAA7127) += saa7127.o 26 | obj-$(CONFIG_VIDEO_SAA7185) += saa7185.o 27 | obj-$(CONFIG_VIDEO_SAA6752HS) += saa6752hs.o 28 | obj-$(CONFIG_VIDEO_AD5820) += ad5820.o 29 | obj-$(CONFIG_VIDEO_AK7375) += ak7375.o 30 | obj-$(CONFIG_VIDEO_AW8601) += aw8601.o 31 | obj-$(CONFIG_VIDEO_CN3927V) += cn3927v.o 32 | obj-$(CONFIG_VIDEO_DW9714) += dw9714.o 33 | obj-$(CONFIG_VIDEO_DW9768) += dw9768.o 34 | obj-$(CONFIG_VIDEO_DW9800W) += dw9800w.o 35 | obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o 36 | obj-$(CONFIG_VIDEO_FP5510) += fp5510.o 37 | obj-$(CONFIG_VIDEO_ADV7170) += adv7170.o 38 | obj-$(CONFIG_VIDEO_ADV7175) += adv7175.o 39 | obj-$(CONFIG_VIDEO_ADV7180) += adv7180.o 40 | obj-$(CONFIG_VIDEO_ADV7183) += adv7183.o 41 | obj-$(CONFIG_VIDEO_ADV7343) += adv7343.o 42 | obj-$(CONFIG_VIDEO_ADV7393) += adv7393.o 43 | obj-$(CONFIG_VIDEO_ADV748X) += adv748x/ 44 | obj-$(CONFIG_VIDEO_ADV7604) += adv7604.o 45 | obj-$(CONFIG_VIDEO_ADV7842) += adv7842.o 46 | obj-$(CONFIG_VIDEO_AD9389B) += ad9389b.o 47 | obj-$(CONFIG_VIDEO_ADV7511) += adv7511-v4l2.o 48 | obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o 49 | obj-$(CONFIG_VIDEO_VS6624) += vs6624.o 50 | obj-$(CONFIG_VIDEO_BT819) += bt819.o 51 | obj-$(CONFIG_VIDEO_BT856) += bt856.o 52 | obj-$(CONFIG_VIDEO_BT866) += bt866.o 53 | obj-$(CONFIG_VIDEO_EP9461E) += ep9461e.o 54 | obj-$(CONFIG_VIDEO_KS0127) += ks0127.o 55 | obj-$(CONFIG_VIDEO_THS7303) += ths7303.o 56 | obj-$(CONFIG_VIDEO_THS8200) += ths8200.o 57 | obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o 58 | obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o 59 | obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o 60 | obj-$(CONFIG_VIDEO_TW2804) += tw2804.o 61 | obj-$(CONFIG_VIDEO_TW9903) += tw9903.o 62 | obj-$(CONFIG_VIDEO_TW9906) += tw9906.o 63 | obj-$(CONFIG_VIDEO_TW9910) += tw9910.o 64 | obj-$(CONFIG_VIDEO_CS3308) += cs3308.o 65 | obj-$(CONFIG_VIDEO_CS5345) += cs5345.o 66 | obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o 67 | obj-$(CONFIG_VIDEO_M52790) += m52790.o 68 | obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o 69 | obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o 70 | obj-$(CONFIG_VIDEO_WM8775) += wm8775.o 71 | obj-$(CONFIG_VIDEO_WM8739) += wm8739.o 72 | obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o 73 | obj-$(CONFIG_VIDEO_SONY_BTF_MPX) += sony-btf-mpx.o 74 | obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o 75 | obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o 76 | obj-$(CONFIG_VIDEO_OS02G10) += os02g10.o 77 | obj-$(CONFIG_VIDEO_OS03B10) += os03b10.o 78 | obj-$(CONFIG_VIDEO_OS04A10) += os04a10.o 79 | obj-$(CONFIG_VIDEO_OS05A20) += os05a20.o 80 | obj-$(CONFIG_VIDEO_OS08A20) += os08a20.o 81 | obj-$(CONFIG_VIDEO_OV02B10) += ov02b10.o 82 | obj-$(CONFIG_VIDEO_OV02K10) += ov02k10.o 83 | obj-$(CONFIG_VIDEO_OV16A10) += ov16a10.o 84 | obj-$(CONFIG_VIDEO_OV2640) += ov2640.o 85 | obj-$(CONFIG_VIDEO_OV2680) += ov2680.o 86 | obj-$(CONFIG_VIDEO_OV2685) += ov2685.o 87 | obj-$(CONFIG_VIDEO_OV2718) += ov2718.o 88 | obj-$(CONFIG_VIDEO_OV2740) += ov2740.o 89 | obj-$(CONFIG_VIDEO_OV4686) += ov4686.o 90 | obj-$(CONFIG_VIDEO_OV4688) += ov4688.o 91 | obj-$(CONFIG_VIDEO_OV4689) += ov4689.o 92 | obj-$(CONFIG_VIDEO_OV50C40) += ov50c40.o 93 | obj-$(CONFIG_VIDEO_OV5640) += ov5640.o 94 | obj-$(CONFIG_VIDEO_OV5645) += ov5645.o 95 | obj-$(CONFIG_VIDEO_OV5647) += ov5647.o 96 | obj-$(CONFIG_VIDEO_OV5670) += ov5670.o 97 | obj-$(CONFIG_VIDEO_OV5675) += ov5675.o 98 | obj-$(CONFIG_VIDEO_OV5695) += ov5695.o 99 | obj-$(CONFIG_VIDEO_OV6650) += ov6650.o 100 | obj-$(CONFIG_VIDEO_OV7251) += ov7251.o 101 | obj-$(CONFIG_VIDEO_OV7640) += ov7640.o 102 | obj-$(CONFIG_VIDEO_OV7670) += ov7670.o 103 | obj-$(CONFIG_VIDEO_OV772X) += ov772x.o 104 | obj-$(CONFIG_VIDEO_OV7740) += ov7740.o 105 | obj-$(CONFIG_VIDEO_OV8856) += ov8856.o 106 | obj-$(CONFIG_VIDEO_OV8858) += ov8858.o 107 | obj-$(CONFIG_VIDEO_OV9281) += ov9281.o 108 | obj-$(CONFIG_VIDEO_OV9640) += ov9640.o 109 | obj-$(CONFIG_VIDEO_OV9650) += ov9650.o 110 | obj-$(CONFIG_VIDEO_OV12D2Q) += ov12d2q.o 111 | obj-$(CONFIG_VIDEO_OV13850) += ov13850.o 112 | obj-$(CONFIG_VIDEO_OV13855) += ov13855.o 113 | obj-$(CONFIG_VIDEO_OV13858) += ov13858.o 114 | obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o 115 | obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o 116 | obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o 117 | obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o 118 | obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o 119 | obj-$(CONFIG_VIDEO_MT9T112) += mt9t112.o 120 | obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o 121 | obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o 122 | obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o 123 | obj-$(CONFIG_VIDEO_SC031GS) += sc031gs.o 124 | obj-$(CONFIG_VIDEO_SC035GS) += sc035gs.o 125 | obj-$(CONFIG_VIDEO_SC132GS) += sc132gs.o 126 | obj-$(CONFIG_VIDEO_SC200AI) += sc200ai.o 127 | obj-$(CONFIG_VIDEO_SC210IOT) += sc210iot.o 128 | obj-$(CONFIG_VIDEO_SC2232) += sc2232.o 129 | obj-$(CONFIG_VIDEO_SC2239) += sc2239.o 130 | obj-$(CONFIG_VIDEO_SC230AI) += sc230ai.o 131 | obj-$(CONFIG_VIDEO_SC2310) += sc2310.o 132 | obj-$(CONFIG_VIDEO_SC2336) += sc2336.o 133 | obj-$(CONFIG_VIDEO_SC301IOT) += sc301iot.o 134 | obj-$(CONFIG_VIDEO_SC3336) += sc3336.o 135 | obj-$(CONFIG_VIDEO_SC3338) += sc3338.o 136 | obj-$(CONFIG_VIDEO_SC401AI) += sc401ai.o 137 | obj-$(CONFIG_VIDEO_SC4210) += sc4210.o 138 | obj-$(CONFIG_VIDEO_SC4238) += sc4238.o 139 | obj-$(CONFIG_VIDEO_SC430CS) += sc430cs.o 140 | obj-$(CONFIG_VIDEO_SC4336) += sc4336.o 141 | obj-$(CONFIG_VIDEO_SC500AI) += sc500ai.o 142 | obj-$(CONFIG_VIDEO_SC530AI) += sc530ai.o 143 | obj-$(CONFIG_VIDEO_SENSOR_ADAPTER) += sensor_adapter.o 144 | obj-$(CONFIG_VIDEO_SR030PC30) += sr030pc30.o 145 | obj-$(CONFIG_VIDEO_NOON010PC30) += noon010pc30.o 146 | obj-$(CONFIG_VIDEO_RJ54N1) += rj54n1cb0c.o 147 | obj-$(CONFIG_VIDEO_S5K3L6XX) += s5k3l6xx.o 148 | obj-$(CONFIG_VIDEO_S5K6AA) += s5k6aa.o 149 | obj-$(CONFIG_VIDEO_S5K6A3) += s5k6a3.o 150 | obj-$(CONFIG_VIDEO_S5K4ECGX) += s5k4ecgx.o 151 | obj-$(CONFIG_VIDEO_S5K5BAF) += s5k5baf.o 152 | obj-$(CONFIG_VIDEO_S5KJN1) += s5kjn1.o 153 | obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3/ 154 | obj-$(CONFIG_VIDEO_ADP1653) += adp1653.o 155 | obj-$(CONFIG_VIDEO_AW36518) += aw36518.o 156 | obj-$(CONFIG_VIDEO_LM3560) += lm3560.o 157 | obj-$(CONFIG_VIDEO_LM3646) += lm3646.o 158 | obj-$(CONFIG_VIDEO_SGM3784) += sgm3784.o 159 | obj-$(CONFIG_VIDEO_LT6911UXC) += lt6911uxc.o 160 | obj-$(CONFIG_VIDEO_LT6911UXE) += lt6911uxe.o 161 | obj-$(CONFIG_VIDEO_IT6616) += it6616.o 162 | obj-$(CONFIG_VIDEO_LT7911D) += lt7911d.o 163 | obj-$(CONFIG_VIDEO_LT7911UXC) += lt7911uxc.o 164 | obj-$(CONFIG_VIDEO_LT8619C) += lt8619c.o 165 | obj-$(CONFIG_VIDEO_SMIAPP_PLL) += smiapp-pll.o 166 | obj-$(CONFIG_VIDEO_AK881X) += ak881x.o 167 | obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o 168 | obj-$(CONFIG_VIDEO_I2C) += video-i2c.o 169 | obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o 170 | obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o 171 | obj-$(CONFIG_VIDEO_OV2659) += ov2659.o 172 | obj-$(CONFIG_VIDEO_TC358743) += tc358743.o 173 | obj-$(CONFIG_VIDEO_TC35874X) += tc35874x.o 174 | obj-$(CONFIG_VIDEO_THCV244) += thcv244.o 175 | obj-$(CONFIG_VIDEO_RK628) += rk628/ 176 | obj-$(CONFIG_VIDEO_AR0230) += ar0230.o 177 | obj-$(CONFIG_VIDEO_GC02M2) += gc02m2.o 178 | obj-$(CONFIG_VIDEO_GC08A3) += gc08a3.o 179 | obj-$(CONFIG_VIDEO_GC1084) += gc1084.o 180 | obj-$(CONFIG_VIDEO_GC2053) += gc2053.o 181 | obj-$(CONFIG_VIDEO_GC2093) += gc2093.o 182 | obj-$(CONFIG_VIDEO_GC2145) += gc2145.o 183 | obj-$(CONFIG_VIDEO_GC2385) += gc2385.o 184 | obj-$(CONFIG_VIDEO_GC3003) += gc3003.o 185 | obj-$(CONFIG_VIDEO_GC4023) += gc4023.o 186 | obj-$(CONFIG_VIDEO_GC4653) += gc4653.o 187 | obj-$(CONFIG_VIDEO_GC4663) += gc4663.o 188 | obj-$(CONFIG_VIDEO_GC4C33) += gc4c33.o 189 | obj-$(CONFIG_VIDEO_GC5025) += gc5025.o 190 | obj-$(CONFIG_VIDEO_GC5035) += gc5035.o 191 | obj-$(CONFIG_VIDEO_GC8034) += gc8034.o 192 | obj-$(CONFIG_VIDEO_HI556) += hi556.o 193 | obj-$(CONFIG_VIDEO_IMX214) += imx214.o 194 | obj-$(CONFIG_VIDEO_IMX214_EEPROM) += imx214_eeprom.o 195 | obj-$(CONFIG_VIDEO_IMX219) += imx219.o 196 | obj-$(CONFIG_VIDEO_IMX258) += imx258.o 197 | obj-$(CONFIG_VIDEO_IMX258_EEPROM) += imx258_eeprom.o 198 | obj-$(CONFIG_VIDEO_IMX274) += imx274.o 199 | obj-$(CONFIG_VIDEO_IMX290) += imx290.o 200 | obj-$(CONFIG_VIDEO_IMX307) += imx307.o 201 | obj-$(CONFIG_VIDEO_IMX317) += imx317.o 202 | obj-$(CONFIG_VIDEO_IMX319) += imx319.o 203 | obj-$(CONFIG_VIDEO_IMX323) += imx323.o 204 | obj-$(CONFIG_VIDEO_IMX327) += imx327.o 205 | obj-$(CONFIG_VIDEO_IMX334) += imx334.o 206 | obj-$(CONFIG_VIDEO_IMX335) += imx335.o 207 | obj-$(CONFIG_VIDEO_IMX347) += imx347.o 208 | obj-$(CONFIG_VIDEO_IMX378) += imx378.o 209 | obj-$(CONFIG_VIDEO_IMX415) += imx415.o 210 | obj-$(CONFIG_VIDEO_IMX464) += imx464.o 211 | obj-$(CONFIG_VIDEO_IMX355) += imx355.o 212 | obj-$(CONFIG_VIDEO_IMX577) += imx577.o 213 | obj-$(CONFIG_VIDEO_IMX586) += imx586.o 214 | obj-$(CONFIG_VIDEO_JX_K17) += jx_k17.o 215 | obj-$(CONFIG_VIDEO_MAX9286) += max9286.o 216 | obj-$(CONFIG_VIDEO_MAX96714) += max96714.o 217 | obj-$(CONFIG_VIDEO_MAX96722) += max96722.o 218 | rdacm20-camera_module-objs := rdacm20.o max9271.o 219 | obj-$(CONFIG_VIDEO_RDACM20) += rdacm20-camera_module.o 220 | obj-$(CONFIG_VIDEO_ST_MIPID02) += st-mipid02.o 221 | 222 | obj-$(CONFIG_SDR_MAX2175) += max2175.o 223 | obj-$(CONFIG_VIDEO_XC7160) += xc7160.o 224 | obj-$(CONFIG_VIDEO_DS90UB954) += ds90ub954.o 225 | obj-$(CONFIG_VIDEO_VEYEVBYONE) += veye_vbyone.o 226 | obj-$(CONFIG_VIDEO_VEYECAM2M) += veyecam2m.o 227 | obj-$(CONFIG_VIDEO_VEYEMVCAM) += veye_mvcam.o 228 | obj-$(CONFIG_VIDEO_OTP_EEPROM) += otp_eeprom.o 229 | obj-$(CONFIG_VIDEO_PREISP_DUMMY_SENSOR) += preisp-dummy.o 230 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/cam_drv_src/path.txt: -------------------------------------------------------------------------------- 1 | kernel\drivers\media\i2c 2 | 3 | driver source move to https://github.com/veyeimaging/rk35xx_veye_bsp -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/aio-3588sjd4-cam-veyemvcam.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2023 www.veye.cc 4 | * 5 | */ 6 | 7 | / { 8 | 9 | vcc_mipidphy0: vcc-mipidcphy0-regulator { 10 | status = "disabled"; 11 | compatible = "regulator-fixed"; 12 | gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; 13 | pinctrl-names = "default"; 14 | pinctrl-0 = <&mipidphy0_pwr>; 15 | regulator-name = "vcc_mipidphy0"; 16 | enable-active-high; 17 | }; 18 | }; 19 | 20 | &csi2_dphy0 { 21 | status = "okay"; 22 | 23 | ports { 24 | #address-cells = <1>; 25 | #size-cells = <0>; 26 | port@0 { 27 | reg = <0>; 28 | #address-cells = <1>; 29 | #size-cells = <0>; 30 | 31 | mipidphy0_in_ucam0: endpoint@1 { 32 | reg = <1>; 33 | remote-endpoint = <&mvcam_out2>; 34 | data-lanes = <1 2 >; 35 | }; 36 | }; 37 | port@1 { 38 | reg = <1>; 39 | #address-cells = <1>; 40 | #size-cells = <0>; 41 | 42 | csidphy0_out: endpoint@0 { 43 | reg = <0>; 44 | remote-endpoint = <&mipi2_csi2_input>; 45 | }; 46 | }; 47 | }; 48 | }; 49 | 50 | &csi2_dphy0_hw { 51 | status = "okay"; 52 | }; 53 | 54 | &i2c5 { 55 | status = "okay"; 56 | pinctrl-names = "default"; 57 | pinctrl-0 = <&i2c5m3_xfer>; 58 | 59 | mvcam: mvcam@3b{ 60 | compatible = "veye,mvcam"; 61 | reg = <0x3b>; 62 | clocks = <&cru CLK_MIPI_CAMARAOUT_M1>; 63 | clock-names = "xvclk"; 64 | pinctrl-names = "default"; 65 | pinctrl-0 = <&mipim1_camera1_clk>; 66 | power-domains = <&power RK3588_PD_VI>; 67 | 68 | //power-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>; 69 | reset-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 70 | pwdn-gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>; 71 | 72 | //avdd-supply = <&vcc_mipidcphy0>; 73 | //firefly,clkout-enabled-index = <0>; 74 | rockchip,camera-module-index = <0>; 75 | rockchip,camera-module-facing = "back"; 76 | rockchip,camera-module-name = "NC"; 77 | rockchip,camera-module-lens-name = "NC"; 78 | port { 79 | mvcam_out2: endpoint { 80 | remote-endpoint = <&mipidphy0_in_ucam0>; 81 | data-lanes = <1 2>; 82 | }; 83 | }; 84 | }; 85 | 86 | }; 87 | 88 | &mipi2_csi2 { 89 | status = "okay"; 90 | 91 | ports { 92 | #address-cells = <1>; 93 | #size-cells = <0>; 94 | 95 | port@0 { 96 | reg = <0>; 97 | #address-cells = <1>; 98 | #size-cells = <0>; 99 | 100 | mipi2_csi2_input: endpoint@1 { 101 | reg = <1>; 102 | remote-endpoint = <&csidphy0_out>; 103 | }; 104 | }; 105 | 106 | port@1 { 107 | reg = <1>; 108 | #address-cells = <1>; 109 | #size-cells = <0>; 110 | 111 | mipi2_csi2_output: endpoint@0 { 112 | reg = <0>; 113 | remote-endpoint = <&cif_mipi2_in0>; 114 | }; 115 | }; 116 | }; 117 | }; 118 | 119 | &pinctrl { 120 | cam { 121 | mipidphy0_pwr: mipidphy0-pwr { 122 | rockchip,pins = 123 | /* camera power en */ 124 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 125 | }; 126 | }; 127 | }; 128 | 129 | &rkcif { 130 | status = "okay"; 131 | // memory-region = <&cif_reserved>; 132 | }; 133 | 134 | &rkcif_mipi_lvds2 { 135 | status = "okay"; 136 | 137 | port { 138 | cif_mipi2_in0: endpoint { 139 | remote-endpoint = <&mipi2_csi2_output>; 140 | }; 141 | }; 142 | }; 143 | 144 | &rkcif_mipi_lvds2_sditf { 145 | status = "disabled"; 146 | 147 | port { 148 | mipi_lvds2_sditf: endpoint { 149 | remote-endpoint = <&isp0_vir0>; 150 | }; 151 | }; 152 | }; 153 | 154 | &rkcif_mmu { 155 | status = "okay"; 156 | }; 157 | 158 | &rkisp0 { 159 | status = "disabled"; 160 | }; 161 | 162 | &isp0_mmu { 163 | status = "disabled"; 164 | }; 165 | 166 | &rkisp0_vir0 { 167 | status = "disabled"; 168 | 169 | port { 170 | #address-cells = <1>; 171 | #size-cells = <0>; 172 | 173 | isp0_vir0: endpoint@0 { 174 | reg = <0>; 175 | remote-endpoint = <&mipi_lvds2_sditf>; 176 | }; 177 | }; 178 | }; 179 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/path.txt: -------------------------------------------------------------------------------- 1 | kernel\arch\arm64\boot\dts\rockchip -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/rk3588-roc-pc-cam-veyecam2m-4lane.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 www.veye.cc 4 | * 5 | */ 6 | 7 | / { 8 | vcc_mipidphy0: vcc-mipidcphy0-regulator { 9 | status = "disabled"; 10 | compatible = "regulator-fixed"; 11 | gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; 12 | pinctrl-names = "default"; 13 | pinctrl-0 = <&mipidphy0_pwr>; 14 | regulator-name = "vcc_mipidphy0"; 15 | enable-active-high; 16 | }; 17 | }; 18 | 19 | &csi2_dphy0 { 20 | status = "okay"; 21 | 22 | ports { 23 | #address-cells = <1>; 24 | #size-cells = <0>; 25 | port@0 { 26 | reg = <0>; 27 | #address-cells = <1>; 28 | #size-cells = <0>; 29 | 30 | mipidphy0_in_ucam0: endpoint@1 { 31 | reg = <1>; 32 | remote-endpoint = <&veyecam2m_out0>; 33 | data-lanes = <1 2 3 4>; 34 | }; 35 | }; 36 | port@1 { 37 | reg = <1>; 38 | #address-cells = <1>; 39 | #size-cells = <0>; 40 | 41 | csidphy0_out: endpoint@0 { 42 | reg = <0>; 43 | remote-endpoint = <&mipi2_csi2_input>; 44 | }; 45 | }; 46 | }; 47 | }; 48 | 49 | &csi2_dphy0_hw { 50 | status = "okay"; 51 | }; 52 | 53 | &i2c7 { 54 | status = "okay"; 55 | pinctrl-names = "default"; 56 | pinctrl-0 = <&i2c7m2_xfer>; 57 | 58 | veyecam2m: veyecam2m@3b{ 59 | compatible = "veye,veyecam2m"; 60 | reg = <0x3b>; 61 | clocks = <&cru CLK_MIPI_CAMARAOUT_M1>; 62 | clock-names = "xvclk"; 63 | pinctrl-names = "default"; 64 | pinctrl-0 = <&mipim1_camera1_clk>; 65 | power-domains = <&power RK3588_PD_VI>; 66 | 67 | //power-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; 68 | reset-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; 69 | pwdn-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; 70 | 71 | //avdd-supply = <&vcc_mipidcphy0>; 72 | //firefly,clkout-enabled-index = <0>; 73 | rockchip,camera-module-index = <0>; 74 | rockchip,camera-module-facing = "back"; 75 | rockchip,camera-module-name = "NC"; 76 | rockchip,camera-module-lens-name = "NC"; 77 | port { 78 | veyecam2m_out0: endpoint { 79 | remote-endpoint = <&mipidphy0_in_ucam0>; 80 | data-lanes = <1 2 3 4>; 81 | }; 82 | }; 83 | }; 84 | 85 | }; 86 | 87 | &mipi2_csi2 { 88 | status = "okay"; 89 | 90 | ports { 91 | #address-cells = <1>; 92 | #size-cells = <0>; 93 | 94 | port@0 { 95 | reg = <0>; 96 | #address-cells = <1>; 97 | #size-cells = <0>; 98 | 99 | mipi2_csi2_input: endpoint@1 { 100 | reg = <1>; 101 | remote-endpoint = <&csidphy0_out>; 102 | }; 103 | }; 104 | 105 | port@1 { 106 | reg = <1>; 107 | #address-cells = <1>; 108 | #size-cells = <0>; 109 | 110 | mipi2_csi2_output: endpoint@0 { 111 | reg = <0>; 112 | remote-endpoint = <&cif_mipi2_in0>; 113 | }; 114 | }; 115 | }; 116 | }; 117 | 118 | &pinctrl { 119 | cam { 120 | mipidphy0_pwr: mipidphy0-pwr { 121 | rockchip,pins = 122 | /* camera power en */ 123 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 124 | }; 125 | }; 126 | }; 127 | 128 | &rkcif { 129 | status = "okay"; 130 | // memory-region = <&cif_reserved>; 131 | }; 132 | 133 | &rkcif_mipi_lvds2 { 134 | status = "okay"; 135 | firefly,yuv_camera; 136 | 137 | port { 138 | cif_mipi2_in0: endpoint { 139 | remote-endpoint = <&mipi2_csi2_output>; 140 | }; 141 | }; 142 | }; 143 | 144 | &rkcif_mipi_lvds2_sditf { 145 | status = "disabled"; 146 | 147 | port { 148 | mipi_lvds2_sditf: endpoint { 149 | remote-endpoint = <&isp0_vir0>; 150 | }; 151 | }; 152 | }; 153 | 154 | &rkcif_mmu { 155 | status = "okay"; 156 | }; 157 | 158 | &rkisp0 { 159 | status = "disabled"; 160 | }; 161 | 162 | &isp0_mmu { 163 | status = "disabled"; 164 | }; 165 | 166 | &rkisp0_vir0 { 167 | status = "disabled"; 168 | 169 | port { 170 | #address-cells = <1>; 171 | #size-cells = <0>; 172 | 173 | isp0_vir0: endpoint@0 { 174 | reg = <0>; 175 | remote-endpoint = <&mipi_lvds2_sditf>; 176 | }; 177 | }; 178 | }; 179 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/rk3588-roc-pc-cam-veyecam2m.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 www.veye.cc 4 | * 5 | */ 6 | 7 | / { 8 | vcc_mipidphy0: vcc-mipidcphy0-regulator { 9 | status = "disabled"; 10 | compatible = "regulator-fixed"; 11 | gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; 12 | pinctrl-names = "default"; 13 | pinctrl-0 = <&mipidphy0_pwr>; 14 | regulator-name = "vcc_mipidphy0"; 15 | enable-active-high; 16 | }; 17 | }; 18 | 19 | &csi2_dphy0 { 20 | status = "okay"; 21 | 22 | ports { 23 | #address-cells = <1>; 24 | #size-cells = <0>; 25 | port@0 { 26 | reg = <0>; 27 | #address-cells = <1>; 28 | #size-cells = <0>; 29 | 30 | mipidphy0_in_ucam0: endpoint@1 { 31 | reg = <1>; 32 | remote-endpoint = <&veyecam2m_out0>; 33 | data-lanes = <1 2>; 34 | }; 35 | }; 36 | port@1 { 37 | reg = <1>; 38 | #address-cells = <1>; 39 | #size-cells = <0>; 40 | 41 | csidphy0_out: endpoint@0 { 42 | reg = <0>; 43 | remote-endpoint = <&mipi2_csi2_input>; 44 | }; 45 | }; 46 | }; 47 | }; 48 | 49 | &csi2_dphy0_hw { 50 | status = "okay"; 51 | }; 52 | 53 | &i2c7 { 54 | status = "okay"; 55 | pinctrl-names = "default"; 56 | pinctrl-0 = <&i2c7m2_xfer>; 57 | 58 | veyecam2m: veyecam2m@3b{ 59 | compatible = "veye,veyecam2m"; 60 | reg = <0x3b>; 61 | clocks = <&cru CLK_MIPI_CAMARAOUT_M1>; 62 | clock-names = "xvclk"; 63 | pinctrl-names = "default"; 64 | pinctrl-0 = <&mipim1_camera1_clk>; 65 | power-domains = <&power RK3588_PD_VI>; 66 | 67 | //power-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; 68 | reset-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; 69 | pwdn-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; 70 | 71 | //avdd-supply = <&vcc_mipidcphy0>; 72 | //firefly,clkout-enabled-index = <0>; 73 | rockchip,camera-module-index = <0>; 74 | rockchip,camera-module-facing = "back"; 75 | rockchip,camera-module-name = "NC"; 76 | rockchip,camera-module-lens-name = "NC"; 77 | port { 78 | veyecam2m_out0: endpoint { 79 | remote-endpoint = <&mipidphy0_in_ucam0>; 80 | data-lanes = <1 2>; 81 | }; 82 | }; 83 | }; 84 | 85 | }; 86 | 87 | &mipi2_csi2 { 88 | status = "okay"; 89 | 90 | ports { 91 | #address-cells = <1>; 92 | #size-cells = <0>; 93 | 94 | port@0 { 95 | reg = <0>; 96 | #address-cells = <1>; 97 | #size-cells = <0>; 98 | 99 | mipi2_csi2_input: endpoint@1 { 100 | reg = <1>; 101 | remote-endpoint = <&csidphy0_out>; 102 | }; 103 | }; 104 | 105 | port@1 { 106 | reg = <1>; 107 | #address-cells = <1>; 108 | #size-cells = <0>; 109 | 110 | mipi2_csi2_output: endpoint@0 { 111 | reg = <0>; 112 | remote-endpoint = <&cif_mipi2_in0>; 113 | }; 114 | }; 115 | }; 116 | }; 117 | 118 | &pinctrl { 119 | cam { 120 | mipidphy0_pwr: mipidphy0-pwr { 121 | rockchip,pins = 122 | /* camera power en */ 123 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 124 | }; 125 | }; 126 | }; 127 | 128 | &rkcif { 129 | status = "okay"; 130 | // memory-region = <&cif_reserved>; 131 | }; 132 | 133 | &rkcif_mipi_lvds2 { 134 | status = "okay"; 135 | firefly,yuv_camera; 136 | 137 | port { 138 | cif_mipi2_in0: endpoint { 139 | remote-endpoint = <&mipi2_csi2_output>; 140 | }; 141 | }; 142 | }; 143 | 144 | &rkcif_mipi_lvds2_sditf { 145 | status = "disabled"; 146 | 147 | port { 148 | mipi_lvds2_sditf: endpoint { 149 | remote-endpoint = <&isp0_vir0>; 150 | }; 151 | }; 152 | }; 153 | 154 | &rkcif_mmu { 155 | status = "okay"; 156 | }; 157 | 158 | &rkisp0 { 159 | status = "disabled"; 160 | }; 161 | 162 | &isp0_mmu { 163 | status = "disabled"; 164 | }; 165 | 166 | &rkisp0_vir0 { 167 | status = "disabled"; 168 | 169 | port { 170 | #address-cells = <1>; 171 | #size-cells = <0>; 172 | 173 | isp0_vir0: endpoint@0 { 174 | reg = <0>; 175 | remote-endpoint = <&mipi_lvds2_sditf>; 176 | }; 177 | }; 178 | }; 179 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/rk3588-roc-pc-cam-veyemvcam-4lane.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 www.veye.cc 4 | * 5 | */ 6 | 7 | / { 8 | vcc_mipidphy0: vcc-mipidcphy0-regulator { 9 | status = "disabled"; 10 | compatible = "regulator-fixed"; 11 | gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; 12 | pinctrl-names = "default"; 13 | pinctrl-0 = <&mipidphy0_pwr>; 14 | regulator-name = "vcc_mipidphy0"; 15 | enable-active-high; 16 | }; 17 | }; 18 | 19 | &csi2_dphy0 { 20 | status = "okay"; 21 | 22 | ports { 23 | #address-cells = <1>; 24 | #size-cells = <0>; 25 | port@0 { 26 | reg = <0>; 27 | #address-cells = <1>; 28 | #size-cells = <0>; 29 | 30 | mipidphy0_in_ucam0: endpoint@1 { 31 | reg = <1>; 32 | remote-endpoint = <&mvcam_out0>; 33 | data-lanes = <1 2 3 4>; 34 | }; 35 | }; 36 | port@1 { 37 | reg = <1>; 38 | #address-cells = <1>; 39 | #size-cells = <0>; 40 | 41 | csidphy0_out: endpoint@0 { 42 | reg = <0>; 43 | remote-endpoint = <&mipi2_csi2_input>; 44 | }; 45 | }; 46 | }; 47 | }; 48 | 49 | &csi2_dphy0_hw { 50 | status = "okay"; 51 | }; 52 | 53 | &i2c7 { 54 | status = "okay"; 55 | pinctrl-names = "default"; 56 | pinctrl-0 = <&i2c7m2_xfer>; 57 | 58 | mvcam: mvcam@3b{ 59 | compatible = "veye,mvcam"; 60 | reg = <0x3b>; 61 | clocks = <&cru CLK_MIPI_CAMARAOUT_M1>; 62 | clock-names = "xvclk"; 63 | pinctrl-names = "default"; 64 | pinctrl-0 = <&mipim1_camera1_clk>; 65 | power-domains = <&power RK3588_PD_VI>; 66 | 67 | //power-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; 68 | reset-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>; 69 | pwdn-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 70 | 71 | //avdd-supply = <&vcc_mipidcphy0>; 72 | //firefly,clkout-enabled-index = <0>; 73 | rockchip,camera-module-index = <0>; 74 | rockchip,camera-module-facing = "back"; 75 | rockchip,camera-module-name = "NC"; 76 | rockchip,camera-module-lens-name = "NC"; 77 | port { 78 | mvcam_out0: endpoint { 79 | remote-endpoint = <&mipidphy0_in_ucam0>; 80 | data-lanes = <1 2 3 4>; 81 | }; 82 | }; 83 | }; 84 | 85 | }; 86 | 87 | &mipi2_csi2 { 88 | status = "okay"; 89 | 90 | ports { 91 | #address-cells = <1>; 92 | #size-cells = <0>; 93 | 94 | port@0 { 95 | reg = <0>; 96 | #address-cells = <1>; 97 | #size-cells = <0>; 98 | 99 | mipi2_csi2_input: endpoint@1 { 100 | reg = <1>; 101 | remote-endpoint = <&csidphy0_out>; 102 | }; 103 | }; 104 | 105 | port@1 { 106 | reg = <1>; 107 | #address-cells = <1>; 108 | #size-cells = <0>; 109 | 110 | mipi2_csi2_output: endpoint@0 { 111 | reg = <0>; 112 | remote-endpoint = <&cif_mipi2_in0>; 113 | }; 114 | }; 115 | }; 116 | }; 117 | 118 | &pinctrl { 119 | cam { 120 | mipidphy0_pwr: mipidphy0-pwr { 121 | rockchip,pins = 122 | /* camera power en */ 123 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 124 | }; 125 | }; 126 | }; 127 | 128 | &rkcif { 129 | status = "okay"; 130 | // memory-region = <&cif_reserved>; 131 | }; 132 | 133 | &rkcif_mipi_lvds2 { 134 | status = "okay"; 135 | //firefly,yuv_camera; 136 | 137 | port { 138 | cif_mipi2_in0: endpoint { 139 | remote-endpoint = <&mipi2_csi2_output>; 140 | }; 141 | }; 142 | }; 143 | 144 | &rkcif_mipi_lvds2_sditf { 145 | status = "disabled"; 146 | 147 | port { 148 | mipi_lvds2_sditf: endpoint { 149 | remote-endpoint = <&isp0_vir0>; 150 | }; 151 | }; 152 | }; 153 | 154 | &rkcif_mmu { 155 | status = "okay"; 156 | }; 157 | 158 | &rkisp0 { 159 | status = "disabled"; 160 | }; 161 | 162 | &isp0_mmu { 163 | status = "disabled"; 164 | }; 165 | 166 | &rkisp0_vir0 { 167 | status = "disabled"; 168 | 169 | port { 170 | #address-cells = <1>; 171 | #size-cells = <0>; 172 | 173 | isp0_vir0: endpoint@0 { 174 | reg = <0>; 175 | remote-endpoint = <&mipi_lvds2_sditf>; 176 | }; 177 | }; 178 | }; 179 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/rk3588-roc-pc-cam-veyemvcam.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 www.veye.cc 4 | * 5 | */ 6 | 7 | / { 8 | vcc_mipidphy0: vcc-mipidcphy0-regulator { 9 | status = "disabled"; 10 | compatible = "regulator-fixed"; 11 | gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; 12 | pinctrl-names = "default"; 13 | pinctrl-0 = <&mipidphy0_pwr>; 14 | regulator-name = "vcc_mipidphy0"; 15 | enable-active-high; 16 | }; 17 | }; 18 | 19 | &csi2_dphy0 { 20 | status = "okay"; 21 | 22 | ports { 23 | #address-cells = <1>; 24 | #size-cells = <0>; 25 | port@0 { 26 | reg = <0>; 27 | #address-cells = <1>; 28 | #size-cells = <0>; 29 | 30 | mipidphy0_in_ucam0: endpoint@1 { 31 | reg = <1>; 32 | remote-endpoint = <&mvcam_out0>; 33 | data-lanes = <1 2>; 34 | }; 35 | }; 36 | port@1 { 37 | reg = <1>; 38 | #address-cells = <1>; 39 | #size-cells = <0>; 40 | 41 | csidphy0_out: endpoint@0 { 42 | reg = <0>; 43 | remote-endpoint = <&mipi2_csi2_input>; 44 | }; 45 | }; 46 | }; 47 | }; 48 | 49 | &csi2_dphy0_hw { 50 | status = "okay"; 51 | }; 52 | 53 | &i2c7 { 54 | status = "okay"; 55 | pinctrl-names = "default"; 56 | pinctrl-0 = <&i2c7m2_xfer>; 57 | 58 | mvcam: mvcam@3b{ 59 | compatible = "veye,mvcam"; 60 | reg = <0x3b>; 61 | clocks = <&cru CLK_MIPI_CAMARAOUT_M1>; 62 | clock-names = "xvclk"; 63 | pinctrl-names = "default"; 64 | pinctrl-0 = <&mipim1_camera1_clk>; 65 | power-domains = <&power RK3588_PD_VI>; 66 | 67 | //power-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; 68 | reset-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>; 69 | pwdn-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 70 | 71 | //avdd-supply = <&vcc_mipidcphy0>; 72 | //firefly,clkout-enabled-index = <0>; 73 | rockchip,camera-module-index = <0>; 74 | rockchip,camera-module-facing = "back"; 75 | rockchip,camera-module-name = "NC"; 76 | rockchip,camera-module-lens-name = "NC"; 77 | port { 78 | mvcam_out0: endpoint { 79 | remote-endpoint = <&mipidphy0_in_ucam0>; 80 | data-lanes = <1 2>; 81 | }; 82 | }; 83 | }; 84 | 85 | }; 86 | 87 | &mipi2_csi2 { 88 | status = "okay"; 89 | 90 | ports { 91 | #address-cells = <1>; 92 | #size-cells = <0>; 93 | 94 | port@0 { 95 | reg = <0>; 96 | #address-cells = <1>; 97 | #size-cells = <0>; 98 | 99 | mipi2_csi2_input: endpoint@1 { 100 | reg = <1>; 101 | remote-endpoint = <&csidphy0_out>; 102 | }; 103 | }; 104 | 105 | port@1 { 106 | reg = <1>; 107 | #address-cells = <1>; 108 | #size-cells = <0>; 109 | 110 | mipi2_csi2_output: endpoint@0 { 111 | reg = <0>; 112 | remote-endpoint = <&cif_mipi2_in0>; 113 | }; 114 | }; 115 | }; 116 | }; 117 | 118 | &pinctrl { 119 | cam { 120 | mipidphy0_pwr: mipidphy0-pwr { 121 | rockchip,pins = 122 | /* camera power en */ 123 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 124 | }; 125 | }; 126 | }; 127 | 128 | &rkcif { 129 | status = "okay"; 130 | // memory-region = <&cif_reserved>; 131 | }; 132 | 133 | &rkcif_mipi_lvds2 { 134 | status = "okay"; 135 | //firefly,yuv_camera; 136 | 137 | port { 138 | cif_mipi2_in0: endpoint { 139 | remote-endpoint = <&mipi2_csi2_output>; 140 | }; 141 | }; 142 | }; 143 | 144 | &rkcif_mipi_lvds2_sditf { 145 | status = "disabled"; 146 | 147 | port { 148 | mipi_lvds2_sditf: endpoint { 149 | remote-endpoint = <&isp0_vir0>; 150 | }; 151 | }; 152 | }; 153 | 154 | &rkcif_mmu { 155 | status = "okay"; 156 | }; 157 | 158 | &rkisp0 { 159 | status = "disabled"; 160 | }; 161 | 162 | &isp0_mmu { 163 | status = "disabled"; 164 | }; 165 | 166 | &rkisp0_vir0 { 167 | status = "disabled"; 168 | 169 | port { 170 | #address-cells = <1>; 171 | #size-cells = <0>; 172 | 173 | isp0_vir0: endpoint@0 { 174 | reg = <0>; 175 | remote-endpoint = <&mipi_lvds2_sditf>; 176 | }; 177 | }; 178 | }; 179 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/rk3588-roc-pc-fpdlink-90ub954.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 www.veye.cc 4 | * 5 | */ 6 | 7 | 8 | &i2c7{ 9 | single_fpdlink0: ds90ub954@30 { 10 | compatible = "ti,ds90ub954"; 11 | priority = <(-1)>; 12 | reg = <0x30>; 13 | status = "okay"; 14 | csi-lane-count = <2>; 15 | csi-lane-speed = <800>; 16 | //continuous-clock; 17 | //pdb-gpio = <&gpio TEGRA_GPIO(S, 7) 0>; 18 | //pass-gpio = <&gpio TEGRA_GPIO(S, 0) 0>; 19 | //lock-gpio = <&gpio TEGRA_GPIO(T, 0) 0>; 20 | i2c_address_single0: num-alias-pairs0 {list-cells = <1>;}; 21 | serializers { 22 | status = "okay"; 23 | num-channels = <1>; 24 | #address-cells = <1>; 25 | #size-cells = <0>; 26 | serializer@0 { 27 | status = "okay"; 28 | rx-channel=<0>; 29 | i2c-address=<0x19>; 30 | csi-lane-count = <2>; 31 | i2c-slave = <&i2c_address_single0 0x3b>; 32 | slave-alias = <&i2c_address_single0 0x3b>; 33 | }; 34 | }; 35 | }; 36 | }; 37 | 38 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/rk3588-roc-pc-vbyone-overlay.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only 2 | // Definitions for VEYE IMAGING's V-by-ONE 3 | /* 4 | * Copyright (c) 2023 www.veye.cc 5 | * 6 | */ 7 | 8 | &i2c7{ 9 | veye_vbyone: vbyone@65 { 10 | compatible = "veye,vbyone"; 11 | priority = <(-1)>; 12 | reg = <0x65>; 13 | status = "okay"; 14 | csi-lane-count = <2>; 15 | coax-num = <1>; 16 | cam-i2c-pt-setting = <0x13>; 17 | camera-i2c-address=<0x3b>; 18 | 19 | trgin-gpio-mode = <0>; 20 | out1-gpio-mode = <0>; 21 | out2-gpio-mode = <0>; 22 | 23 | serializer { 24 | i2c-address=<0x34>; 25 | csi-lane-count = <2>; 26 | csi-lane-speed = <1500>; 27 | }; 28 | }; 29 | 30 | }; 31 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/rk3588s-firefly-aio-3588sg-cam-veyemvcam.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | / { 8 | vcc_mipidphy0: vcc-mipidcphy0-regulator { 9 | status = "disabled"; 10 | compatible = "regulator-fixed"; 11 | gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 12 | pinctrl-names = "default"; 13 | pinctrl-0 = <&mipidphy0_pwr>; 14 | regulator-name = "vcc_mipidphy0"; 15 | enable-active-high; 16 | }; 17 | }; 18 | 19 | &csi2_dphy0 { 20 | status = "okay"; 21 | 22 | ports { 23 | #address-cells = <1>; 24 | #size-cells = <0>; 25 | port@0 { 26 | reg = <0>; 27 | #address-cells = <1>; 28 | #size-cells = <0>; 29 | 30 | mipidphy0_in_ucam0: endpoint@1 { 31 | reg = <1>; 32 | remote-endpoint = <&mvcam_out2>; 33 | data-lanes = <1 2>; 34 | }; 35 | }; 36 | port@1 { 37 | reg = <1>; 38 | #address-cells = <1>; 39 | #size-cells = <0>; 40 | 41 | csidphy0_out: endpoint@0 { 42 | reg = <0>; 43 | remote-endpoint = <&mipi2_csi2_input>; 44 | }; 45 | }; 46 | }; 47 | }; 48 | 49 | &csi2_dphy0_hw { 50 | status = "okay"; 51 | }; 52 | 53 | &i2c7 { 54 | status = "okay"; 55 | pinctrl-names = "default"; 56 | pinctrl-0 = <&i2c7m0_xfer>; 57 | 58 | mvcam: mvcam@3b{ 59 | compatible = "veye,mvcam"; 60 | reg = <0x3b>; 61 | clocks = <&cru CLK_MIPI_CAMARAOUT_M1>; 62 | clock-names = "xvclk"; 63 | pinctrl-names = "default"; 64 | pinctrl-0 = <&mipim1_camera1_clk>; 65 | power-domains = <&power RK3588_PD_VI>; 66 | 67 | //power-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>; 68 | reset-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; 69 | pwdn-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; 70 | 71 | //avdd-supply = <&vcc_mipidcphy0>; 72 | //firefly,clkout-enabled-index = <0>; 73 | rockchip,camera-module-index = <0>; 74 | rockchip,camera-module-facing = "back"; 75 | rockchip,camera-module-name = "NC"; 76 | rockchip,camera-module-lens-name = "NC"; 77 | 78 | port { 79 | mvcam_out2: endpoint { 80 | remote-endpoint = <&mipidphy0_in_ucam0>; 81 | data-lanes = <1 2>; 82 | }; 83 | }; 84 | }; 85 | 86 | }; 87 | 88 | &mipi2_csi2 { 89 | status = "okay"; 90 | 91 | ports { 92 | #address-cells = <1>; 93 | #size-cells = <0>; 94 | 95 | port@0 { 96 | reg = <0>; 97 | #address-cells = <1>; 98 | #size-cells = <0>; 99 | 100 | mipi2_csi2_input: endpoint@1 { 101 | reg = <1>; 102 | remote-endpoint = <&csidphy0_out>; 103 | }; 104 | }; 105 | 106 | port@1 { 107 | reg = <1>; 108 | #address-cells = <1>; 109 | #size-cells = <0>; 110 | 111 | mipi2_csi2_output: endpoint@0 { 112 | reg = <0>; 113 | remote-endpoint = <&cif_mipi2_in0>; 114 | }; 115 | }; 116 | }; 117 | }; 118 | 119 | &pinctrl { 120 | cam { 121 | mipidphy0_pwr: mipidphy0-pwr { 122 | rockchip,pins = 123 | /* camera power en */ 124 | <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 125 | }; 126 | }; 127 | }; 128 | 129 | &rkcif { 130 | status = "okay"; 131 | // memory-region = <&cif_reserved>; 132 | }; 133 | 134 | &rkcif_mipi_lvds2 { 135 | status = "okay"; 136 | 137 | port { 138 | cif_mipi2_in0: endpoint { 139 | remote-endpoint = <&mipi2_csi2_output>; 140 | }; 141 | }; 142 | }; 143 | 144 | &rkcif_mipi_lvds2_sditf { 145 | status = "disabled"; 146 | 147 | port { 148 | mipi_lvds2_sditf: endpoint { 149 | remote-endpoint = <&isp0_vir0>; 150 | }; 151 | }; 152 | }; 153 | 154 | &rkcif_mmu { 155 | status = "okay"; 156 | }; 157 | 158 | &rkisp0 { 159 | status = "disabled"; 160 | }; 161 | 162 | &isp0_mmu { 163 | status = "disabled"; 164 | }; 165 | 166 | &rkisp0_vir0 { 167 | status = "disabled"; 168 | 169 | port { 170 | #address-cells = <1>; 171 | #size-cells = <0>; 172 | 173 | isp0_vir0: endpoint@0 { 174 | reg = <0>; 175 | remote-endpoint = <&mipi_lvds2_sditf>; 176 | }; 177 | }; 178 | }; 179 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/v1.0.6f/aio-3588sjd4-mipi101-M101014-BE45-A1.dts: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 T-Chip Firefly. 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | #include "aio-3588sjd4.dtsi" 10 | //#include "aio-3588sjd4-cam-8ms1m.dtsi" 11 | #include "aio-3588sjd4-cam-veyemvcam.dtsi" 12 | //#include "aio-3588sjd4-cam-dcphy-8ms1m.dtsi" 13 | #define WHICHDSI 1 /* 1 = 30pins mipi dsi1, 0 = 40pins mipi dsi0*/ 14 | 15 | / { 16 | model = "Firefly AIO-3588SJD4 HDMI(Linux)"; 17 | compatible = "rockchip,aio-3588sjd4", "rockchip,rk3588"; 18 | 19 | #if WHICHDSI 20 | /* 30 pins */ 21 | backlight: backlight { 22 | status = "okay"; 23 | compatible = "pwm-backlight"; 24 | enable-gpios = <&pca9555 PCA_IO1_1 GPIO_ACTIVE_HIGH>; 25 | pwms = <&pwm3 0 50000 1>; 26 | brightness-levels = < 27 | 60 60 60 61 61 61 62 62 28 | 62 63 63 63 64 64 64 65 29 | 65 65 66 66 66 67 67 67 30 | 68 68 68 69 69 69 70 70 31 | 70 71 71 71 72 72 72 73 32 | 73 73 74 74 74 75 75 75 33 | 76 76 76 77 77 77 78 78 34 | 78 79 79 79 80 80 80 81 35 | 81 81 82 82 82 83 83 83 36 | 84 84 84 85 85 85 86 86 37 | 86 87 87 87 88 88 88 89 38 | 89 89 90 91 92 93 94 95 39 | 96 97 98 99 100 101 102 103 40 | 104 105 106 107 108 109 110 111 41 | 112 113 114 115 116 117 118 119 42 | 120 121 122 123 124 125 126 127 43 | 128 129 130 131 132 133 134 135 44 | 136 137 138 139 140 141 142 143 45 | 144 145 146 147 148 149 150 151 46 | 152 153 154 155 156 157 158 159 47 | 160 161 162 163 164 165 166 167 48 | 168 169 170 171 172 173 174 175 49 | 176 177 178 179 180 181 182 183 50 | 184 185 186 187 188 189 190 191 51 | 192 193 194 195 196 197 198 199 52 | 200 201 202 203 204 205 206 207 53 | 208 209 210 211 212 213 214 215 54 | 216 217 218 219 220 221 222 223 55 | 224 225 226 227 228 229 230 231 56 | 232 233 234 235 236 237 238 239 57 | 240 241 242 243 244 245 246 247 58 | 248 249 250 251 252 253 254 255 59 | >; 60 | default-brightness-level = <150>; 61 | }; 62 | 63 | 64 | #else 65 | /*40pins*/ 66 | lcd_bl_regulator: lcd-bl-regultor{ 67 | compatible = "regulator-fixed"; 68 | regulator-name = "lcd_bl_pwr"; 69 | regulator-always-on; 70 | enable-active-high; 71 | status = "okay"; 72 | gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 73 | 74 | }; 75 | 76 | 77 | backlight_1: backlight { 78 | status = "okay"; 79 | compatible = "pwm-backlight"; 80 | //enable-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 81 | pwms = <&pwm12 0 50000 1>; 82 | brightness-levels = < 83 | 60 60 60 61 61 61 62 62 84 | 62 63 63 63 64 64 64 65 85 | 65 65 66 66 66 67 67 67 86 | 68 68 68 69 69 69 70 70 87 | 70 71 71 71 72 72 72 73 88 | 73 73 74 74 74 75 75 75 89 | 76 76 76 77 77 77 78 78 90 | 78 79 79 79 80 80 80 81 91 | 81 81 82 82 82 83 83 83 92 | 84 84 84 85 85 85 86 86 93 | 86 87 87 87 88 88 88 89 94 | 89 89 90 91 92 93 94 95 95 | 96 97 98 99 100 101 102 103 96 | 104 105 106 107 108 109 110 111 97 | 112 113 114 115 116 117 118 119 98 | 120 121 122 123 124 125 126 127 99 | 128 129 130 131 132 133 134 135 100 | 136 137 138 139 140 141 142 143 101 | 144 145 146 147 148 149 150 151 102 | 152 153 154 155 156 157 158 159 103 | 160 161 162 163 164 165 166 167 104 | 168 169 170 171 172 173 174 175 105 | 176 177 178 179 180 181 182 183 106 | 184 185 186 187 188 189 190 191 107 | 192 193 194 195 196 197 198 199 108 | 200 201 202 203 204 205 206 207 109 | 208 209 210 211 212 213 214 215 110 | 216 217 218 219 220 221 222 223 111 | 224 225 226 227 228 229 230 231 112 | 232 233 234 235 236 237 238 239 113 | 240 241 242 243 244 245 246 247 114 | 248 249 250 251 252 253 254 255 115 | >; 116 | default-brightness-level = <150>; 117 | }; 118 | 119 | 120 | #endif 121 | 122 | }; 123 | 124 | #if WHICHDSI 125 | /* 30pins */ 126 | &pwm3 { 127 | pinctrl-0 = <&pwm3m1_pins>; 128 | status = "okay"; 129 | }; 130 | 131 | /* 132 | * mipi_dcphy1 needs to be enabled 133 | * when dsi1 is enabled 134 | */ 135 | &mipi_dcphy1 { 136 | status = "okay"; 137 | }; 138 | 139 | &dsi1_in_vp2 { 140 | status = "disabled"; 141 | }; 142 | 143 | &dsi1_in_vp3 { 144 | status = "okay"; 145 | }; 146 | 147 | &route_dsi1 { 148 | status = "okay"; 149 | connect = <&vp3_out_dsi1>; 150 | }; 151 | 152 | &route_hdmi0{ 153 | status = "disabled"; 154 | }; 155 | 156 | 157 | 158 | &dsi1 { 159 | firefly-check; 160 | status = "okay"; 161 | //rockchip,lane-rate = <1000>; 162 | dsi_panel: panel@0 { 163 | status = "okay"; 164 | compatible = "simple-panel-dsi"; 165 | reg = <0>; 166 | backlight = <&backlight>; 167 | 168 | enable-gpios = <&pca9555 PCA_IO1_0 GPIO_ACTIVE_HIGH>; 169 | reset-gpios = <&pca9555 PCA_IO1_2 GPIO_ACTIVE_LOW>; 170 | 171 | enable-delay-ms = <50>; 172 | prepare-delay-ms = <200>; 173 | reset-delay-ms = <50>; 174 | init-delay-ms = <55>; 175 | unprepare-delay-ms = <50>; 176 | disable-delay-ms = <20>; 177 | mipi-data-delay-ms = <200>; 178 | size,width = <120>; 179 | size,height = <170>; 180 | dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; 181 | dsi,format = ; 182 | dsi,lanes = <4>; 183 | 184 | panel-init-sequence = [ 185 | //39 00 04 B9 83 10 2E 186 | // 15 00 02 CF FF 187 | 99 00 02 04 83 188 | 05 78 01 11 189 | 05 32 01 29 190 | //15 00 02 35 00 191 | ]; 192 | 193 | panel-exit-sequence = [ 194 | 05 00 01 28 195 | 05 00 01 10 196 | ]; 197 | 198 | disp_timings0: display-timings { 199 | native-mode = <&dsi_timing0>; 200 | dsi_timing0: timing0 { 201 | clock-frequency = <72600000>;//<80000000>; 202 | hactive = <800>;//<768>; 203 | vactive = <1280>; 204 | hsync-len = <14>; //20, 50,10 205 | hback-porch = <26>; //50, 56,10 206 | hfront-porch = <32>;//50, 30,180 207 | vsync-len = <8>;//4 208 | vback-porch = <20>;//4 209 | vfront-porch = <80>;//8 210 | hsync-active = <0>; 211 | vsync-active = <0>; 212 | de-active = <0>; 213 | pixelclk-active = <0>; 214 | }; 215 | }; 216 | 217 | ports { 218 | #address-cells = <1>; 219 | #size-cells = <0>; 220 | 221 | port@0 { 222 | reg = <0>; 223 | panel_in_dsi: endpoint { 224 | remote-endpoint = <&dsi_out_panel>; 225 | }; 226 | }; 227 | }; 228 | }; 229 | 230 | ports { 231 | #address-cells = <1>; 232 | #size-cells = <0>; 233 | 234 | port@1 { 235 | reg = <1>; 236 | dsi_out_panel: endpoint { 237 | remote-endpoint = <&panel_in_dsi>; 238 | }; 239 | }; 240 | }; 241 | }; 242 | 243 | &i2c6{ 244 | status = "okay"; 245 | //pinctrl-names = "default"; 246 | //pinctrl-0 = <&i2c4m3_xfer>; 247 | 248 | hxchipset@48{ 249 | status = "okay"; 250 | compatible = "himax,hxcommon"; 251 | reg = <0x48>; 252 | 253 | himax,rst-gpio = <&pca9555 PCA_IO1_3 GPIO_ACTIVE_HIGH>; 254 | himax,irq-gpio = <&gpio4 RK_PB2 IRQ_TYPE_LEVEL_HIGH>; 255 | pinctrl-names = "default"; 256 | pinctrl-0 = <&touch_int0>; 257 | 258 | himax,panel-coords = <0 800 0 1280>; //触摸范围 259 | himax,display-coords = <0 800 0 1280>; //分辨率 260 | report_type = <1>; 261 | }; 262 | }; 263 | 264 | 265 | #else 266 | /*40 pins*/ 267 | &pwm12 { 268 | pinctrl-0 = <&pwm12m1_pins>; 269 | status = "okay"; 270 | }; 271 | 272 | 273 | /* 274 | * mipi_dcphy0 needs to be enabled 275 | * when dsi0 is enabled 276 | */ 277 | &mipi_dcphy0 { 278 | status = "okay"; 279 | }; 280 | 281 | &dsi0_in_vp2 { 282 | status = "disabled"; 283 | }; 284 | 285 | &dsi0_in_vp3 { 286 | status = "okay"; 287 | }; 288 | 289 | &route_dsi0 { 290 | status = "okay"; 291 | connect = <&vp3_out_dsi0>; 292 | }; 293 | 294 | &route_hdmi0{ 295 | status = "disabled"; 296 | }; 297 | 298 | 299 | &dsi0 { 300 | firefly-check; 301 | status = "okay"; 302 | //rockchip,lane-rate = <1000>; 303 | dsi1_panel: panel@0 { 304 | status = "okay"; 305 | compatible = "simple-panel-dsi"; 306 | reg = <0>; 307 | backlight = <&backlight_1>; 308 | enable-gpios = <&pca9555 PCA_IO1_7 GPIO_ACTIVE_HIGH>; 309 | reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>; 310 | 311 | enable-delay-ms = <50>; 312 | prepare-delay-ms = <200>; 313 | reset-delay-ms = <50>; 314 | init-delay-ms = <55>; 315 | unprepare-delay-ms = <50>; 316 | disable-delay-ms = <20>; 317 | mipi-data-delay-ms = <200>; 318 | size,width = <120>; 319 | size,height = <170>; 320 | dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; 321 | dsi,format = ; 322 | dsi,lanes = <4>; 323 | 324 | panel-init-sequence = [ 325 | //39 00 04 B9 83 10 2E 326 | // 15 00 02 CF FF 327 | 99 00 02 04 83 328 | 05 78 01 11 329 | 05 32 01 29 330 | //15 00 02 35 00 331 | ]; 332 | 333 | panel-exit-sequence = [ 334 | 05 00 01 28 335 | 05 00 01 10 336 | ]; 337 | 338 | disp_timings0: display-timings { 339 | native-mode = <&dsi1_timing0>; 340 | dsi1_timing0: timing0 { 341 | clock-frequency = <72600000>;//<80000000>; 342 | hactive = <800>;//<768>; 343 | vactive = <1280>; 344 | hsync-len = <14>; //20, 50,10 345 | hback-porch = <26>; //50, 56,10 346 | hfront-porch = <32>;//50, 30,180 347 | vsync-len = <8>;//4 348 | vback-porch = <20>;//4 349 | vfront-porch = <80>;//8 350 | hsync-active = <0>; 351 | vsync-active = <0>; 352 | de-active = <0>; 353 | pixelclk-active = <0>; 354 | }; 355 | }; 356 | 357 | ports { 358 | #address-cells = <1>; 359 | #size-cells = <0>; 360 | 361 | port@0 { 362 | reg = <0>; 363 | panel_in_dsi1: endpoint { 364 | remote-endpoint = <&dsi1_out_panel>; 365 | }; 366 | }; 367 | }; 368 | }; 369 | 370 | ports { 371 | #address-cells = <1>; 372 | #size-cells = <0>; 373 | 374 | port@1 { 375 | reg = <1>; 376 | dsi1_out_panel: endpoint { 377 | remote-endpoint = <&panel_in_dsi1>; 378 | }; 379 | }; 380 | }; 381 | }; 382 | 383 | &i2c4{ 384 | status = "okay"; 385 | 386 | pinctrl-names = "default"; 387 | pinctrl-0 = <&i2c4m3_xfer>; 388 | 389 | hxchipset@48{ 390 | status = "okay"; 391 | compatible = "himax,hxcommon"; 392 | reg = <0x48>; 393 | 394 | himax,rst-gpio = <&pca9555 PCA_IO1_6 GPIO_ACTIVE_HIGH>; 395 | himax,irq-gpio = <&gpio1 RK_PB5 IRQ_TYPE_LEVEL_HIGH>; 396 | pinctrl-names = "default"; 397 | pinctrl-0 = <&touch_int1>; 398 | 399 | himax,panel-coords = <0 800 0 1280>; //触摸范围 400 | himax,display-coords = <0 800 0 1280>; //分辨率 401 | report_type = <1>; 402 | }; 403 | }; 404 | 405 | 406 | 407 | #endif 408 | 409 | &pinctrl { 410 | touch { 411 | touch_int1: touch-int1 { 412 | rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 413 | }; 414 | touch_int0: touch-int0 { 415 | rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 416 | }; 417 | }; 418 | }; 419 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/v1.0.6f/rk3588s-firefly-aio-3588sg-mipi101-M101014-BE45-A1-veyemvcam.dtb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/linux/drivers/rk358x/dts/v1.0.6f/rk3588s-firefly-aio-3588sg-mipi101-M101014-BE45-A1-veyemvcam.dtb -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/v1.0.6f/rk3588s-firefly-aio-3588sg-mipi101-M101014-BE45-A1.dts: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2022 T-chip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | #include "rk3588s-firefly-aio-3588sg.dtsi" 10 | //#include "rk3588s-firefly-aio-3588sg-cam-8ms1m.dtsi" 11 | #include "rk3588s-firefly-aio-3588sg-cam-veyemvcam.dtsi" 12 | #include "rk3588s-firefly-aio-3588sg-mipi101-M101014-BE45-A1.dtsi" 13 | #include "rk3588s-firefly-aio-3588sg-edp-NV156FHM-T06.dtsi" 14 | 15 | / { 16 | model = "Firefly AIO-3588SG MIPI(Linux)"; 17 | compatible = "rockchip,rk3588s-firefly-aio-3588sg", "rockchip,rk3588"; 18 | }; 19 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/v1.0.6f/roc-rk3588s-pc-mipi101-M101014-BE45-A1-v10-mvcam-4lane.dtb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/linux/drivers/rk358x/dts/v1.0.6f/roc-rk3588s-pc-mipi101-M101014-BE45-A1-v10-mvcam-4lane.dtb -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/v1.0.6f/roc-rk3588s-pc-mipi101-M101014-BE45-A1-v10.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | #include "roc-rk3588s-pc.dtsi" 10 | //#include "rk3588-roc-pc-cam-8ms1m.dtsi" 11 | 12 | //open this line to enable fpdlink-III link 13 | //#include "rk3588-roc-pc-fpdlink-90ub954.dtsi" 14 | 15 | //open this line to enable v-by-one hs link 16 | #include "rk3588-roc-pc-vbyone-overlay.dtsi" 17 | 18 | //#include "rk3588-roc-pc-cam-veyecam2m.dtsi" 19 | #include "rk3588-roc-pc-cam-veyemvcam.dtsi" 20 | 21 | #include "roc-rk3588s-pc-v10-diff.dtsi" 22 | #define WHICHDSI 0 /* dsi0 = 0,dsi1 = 1*/ 23 | 24 | / { 25 | 26 | #if WHICHDSI 27 | backlight_1: backlight-1 { 28 | status = "okay"; 29 | compatible = "pwm-backlight"; 30 | enable-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 31 | pwms = <&pwm13 0 50000 1>; 32 | brightness-levels = < 33 | 60 60 60 61 61 61 62 62 34 | 62 63 63 63 64 64 64 65 35 | 65 65 66 66 66 67 67 67 36 | 68 68 68 69 69 69 70 70 37 | 70 71 71 71 72 72 72 73 38 | 73 73 74 74 74 75 75 75 39 | 76 76 76 77 77 77 78 78 40 | 78 79 79 79 80 80 80 81 41 | 81 81 82 82 82 83 83 83 42 | 84 84 84 85 85 85 86 86 43 | 86 87 87 87 88 88 88 89 44 | 89 89 90 91 92 93 94 95 45 | 96 97 98 99 100 101 102 103 46 | 104 105 106 107 108 109 110 111 47 | 112 113 114 115 116 117 118 119 48 | 120 121 122 123 124 125 126 127 49 | 128 129 130 131 132 133 134 135 50 | 136 137 138 139 140 141 142 143 51 | 144 145 146 147 148 149 150 151 52 | 152 153 154 155 156 157 158 159 53 | 160 161 162 163 164 165 166 167 54 | 168 169 170 171 172 173 174 175 55 | 176 177 178 179 180 181 182 183 56 | 184 185 186 187 188 189 190 191 57 | 192 193 194 195 196 197 198 199 58 | 200 201 202 203 204 205 206 207 59 | 208 209 210 211 212 213 214 215 60 | 216 217 218 219 220 221 222 223 61 | 224 225 226 227 228 229 230 231 62 | 232 233 234 235 236 237 238 239 63 | 240 241 242 243 244 245 246 247 64 | 248 249 250 251 252 253 254 255 65 | >; 66 | default-brightness-level = <150>; 67 | }; 68 | 69 | #else 70 | 71 | backlight: backlight { 72 | status = "okay"; 73 | compatible = "pwm-backlight"; 74 | enable-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>; 75 | pwms = <&pwm14 0 50000 1>; 76 | brightness-levels = < 77 | 60 60 60 61 61 61 62 62 78 | 62 63 63 63 64 64 64 65 79 | 65 65 66 66 66 67 67 67 80 | 68 68 68 69 69 69 70 70 81 | 70 71 71 71 72 72 72 73 82 | 73 73 74 74 74 75 75 75 83 | 76 76 76 77 77 77 78 78 84 | 78 79 79 79 80 80 80 81 85 | 81 81 82 82 82 83 83 83 86 | 84 84 84 85 85 85 86 86 87 | 86 87 87 87 88 88 88 89 88 | 89 89 90 91 92 93 94 95 89 | 96 97 98 99 100 101 102 103 90 | 104 105 106 107 108 109 110 111 91 | 112 113 114 115 116 117 118 119 92 | 120 121 122 123 124 125 126 127 93 | 128 129 130 131 132 133 134 135 94 | 136 137 138 139 140 141 142 143 95 | 144 145 146 147 148 149 150 151 96 | 152 153 154 155 156 157 158 159 97 | 160 161 162 163 164 165 166 167 98 | 168 169 170 171 172 173 174 175 99 | 176 177 178 179 180 181 182 183 100 | 184 185 186 187 188 189 190 191 101 | 192 193 194 195 196 197 198 199 102 | 200 201 202 203 204 205 206 207 103 | 208 209 210 211 212 213 214 215 104 | 216 217 218 219 220 221 222 223 105 | 224 225 226 227 228 229 230 231 106 | 232 233 234 235 236 237 238 239 107 | 240 241 242 243 244 245 246 247 108 | 248 249 250 251 252 253 254 255 109 | >; 110 | default-brightness-level = <150>; 111 | }; 112 | 113 | #endif 114 | 115 | }; 116 | 117 | 118 | #if WHICHDSI 119 | 120 | &pwm13 { 121 | pinctrl-0 = <&pwm13m1_pins>; 122 | status = "okay"; 123 | }; 124 | 125 | /* 126 | * mipi_dcphy1 needs to be enabled 127 | * when dsi1 is enabled 128 | */ 129 | &mipi_dcphy1 { 130 | status = "okay"; 131 | }; 132 | 133 | &dsi1_in_vp2 { 134 | status = "disabled"; 135 | }; 136 | 137 | &dsi1_in_vp3 { 138 | status = "okay"; 139 | }; 140 | 141 | &route_dsi1 { 142 | status = "okay"; 143 | connect = <&vp3_out_dsi1>; 144 | }; 145 | 146 | &route_hdmi0{ 147 | status = "okay"; 148 | }; 149 | /* 150 | &lcd_rst{ 151 | status = "okay"; 152 | gpio = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>; 153 | }; 154 | 155 | &lcd_en{ 156 | status = "okay"; 157 | gpio = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>; 158 | }; 159 | */ 160 | 161 | &dsi1 { 162 | status = "okay"; 163 | firefly-check; 164 | //rockchip,lane-rate = <1000>; 165 | dsi1_panel: panel@0 { 166 | status = "okay"; 167 | compatible = "simple-panel-dsi"; 168 | reg = <0>; 169 | backlight = <&backlight_1>; 170 | 171 | enable-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>; 172 | reset-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_LOW>; 173 | 174 | enable-delay-ms = <50>; 175 | prepare-delay-ms = <200>; 176 | reset-delay-ms = <50>; 177 | init-delay-ms = <55>; 178 | unprepare-delay-ms = <50>; 179 | disable-delay-ms = <20>; 180 | mipi-data-delay-ms = <200>; 181 | size,width = <120>; 182 | size,height = <170>; 183 | dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; 184 | dsi,format = ; 185 | dsi,lanes = <4>; 186 | 187 | panel-init-sequence = [ 188 | //39 00 04 B9 83 10 2E 189 | // 15 00 02 CF FF 190 | 99 00 02 04 83 191 | 05 78 01 11 192 | 05 32 01 29 193 | //15 00 02 35 00 194 | ]; 195 | 196 | panel-exit-sequence = [ 197 | 05 00 01 28 198 | 05 00 01 10 199 | ]; 200 | 201 | disp_timings0: display-timings { 202 | native-mode = <&dsi1_timing0>; 203 | dsi1_timing0: timing0 { 204 | clock-frequency = <72600000>;//<80000000>; 205 | hactive = <800>;//<768>; 206 | vactive = <1280>; 207 | hsync-len = <14>; //20, 50,10 208 | hback-porch = <26>; //50, 56,10 209 | hfront-porch = <32>;//50, 30,180 210 | vsync-len = <8>;//4 211 | vback-porch = <20>;//4 212 | vfront-porch = <80>;//8 213 | hsync-active = <0>; 214 | vsync-active = <0>; 215 | de-active = <0>; 216 | pixelclk-active = <0>; 217 | }; 218 | }; 219 | 220 | ports { 221 | #address-cells = <1>; 222 | #size-cells = <0>; 223 | 224 | port@0 { 225 | reg = <0>; 226 | panel_in_dsi1: endpoint { 227 | remote-endpoint = <&dsi1_out_panel>; 228 | }; 229 | }; 230 | }; 231 | }; 232 | 233 | ports { 234 | #address-cells = <1>; 235 | #size-cells = <0>; 236 | 237 | port@1 { 238 | reg = <1>; 239 | dsi1_out_panel: endpoint { 240 | remote-endpoint = <&panel_in_dsi1>; 241 | }; 242 | }; 243 | }; 244 | }; 245 | 246 | &i2c6{ 247 | status = "okay"; 248 | 249 | pinctrl-names = "default"; 250 | pinctrl-0 = <&i2c6m3_xfer>; 251 | 252 | hxchipset@48{ 253 | status = "okay"; 254 | compatible = "himax,hxcommon"; 255 | reg = <0x48>; 256 | 257 | himax,rst-gpio = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; 258 | himax,irq-gpio = <&gpio4 RK_PA4 IRQ_TYPE_LEVEL_HIGH>; 259 | pinctrl-names = "default"; 260 | pinctrl-0 = <&touch_int1>; 261 | 262 | himax,panel-coords = <0 800 0 1280>; //触摸范围 263 | himax,display-coords = <0 800 0 1280>; //分辨率 264 | report_type = <1>; 265 | }; 266 | }; 267 | 268 | #else 269 | 270 | &pwm14 { 271 | pinctrl-0 = <&pwm14m2_pins>; 272 | status = "okay"; 273 | }; 274 | 275 | /* 276 | * mipi_dcphy0 needs to be enabled 277 | * when dsi0 is enabled 278 | */ 279 | &mipi_dcphy0 { 280 | status = "okay"; 281 | }; 282 | 283 | &dsi0_in_vp2 { 284 | status = "disabled"; 285 | }; 286 | 287 | &dsi0_in_vp3 { 288 | status = "okay"; 289 | }; 290 | 291 | &route_dsi0 { 292 | status = "okay"; 293 | connect = <&vp3_out_dsi0>; 294 | }; 295 | 296 | &route_hdmi0{ 297 | status = "okay"; 298 | }; 299 | /* 300 | &lcd_rst { 301 | status = "okay"; 302 | gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>; 303 | }; 304 | 305 | &lcd_en { 306 | status = "okay"; 307 | gpio = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 308 | }; 309 | */ 310 | &dsi0 { 311 | status = "okay"; 312 | firefly-check; 313 | //rockchip,lane-rate = <1000>; 314 | dsi_panel: panel@0 { 315 | status = "okay"; 316 | compatible = "simple-panel-dsi"; 317 | reg = <0>; 318 | backlight = <&backlight>; 319 | 320 | enable-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 321 | reset-gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; 322 | 323 | enable-delay-ms = <50>; 324 | prepare-delay-ms = <200>; 325 | reset-delay-ms = <50>; 326 | init-delay-ms = <55>; 327 | unprepare-delay-ms = <50>; 328 | disable-delay-ms = <20>; 329 | mipi-data-delay-ms = <200>; 330 | size,width = <120>; 331 | size,height = <170>; 332 | dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; 333 | dsi,format = ; 334 | dsi,lanes = <4>; 335 | 336 | //rotation = <90>; 337 | panel-init-sequence = [ 338 | //39 00 04 B9 83 10 2E 339 | // 15 00 02 CF FF 340 | 99 00 02 04 83 341 | 05 78 01 11 342 | 05 32 01 29 343 | //15 00 02 35 00 344 | ]; 345 | 346 | panel-exit-sequence = [ 347 | 05 00 01 28 348 | 05 00 01 10 349 | ]; 350 | 351 | disp_timings0: display-timings { 352 | native-mode = <&dsi_timing0>; 353 | dsi_timing0: timing0 { 354 | clock-frequency = <72600000>;//<80000000>; 355 | hactive = <800>;//<768>; 356 | vactive = <1280>; 357 | hsync-len = <14>; //20, 50,10 358 | hback-porch = <26>; //50, 56,10 359 | hfront-porch = <32>;//50, 30,180 360 | vsync-len = <8>;//4 361 | vback-porch = <20>;//4 362 | vfront-porch = <80>;//8 363 | hsync-active = <0>; 364 | vsync-active = <0>; 365 | de-active = <0>; 366 | pixelclk-active = <0>; 367 | }; 368 | }; 369 | 370 | ports { 371 | #address-cells = <1>; 372 | #size-cells = <0>; 373 | 374 | port@0 { 375 | reg = <0>; 376 | panel_in_dsi: endpoint { 377 | remote-endpoint = <&dsi_out_panel>; 378 | }; 379 | }; 380 | }; 381 | }; 382 | 383 | ports { 384 | #address-cells = <1>; 385 | #size-cells = <0>; 386 | 387 | port@1 { 388 | reg = <1>; 389 | dsi_out_panel: endpoint { 390 | remote-endpoint = <&panel_in_dsi>; 391 | }; 392 | }; 393 | }; 394 | }; 395 | 396 | &i2c4{ 397 | status = "okay"; 398 | pinctrl-names = "default"; 399 | pinctrl-0 = <&i2c4m3_xfer>; 400 | 401 | hxchipset@48{ 402 | status = "okay"; 403 | compatible = "himax,hxcommon"; 404 | reg = <0x48>; 405 | 406 | himax,rst-gpio = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; 407 | himax,irq-gpio = <&gpio1 RK_PA7 IRQ_TYPE_LEVEL_HIGH>; 408 | pinctrl-names = "default"; 409 | pinctrl-0 = <&touch_int0>; 410 | 411 | himax,panel-coords = <0 800 0 1280>; //触摸范围 412 | himax,display-coords = <0 800 0 1280>; //分辨率 413 | report_type = <1>; 414 | }; 415 | }; 416 | 417 | #endif 418 | 419 | &pinctrl { 420 | touch { 421 | 422 | touch_int1: touch-int1 { 423 | rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 424 | }; 425 | touch_int0: touch-int0 { 426 | rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 427 | }; 428 | }; 429 | }; 430 | 431 | &check_version { 432 | dtb-name = "roc-rk3588s-pc-mipi101-M101014-BE45-A1"; 433 | }; 434 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/dts/v1.02a/roc-rk3588s-pc-v10.dtsi: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 | /* 3 | * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 | * 5 | */ 6 | 7 | /dts-v1/; 8 | 9 | #include "roc-rk3588s-pc.dtsi" 10 | #include "roc-rk3588s-pc-v10-diff.dtsi" 11 | //#include "rk3588-roc-pc-cam-veyecam2m.dtsi" 12 | #include "rk3588-roc-pc-cam-veyemvcam.dtsi" 13 | 14 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/firefly-linux.config: -------------------------------------------------------------------------------- 1 | # Firefly 2 | CONFIG_GPIO_PCA953X=y 3 | #CONFIG_GPIO_PCA953X_IRQ=y 4 | CONFIG_VIDEO_XC7160=y 5 | CONFIG_VIDEO_DS90UB954=y 6 | CONFIG_VIDEO_VEYEVBYONE=y 7 | CONFIG_VIDEO_VEYECAM2M=y 8 | CONFIG_VIDEO_VEYEMVCAM=y 9 | CONFIG_TOUCHSCREEN_HX83102=y 10 | CONFIG_CAN=y 11 | CONFIG_CANFD_ROCKCHIP=y 12 | CONFIG_OVERLAY_FS=y 13 | CONFIG_SND_SOC_FIREFLY_MULTICODECS=y 14 | CONFIG_WIFI_BUILD_MODULE=y 15 | CONFIG_AP6XXX=m 16 | CONFIG_VIDEO_ROCKCHIP_HDMIRX=y 17 | CONFIG_USB_NET_QMI_WWAN=y 18 | CONFIG_USB_USBNET=y 19 | CONFIG_USB_RTL8150=m 20 | CONFIG_USB_RTL8152=m 21 | # CONFIG_LOCALVERSION_AUTO is not set 22 | CONFIG_SCSI=y 23 | CONFIG_ATA=m 24 | CONFIG_SATA_AHCI=m 25 | CONFIG_SATA_AHCI_PLATFORM=m 26 | CONFIG_SQUASHFS_XZ=y 27 | CONFIG_SQUASHFS_XATTR=y 28 | 29 | # For RNDIS 30 | CONFIG_USB_CONFIGFS_RNDIS=y 31 | 32 | # Docker 33 | CONFIG_POSIX_MQUEUE=y 34 | CONFIG_CGROUP_PIDS=y 35 | CONFIG_MEMCG=y 36 | CONFIG_MEMCG_SWAP=y 37 | CONFIG_CGROUP_PERF=y 38 | CONFIG_RT_GROUP_SCHED=y 39 | CONFIG_BLK_CGROUP=y 40 | CONFIG_BLK_DEV_THROTTLING=y 41 | CONFIG_CFQ_GROUP_IOSCHED=y 42 | CONFIG_INET_ESP=y 43 | CONFIG_BRIDGE_NETFILTER=y 44 | CONFIG_NF_CONNTRACK_FTP=y 45 | CONFIG_NF_CONNTRACK_TFTP=y 46 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y 47 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y 48 | CONFIG_NETFILTER_XT_MATCH_IPVS=y 49 | CONFIG_NETFILTER_XT_MARK=y 50 | CONFIG_IP_VS=y 51 | CONFIG_IP_VS_PROTO_TCP=y 52 | CONFIG_IP_VS_PROTO_UDP=y 53 | CONFIG_IP_VS_RR=y 54 | CONFIG_IP_VS_NFCT=y 55 | CONFIG_IP_NF_TARGET_REDIRECT=y 56 | CONFIG_BRIDGE=y 57 | CONFIG_CGROUP_NET_PRIO=y 58 | CONFIG_BLK_DEV_DM=y 59 | CONFIG_DM_THIN_PROVISIONING=y 60 | CONFIG_DUMMY=y 61 | CONFIG_MACVLAN=y 62 | CONFIG_IPVLAN=y 63 | CONFIG_VXLAN=y 64 | CONFIG_VETH=y 65 | CONFIG_USB_SERIAL_CH341=y 66 | CONFIG_BTRFS_FS=y 67 | CONFIG_BTRFS_FS_POSIX_ACL=y 68 | CONFIG_XFRM_USER=y 69 | CONFIG_NET_KEY=y 70 | CONFIG_SYN_COOKIES=y 71 | CONFIG_NF_CONNTRACK=y 72 | CONFIG_NF_CONNTRACK_IPV4=y 73 | CONFIG_IP_NF_IPTABLES=y 74 | CONFIG_IP_NF_FILTER=y 75 | CONFIG_IP_NF_NAT=y 76 | CONFIG_IP_NF_TARGET_MASQUERADE=y 77 | CONFIG_NF_TABLES=y 78 | CONFIG_NF_TABLES_SET=y 79 | CONFIG_NF_TABLES_INET=y 80 | CONFIG_NF_TABLES_NETDEV=y 81 | CONFIG_NFT_NUMGEN=y 82 | CONFIG_NFT_CT=y 83 | CONFIG_NFT_FLOW_OFFLOAD=y 84 | CONFIG_NFT_COUNTER=y 85 | CONFIG_NFT_CONNLIMIT=y 86 | CONFIG_NFT_LOG=y 87 | CONFIG_NFT_LIMIT=y 88 | CONFIG_NFT_MASQ=y 89 | CONFIG_NFT_REDIR=y 90 | CONFIG_NFT_NAT=y 91 | CONFIG_NFT_TUNNEL=y 92 | CONFIG_NFT_OBJREF=y 93 | CONFIG_NFT_QUOTA=y 94 | CONFIG_NFT_REJECT=y 95 | CONFIG_NFT_COMPAT=y 96 | CONFIG_NFT_HASH=y 97 | CONFIG_NFT_SOCKET=y 98 | CONFIG_NFT_OSF=y 99 | CONFIG_NFT_TPROXY=y 100 | CONFIG_NFT_DUP_NETDEV=y 101 | CONFIG_NFT_FWD_NETDEV=y 102 | CONFIG_NF_FLOW_TABLE_INET=y 103 | CONFIG_NF_FLOW_TABLE=y 104 | CONFIG_NFT_CHAIN_ROUTE_IPV4=y 105 | CONFIG_NFT_DUP_IPV4=y 106 | CONFIG_NFT_FIB_IPV4=y 107 | CONFIG_NF_TABLES_ARP=y 108 | CONFIG_NFT_CHAIN_NAT_IPV4=y 109 | CONFIG_NFT_MASQ_IPV4=y 110 | CONFIG_NFT_REDIR_IPV4=y 111 | CONFIG_NF_TABLES_BRIDGE=y 112 | CONFIG_NFT_BRIDGE_REJECT=y 113 | CONFIG_IP_NF_MANGLE=y 114 | CONFIG_NET_SCHED=y 115 | CONFIG_NET_CLS_CGROUP=y 116 | CONFIG_NF_NAT_IPV4=y 117 | CONFIG_NF_NAT_NEEDED=y 118 | CONFIG_MEMCG_SWAP_ENABLED=y 119 | CONFIG_IOSCHED_CFQ=y 120 | CONFIG_CGROUP_HUGETLB=y 121 | CONFIG_SECURITY=y 122 | CONFIG_SECURITY_SELINUX=y 123 | CONFIG_SECURITY_APPARMOR=y 124 | CONFIG_VLAN_8021Q=y 125 | CONFIG_BRIDGE_VLAN_FILTERING=y 126 | CONFIG_NETFILTER_XT_MATCH_COMMENT=y 127 | CONFIG_HUGETLBFS=y 128 | 129 | CONFIG_VIDEO_GC2093=y 130 | CONFIG_VIDEO_GC2053=y 131 | CONFIG_PM_DEVFREQ=y 132 | CONFIG_ROCKCHIP_MPP_AV1DEC=y 133 | CONFIG_VIDEO_FP5510=y 134 | CONFIG_VIDEO_S5K3L6XX=y 135 | CONFIG_DEVFREQ_THERMAL=y 136 | CONFIG_PS_UCS14620=y 137 | CONFIG_LS_UCS14620=y 138 | CONFIG_UCLAMP_TASK_GROUP=y 139 | CONFIG_UCLAMP_BUCKETS_COUNT=20 140 | CONFIG_UCLAMP_TASK=y 141 | CONFIG_CMA_INACTIVE=y 142 | CONFIG_SENSORS_PWM_FAN=y 143 | 144 | 145 | CONFIG_BT=y 146 | CONFIG_BT_BREDR=y 147 | CONFIG_BT_RFCOMM=y 148 | CONFIG_BT_RFCOMM_TTY=y 149 | CONFIG_BT_BNEP=y 150 | CONFIG_BT_HIDP=y 151 | CONFIG_BT_LE=y 152 | CONFIG_BT_DEBUGFS=y 153 | CONFIG_BT_RTKBTUSB=y 154 | CONFIG_BT_BNEP_MC_FILTER=y 155 | CONFIG_BT_BNEP_PROTO_FILTER=y 156 | CONFIG_BT_HCIUART=y 157 | CONFIG_BT_HCIUART_H4=y 158 | CONFIG_RTL8821CU=m 159 | 160 | CONFIG_BT_HCIBTUSB=m 161 | CONFIG_BT_RTKBTUSB=m 162 | CONFIG_FB_FIREFLY=y 163 | CONFIG_FB_WAKE=y 164 | CONFIG_FRAMEBUFFER_CONSOLE=y 165 | CONFIG_IP_VS=m 166 | CONFIG_VXLAN=m 167 | CONFIG_BLK_DEV_SD=m 168 | CONFIG_BLK_DEV_SR=m 169 | CONFIG_SCSI=m 170 | CONFIG_SCSI_SPI_ATTRS=m 171 | CONFIG_USB_STORAGE=m 172 | CONFIG_USB_UAS=m 173 | CONFIG_IP_PNP=y 174 | CONFIG_IP_PNP_DHCP=y 175 | CONFIG_IP_PNP_BOOTP=y 176 | CONFIG_ROOT_NFS=y 177 | CONFIG_NFSD=y 178 | CONFIG_NFSD_V3=y 179 | CONFIG_NFSD_V4=y 180 | CONFIG_GPIO_FIREFLY_GL3321G=y 181 | 182 | # CS-R1 183 | CONFIG_PC9202_WATCHDOG=y 184 | 185 | CONFIG_WIREGUARD=y 186 | CONFIG_WIREGUARD_DEBUG=y 187 | 188 | CONFIG_SQUASHFS_LZO=y 189 | CONFIG_PSTORE_LZO_COMPRESS=m 190 | CONFIG_SPI_WK2XXX=y 191 | CONFIG_AQTION=m 192 | CONFIG_TOUCHSCREEN_GT9XXX=y 193 | 194 | # KVM & Virtio & Vhost for VM acc and I/O drivers 195 | CONFIG_PARAVIRT=y 196 | CONFIG_PARAVIRT_TIME_ACCOUNTING=y 197 | CONFIG_VIRTUALIZATION=y 198 | CONFIG_KVM=y 199 | CONFIG_KVM_MMIO=y 200 | CONFIG_BLK_MQ_VIRTIO=y 201 | CONFIG_MEMORY_BALLOON=y 202 | CONFIG_KSM=y 203 | CONFIG_VIRTIO_BLK=y 204 | CONFIG_SCSI_VIRTIO=y 205 | CONFIG_VIRTIO_NET=y 206 | CONFIG_VETH=m 207 | CONFIG_VIRT_WIFI=m 208 | CONFIG_VIRTIO_CONSOLE=y 209 | CONFIG_HW_RANDOM_VIRTIO=y 210 | CONFIG_DRM_VKMS=m 211 | CONFIG_DRM_QXL=m 212 | CONFIG_DRM_VIRTIO_GPU=y 213 | CONFIG_DRM_CIRRUS_QEMU=m 214 | CONFIG_FB_VIRTUAL=y 215 | CONFIG_VIRT_DRIVERS=y 216 | CONFIG_VIRTIO=y 217 | CONFIG_VIRTIO_PCI=y 218 | CONFIG_VIRTIO_PCI_LEGACY=y 219 | CONFIG_VIRTIO_VDPA=y 220 | CONFIG_VIRTIO_PMEM=y 221 | CONFIG_VIRTIO_BALLOON=y 222 | CONFIG_VIRTIO_INPUT=y 223 | CONFIG_VIRTIO_MMIO=y 224 | CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y 225 | CONFIG_VIRTIO_DMA_SHARED_BUFFER=y 226 | CONFIG_VDPA=y 227 | CONFIG_VHOST_IOTLB=y 228 | CONFIG_VHOST_RING=y 229 | CONFIG_VHOST=y 230 | CONFIG_VHOST_NET=m 231 | CONFIG_VHOST_SCSI=m 232 | CONFIG_VHOST_VSOCK=m 233 | CONFIG_VHOST_VDPA=y 234 | CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y 235 | CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y 236 | CONFIG_VIRTIO_IOMMU=y 237 | CONFIG_RPMSG_VIRTIO=y 238 | CONFIG_VIRTIO_FS=y 239 | CONFIG_9P_FS=m 240 | CONFIG_9P_FSCACHE=y 241 | CONFIG_CRYPTO_DEV_VIRTIO=y 242 | 243 | # Netfilter & TUN for VM network 244 | CONFIG_NF_REJECT_IPV4=y 245 | CONFIG_IP_NF_TARGET_REJECT=y 246 | CONFIG_NF_REJECT_IPV6=y 247 | CONFIG_IP6_NF_IPTABLES=y 248 | CONFIG_IP6_NF_FILTER=y 249 | CONFIG_IP6_NF_TARGET_REJECT=y 250 | CONFIG_IP6_NF_MANGLE=y 251 | CONFIG_IP6_NF_RAW=y 252 | CONFIG_IP6_NF_NAT=y 253 | CONFIG_IP6_NF_TARGET_MASQUERADE=y 254 | CONFIG_MACVTAP=y 255 | CONFIG_IPVTAP=y 256 | CONFIG_TUN=y 257 | CONFIG_TAP=y 258 | 259 | # SMB3 & CIFS for file transport between HOST and VM 260 | CONFIG_CIFS=y 261 | CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y 262 | CONFIG_CIFS_UPCALL=y 263 | CONFIG_CIFS_XATTR=y 264 | CONFIG_CIFS_DEBUG=y 265 | CONFIG_CIFS_DFS_UPCALL=y 266 | CONFIG_CRYPTO_MD4=y 267 | 268 | # Snapd 269 | CONFIG_BPF_SYSCALL=y 270 | CONFIG_CGROUP_BPF=y 271 | 272 | CONFIG_REGULATOR_FIXED_VOLTAGE_FIREFLY=y 273 | 274 | # CS_R2 275 | CONFIG_GPIO_SUB_POSITION=y 276 | CONFIG_SENSORS_NTC_THERMISTOR=y 277 | CONFIG_DS18B20=y 278 | 279 | CONFIG_IP_MULTIPLE_TABLES=y 280 | 281 | # iptables match 282 | CONFIG_NETFILTER_XT_MATCH_MAC=y 283 | 284 | CONFIG_DEBUG_SPINLOCK=y 285 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/firefly-linux.config_v1.0.6f: -------------------------------------------------------------------------------- 1 | # Firefly 2 | CONFIG_GPIO_PCA953X=y 3 | #CONFIG_GPIO_PCA953X_IRQ=y 4 | CONFIG_VIDEO_XC7160=y 5 | CONFIG_VIDEO_DS90UB954=y 6 | CONFIG_VIDEO_VEYEVBYONE=y 7 | CONFIG_VIDEO_VEYECAM2M=y 8 | CONFIG_VIDEO_VEYEMVCAM=y 9 | CONFIG_TOUCHSCREEN_HX83102=y 10 | CONFIG_CAN=y 11 | CONFIG_CANFD_ROCKCHIP=y 12 | CONFIG_OVERLAY_FS=y 13 | CONFIG_SND_SOC_FIREFLY_MULTICODECS=y 14 | CONFIG_WIFI_BUILD_MODULE=y 15 | CONFIG_AP6XXX=m 16 | CONFIG_VIDEO_ROCKCHIP_HDMIRX=y 17 | CONFIG_USB_NET_QMI_WWAN=y 18 | CONFIG_USB_USBNET=y 19 | CONFIG_USB_RTL8150=m 20 | CONFIG_USB_RTL8152=m 21 | # CONFIG_LOCALVERSION_AUTO is not set 22 | CONFIG_SCSI=y 23 | CONFIG_ATA=m 24 | CONFIG_SATA_AHCI=m 25 | CONFIG_SATA_AHCI_PLATFORM=m 26 | CONFIG_SQUASHFS_XZ=y 27 | CONFIG_SQUASHFS_XATTR=y 28 | 29 | # For RNDIS 30 | CONFIG_USB_CONFIGFS_RNDIS=y 31 | 32 | # Docker 33 | CONFIG_POSIX_MQUEUE=y 34 | CONFIG_CGROUP_PIDS=y 35 | CONFIG_MEMCG=y 36 | CONFIG_MEMCG_SWAP=y 37 | CONFIG_CGROUP_PERF=y 38 | CONFIG_RT_GROUP_SCHED=y 39 | CONFIG_BLK_CGROUP=y 40 | CONFIG_BLK_DEV_THROTTLING=y 41 | CONFIG_CFQ_GROUP_IOSCHED=y 42 | CONFIG_INET_ESP=y 43 | CONFIG_BRIDGE_NETFILTER=y 44 | CONFIG_NF_CONNTRACK_FTP=y 45 | CONFIG_NF_CONNTRACK_TFTP=y 46 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y 47 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y 48 | CONFIG_NETFILTER_XT_MATCH_IPVS=y 49 | CONFIG_NETFILTER_XT_MARK=y 50 | CONFIG_IP_VS=y 51 | CONFIG_IP_VS_PROTO_TCP=y 52 | CONFIG_IP_VS_PROTO_UDP=y 53 | CONFIG_IP_VS_RR=y 54 | CONFIG_IP_VS_NFCT=y 55 | CONFIG_IP_NF_TARGET_REDIRECT=y 56 | CONFIG_BRIDGE=y 57 | CONFIG_CGROUP_NET_PRIO=y 58 | CONFIG_BLK_DEV_DM=y 59 | CONFIG_DM_THIN_PROVISIONING=y 60 | CONFIG_DUMMY=y 61 | CONFIG_MACVLAN=y 62 | CONFIG_IPVLAN=y 63 | CONFIG_VXLAN=y 64 | CONFIG_VETH=y 65 | CONFIG_USB_SERIAL_CH341=y 66 | CONFIG_BTRFS_FS=y 67 | CONFIG_BTRFS_FS_POSIX_ACL=y 68 | CONFIG_XFRM_USER=y 69 | CONFIG_NET_KEY=y 70 | CONFIG_SYN_COOKIES=y 71 | CONFIG_NF_CONNTRACK=y 72 | CONFIG_NF_CONNTRACK_IPV4=y 73 | CONFIG_IP_NF_IPTABLES=y 74 | CONFIG_IP_NF_FILTER=y 75 | CONFIG_IP_NF_NAT=y 76 | CONFIG_IP_NF_TARGET_MASQUERADE=y 77 | CONFIG_NF_TABLES=y 78 | CONFIG_NF_TABLES_SET=y 79 | CONFIG_NF_TABLES_INET=y 80 | CONFIG_NF_TABLES_NETDEV=y 81 | CONFIG_NFT_NUMGEN=y 82 | CONFIG_NFT_CT=y 83 | CONFIG_NFT_FLOW_OFFLOAD=y 84 | CONFIG_NFT_COUNTER=y 85 | CONFIG_NFT_CONNLIMIT=y 86 | CONFIG_NFT_LOG=y 87 | CONFIG_NFT_LIMIT=y 88 | CONFIG_NFT_MASQ=y 89 | CONFIG_NFT_REDIR=y 90 | CONFIG_NFT_NAT=y 91 | CONFIG_NFT_TUNNEL=y 92 | CONFIG_NFT_OBJREF=y 93 | CONFIG_NFT_QUOTA=y 94 | CONFIG_NFT_REJECT=y 95 | CONFIG_NFT_COMPAT=y 96 | CONFIG_NFT_HASH=y 97 | CONFIG_NFT_SOCKET=y 98 | CONFIG_NFT_OSF=y 99 | CONFIG_NFT_TPROXY=y 100 | CONFIG_NFT_DUP_NETDEV=y 101 | CONFIG_NFT_FWD_NETDEV=y 102 | CONFIG_NF_FLOW_TABLE_INET=y 103 | CONFIG_NF_FLOW_TABLE=y 104 | CONFIG_NFT_CHAIN_ROUTE_IPV4=y 105 | CONFIG_NFT_DUP_IPV4=y 106 | CONFIG_NFT_FIB_IPV4=y 107 | CONFIG_NF_TABLES_ARP=y 108 | CONFIG_NFT_CHAIN_NAT_IPV4=y 109 | CONFIG_NFT_MASQ_IPV4=y 110 | CONFIG_NFT_REDIR_IPV4=y 111 | CONFIG_NF_TABLES_BRIDGE=y 112 | CONFIG_NFT_BRIDGE_REJECT=y 113 | CONFIG_IP_NF_MANGLE=y 114 | CONFIG_NET_SCHED=y 115 | CONFIG_NET_CLS_CGROUP=y 116 | CONFIG_NF_NAT_IPV4=y 117 | CONFIG_NF_NAT_NEEDED=y 118 | CONFIG_MEMCG_SWAP_ENABLED=y 119 | CONFIG_IOSCHED_CFQ=y 120 | CONFIG_CGROUP_HUGETLB=y 121 | CONFIG_SECURITY=y 122 | CONFIG_SECURITY_SELINUX=y 123 | CONFIG_SECURITY_APPARMOR=y 124 | CONFIG_VLAN_8021Q=y 125 | CONFIG_BRIDGE_VLAN_FILTERING=y 126 | CONFIG_NETFILTER_XT_MATCH_COMMENT=y 127 | CONFIG_HUGETLBFS=y 128 | 129 | # Android in Container 130 | CONFIG_PSI=y 131 | CONFIG_ANDROID=y 132 | CONFIG_ANDROID_BINDER_IPC=y 133 | CONFIG_ANDROID_BINDERFS=y 134 | CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder" 135 | CONFIG_ASHMEM=y 136 | 137 | CONFIG_VIDEO_GC2093=y 138 | CONFIG_VIDEO_GC2053=y 139 | CONFIG_PM_DEVFREQ=y 140 | CONFIG_ROCKCHIP_MPP_AV1DEC=y 141 | CONFIG_VIDEO_FP5510=y 142 | CONFIG_VIDEO_S5K3L6XX=y 143 | CONFIG_DEVFREQ_THERMAL=y 144 | CONFIG_PS_UCS14620=y 145 | CONFIG_LS_UCS14620=y 146 | CONFIG_UCLAMP_TASK_GROUP=y 147 | CONFIG_UCLAMP_BUCKETS_COUNT=20 148 | CONFIG_UCLAMP_TASK=y 149 | CONFIG_CMA_INACTIVE=y 150 | CONFIG_SENSORS_PWM_FAN=y 151 | 152 | 153 | CONFIG_BT=y 154 | CONFIG_BT_BREDR=y 155 | CONFIG_BT_RFCOMM=y 156 | CONFIG_BT_RFCOMM_TTY=y 157 | CONFIG_BT_BNEP=y 158 | CONFIG_BT_HIDP=y 159 | CONFIG_BT_LE=y 160 | CONFIG_BT_DEBUGFS=y 161 | CONFIG_BT_RTKBTUSB=y 162 | CONFIG_BT_BNEP_MC_FILTER=y 163 | CONFIG_BT_BNEP_PROTO_FILTER=y 164 | CONFIG_BT_HCIUART=y 165 | CONFIG_BT_HCIUART_H4=y 166 | CONFIG_RTL8821CU=m 167 | 168 | CONFIG_BT_HCIBTUSB=m 169 | CONFIG_BT_RTKBTUSB=m 170 | CONFIG_FB_FIREFLY=y 171 | CONFIG_FB_WAKE=y 172 | CONFIG_FRAMEBUFFER_CONSOLE=y 173 | CONFIG_IP_VS=m 174 | CONFIG_VXLAN=m 175 | CONFIG_BLK_DEV_SD=m 176 | CONFIG_BLK_DEV_SR=m 177 | CONFIG_SCSI=m 178 | CONFIG_SCSI_SPI_ATTRS=m 179 | CONFIG_USB_STORAGE=m 180 | CONFIG_USB_UAS=m 181 | CONFIG_IP_PNP=y 182 | CONFIG_IP_PNP_DHCP=y 183 | CONFIG_IP_PNP_BOOTP=y 184 | CONFIG_ROOT_NFS=y 185 | CONFIG_NFSD=y 186 | CONFIG_NFSD_V3=y 187 | CONFIG_NFSD_V4=y 188 | CONFIG_GPIO_FIREFLY_GL3321G=y 189 | 190 | # CS-R1 191 | CONFIG_PC9202_WATCHDOG=y 192 | 193 | CONFIG_WIREGUARD=y 194 | CONFIG_WIREGUARD_DEBUG=y 195 | 196 | CONFIG_SQUASHFS_LZO=y 197 | CONFIG_PSTORE_LZO_COMPRESS=m 198 | CONFIG_SPI_WK2XXX=y 199 | CONFIG_AQTION=m 200 | CONFIG_TOUCHSCREEN_GT9XXX=y 201 | 202 | # KVM & Virtio & Vhost for VM acc and I/O drivers 203 | CONFIG_PARAVIRT=y 204 | CONFIG_PARAVIRT_TIME_ACCOUNTING=y 205 | CONFIG_VIRTUALIZATION=y 206 | CONFIG_KVM=y 207 | CONFIG_KVM_MMIO=y 208 | CONFIG_BLK_MQ_VIRTIO=y 209 | CONFIG_MEMORY_BALLOON=y 210 | CONFIG_KSM=y 211 | CONFIG_VIRTIO_BLK=y 212 | CONFIG_SCSI_VIRTIO=y 213 | CONFIG_VIRTIO_NET=y 214 | CONFIG_VETH=m 215 | CONFIG_VIRT_WIFI=m 216 | CONFIG_VIRTIO_CONSOLE=y 217 | CONFIG_HW_RANDOM_VIRTIO=y 218 | CONFIG_DRM_VKMS=m 219 | CONFIG_DRM_QXL=m 220 | CONFIG_DRM_VIRTIO_GPU=y 221 | CONFIG_DRM_CIRRUS_QEMU=m 222 | CONFIG_FB_VIRTUAL=y 223 | CONFIG_VIRT_DRIVERS=y 224 | CONFIG_VIRTIO=y 225 | CONFIG_VIRTIO_PCI=y 226 | CONFIG_VIRTIO_PCI_LEGACY=y 227 | CONFIG_VIRTIO_VDPA=y 228 | CONFIG_VIRTIO_PMEM=y 229 | CONFIG_VIRTIO_BALLOON=y 230 | CONFIG_VIRTIO_INPUT=y 231 | CONFIG_VIRTIO_MMIO=y 232 | CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y 233 | CONFIG_VIRTIO_DMA_SHARED_BUFFER=y 234 | CONFIG_VDPA=y 235 | CONFIG_VHOST_IOTLB=y 236 | CONFIG_VHOST_RING=y 237 | CONFIG_VHOST=y 238 | CONFIG_VHOST_NET=m 239 | CONFIG_VHOST_SCSI=m 240 | CONFIG_VHOST_VSOCK=m 241 | CONFIG_VHOST_VDPA=y 242 | CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y 243 | CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y 244 | CONFIG_VIRTIO_IOMMU=y 245 | CONFIG_RPMSG_VIRTIO=y 246 | CONFIG_VIRTIO_FS=y 247 | CONFIG_9P_FS=m 248 | CONFIG_9P_FSCACHE=y 249 | CONFIG_CRYPTO_DEV_VIRTIO=y 250 | 251 | # Netfilter & TUN for VM network 252 | CONFIG_NF_REJECT_IPV4=y 253 | CONFIG_IP_NF_TARGET_REJECT=y 254 | CONFIG_NF_REJECT_IPV6=y 255 | CONFIG_IP6_NF_IPTABLES=y 256 | CONFIG_IP6_NF_FILTER=y 257 | CONFIG_IP6_NF_TARGET_REJECT=y 258 | CONFIG_IP6_NF_MANGLE=y 259 | CONFIG_IP6_NF_RAW=y 260 | CONFIG_IP6_NF_NAT=y 261 | CONFIG_IP6_NF_TARGET_MASQUERADE=y 262 | CONFIG_MACVTAP=y 263 | CONFIG_IPVTAP=y 264 | CONFIG_TUN=y 265 | CONFIG_TAP=y 266 | 267 | # SMB3 & CIFS for file transport between HOST and VM 268 | CONFIG_CIFS=y 269 | CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y 270 | CONFIG_CIFS_UPCALL=y 271 | CONFIG_CIFS_XATTR=y 272 | CONFIG_CIFS_DEBUG=y 273 | CONFIG_CIFS_DFS_UPCALL=y 274 | CONFIG_CRYPTO_MD4=y 275 | 276 | # Snapd 277 | CONFIG_BPF_SYSCALL=y 278 | CONFIG_CGROUP_BPF=y 279 | 280 | CONFIG_REGULATOR_FIXED_VOLTAGE_FIREFLY=y 281 | 282 | # CS_R2 283 | CONFIG_GPIO_SUB_POSITION=y 284 | CONFIG_SENSORS_NTC_THERMISTOR=y 285 | CONFIG_DS18B20=y 286 | 287 | #CONFIG_IP_MULTIPLE_TABLES=y 288 | 289 | # iptables match 290 | CONFIG_NETFILTER_XT_MATCH_MAC=y 291 | 292 | CONFIG_DEBUG_SPINLOCK=y 293 | 294 | CONFIG_LEDS_CLASS_FLASH=y 295 | CONFIG_LEDS_RGB13H=y 296 | 297 | # 298 | # Core Netfilter Configuration 299 | # 300 | CONFIG_NETFILTER_INGRESS=y 301 | CONFIG_NETFILTER_EGRESS=y 302 | CONFIG_NETFILTER_SKIP_EGRESS=y 303 | CONFIG_NETFILTER_NETLINK=m 304 | CONFIG_NETFILTER_FAMILY_BRIDGE=y 305 | CONFIG_NETFILTER_FAMILY_ARP=y 306 | CONFIG_NETFILTER_NETLINK_HOOK=m 307 | CONFIG_NETFILTER_NETLINK_ACCT=m 308 | CONFIG_NETFILTER_NETLINK_QUEUE=m 309 | CONFIG_NETFILTER_NETLINK_LOG=m 310 | CONFIG_NETFILTER_NETLINK_OSF=m 311 | CONFIG_NF_CONNTRACK=m 312 | CONFIG_NF_LOG_SYSLOG=m 313 | CONFIG_NETFILTER_CONNCOUNT=m 314 | CONFIG_NF_CONNTRACK_MARK=y 315 | CONFIG_NF_CONNTRACK_SECMARK=y 316 | CONFIG_NF_CONNTRACK_ZONES=y 317 | # CONFIG_NF_CONNTRACK_PROCFS is not set 318 | CONFIG_NF_CONNTRACK_EVENTS=y 319 | CONFIG_NF_CONNTRACK_TIMEOUT=y 320 | CONFIG_NF_CONNTRACK_TIMESTAMP=y 321 | CONFIG_NF_CONNTRACK_LABELS=y 322 | CONFIG_NF_CT_PROTO_DCCP=y 323 | CONFIG_NF_CT_PROTO_GRE=y 324 | CONFIG_NF_CT_PROTO_SCTP=y 325 | CONFIG_NF_CT_PROTO_UDPLITE=y 326 | CONFIG_NF_CONNTRACK_AMANDA=m 327 | CONFIG_NF_CONNTRACK_FTP=m 328 | CONFIG_NF_CONNTRACK_H323=m 329 | CONFIG_NF_CONNTRACK_IRC=m 330 | CONFIG_NF_CONNTRACK_BROADCAST=m 331 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m 332 | CONFIG_NF_CONNTRACK_SNMP=m 333 | CONFIG_NF_CONNTRACK_PPTP=m 334 | CONFIG_NF_CONNTRACK_SANE=m 335 | CONFIG_NF_CONNTRACK_SIP=m 336 | CONFIG_NF_CONNTRACK_TFTP=m 337 | CONFIG_NF_CT_NETLINK=m 338 | CONFIG_NF_CT_NETLINK_TIMEOUT=m 339 | CONFIG_NF_CT_NETLINK_HELPER=m 340 | CONFIG_NETFILTER_NETLINK_GLUE_CT=y 341 | CONFIG_NF_NAT=m 342 | CONFIG_NF_NAT_AMANDA=m 343 | CONFIG_NF_NAT_FTP=m 344 | CONFIG_NF_NAT_IRC=m 345 | CONFIG_NF_NAT_SIP=m 346 | CONFIG_NF_NAT_TFTP=m 347 | CONFIG_NF_NAT_REDIRECT=y 348 | CONFIG_NF_NAT_MASQUERADE=y 349 | CONFIG_NETFILTER_SYNPROXY=m 350 | CONFIG_NF_TABLES=m 351 | CONFIG_NF_TABLES_INET=y 352 | CONFIG_NF_TABLES_NETDEV=y 353 | CONFIG_NFT_NUMGEN=m 354 | CONFIG_NFT_CT=m 355 | CONFIG_NFT_FLOW_OFFLOAD=m 356 | CONFIG_NFT_CONNLIMIT=m 357 | CONFIG_NFT_LOG=m 358 | CONFIG_NFT_LIMIT=m 359 | CONFIG_NFT_MASQ=m 360 | CONFIG_NFT_REDIR=m 361 | CONFIG_NFT_NAT=m 362 | CONFIG_NFT_TUNNEL=m 363 | CONFIG_NFT_OBJREF=m 364 | CONFIG_NFT_QUEUE=m 365 | CONFIG_NFT_QUOTA=m 366 | CONFIG_NFT_REJECT=m 367 | CONFIG_NFT_REJECT_INET=m 368 | CONFIG_NFT_COMPAT=m 369 | CONFIG_NFT_HASH=m 370 | CONFIG_NFT_FIB=m 371 | CONFIG_NFT_FIB_INET=m 372 | CONFIG_NFT_XFRM=m 373 | CONFIG_NFT_SOCKET=m 374 | CONFIG_NFT_OSF=m 375 | CONFIG_NFT_TPROXY=m 376 | CONFIG_NFT_SYNPROXY=m 377 | CONFIG_NF_DUP_NETDEV=m 378 | CONFIG_NFT_DUP_NETDEV=m 379 | CONFIG_NFT_FWD_NETDEV=m 380 | CONFIG_NFT_FIB_NETDEV=m 381 | CONFIG_NFT_REJECT_NETDEV=m 382 | CONFIG_NF_FLOW_TABLE_INET=m 383 | CONFIG_NF_FLOW_TABLE=m 384 | CONFIG_NETFILTER_XTABLES=m 385 | CONFIG_NETFILTER_XTABLES_COMPAT=y 386 | 387 | # 388 | # Xtables combined modules 389 | # 390 | CONFIG_NETFILTER_XT_MARK=m 391 | CONFIG_NETFILTER_XT_CONNMARK=m 392 | CONFIG_NETFILTER_XT_SET=m 393 | 394 | # 395 | # Xtables targets 396 | # 397 | CONFIG_NETFILTER_XT_TARGET_AUDIT=m 398 | CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m 399 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 400 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 401 | CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m 402 | CONFIG_NETFILTER_XT_TARGET_CT=m 403 | CONFIG_NETFILTER_XT_TARGET_DSCP=m 404 | CONFIG_NETFILTER_XT_TARGET_HL=m 405 | CONFIG_NETFILTER_XT_TARGET_HMARK=m 406 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m 407 | CONFIG_NETFILTER_XT_TARGET_LED=m 408 | CONFIG_NETFILTER_XT_TARGET_LOG=m 409 | CONFIG_NETFILTER_XT_TARGET_MARK=m 410 | CONFIG_NETFILTER_XT_NAT=m 411 | CONFIG_NETFILTER_XT_TARGET_NETMAP=m 412 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m 413 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 414 | # CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set 415 | CONFIG_NETFILTER_XT_TARGET_RATEEST=m 416 | CONFIG_NETFILTER_XT_TARGET_REDIRECT=m 417 | CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m 418 | CONFIG_NETFILTER_XT_TARGET_TEE=m 419 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m 420 | CONFIG_NETFILTER_XT_TARGET_TRACE=m 421 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m 422 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 423 | CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 424 | 425 | # 426 | # Xtables matches 427 | # 428 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m 429 | CONFIG_NETFILTER_XT_MATCH_BPF=m 430 | CONFIG_NETFILTER_XT_MATCH_CGROUP=m 431 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m 432 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m 433 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 434 | CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m 435 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 436 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 437 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 438 | CONFIG_NETFILTER_XT_MATCH_CPU=m 439 | CONFIG_NETFILTER_XT_MATCH_DCCP=m 440 | CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m 441 | CONFIG_NETFILTER_XT_MATCH_DSCP=m 442 | CONFIG_NETFILTER_XT_MATCH_ECN=m 443 | CONFIG_NETFILTER_XT_MATCH_ESP=m 444 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 445 | CONFIG_NETFILTER_XT_MATCH_HELPER=m 446 | CONFIG_NETFILTER_XT_MATCH_HL=m 447 | CONFIG_NETFILTER_XT_MATCH_IPCOMP=m 448 | CONFIG_NETFILTER_XT_MATCH_IPRANGE=m 449 | CONFIG_NETFILTER_XT_MATCH_IPVS=m 450 | CONFIG_NETFILTER_XT_MATCH_L2TP=m 451 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m 452 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m 453 | CONFIG_NETFILTER_XT_MATCH_MAC=m 454 | CONFIG_NETFILTER_XT_MATCH_MARK=m 455 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 456 | CONFIG_NETFILTER_XT_MATCH_NFACCT=m 457 | CONFIG_NETFILTER_XT_MATCH_OSF=m 458 | CONFIG_NETFILTER_XT_MATCH_OWNER=m 459 | CONFIG_NETFILTER_XT_MATCH_POLICY=m 460 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m 461 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 462 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m 463 | CONFIG_NETFILTER_XT_MATCH_RATEEST=m 464 | CONFIG_NETFILTER_XT_MATCH_REALM=m 465 | CONFIG_NETFILTER_XT_MATCH_RECENT=m 466 | CONFIG_NETFILTER_XT_MATCH_SCTP=m 467 | CONFIG_NETFILTER_XT_MATCH_SOCKET=m 468 | CONFIG_NETFILTER_XT_MATCH_STATE=m 469 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 470 | CONFIG_NETFILTER_XT_MATCH_STRING=m 471 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 472 | CONFIG_NETFILTER_XT_MATCH_TIME=m 473 | CONFIG_NETFILTER_XT_MATCH_U32=m 474 | # end of Core Netfilter Configuration 475 | 476 | # 477 | # IP: Netfilter Configuration 478 | # 479 | CONFIG_NF_DEFRAG_IPV4=m 480 | CONFIG_NF_SOCKET_IPV4=m 481 | CONFIG_NF_TPROXY_IPV4=m 482 | CONFIG_NF_TABLES_IPV4=y 483 | CONFIG_NFT_REJECT_IPV4=m 484 | CONFIG_NFT_DUP_IPV4=m 485 | CONFIG_NFT_FIB_IPV4=m 486 | CONFIG_NF_TABLES_ARP=y 487 | CONFIG_NF_DUP_IPV4=m 488 | CONFIG_NF_LOG_ARP=m 489 | CONFIG_NF_LOG_IPV4=m 490 | CONFIG_NF_REJECT_IPV4=m 491 | CONFIG_NF_NAT_SNMP_BASIC=m 492 | CONFIG_NF_NAT_PPTP=m 493 | CONFIG_NF_NAT_H323=m 494 | CONFIG_IP_NF_IPTABLES=m 495 | CONFIG_IP_NF_MATCH_AH=m 496 | CONFIG_IP_NF_MATCH_ECN=m 497 | CONFIG_IP_NF_MATCH_RPFILTER=m 498 | CONFIG_IP_NF_MATCH_TTL=m 499 | CONFIG_IP_NF_FILTER=m 500 | CONFIG_IP_NF_TARGET_REJECT=m 501 | CONFIG_IP_NF_TARGET_SYNPROXY=m 502 | CONFIG_IP_NF_NAT=m 503 | CONFIG_IP_NF_TARGET_MASQUERADE=m 504 | CONFIG_IP_NF_TARGET_NETMAP=m 505 | CONFIG_IP_NF_TARGET_REDIRECT=m 506 | CONFIG_IP_NF_MANGLE=m 507 | CONFIG_IP_NF_TARGET_CLUSTERIP=m 508 | CONFIG_IP_NF_TARGET_ECN=m 509 | CONFIG_IP_NF_TARGET_TTL=m 510 | CONFIG_IP_NF_RAW=m 511 | CONFIG_IP_NF_SECURITY=m 512 | CONFIG_IP_NF_ARPTABLES=m 513 | CONFIG_IP_NF_ARPFILTER=m 514 | CONFIG_IP_NF_ARP_MANGLE=m 515 | # end of IP: Netfilter Configuration 516 | 517 | # 518 | # IPv6: Netfilter Configuration 519 | # 520 | CONFIG_NF_SOCKET_IPV6=m 521 | CONFIG_NF_TPROXY_IPV6=m 522 | CONFIG_NF_TABLES_IPV6=y 523 | CONFIG_NFT_REJECT_IPV6=m 524 | CONFIG_NFT_DUP_IPV6=m 525 | CONFIG_NFT_FIB_IPV6=m 526 | CONFIG_NF_DUP_IPV6=m 527 | CONFIG_NF_REJECT_IPV6=m 528 | CONFIG_NF_LOG_IPV6=m 529 | CONFIG_IP6_NF_IPTABLES=m 530 | CONFIG_IP6_NF_MATCH_AH=m 531 | CONFIG_IP6_NF_MATCH_EUI64=m 532 | CONFIG_IP6_NF_MATCH_FRAG=m 533 | CONFIG_IP6_NF_MATCH_OPTS=m 534 | CONFIG_IP6_NF_MATCH_HL=m 535 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m 536 | CONFIG_IP6_NF_MATCH_MH=m 537 | CONFIG_IP6_NF_MATCH_RPFILTER=m 538 | CONFIG_IP6_NF_MATCH_RT=m 539 | CONFIG_IP6_NF_MATCH_SRH=m 540 | CONFIG_IP6_NF_TARGET_HL=m 541 | CONFIG_IP6_NF_FILTER=m 542 | CONFIG_IP6_NF_TARGET_REJECT=m 543 | CONFIG_IP6_NF_TARGET_SYNPROXY=m 544 | CONFIG_IP6_NF_MANGLE=m 545 | CONFIG_IP6_NF_RAW=m 546 | CONFIG_IP6_NF_SECURITY=m 547 | CONFIG_IP6_NF_NAT=m 548 | CONFIG_IP6_NF_TARGET_MASQUERADE=m 549 | CONFIG_IP6_NF_TARGET_NPT=m 550 | # end of IPv6: Netfilter Configuration 551 | -------------------------------------------------------------------------------- /linux/drivers/rk358x/readme.md: -------------------------------------------------------------------------------- 1 | # How to add VEYE mipi cameras on RK358x 2 | ### Introduction 3 | Use firefly ROC-RK3588S-PC as an example. RK358x is now using linux kernel version 5.10. 4 | This document references this [link](https://wiki.t-firefly.com/en/ROC-RK3588S-PC/ "link") from this Firefly.Please check it together with this documentation. 5 | ### Build the standard version 6 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3588S-PC/linux_compile_ubuntu.html "link"), Build the build environment. 7 | Refer to this [link](https://wiki.t-firefly.com/en/ROC-RK3588S-PC/linux_compile_ubuntu.html "link") to compile the standard version. 8 | ### Patch the code 9 | 1. Put the camera driver files into the kernel/drivers/media/i2c directory, and modify the Kconfig and Makefile files to add driver options. 10 | 2. Put the dts file into the kernel\arch\arm64\boot\dts\rockchip directory. 11 | Note that for different SDK versions, the first few lines of different DTSI files need to be modified to select the camera driver to be enabled - either the VEYE series or the MV series. 12 | 3. For RK3588, Modify the . /arch/arm64/configs/firefly-linux.config file to add VEYE camera option. 13 | ### Compile firmware to support VEYE camera version 14 | 15 | `./build.sh` 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /resources/ADP-MV2-MV-MIPI_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2-MV-MIPI_01.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2-MV-MIPI_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2-MV-MIPI_02.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2-RAW-MIPI_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2-RAW-MIPI_01.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2-RAW-MIPI_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2-RAW-MIPI_02.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2-V2_to_MV-MIPI-X.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2-V2_to_MV-MIPI-X.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2-V2_to_MV-MIPI-X_No.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2-V2_to_MV-MIPI-X_No.2.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2-schematic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2-schematic.pdf -------------------------------------------------------------------------------- /resources/ADP-MV2_to_RAW-MIPI-SC132M.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2_to_RAW-MIPI-SC132M.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2_to_RAW-MIPI-SC132M_No.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2_to_RAW-MIPI-SC132M_No.2.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2_to_RAW_series_camera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2_to_RAW_series_camera.jpg -------------------------------------------------------------------------------- /resources/ADP-MV2_to_RAW_series_camera_No.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-MV2_to_RAW_series_camera_No.2.jpg -------------------------------------------------------------------------------- /resources/ADP-Tfirefly connect to Firefly board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-Tfirefly connect to Firefly board.jpg -------------------------------------------------------------------------------- /resources/ADP-Tfirefly-V1.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/ADP-Tfirefly-V1.0.pdf -------------------------------------------------------------------------------- /resources/Compact_raw_and_noncompact_raw_of_rk3588_vicap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/Compact_raw_and_noncompact_raw_of_rk3588_vicap.png -------------------------------------------------------------------------------- /resources/Firefly Board and VEYE camera overall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/Firefly Board and VEYE camera overall.jpg -------------------------------------------------------------------------------- /resources/Fpdlink-III_to_RK3588S.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/Fpdlink-III_to_RK3588S.png -------------------------------------------------------------------------------- /resources/RK-ADP-MV2-MV-MIPI_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/RK-ADP-MV2-MV-MIPI_01.jpg -------------------------------------------------------------------------------- /resources/VBYONE-connection-with-rk3588.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/VBYONE-connection-with-rk3588.jpg -------------------------------------------------------------------------------- /resources/VEYE camera connect to ADP-Tfirefly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veyeimaging/rk35xx_firefly/2f196c6d2f4f2b941dbdf2ebc99fb8d18365b0ca/resources/VEYE camera connect to ADP-Tfirefly.jpg --------------------------------------------------------------------------------