63 Commits

Author SHA1 Message Date
5ba21b5174 [Add] 新增Linux_Drivers编译 2024-07-02 23:08:37 +08:00
b50e994d18 [Mod] 支持bear生成compile_commands.json文件生成:uboot、kernel、modules 2024-07-02 23:07:24 +08:00
df019e35dd [Mod] 属性修改:文件忽略、子模块 2024-07-02 17:17:04 +08:00
2ded0da822 Merge pull request #111 from LevitatingBusinessMan/aic8800_config
Enable the config file for aic8800
2024-06-25 02:10:00 +00:00
a4490dd1ed enable the config file for aic8800
this can be used to configure a mac address
2024-06-23 02:42:04 +02:00
66daf080a3 Merge pull request #109 from LevitatingBusinessMan/defconfig
properly save all defconfigs
2024-06-21 01:53:59 +00:00
e829bb4c17 properly save all defconfigs
Done using `for config in $(make list-defconfigs | grep "milkv" | awk '{print $1}'); do make $config && make savedefconfig; done`
2024-06-20 23:44:38 +02:00
a0de72edf7 Merge pull request #107 from LevitatingBusinessMan/scene_auto_atomic
Add -latomic to linker flags for scene_auto sample
2024-06-20 13:00:14 +00:00
3fb02a435a Merge pull request #103 from MilkVNaoki/usb-cdc-ncm
use CDC-NCM instead of RNDIS
2024-06-20 12:45:16 +00:00
4a097910e5 Add -latomic to linker flags for scene_auto sample 2024-06-17 17:21:34 +02:00
66f41db1eb use CDC-NCM instead of RNDIS
fix https://github.com/milk-v/milkv.io/issues/45

Signed-off-by: FUKAUMI Naoki <naoki@milkv.io>
2024-06-13 11:54:06 +09:00
bc680ca7c9 buildroot: enable libusb 2024-06-07 11:54:57 +08:00
34fb84e881 build wiringX from source code 2024-05-28 18:29:05 +08:00
0ed4d9c263 remove the binary for wiringX 2024-05-28 14:56:16 +08:00
e49d4243dd duo256m disable TPU_PERF_MODE 2024-05-28 14:11:58 +08:00
cfad8f8dc6 duos sd version enable bootlogo partition
regardless of whether the logo is enabled in u-boot
2024-05-27 01:03:50 +08:00
d41e90e48a duos sd disable bootlogo partition 2024-05-26 13:21:41 +08:00
7bc1dab872 enable python-numpy for duo256m and duos 2024-05-26 13:20:05 +08:00
780335d1e3 fix the rootfs size in partition_sd.xml
The partition size in partition_sd.xml is not used
when generating the sd image, but there will be script
check when generating firmware, and the value in xml
needs to be 128K larger than the value in buildroot.
Maybe this problem should be fixed later.
2024-05-25 18:04:14 +08:00
965b30ab36 duos emmc version rootfs set to 768M 2024-05-24 18:02:03 +08:00
04912a54f1 fix file format 2024-05-24 16:30:02 +08:00
540dc3e57f duo256m: disable OD_CLK_SEL 2024-05-24 14:40:53 +08:00
63fa9d5864 open source fsbl 2024-05-24 14:35:09 +08:00
840b72db19 Merge pull request #90 from niwatori-chicken/develop
Changed readme-ja.md to follow readme.md.
2024-05-21 09:22:27 +00:00
101c2ebe73 duos enable LAN9514 kernel dirver 2024-05-21 16:19:18 +08:00
73a4c6f6e1 dts enable uart 2024-05-21 16:03:47 +08:00
d9e64e4737 duos init i2c2 for camera 2 2024-05-21 10:49:02 +08:00
e0a7273617 duos 8inch 800x1280 display add TP driver
modify in loadsystemko.sh
when you need to install the gt9xx TP driver
2024-05-20 20:46:30 +08:00
5d8e680321 duos disable bootlogo by default 2024-05-17 14:32:00 +08:00
9e76e6a91d duos does not configure FB_TFT by default 2024-05-17 11:39:28 +08:00
f4b9e19031 u-boot support duos 8inch 800x1280 display 2024-05-17 11:39:28 +08:00
bc8cc5a88b u-boot support boot logo for duos mipi dsi 2024-05-17 11:39:28 +08:00
7bad8c0c65 put vo in board dts for easy configuration 2024-05-17 11:39:27 +08:00
35d40e6952 create part info for the sd card version of u-boot
The partition size in partition_sd.xml is not used
when generating the sd image, but some of this
information will be used later in u-boot.
2024-05-17 11:39:27 +08:00
725eba4bbb define whether to compile bootlogo in boardconfig 2024-05-17 11:39:27 +08:00
a84a2e84fb kernel test for duos 8inch 800x1280 display
test cmd:
sample_dsi --panel=MILKV_8HD
devmem 0x0a088094 32 0x0701000a

colorbar should display normally
2024-05-17 11:39:27 +08:00
f0d04e5e26 put mipi_tx in board dts for easy configuration 2024-05-17 11:39:27 +08:00
bdc387d4d9 CV180X does not need to compile sample_dsi 2024-05-17 11:39:27 +08:00
e0c1fca950 enable cv181x_mipi_tx.ko for duos 2024-05-17 11:39:26 +08:00
787239588c put loadsystemko.sh in the device overlay 2024-05-17 11:39:26 +08:00
fb069affd1 Changed readme-ja.md to follow readme.md. 2024-05-09 02:46:03 +09:00
bee2e35944 kernel: fix USB AUDIO 2024-04-18 14:24:27 +08:00
7a7b84457f fix typo 2024-04-17 15:54:49 +08:00
ed2c30d592 Merge pull request #84 from yue-xiaomin/develop
Add spinor and spinand configurations for duo256m
2024-04-15 11:32:56 +00:00
34d746143a fix README-zh.md 2024-04-15 18:25:39 +08:00
850d6e42b8 add (duo256m config):support SPINAND image compilation on IOB board 2024-04-15 18:08:03 +08:00
2761a30699 add (duo256m config):support SPINOR image compilation on IOB board 2024-04-15 18:06:26 +08:00
bd98b34f6c add(duo spinor&spinand) buildroot compilation duo-pinmux&cvi-pinmux 2024-04-15 18:03:10 +08:00
c370ec807d duos: emmc version support spi 2024-04-15 17:37:16 +08:00
b14443e7c9 buildroot: enable ALSA 2024-04-15 17:04:19 +08:00
2af594800d kernel: enable USB AUDIO 2024-04-15 16:05:37 +08:00
fdb43604ef build duo-pinmux from source code 2024-04-15 14:27:00 +08:00
14c3412b65 remove duo-pinmux binaries 2024-04-15 14:27:00 +08:00
a8a3714581 Merge pull request #80 from Fishwaldo/develop
Add FENCE.TSO Emulation to opensbi
2024-04-15 03:37:25 +00:00
8d537fe1b7 buildroot: change cvi-pinmux prompt 2024-04-12 19:22:21 +08:00
96848c3bde build cvi-pinmux from source code 2024-04-12 19:09:59 +08:00
a8ccaae351 remove cvi_pinmux 2024-04-12 18:36:13 +08:00
c3843a968a u-boot: support the latest usb_dl tool 2024-04-10 20:18:15 +08:00
248e8d1451 buildroot: enable libcurl 2024-04-09 15:27:18 +08:00
a2429d7c9d lib: sbi_illegal_insn: Fix FENCE.TSO emulation infinite trap loop
In case of missing "FENCE.TSO" instruction implementation,
opensbi can emulate the "FENCE.TSO" with "FENCE RW,RW", but
mepc was not incremented to continue from the next instruction
causing infinite trap.

Fixes: cb8271c8 ("lib: sbi_illegal_insn: Add emulation for fence.tso")
Signed-off-by: Rahul Pathak <rpathak@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Xiang W <wxjstz@126.com>
Reviewed-by: Samuel Holland <samuel@sholland.org>
2024-04-09 14:22:01 +08:00
d009644b1c lib: sbi_illegal_insn: Add emulation for fence.tso
While OpenC906 appears to properly decode `fence.tso` as a fence
instruction[1], the version of the C906 taped out in the Allwinner D1
does not, and raises illegal instruction.

Handle this errata by emulating `fence.tso` as `fence rw, rw`.

[1]: https://github.com/T-head-Semi/openc906/blob/30827e7f/C906_RTL_FACTORY/gen_rtl/idu/rtl/aq_idu_id_decd.v#L2097

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Anup Patel <anup@brainfault.org>
2024-04-09 14:21:28 +08:00
1bd2e81d94 buildroot: replacing wget provided by busybox 2024-04-09 11:53:48 +08:00
453001363e duos: support spi 2024-04-08 17:37:40 +08:00
1256 changed files with 19736 additions and 222361 deletions

5
.gitignore vendored
View File

@ -20,7 +20,4 @@ ncscope.*
__pycache__
.vscode
.cache/
compile_commands.json
.cache

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "osdrv/extdrv/Linux_Drivers"]
path = osdrv/extdrv/Linux_Drivers
url = https://gaoyang3513.synology.me:3000/Demo/Linux_Drivers.git

View File

@ -2,15 +2,27 @@
# 概要
Milk-V DuoはCV1800Bをベースにした超小型の組み込みプラットフォームです。LinuxとRTOSが実行可能で、プロフェッショナル、産業用ODM、AIoT、DIY、クリエイターに、高信頼で高費用対効果なプラットフォームを提供します。
Milk-V
DuoはCV1800Bをベースにした超小型の組み込みプラットフォームです。LinuxとRTOSが実行可能で、プロフェッショナル、産業用ODM、AIoT、DIY、クリエイターに、高信頼で高費用対効果なプラットフォームを提供します。
## ハードウェア
- CPU: CVITEK CV1800B (C906@1Ghz + C906@700MHz)
### Milk-V Duo 64M
- CPU: CVITEK CV1800B (C906@1GHz + C906@700MHz)
- デュアルコアRV64 最大1GHz
- 64MB RAM
- アドオンボード経由での10/100Mbpsイーサネット
### Milk-V Duo 256M
- CPU: SOPHGO SG2002 (C906@1GHz + C906@700MHz + ARM Cortex-A53@1GHz)
- 256MB RAM
- GPIO経由でのオーディオ出力
- 1TOPSのNPU
### Milk-V Duo S
- CPU: SOPHGO SG2000 (C906@1GHz + C906@700MHz + ARM Cortex-A53@1GHz)
- 256MB RAM
- GPIO経由でのオーディオ出力
- 2系統のMIPI CSI
# SDKのディレクトリ構造
```
@ -32,8 +44,9 @@ Milk-V DuoはCV1800Bをベースにした超小型の組み込みプラットフ
# クイックスタート
> [!TIP]
> For the compilation and use methods of the SDK, you can also go to our [official documentation](https://milkv.io/docs/duo/getting-started/buildroot-sdk) for better information and eading experience. In addition, our official documentation website is also open source. If you are interested in enriching the content of the documentation or translating it into other languages, you can go to [this repository](https://github.com/milk-v/milkv.io/) submit your PR, and we will give out exquisite gifts to contributors from time to time.
> [ヒント]
>
このSDKのコンパイル方法や使用法については、[公式ドキュメント](https://milkv.io/docs/duo/getting-started/buildroot-sdk)も参照してください。また、私達の公式ドキュメントのサイトはオープンソースです。もし内容の充実や多言語への翻訳に興味があるなら、ぜひ[このリポジトリ](https://github.com/milk-v/milkv.io/)にPRを飛ばしてください。
コンパイル環境を準備する前に、ローカルのubuntuを使用する際にサポートされているのは`「Ubuntu Jammy 22.04.x amd64」`のみです。
@ -48,7 +61,8 @@ Milk-V DuoはCV1800Bをベースにした超小型の組み込みプラットフ
コンパイルに必要なパッケージをインストールします。
```bash
sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake expect
sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons
parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake expect
```
### SDKのソースコードを入手
@ -59,12 +73,12 @@ git clone https://github.com/milkv-duo/duo-buildroot-sdk.git --depth=1
### <1>. 自動コンパイル
Execute one-click compilation script `build.sh`
自動コンパイルスクリプト`build.sh`を実行:
```bash
cd duo-buildroot-sdk/
./build.sh
```
You will see tips on how to use the compiled script:
コンパイルスクリプトの用法を見ることができます。
```bash
# ./build.sh
Usage:
@ -74,11 +88,11 @@ Usage:
milkv-duo
milkv-duo256m
```
Listed at the bottom is the list of currently supported target versions.
下に表示されるのは現在サポートされているターゲットです。
As shown in the prompt, there are two ways to compile the target version.
プロンプトにあるように、ターゲット向けにコンパイルするには2つ方法があります。
The first method is to execute `./build.sh lunch` to bring up the interactive menu, select the version number to be compiled, and press Enter:
1つ目の方法は、`build.sh lunch`でインタラクティブメニューを立ち上げて、ターゲットのバージョンの番号を選択し、Enterを押すだけです。
```bash
# ./build.sh lunch
Select a target to build:
@ -87,7 +101,7 @@ Select a target to build:
Which would you like:
```
The second method is to put the name of the target version after the script and compile it directly. For example, if you need to compile the image of `milkv-duo`, the command is as follows:
2つ目の方法はスクリプトの引数に直にターゲットのバージョンを渡す方法です。例えば、`milkv-duo`向けにコンパイルするにはこうします。
```bash
# ./build.sh milkv-duo
```
@ -98,13 +112,14 @@ The second method is to put the name of the target version after the script and
### <2>. 手動コンパイル
If you have not executed the one-click compilation script, you need to manually download the toolchain [host-tools](https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz) and extract it to the SDK root directory:
もし自動コンパイルスクリプトを実行していない場合、ツールチェーンを手動でダウンロードする必要があります。
[host-tools](https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz)をダウンロードして、SDKのディレクトリに展開してください。
```bash
tar -xf host-tools.tar.gz -C /your/sdk/path/
```
Then enter the following commands in sequence to complete the step-by-step compilation. Replace `[board]` and `[config]` in the command with the version that needs to be compiled. The currently supported `board` and corresponding `config` are as follows:
手動コンパイルするには以下のコマンドを順を追って実行してください。コマンド中の`[board]``[config]`はターゲットとするハードウェアに置き換えてください。
現在サポートされている`[board]``[config]`は以下のとおりです。
```
milkv-duo cv1800b_milkv_duo_sd
milkv-duo256m cv1812cp_milkv_duo256m_sd
@ -120,7 +135,7 @@ build_all
pack_sd_image
```
For example, if you need to compile the image of `milkv-duo`, the step-by-step compilation command is as follows:
たとえば、`milkv-duo`向けにイメージをコンパイルするコマンドは以下のとおりですs。
```bash
source device/milkv-duo/boardconfig.sh
@ -131,7 +146,7 @@ build_all
pack_sd_image
```
Generated firmware location:
生成されたファームウェアの場所:
```
Duo: install/soc_cv1800b_milkv_duo_sd/[board].img
Duo256M: install/soc_cv1812cp_milkv_duo256m_sd/[board].img
@ -179,8 +194,8 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS
```bash
docker exec -it duodocker /bin/bash -c "cd /home/work && cat /etc/issue && ./build.sh [board]"
```
`./build.sh [board]`のコマンドの終端についてはUbuntu 20.04での自動コンパイルスクリプトでの使い方と同じです。`./build.sh`で使い方が表示され、`./build.sh lunch`で選択画面を表示できます。`./build.sh [board]`で直接ターゲット向けにコンパイルできます。`[board]`の部分は以下に置き換えられます。ターゲットに合わせてください。
Note that the `./build.sh [board]` at the end of the command is the same as the previous usage in the one-click compilation instructions in Ubuntu 22.04. Use `./build.sh` can see how to use the command, use `./ build.sh lunch` can bring up the interactive selection menu, use `./build.sh [board]` to directly compile the target version, `[board]` can be replaced with:
```
milkv-duo
milkv-duo256m
@ -193,7 +208,7 @@ milkv-duo256m
- `cat /etc/issue` Dockerで実行されているイメージのバージョンを表示します。これはいまのところ「Ubuntu 22.04.3 LTS」で、デバッグに使われます。
- `./build.sh [board]` 自動コンパイルスクリプトを実行します。
For example, if you need to compile the image of `milkv-duo`, the command is as follows:
たとえば、`milkv-duo`向けにコンパイルする場合には以下のようにします。
```bash
docker exec -it duodocker /bin/bash -c "cd /home/work && cat /etc/issue && ./build.sh milkv-duo"
```
@ -202,8 +217,7 @@ docker exec -it duodocker /bin/bash -c "cd /home/work && cat /etc/issue && ./bui
### <2>. Dockerを使用して手動コンパイル
If you have not executed the one-click compilation script, you need to manually download the toolchain [host-tools](https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz) and extract it to the SDK root directory:
もし自動コンパイルスクリプトを実行していない場合、手動でツールチェイン[host-tools](https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz)をダウンロードする必要があります。そしてそれをSDKのディレクトリに展開してください。
```bash
tar -xf host-tools.tar.gz -C /your/sdk/path/
```
@ -220,7 +234,8 @@ Dockerに紐付けられたコードディレクトリに入る
root@8edea33c2239:/# cd /home/work/
```
Then enter the following commands in sequence to complete the step-by-step compilation. Replace `[board]` and `[config]` in the command with the version that needs to be compiled. The currently supported `board` and corresponding `config` are as follows:
そして、手動コンパイルを実行するためのコマンドを実行していきます。コマンド中の`[board]``[config]`はコンパイルするターゲットに合わせてください。
今のところサポートされている`board`と対応する`config`は以下のとおりです:
```
milkv-duo cv1800b_milkv_duo_sd
milkv-duo256m cv1812cp_milkv_duo256m_sd
@ -236,7 +251,7 @@ build_all
pack_sd_image
```
For example, if you need to compile the image of `milkv-duo`, the step-by-step compilation command is as follows:
たとえば、`milkv-duo`向けにイメージをコンパイルする場合のコンパイル手順は以下のとおりです。
```bash
source device/milkv-duo/boardconfig.sh
@ -247,14 +262,12 @@ build_all
pack_sd_image
```
Generated firmware location:
生成されたファームウェアの場所:
```
Duo: install/soc_cv1800b_milkv_duo_sd/[board].img
Duo256M: install/soc_cv1812cp_milkv_duo256m_sd/[board].img
```
Generated firmware location: `install/soc_cv1800b_milkv_duo_sd/milkv-duo.img`.
コンパイルが完了したら`exit`コマンドでDockerから抜けれます:
```bash
root@8edea33c2239:/home/work# exit
@ -305,7 +318,7 @@ cmake version 3.27.6
### Windows Subsystem for Linux(WSL)を使用してコンパイル
WSLでコンパイルするには少し問題があります。
互換性のために$PATHにいくつかのスペース文字を含むWindows用の環境変数が入っています
Windowsとの互換性のために環境変数$PATHにいくつかのスペース文字を含むWindows用の環境変数が入っていて、一部でパスが通りません
解決するには`/etc/wsl.conf`ファイルに以下を追記します。
@ -314,8 +327,8 @@ WSLでコンパイルするには少し問題があります。
appendWindowsPath = false
```
その後、`wsl.exe --reboot`でWSLを再起動する必要があります。そうすれば、自動コンパイルスクリプトを実行するか、手動コンパイルを行うことができます。
変更を元に戻すには、`/etc/wsl.conf``appendWindowsPath`をtrueに設定します。Powershellから`wsl.exe --shutdown`を実行してから`wsl.exe`すれば、また$PATHからWindowsの環境変数が使えるようになります。
その後、`wsl.exe --reboot`でWSLを再起動する必要があります。そうすれば手動コンパイルを行うことができます。
変更を元に戻すには、`/etc/wsl.conf``appendWindowsPath`をtrueに設定します。WSLを再起動すれば、また$PATHからWindowsの環境変数が使えるようになります。
## SDカードへの書き込み
@ -332,12 +345,12 @@ appendWindowsPath = false
- Milk-V DuoのmicroSDカードスロットにmicroSDカードを挿入します。
- シリアルケーブルを接続します。(必ずしも必要ではありません)
- 電源に接続するとシステムが立ち上がります。
- シリアルケーブルが接続されている場合、ブートログをシリアルコンソールから見ることができます(`mobarXterm`、`Xshell` など)。システムが立ち上がればコンソールからログインしてLinuxコマンドを実行できます。
- シリアルケーブルが接続されている場合、ブートログをシリアルコンソールから見ることができます(`mobarXterm`、`Xshell` 、`Tera Term`など)。システムが立ち上がればコンソールからログインしてLinuxコマンドを実行できます。
### Duoのターミナルに入る方法
- シリアルケーブルを使う
- USBネットワークを使う(RNDIS)
- USBネットワークを使う(CDC-NCM)
- イーサネットインターフェースを使う(アドオンボードが必要)
Duoのターミナルに入る際に必要なユーザー名とパスワードは以下の通りです。
@ -365,7 +378,7 @@ DuoのLEDをまた点滅させたい場合、スクリプトのファイル名
### IO-Boardを使う
IO-Boardを使用する場合、USBネットワーク(RNDIS)は使用できないので、IO-Boardのイーサネットインターフェースを使用してください。
IO-Boardを使用する場合、USBネットワーク(CDC-NCM)は使用できないので、IO-Boardのイーサネットインターフェースを使用してください。
IO-BoardのEthernetポートに固定MACアドレスを割り当てる必要がある場合は、以下のコマンドを実行してください(**コマンド中のMACアドレスは設定したいMACアドレスに置き換えてください。また、同一ネットワークセグメント内の異なるデバイスのMACアドレスは重複してはいけません**)。
```bash
@ -402,10 +415,10 @@ USBフラッシュドライブをアンマウントするコマンド。
umount /mnt/udisk
```
USBネットワーク(RNDIS)の機能をIO-Board不使用時に使う。
USBネットワーク(CDC-NCM)の機能をIO-Board不使用時に使う。
```bash
ln -sf /mnt/system/usb-rndis.sh /mnt/system/usb.sh
ln -sf /mnt/system/usb-ncm.sh /mnt/system/usb.sh
sync
```
- それからボードを再起動してください。
@ -414,11 +427,12 @@ USBネットワーク(RNDIS)の機能をIO-Board不使用時に使う。
1. なぜ1つのコアしか表示されないのですか。
CV1800Bチップはデュアルコアですが、現在、Linuxシステムは1つのコアで実行され、もう1つのコアはリアルタイムシステムの実行に使用されています。For the use of this core, please see [official documentation](https://milkv.io/docs/duo/getting-started/rtoscore)。
CV1800Bチップはデュアルコアですが、現在、Linuxシステムは1つのコアで実行され、もう1つのコアはリアルタイムシステムの実行に使用されています。このコアの使用については[公式ドキュメント](https://milkv.io/docs/duo/getting-started/rtoscore)をお読みください
2. なぜ28MBしかRAMが使えないのですか。
RAMの一部が[ION](https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/default/dts/cv180x/cv180x_default_memmap.dtsi#L15)に割り当てられており、カメラを使ってアルゴリズムを実行するときに使用するメモリに割り当てられているからです。カメラを使用しない場合は、この[ION_SIZE](https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/cv180x/cv1800b_milkv_duo_sd/memmap.py#L43)の値を0に変更し、再コンパイルしてください(Duo 256M: [ION_SIZE](https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/memmap.py#L43))。
RAMの一部が[ION](https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/default/dts/cv180x/cv180x_default_memmap.dtsi#L15)(カメラを使ってアルゴリズムを実行するときに使用するメモリ)に割り当てられているからです。カメラを使用しない場合は、この[ION_SIZE](https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/cv180x/cv1800b_milkv_duo_sd/memmap.py#L43)の値を0に変更し、再コンパイルしてください(Duo
256M: [ION_SIZE](https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/memmap.py#L43))。
## チップ製造元のドキュメント
@ -432,3 +446,4 @@ USBネットワーク(RNDIS)の機能をIO-Board不使用時に使う。
# フォーラム
- [MilkV Community](https://community.milkv.io/)

51
README-zh.md Normal file → Executable file
View File

@ -65,14 +65,18 @@ cd duo-buildroot-sdk/
会看到编译脚本的使用方法提示:
```bash
# ./build.sh
Usage:
./build.sh - Show this menu
./build.sh lunch - Select a board to build
./build.sh [board] - Build [board] directly, supported boards asfollows:
./build.sh [board] - Build [board] directly, supported boards as follows:
milkv-duo
milkv-duo-spinand
milkv-duo-spinor
milkv-duo256m
milkv-duo256m-spinand
milkv-duo256m-spinor
milkv-duos-emmc
milkv-duos-sd
```
最下边列出的是当前支持的目标版本列表。带 `spinor` 或者 `spinand` 后缀的为基于 IOB 板载 NOR FLASH 或者 NAND FLASH 的版本。
@ -86,6 +90,11 @@ Select a target to build:
2. milkv-duo-spinand
3. milkv-duo-spinor
4. milkv-duo256m
5. milkv-duo256m-spinand
6. milkv-duo256m-spinor
7. milkv-duos-emmc
8. milkv-duos-sd
Which would you like:
```
@ -112,6 +121,8 @@ milkv-duo cv1800b_milkv_duo_sd
milkv-duo-spinand cv1800b_milkv_duo_spinand
milkv-duo-spinor cv1800b_milkv_duo_spinor
milkv-duo256m cv1812cp_milkv_duo256m_sd
milkv-duo256m-spinand cv1812cp_milkv_duo256m_spinand
milkv-duo256m-spinor cv1812cp_milkv_duo256m_spinor
```
```bash
@ -137,10 +148,12 @@ pack_sd_image
生成的固件位置:
```
Duo: install/soc_cv1800b_milkv_duo_sd/[board].img
Duo(nor): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinor、rootfs.spinor
Duo(nand): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinand、rootfs.spinand、system.spinand、cfg.spinand
Duo256M: install/soc_cv1812cp_milkv_duo256m_sd/[board].img
Duo: install/soc_cv1800b_milkv_duo_sd/[board].img
Duo(nor): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinor、rootfs.spinor
Duo(nand): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinand、rootfs.spinand、system.spinand、cfg.spinand
Duo256M: install/soc_cv1812cp_milkv_duo256m_sd/[board].img
Duo256M(nor): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinor、rootfs.spinor
Duo256M(nand): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinand、rootfs.spinand、system.spinand、cfg.spinand
```
## 二、使用 Docker 编译
@ -192,6 +205,10 @@ milkv-duo
milkv-duo-spinand
milkv-duo-spinor
milkv-duo256m
milkv-duo256m-spinand
milkv-duo256m-spinor
milkv-duos-emmc
milkv-duos-sd
```
命令中部分参数说明:
@ -234,6 +251,8 @@ milkv-duo cv1800b_milkv_duo_sd
milkv-duo-spinand cv1800b_milkv_duo_spinand
milkv-duo-spinor cv1800b_milkv_duo_spinor
milkv-duo256m cv1812cp_milkv_duo256m_sd
milkv-duo256m-spinand cv1812cp_milkv_duo256m_spinand
milkv-duo256m-spinor cv1812cp_milkv_duo256m_spinor
```
```bash
@ -259,10 +278,12 @@ pack_sd_image
生成的固件位置:
```
Duo: install/soc_cv1800b_milkv_duo_sd/[board].img
Duo(nor): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinor、rootfs.spinor
Duo(nand): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinand、rootfs.spinand、system.spinand、cfg.spinand
Duo256M: install/soc_cv1812cp_milkv_duo256m_sd/[board].img
Duo: install/soc_cv1800b_milkv_duo_sd/[board].img
Duo(nor): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinor、rootfs.spinor
Duo(nand): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinand、rootfs.spinand、system.spinand、cfg.spinand
Duo256M: install/soc_cv1812cp_milkv_duo256m_sd/[board].img
Duo256M(nor): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinor、rootfs.spinor
Duo256M(nand): install/soc_cv1800b_milkv_duo_sd/fip.bin、boot.spinand、rootfs.spinand、system.spinand、cfg.spinand
```
编译完成后可以用 `exit` 命令退出 Docker 环境:
@ -354,7 +375,7 @@ appendWindowsPath = false
### 登陆到 Duo 终端的方法
- 通过串口线
- 通过 USB 网卡 (RNDIS) 方式
- 通过 USB 网卡 (CDC-NCM) 方式
- 通过以太网接口(需要扩展板支持)
登陆 Duo 终端的用户名和密码分别为:
@ -380,9 +401,9 @@ mv /mnt/system/blink.sh_backup /mnt/system/blink.sh && sync
### 使用 IO Board 底板
注意,使用 IO Board 底板时USB 网卡 (RNDIS) 不可用,如需使用网络功能,请使用底板上的以太网接口。
注意,使用 IO Board 底板时USB 网卡 (CDC-NCM) 不可用,如需使用网络功能,请使用底板上的以太网接口。
使用底板上的 4 个 USB 口,需要修改一下配置,将默认固件中的 `usb-rndis` 功能修改为 `usb-host`
使用底板上的 4 个 USB 口,需要修改一下配置,将默认固件中的 `usb-ncm` 功能修改为 `usb-host`
```bash
ln -sf /mnt/system/usb-host.sh /mnt/system/usb.sh
@ -411,10 +432,10 @@ ls /mnt/udisk
umount /mnt/udisk
```
不使用底板时,恢复 USB 网卡 (RNDIS) 的方法:
不使用底板时,恢复 USB 网卡 (CDC-NCM) 的方法:
```bash
ln -sf /mnt/system/usb-rndis.sh /mnt/system/usb.sh
ln -sf /mnt/system/usb-ncm.sh /mnt/system/usb.sh
sync
```

View File

@ -337,7 +337,7 @@ To rollback this change in `/etc/wsl.conf` file set `appendWindowsPath` as true.
### The method to log in to the Duo terminal
- Using a serial cable.
- Using a USB network (RNDIS).
- Using a USB network (CDC-NCM).
- Using the Ethernet interface (requires the IO-Board).
The username and password for logging into the Duo terminal are as follows:
@ -365,7 +365,7 @@ mv /mnt/system/blink.sh_backup /mnt/system/blink.sh && sync
### Using the IO-Board baseboard
Note that when using the IO-Board, the USB network (RNDIS) is not available, Please use the Ethernet interface on the IO-Board.
Note that when using the IO-Board, the USB network (CDC-NCM) is not available, Please use the Ethernet interface on the IO-Board.
If you need to assign a fixed MAC address to the Ethernet port of the IO-Board, please execute the following command(**Replace the MAC address in the command with the MAC address you want to set, and please note that MAC addresses of different devices within the same network segment must not be duplicated**):
@ -405,10 +405,10 @@ The command to unmount a USB flash drive:
umount /mnt/udisk
```
To restore the functionality of the USB network (RNDIS) when not using the IO-Board, you can follow these steps:
To restore the functionality of the USB network (CDC-NCM) when not using the IO-Board, you can follow these steps:
```bash
ln -sf /mnt/system/usb-rndis.sh /mnt/system/usb.sh
ln -sf /mnt/system/usb-ncm.sh /mnt/system/usb.sh
sync
```

View File

@ -16,6 +16,18 @@
};
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "okay";
};

View File

@ -230,7 +230,8 @@ CONFIG_SND=y
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_HDA_PREALLOC_SIZE=1
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y
@ -260,6 +261,9 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_AUDIO is not set
CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y

View File

@ -1,5 +1,4 @@
<physical_partition type="sd">
<partition label="BOOT" size_in_kb="80960" readonly="false" file="boot.sd"/>
<partition label="ROOTFS" size_in_kb="204800" readonly="false" file="rootfs.sd" />
<partition label="DATA" size_in_kb="512000" readonly="false" file="data.sd" mountpoint="/mnt/data" type="ext4" />
<partition label="BOOT" size_in_kb="131072" readonly="false" file="boot.sd"/>
<partition label="ROOTFS" size_in_kb="786560" readonly="false" file="rootfs.sd" />
</physical_partition>

View File

@ -1,5 +0,0 @@
<physical_partition type="sd">
<partition label="BOOT" size_in_kb="80960" readonly="false" file="boot.sd"/>
<partition label="ROOTFS" size_in_kb="204800" readonly="false" file="rootfs.sd" />
<partition label="DATA" size_in_kb="512000" readonly="false" file="data.sd" mountpoint="/mnt/data" type="ext4" />
</physical_partition>

View File

@ -210,6 +210,7 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y

View File

@ -177,6 +177,7 @@ CONFIG_USB_GADGET=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_ROLE_SWITCH=y

View File

@ -29,7 +29,6 @@ CONFIG_BOOT_IMAGE_SINGLE_DTB=y
# FIP setting
#
CONFIG_FIP_V2=y
CONFIG_OD_CLK_SEL=y
# end of FIP setting
#

View File

@ -30,6 +30,18 @@
status = "disabled";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
/ {
model = "Milk-V Duo256M";
};

View File

@ -173,7 +173,8 @@ CONFIG_SND=y
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_HDA_PREALLOC_SIZE=1
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y
@ -203,6 +204,9 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_AUDIO is not set
CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y

View File

@ -1,4 +1,4 @@
<physical_partition type="sd">
<partition label="BOOT" size_in_kb="262144" readonly="false" file="boot.sd"/>
<partition label="ROOTFS" size_in_kb="262144" readonly="false" file="rootfs.sd" />
<partition label="BOOT" size_in_kb="131072" readonly="false" file="boot.sd"/>
<partition label="ROOTFS" size_in_kb="786560" readonly="false" file="rootfs.sd" />
</physical_partition>

View File

@ -0,0 +1,9 @@
{
"ddr_cfg_list": [
"",
"ddr3_1866_x16",
"ddr3_2133_x16",
"ddr_auto_x16"
],
"board_information": "C906B + SPINAND 256MB + QFN SIP 256MB"
}

View File

@ -0,0 +1,119 @@
CONFIG_CHIP_cv1812cp=y
CONFIG_BOARD_milkv_duo256m_spinand=y
CONFIG_DDR_CFG_ddr3_1866_x16=y
CONFIG_ARCH="riscv"
#
# Compile-time checks and compiler options
#
CONFIG_CROSS_COMPILE="riscv64-unknown-linux-musl-"
CONFIG_CROSS_COMPILE_KERNEL="riscv64-unknown-linux-musl-"
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_KERNEL_ENTRY_HACK=y
CONFIG_KERNEL_ENTRY_HACK_ADDR="0x80200000"
# end of Compile-time checks and compiler options
#
# SDK options
#
CONFIG_TOOLCHAIN_MUSL_RISCV64=y
CONFIG_CROSS_COMPILE_SDK="riscv64-unknown-linux-musl-"
CONFIG_MW_VER="v2"
CONFIG_SDK_VER="musl_riscv64"
CONFIG_BUILD_FOR_DEBUG=y
CONFIG_FLASH_SIZE_SHRINK=y
CONFIG_BOOT_IMAGE_SINGLE_DTB=y
# end of SDK options
#
# FIP setting
#
CONFIG_FIP_V2=y
# end of FIP setting
#
# Storage settings
#
CONFIG_STORAGE_TYPE_spinand=y
CONFIG_STORAGE_TYPE="spinand"
CONFIG_NANDFLASH_BLOCKSIZE=131072
CONFIG_NANDFLASH_PAGESIZE=2048
# end of Storage settings
#
# Sensor settings
#
#
# Sensor support list
#
CONFIG_SENSOR_GCORE_GC2053=y
CONFIG_SENSOR_GCORE_GC2083=y
CONFIG_SENSOR_GCORE_GC4653=y
CONFIG_SENSOR_OV_OV5647=y
CONFIG_SENSOR_SMS_SC035HGS=y
CONFIG_SENSOR_SMS_SC200AI=y
# end of Sensor support list
#
# Sensor tuning param config
#
#
# src
#
CONFIG_SENSOR_TUNING_PARAM_cv181x_src_gcore_gc4653=y
# end of src
CONFIG_SENSOR_TUNING_PARAM="gcore_gc4653"
# end of Sensor tuning param config
# end of Sensor settings
#
# uboot options
#
CONFIG_USE_DEFAULT_ENV=y
CONFIG_UBOOT_2021_10=y
CONFIG_UBOOT_SRC="u-boot-2021.10"
# end of uboot options
#
# Kernel options
#
CONFIG_KERNEL_SRC_5.10=y
CONFIG_KERNEL_SRC="linux_5.10"
CONFIG_KERNEL_LZMA=y
CONFIG_KERNEL_COMPRESS="lzma"
# end of Kernel options
#
# ROOTFS options
#
CONFIG_SKIP_RAMDISK=y
CONFIG_USE_4K_ERASE_SIZE_FOR_JFFS2=y
CONFIG_BUILDROOT_FS=y
# end of ROOTFS options
#
# Rootfs packages
#
CONFIG_TARGET_PACKAGE_DROPBEAR=y
CONFIG_TARGET_PACKAGE_GDBSERVER=y
CONFIG_TARGET_PACKAGE_LIBCRYPTO=y
CONFIG_TARGET_PACKAGE_LIBZ=y
CONFIG_TARGET_PACKAGE_MTD-UTILS=y
CONFIG_TARGET_PACKAGE_OTASERVER=y
CONFIG_TARGET_PACKAGE_BUSYBOX_SYSLOGD_SCRIPT=y
CONFIG_TARGET_PACKAGE_CRONTABS=y
CONFIG_TARGET_PACKAGE_NTP=y
# end of Rootfs packages
#
# RTOS options
#
CONFIG_ENABLE_FREERTOS=y
CONFIG_ENABLE_RTOS_DUMP_PRINT=y
CONFIG_DUMP_PRINT_SZ_IDX=17
CONFIG_FAST_IMAGE_TYPE=0
CONFIG_DISABLE_ALIOS=y
# end of RTOS options

View File

@ -0,0 +1,36 @@
/dts-v1/;
#include "cv181x_base_riscv.dtsi"
#include "cv181x_asic_qfn.dtsi"
#include "cv181x_asic_spinand.dtsi"
#include "cv181x_default_memmap.dtsi"
&mipi_rx{
snsr-reset = <&portc 17 GPIO_ACTIVE_LOW>, <&portc 17 GPIO_ACTIVE_LOW>, <&portc 17 GPIO_ACTIVE_LOW>;
};
&mipi_tx {
/delete-property/ reset-gpio;
/delete-property/ pwm-gpio;
/delete-property/ power-ct-gpio;
};
&spi2 {
status = "okay";
spidev@0 {
status = "okay";
};
};
&i2c0 {
status = "disabled";
};
&i2c4 {
status = "disabled";
};
/ {
model = "Milk-V Duo256M";
};

View File

@ -0,0 +1,303 @@
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=15
CONFIG_BLK_DEV_INITRD=y
# CONFIG_SYSFS_SYSCALL is not set
# CONFIG_FHANDLE is not set
# CONFIG_BASE_FULL is not set
# CONFIG_AIO is not set
CONFIG_EMBEDDED=y
# CONFIG_SLUB_DEBUG is not set
CONFIG_FORCE_MAX_ZONEORDER=10
CONFIG_ARCH_CVITEK=y
CONFIG_SOC_THEAD=y
# CONFIG_RISCV_SWIOTLB is not set
CONFIG_VECTOR=y
CONFIG_VECTOR_0_7=y
# CONFIG_COMPAT is not set
CONFIG_ARCH_CVITEK_CHIP="cv181x"
CONFIG_ARCH_CV181X_ASIC=y
CONFIG_POWER_RESET=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_STRICT_KERNEL_RWX=n
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_BLOCK=y
CONFIG_BLK_SCSI_REQUEST=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_MQ_IOSCHED_DEADLINE is not set
# CONFIG_MQ_IOSCHED_KYBER is not set
# CONFIG_COREDUMP is not set
CONFIG_CMA=y
CONFIG_ZSMALLOC=y
CONFIG_ZSMALLOC_STAT=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_INET_DIAG is not set
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
# CONFIG_IPV6_SIT is not set
CONFIG_IPV6_MROUTE=y
CONFIG_CFG80211=y
# CONFIG_CFG80211_CRDA_SUPPORT is not set
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_RFKILL=y
CONFIG_UEVENT_HELPER=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_ALLOW_DEV_COREDUMP is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_OF_PARTS is not set
CONFIG_MTD_BLOCK=y
CONFIG_MTD_RAW_NAND=y
CONFIG_MTD_NAND_CVSNFC=y
CONFIG_MTD_SPI_NOR=y
CONFIG_SPI_CVI_SPIF=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_BLOCK=y
CONFIG_ZRAM=m
CONFIG_ZRAM_WRITEBACK=y
CONFIG_ZRAM_MEMORY_TRACKING=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_PROC_FS=y
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_NETDEVICES=y
# CONFIG_NET_CORE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_AURORA is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_STMMAC_ETH=y
# CONFIG_DWMAC_GENERIC is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_CVITEK_PHY=y
# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_CISCO is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_RTL8188FU is not set
# CONFIG_WLAN_VENDOR_RSI is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_EVDEV=y
# CONFIG_SERIO is not set
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=5
CONFIG_SERIAL_8250_RUNTIME_UARTS=5
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
CONFIG_HW_RANDOM=y
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_SPI=y
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_PINCTRL=y
CONFIG_CVITEK_PINCTRL_CV1835=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_DWAPB=y
CONFIG_POWER_RESET=y
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_EMULATION=y
CONFIG_WATCHDOG=y
CONFIG_MEDIA_SUPPORT=n
CONFIG_VIDEO_V4L2_SUBDEV_API=n
# CONFIG_DVB_NET is not set
# CONFIG_DVB_DYNAMIC_MINORS is not set
CONFIG_V4L_PLATFORM_DRIVERS=n
CONFIG_V4L_MEM2MEM_DRIVERS=n
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=n
CONFIG_VIDEO_CVITEK_CIF=m
CONFIG_VIDEO_CVITEK_SNS_I2C=m
CONFIG_FB=y
CONFIG_FB_CVITEK=m
CONFIG_FB_TFT=y
CONFIG_FB_TFT_ST7789V=y
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_PROC_FS is not set
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_HDA_PREALLOC_SIZE=1
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y
CONFIG_SND_CV1835_I2S=y
CONFIG_SND_SOC_CV182XAADC=y
CONFIG_SND_SOC_CV182XADAC=y
CONFIG_SND_SOC_CV1835_USE_AUDIO_PLL=y
CONFIG_CV1835_I2S_SUBSYS=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_DWC2=y
CONFIG_USB_GADGET=y
CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=y
CONFIG_USB_F_SERIAL=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_EEM=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=y
CONFIG_USB_F_UVC=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_CVI=y
CONFIG_RTC_CLASS=y
CONFIG_DMADEVICES=y
CONFIG_DW_DMAC_CVITEK=y
CONFIG_RTC_CLASS=y
# CONFIG_VIRTIO_MENU is not set
CONFIG_STAGING=y
CONFIG_ION=y
CONFIG_ION_SYSTEM_HEAP=y
CONFIG_ION_CARVEOUT_HEAP=y
CONFIG_ION_CMA_HEAP=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_CV1835_SYSDMA_REMAP=y
CONFIG_CVI_MAILBOX=y
CONFIG_PWM=y
CONFIG_SIFIVE_PLIC=y
CONFIG_ANDROID=y
# CONFIG_MANDATORY_FILE_LOCKING is not set
CONFIG_VFAT_FS=y
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_TMPFS=y
CONFIG_CONFIGFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_WBUF_VERIFY=y
CONFIG_UBIFS_FS=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_ZLIB is not set
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_XZ=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_ROOT_NFS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_HW is not set
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_PRINTK_TIME=y
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_ENABLE_MUST_CHECK is not set
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_FTRACE is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DEBUG_INFO=n
CONFIG_DEBUG_INFO_DWARF4=n
CONFIG_DEBUG_FS=y
CONFIG_GDB_SCRIPTS=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_DEBUG_FS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_KALLSYMS=y
CONFIG_FRAME_POINTER=n
CONFIG_DEBUG_MISC=n
CONFIG_RCU_TRACE=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_MULTIUSER=y
CONFIG_BUG=n
CONFIG_IO_URING=n
CONFIG_ADVISE_SYSCALLS=n
CONFIG_SIGNALFD=n
CONFIG_TIMERFD=n
CONFIG_EPOLL=y
CONFIG_ELF_CORE=y
CONFIG_COREDUMP=y
CONFIG_PROC_SYSCTL=y

View File

@ -0,0 +1,491 @@
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=15
CONFIG_BLK_DEV_INITRD=y
# CONFIG_SYSFS_SYSCALL is not set
# CONFIG_FHANDLE is not set
# CONFIG_BASE_FULL is not set
# CONFIG_AIO is not set
CONFIG_EMBEDDED=y
# CONFIG_SLUB_DEBUG is not set
CONFIG_FORCE_MAX_ZONEORDER=10
CONFIG_ARCH_CVITEK=y
CONFIG_SOC_THEAD=y
# CONFIG_RISCV_SWIOTLB is not set
CONFIG_VECTOR=y
CONFIG_VECTOR_0_7=y
# CONFIG_COMPAT is not set
CONFIG_ARCH_CVITEK_CHIP="cv181x"
CONFIG_ARCH_CV181X_ASIC=y
CONFIG_POWER_RESET=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_STRICT_KERNEL_RWX=n
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_MQ_IOSCHED_DEADLINE is not set
# CONFIG_MQ_IOSCHED_KYBER is not set
# CONFIG_COREDUMP is not set
CONFIG_CMA=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_INET_DIAG is not set
# CONFIG_IPV6 is not set
CONFIG_CFG80211=m
CONFIG_RFKILL=y
CONFIG_UEVENT_HELPER=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_ALLOW_DEV_COREDUMP is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_OF_PARTS is not set
CONFIG_MTD_BLOCK=y
CONFIG_MTD_RAW_NAND=y
CONFIG_MTD_NAND_PLATFORM=y
CONFIG_MTD_NAND_CVSNFC=y
CONFIG_MTD_SPI_NOR=y
CONFIG_SPI_CVI_SPIF=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_BLOCK=y
CONFIG_NETDEVICES=y
# CONFIG_NET_CORE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_AURORA is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_STMMAC_ETH=y
# CONFIG_DWMAC_GENERIC is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_CVITEK_PHY=y
# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_CISCO is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_RTL8188FU is not set
# CONFIG_WLAN_VENDOR_RSI is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_EVDEV=y
# CONFIG_SERIO is not set
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=5
CONFIG_SERIAL_8250_RUNTIME_UARTS=5
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
CONFIG_HW_RANDOM=y
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_SPI=y
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_PINCTRL=y
CONFIG_CVITEK_PINCTRL_CV1835=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_DWAPB=y
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_EMULATION=y
CONFIG_WATCHDOG=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y
CONFIG_VIDEO_CVITEK=m
CONFIG_VIDEO_CVITEK_CIF=m
CONFIG_VIDEO_CVITEK_SNS_I2C=m
CONFIG_VIDEO_CVITEK_MIPI_TX=m
#
# Media SPI Adapters
#
# CONFIG_CXD2880_SPI_DRV is not set
# end of Media SPI Adapters
#
# Customize TV tuners
#
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA18250 is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA827X is not set
# CONFIG_MEDIA_TUNER_TDA18271 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_MSI001 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2063 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# CONFIG_MEDIA_TUNER_XC4000 is not set
# CONFIG_MEDIA_TUNER_MXL5005S is not set
# CONFIG_MEDIA_TUNER_MXL5007T is not set
# CONFIG_MEDIA_TUNER_MC44S803 is not set
# CONFIG_MEDIA_TUNER_MAX2165 is not set
# CONFIG_MEDIA_TUNER_TDA18218 is not set
# CONFIG_MEDIA_TUNER_FC0011 is not set
# CONFIG_MEDIA_TUNER_FC0012 is not set
# CONFIG_MEDIA_TUNER_FC0013 is not set
# CONFIG_MEDIA_TUNER_TDA18212 is not set
# CONFIG_MEDIA_TUNER_E4000 is not set
# CONFIG_MEDIA_TUNER_FC2580 is not set
# CONFIG_MEDIA_TUNER_M88RS6000T is not set
# CONFIG_MEDIA_TUNER_TUA9001 is not set
# CONFIG_MEDIA_TUNER_SI2157 is not set
# CONFIG_MEDIA_TUNER_IT913X is not set
# CONFIG_MEDIA_TUNER_R820T is not set
# CONFIG_MEDIA_TUNER_MXL301RF is not set
# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set
# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set
# end of Customize TV tuners
#
# Customise DVB Frontends
#
#
# Multistandard (satellite) frontends
#
# CONFIG_DVB_STB0899 is not set
# CONFIG_DVB_STB6100 is not set
# CONFIG_DVB_STV090x is not set
# CONFIG_DVB_STV0910 is not set
# CONFIG_DVB_STV6110x is not set
# CONFIG_DVB_STV6111 is not set
# CONFIG_DVB_MXL5XX is not set
# CONFIG_DVB_M88DS3103 is not set
#
# Multistandard (cable + terrestrial) frontends
#
# CONFIG_DVB_DRXK is not set
# CONFIG_DVB_TDA18271C2DD is not set
# CONFIG_DVB_SI2165 is not set
# CONFIG_DVB_MN88472 is not set
# CONFIG_DVB_MN88473 is not set
#
# DVB-S (satellite) frontends
#
# CONFIG_DVB_CX24110 is not set
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_MT312 is not set
# CONFIG_DVB_ZL10036 is not set
# CONFIG_DVB_ZL10039 is not set
# CONFIG_DVB_S5H1420 is not set
# CONFIG_DVB_STV0288 is not set
# CONFIG_DVB_STB6000 is not set
# CONFIG_DVB_STV0299 is not set
# CONFIG_DVB_STV6110 is not set
# CONFIG_DVB_STV0900 is not set
# CONFIG_DVB_TDA8083 is not set
# CONFIG_DVB_TDA10086 is not set
# CONFIG_DVB_TDA8261 is not set
# CONFIG_DVB_VES1X93 is not set
# CONFIG_DVB_TUNER_ITD1000 is not set
# CONFIG_DVB_TUNER_CX24113 is not set
# CONFIG_DVB_TDA826X is not set
# CONFIG_DVB_TUA6100 is not set
# CONFIG_DVB_CX24116 is not set
# CONFIG_DVB_CX24117 is not set
# CONFIG_DVB_CX24120 is not set
# CONFIG_DVB_SI21XX is not set
# CONFIG_DVB_TS2020 is not set
# CONFIG_DVB_DS3000 is not set
# CONFIG_DVB_MB86A16 is not set
# CONFIG_DVB_TDA10071 is not set
#
# DVB-T (terrestrial) frontends
#
# CONFIG_DVB_SP8870 is not set
# CONFIG_DVB_SP887X is not set
# CONFIG_DVB_CX22700 is not set
# CONFIG_DVB_CX22702 is not set
# CONFIG_DVB_S5H1432 is not set
# CONFIG_DVB_DRXD is not set
# CONFIG_DVB_L64781 is not set
# CONFIG_DVB_TDA1004X is not set
# CONFIG_DVB_NXT6000 is not set
# CONFIG_DVB_MT352 is not set
# CONFIG_DVB_ZL10353 is not set
# CONFIG_DVB_DIB3000MB is not set
# CONFIG_DVB_DIB3000MC is not set
# CONFIG_DVB_DIB7000M is not set
# CONFIG_DVB_DIB7000P is not set
# CONFIG_DVB_DIB9000 is not set
# CONFIG_DVB_TDA10048 is not set
# CONFIG_DVB_AF9013 is not set
# CONFIG_DVB_EC100 is not set
# CONFIG_DVB_STV0367 is not set
# CONFIG_DVB_CXD2820R is not set
# CONFIG_DVB_CXD2841ER is not set
# CONFIG_DVB_RTL2830 is not set
# CONFIG_DVB_RTL2832 is not set
# CONFIG_DVB_RTL2832_SDR is not set
# CONFIG_DVB_SI2168 is not set
# CONFIG_DVB_ZD1301_DEMOD is not set
# CONFIG_DVB_CXD2880 is not set
#
# DVB-C (cable) frontends
#
# CONFIG_DVB_VES1820 is not set
# CONFIG_DVB_TDA10021 is not set
# CONFIG_DVB_TDA10023 is not set
# CONFIG_DVB_STV0297 is not set
#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51211 is not set
# CONFIG_DVB_OR51132 is not set
# CONFIG_DVB_BCM3510 is not set
# CONFIG_DVB_LGDT330X is not set
# CONFIG_DVB_LGDT3305 is not set
# CONFIG_DVB_LGDT3306A is not set
# CONFIG_DVB_LG2160 is not set
# CONFIG_DVB_S5H1409 is not set
# CONFIG_DVB_AU8522_DTV is not set
# CONFIG_DVB_AU8522_V4L is not set
# CONFIG_DVB_S5H1411 is not set
#
# ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_S921 is not set
# CONFIG_DVB_DIB8000 is not set
# CONFIG_DVB_MB86A20S is not set
#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_TC90522 is not set
# CONFIG_DVB_MN88443X is not set
#
# Digital terrestrial only tuners/PLL
#
# CONFIG_DVB_PLL is not set
# CONFIG_DVB_TUNER_DIB0070 is not set
# CONFIG_DVB_TUNER_DIB0090 is not set
#
# SEC control devices for DVB-S
#
# CONFIG_DVB_DRX39XYJ is not set
# CONFIG_DVB_LNBH25 is not set
# CONFIG_DVB_LNBH29 is not set
# CONFIG_DVB_LNBP21 is not set
# CONFIG_DVB_LNBP22 is not set
# CONFIG_DVB_ISL6405 is not set
# CONFIG_DVB_ISL6421 is not set
# CONFIG_DVB_ISL6423 is not set
# CONFIG_DVB_A8293 is not set
# CONFIG_DVB_LGS8GL5 is not set
# CONFIG_DVB_LGS8GXX is not set
# CONFIG_DVB_ATBM8830 is not set
# CONFIG_DVB_TDA665x is not set
# CONFIG_DVB_IX2505V is not set
# CONFIG_DVB_M88RS2000 is not set
# CONFIG_DVB_AF9033 is not set
# CONFIG_DVB_HORUS3A is not set
# CONFIG_DVB_ASCOT2E is not set
# CONFIG_DVB_HELENE is not set
#
# Common Interface (EN50221) controller drivers
#
# CONFIG_DVB_CXD2099 is not set
# CONFIG_DVB_SP2 is not set
# end of Customise DVB Frontends
#
# Digital TV options
#
# CONFIG_DVB_NET is not set
# CONFIG_DVB_DYNAMIC_MINORS is not set
# end of Digital TV options
CONFIG_FB=y
CONFIG_FB_CVITEK=m
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_PROC_FS is not set
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_HDA_PREALLOC_SIZE=1
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y
CONFIG_SND_CV1835_I2S=y
CONFIG_SND_SOC_CV182XAADC=y
CONFIG_SND_SOC_CV182XADAC=y
CONFIG_SND_SOC_CV1835_USE_AUDIO_PLL=y
CONFIG_CV1835_I2S_SUBSYS=y
CONFIG_USB=y
CONFIG_USB_DWC2=m
CONFIG_USB_GADGET=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_CVI=y
CONFIG_DMADEVICES=y
CONFIG_DW_DMAC_CVITEK=y
CONFIG_RTC_CLASS=y
# CONFIG_VIRTIO_MENU is not set
CONFIG_STAGING=y
CONFIG_ION=y
CONFIG_ION_SYSTEM_HEAP=y
CONFIG_ION_CARVEOUT_HEAP=y
CONFIG_ION_CMA_HEAP=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_CV1835_SYSDMA_REMAP=y
CONFIG_PWM=y
CONFIG_SIFIVE_PLIC=y
CONFIG_ANDROID=y
# CONFIG_MANDATORY_FILE_LOCKING is not set
CONFIG_VFAT_FS=y
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_TMPFS=y
CONFIG_CONFIGFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_WBUF_VERIFY=y
CONFIG_UBIFS_FS=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_ZLIB is not set
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_XZ=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_ROOT_NFS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_HW is not set
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_PRINTK_TIME=y
CONFIG_DYNAMIC_DEBUG=y
# CONFIG_DEBUG_BUGVERBOSE is not set
CONFIG_DEBUG_INFO=n
CONFIG_DEBUG_INFO_DWARF4=n
CONFIG_GDB_SCRIPTS=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_DEBUG_FS=y
CONFIG_BLK_DEV_INITRD=n
CONFIG_KALLSYMS=y
CONFIG_FRAME_POINTER=n
CONFIG_DEBUG_MISC=n
CONFIG_RCU_TRACE=n
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_FTRACE is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_USB_ROLE_SWITCH=y
CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=m
CONFIG_USB_U_SERIAL=m
CONFIG_USB_U_ETHER=m
CONFIG_USB_U_AUDIO=m
CONFIG_USB_F_SERIAL=m
CONFIG_USB_F_ECM=m
CONFIG_USB_F_EEM=m
CONFIG_USB_F_RNDIS=m
CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC1=m
CONFIG_USB_F_UVC=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
# CONFIG_USB_CONFIGFS_OBEX is not set
# CONFIG_USB_CONFIGFS_NCM is not set
CONFIG_USB_CONFIGFS_ECM=y
# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
# CONFIG_USB_CONFIGFS_F_LB_SS is not set
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_UEVENT=y
CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
# CONFIG_USB_CONFIGFS_F_UAC2 is not set
# CONFIG_USB_CONFIGFS_F_MIDI is not set
# CONFIG_USB_CONFIGFS_F_HID is not set
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_BUG=n
CONFIG_IO_URING=n
CONFIG_ADVISE_SYSCALLS=n
CONFIG_SIGNALFD=n
CONFIG_TIMERFD=n
CONFIG_EPOLL=n
CONFIG_ELF_CORE=y
CONFIG_COREDUMP=y
CONFIG_PROC_SYSCTL=y

View File

@ -0,0 +1,85 @@
SIZE_1M = 0x100000
SIZE_1K = 1024
# Only attributes in class MemoryMap are generated to .h
class MemoryMap:
# No prefix "CVIMMAP_" for the items in _no_prefix[]
_no_prefix = [
"CONFIG_SYS_TEXT_BASE" # u-boot's CONFIG_SYS_TEXT_BASE is used without CPP.
]
DRAM_BASE = 0x80000000
DRAM_SIZE = 256 * SIZE_1M
# ==============
# C906L FreeRTOS
# ==============
FREERTOS_SIZE = 2 * SIZE_1M
# FreeRTOS is at the end of DRAM
FREERTOS_ADDR = DRAM_BASE + DRAM_SIZE - FREERTOS_SIZE
FSBL_C906L_START_ADDR = FREERTOS_ADDR
# ==============================
# OpenSBI | arm-trusted-firmware
# ==============================
# Monitor is at the begining of DRAM
MONITOR_ADDR = DRAM_BASE
ATF_SIZE = 512 * SIZE_1K
OPENSBI_SIZE = 512 * SIZE_1K
OPENSBI_FDT_ADDR = MONITOR_ADDR + OPENSBI_SIZE
# =========================
# memory@DRAM_BASE in .dts.
# =========================
# Ignore the area of FreeRTOS in u-boot and kernel
KERNEL_MEMORY_ADDR = DRAM_BASE
KERNEL_MEMORY_SIZE = DRAM_SIZE - FREERTOS_SIZE
# =================
# Multimedia buffer. Used by u-boot/kernel/FreeRTOS
# =================
ION_SIZE = 75 * SIZE_1M
H26X_BITSTREAM_SIZE = 2 * SIZE_1M
H26X_ENC_BUFF_SIZE = 0
ISP_MEM_BASE_SIZE = 20 * SIZE_1M
FREERTOS_RESERVED_ION_SIZE = H26X_BITSTREAM_SIZE + H26X_ENC_BUFF_SIZE + ISP_MEM_BASE_SIZE
# ION after FreeRTOS
ION_ADDR = FREERTOS_ADDR - ION_SIZE
# Buffers of the fast image are inside the ION buffer
H26X_BITSTREAM_ADDR = ION_ADDR
H26X_ENC_BUFF_ADDR = H26X_BITSTREAM_ADDR + H26X_BITSTREAM_SIZE
ISP_MEM_BASE_ADDR = H26X_ENC_BUFF_ADDR + H26X_ENC_BUFF_SIZE
assert ISP_MEM_BASE_ADDR + ISP_MEM_BASE_SIZE <= ION_ADDR + ION_SIZE
# Boot logo is after the ION buffer
# Framebuffer uses boot logo's reserved memory
BOOTLOGO_SIZE = 1800 * SIZE_1K
BOOTLOGO_ADDR = ION_ADDR - BOOTLOGO_SIZE
FRAMEBUFFER_SIZE = BOOTLOGO_SIZE
FRAMEBUFFER_ADDR = BOOTLOGO_ADDR
# ===================
# FSBL and u-boot-2021
# ===================
CVI_UPDATE_HEADER_SIZE = SIZE_1K
UIMAG_SIZE = 16 * SIZE_1M
# kernel image loading buffer
UIMAG_ADDR = DRAM_BASE + 24 * SIZE_1M
CVI_UPDATE_HEADER_ADDR = UIMAG_ADDR - CVI_UPDATE_HEADER_SIZE
# FSBL decompress buffer
FSBL_UNZIP_ADDR = UIMAG_ADDR
FSBL_UNZIP_SIZE = UIMAG_SIZE
assert UIMAG_ADDR + UIMAG_SIZE <= BOOTLOGO_ADDR
# u-boot's run address and entry point
CONFIG_SYS_TEXT_BASE = DRAM_BASE + 2 * SIZE_1M
# u-boot's init stack point is only used before board_init_f()
CONFIG_SYS_INIT_SP_ADDR = UIMAG_ADDR + UIMAG_SIZE

View File

@ -0,0 +1,8 @@
<physical_partition type="spinand">
<partition label="fip" size_in_kb="2560" file="fip.bin"/>
<partition label="BOOT" size_in_kb="6144" file="boot.spinand"/>
<partition label="ENV" size_in_kb="128" file="" />
<partition label="ENV_BAK" size_in_kb="128" file="" />
<partition label="ROOTFS" size_in_kb="40960" file="rootfs.spinand" />
<partition label="SYSTEM" size_in_kb="81152" file="system.spinand" mountpoint="/mnt/system" type="ubifs" />
</physical_partition>

View File

@ -0,0 +1,70 @@
#!/bin/bash
SYSTEM_DIR=$1
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libz*
rm -f $SYSTEM_DIR/mnt/system/lib/libz*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libcvi*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libmad*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libmp3*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libopencv*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libopencv*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_rtsp.so
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcvi_rtsp.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvikernel.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/*.a
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libgst*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libg*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/gstreamer-1.0/libgst*
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcrypto.so*
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libssl.so*
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcvi_protobuf.so*
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libprotobuf-lite.so*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcviai*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_ispd.so*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libraw_replay.so*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_ive_tpu.so*
rm -rf $SYSTEM_DIR/mnt/system/usr/lib/gio
rm -rf $SYSTEM_DIR/mnt/system/usr/lib/glib*
rm -rf $SYSTEM_DIR/mnt/system/usr/lib/gstreamer-1.0*
rm -rf $SYSTEM_DIR/mnt/system/usr/libexec*
rm -rf $SYSTEM_DIR/mnt/system/usr/bin
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvimath.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcviruntime.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcnpy.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcipher.so
rm -f $SYSTEM_DIR/mnt/system/lib/libcipher.so*
rm -f $SYSTEM_DIR/mnt/system/lib/libcvi_ispd.so*
rm -f $SYSTEM_DIR/mnt/system/lib/libraw_replay.so*
rm -f $SYSTEM_DIR/mnt/system/lib/libmad.so*
rm -f $SYSTEM_DIR/mnt/system/lib/libmp3*
rm -f $SYSTEM_DIR/mnt/system/lib/libnanomsg*
#del 3rdparty lib
#del thttpd/libwebsockets lib
rm -f $SYSTEM_DIR/mnt/system/lib/libthttpd*
rm -f $SYSTEM_DIR/mnt/system/lib/libwebsocket*
if [ $SDK_VER = "uclibc" ]
then
#del opencv lib
rm -f $SYSTEM_DIR/mnt/system/lib/libopencv*
#del ffmpeg lib
rm -f $SYSTEM_DIR/mnt/system/lib/libav*
#save /mnt/system/lib/ openssl lib; need by ntpdate/wpa_supplicant
else
#glibc ramdisk(rootfs/common_arm/usr/lib/) has libcrypto.so and libssl.so
#del openssl
rm -f $SYSTEM_DIR/mnt/system/lib/libssl*
rm -f $SYSTEM_DIR/mnt/system/lib/libcrypto*
fi
rm -rf $SYSTEM_DIR/etc/init.d/S23ntp
rm -rf $SYSTEM_DIR/bin/ntpd
du -sh $SYSTEM_DIR/* |sort -rh
du -sh $SYSTEM_DIR/mnt/* |sort -rh
du -sh $SYSTEM_DIR/mnt/system/* |sort -rh
du -sh $SYSTEM_DIR/mnt/system/lib/* |sort -rh
du -sh $SYSTEM_DIR/mnt/system/data/install/* |sort -rh
du -sh $SYSTEM_DIR/usr/* |sort -rh

View File

@ -0,0 +1,46 @@
int cvi_board_init(void)
{
// Camera
PINMUX_CONFIG(PAD_MIPI_TXM1, IIC2_SDA); // GP10
PINMUX_CONFIG(PAD_MIPI_TXP1, IIC2_SCL); // GP11
PINMUX_CONFIG(PAD_MIPI_TXP0, CAM_MCLK0); // Sensor MCLK
PINMUX_CONFIG(PAD_MIPI_TXP2, XGPIOC_17); // Sensor RESET
// UART1
PINMUX_CONFIG(IIC0_SCL, UART1_TX); // GP0
PINMUX_CONFIG(IIC0_SDA, UART1_RX); // GP1
// PWM
PINMUX_CONFIG(JTAG_CPU_TMS, PWM_7); // GP2
PINMUX_CONFIG(JTAG_CPU_TCK, PWM_6); // GP3
// I2C1
PINMUX_CONFIG(SD1_D2, IIC1_SCL); // GP4
PINMUX_CONFIG(SD1_D1, IIC1_SDA); // GP5
// SPI2
PINMUX_CONFIG(SD1_CLK, SPI2_SCK); // GP6
PINMUX_CONFIG(SD1_CMD, SPI2_SDO); // GP7
PINMUX_CONFIG(SD1_D0, SPI2_SDI); // GP8
PINMUX_CONFIG(SD1_D3, SPI2_CS_X); // GP9
// All default GPIOs
PINMUX_CONFIG(SD0_PWR_EN, XGPIOA_14); // GP14
PINMUX_CONFIG(SPK_EN, XGPIOA_15); // GP15
//PINMUX_CONFIG(EMMC_CMD, XGPIOA_23); // GP16
//PINMUX_CONFIG(EMMC_DAT1, XGPIOA_24); // GP17
//PINMUX_CONFIG(EMMC_CLK, XGPIOA_22); // GP18
//PINMUX_CONFIG(EMMC_DAT0, XGPIOA_25); // GP19
//PINMUX_CONFIG(EMMC_DAT3, XGPIOA_27); // GP20
//PINMUX_CONFIG(EMMC_DAT2, XGPIOA_26); // GP21
PINMUX_CONFIG(PWR_SEQ2, PWR_GPIO_4); // GP22
// LED
PINMUX_CONFIG(PWR_GPIO2, PWR_GPIO_2); // GP25
// ADC pins set to GPIO
PINMUX_CONFIG(ADC1, XGPIOB_3); // GP26 (ADC1)
PINMUX_CONFIG(USB_VBUS_DET, XGPIOB_6); // GP27 (ADC2)
return 0;
}

View File

@ -0,0 +1,12 @@
/*
*VO control GPIOs
*/
#define VO_GPIO_RESET_PORT portb
#define VO_GPIO_RESET_INDEX 5
#define VO_GPIO_RESET_ACTIVE GPIO_ACTIVE_LOW
#define VO_GPIO_PWM_PORT portb
#define VO_GPIO_PWM_INDEX 4
#define VO_GPIO_PWM_ACTIVE GPIO_ACTIVE_HIGH
#define VO_GPIO_POWER_CT_PORT portb
#define VO_GPIO_POWER_CT_INDEX 3
#define VO_GPIO_POWER_CT_ACTIVE GPIO_ACTIVE_HIGH

View File

@ -0,0 +1,47 @@
CONFIG_RISCV=y
CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_NR_DRAM_BANKS=1
CONFIG_DEFAULT_DEVICE_TREE="cv181x_asic"
CONFIG_IDENT_STRING=" cvitek_cv181x"
CONFIG_ARCH_RV64I=y
CONFIG_RISCV_SMODE=y
CONFIG_TARGET_CVITEK_CV181X=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
CONFIG_BOOTDELAY=1
CONFIG_SYS_PROMPT="cv181x_c906# "
# CONFIG_CMD_CONSOLE is not set
# CONFIG_CMD_XIMG is not set
# CONFIG_CMD_EDITENV is not set
# CONFIG_CMD_CRC32 is not set
# CONFIG_CMD_LZMADEC is not set
# CONFIG_CMD_UNLZ4 is not set
# CONFIG_CMD_UNZIP is not set
# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MMC=y
# CONFIG_CMD_ITEST is not set
CONFIG_CMD_CACHE=y
CONFIG_CMD_CVI_SD_UPDATE=y
# CONFIG_ISO_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
CONFIG_MMC_SDHCI_CVITEK=y
CONFIG_MTD=y
# CONFIG_SPI_FLASH is not set
# CONFIG_PHY_SMSC is not set
CONFIG_DM_ETH=y
CONFIG_ETH_DESIGNWARE=y
CONFIG_PHY_CVITEK=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_LZ4=y
CONFIG_LZMA=y
# CONFIG_TOOLS_LIBCRYPTO is not set
CONFIG_MTD_RAW_NAND=y
CONFIG_NAND_FLASH_CVSNFC_V3=y
CONFIG_ENV_IS_IN_NAND=y

View File

@ -0,0 +1,9 @@
{
"ddr_cfg_list": [
"",
"ddr3_1866_x16",
"ddr3_2133_x16",
"ddr_auto_x16"
],
"board_information": "C906B + SPINOR 32MB + QFN SIP 256MB"
}

View File

@ -0,0 +1,119 @@
CONFIG_CHIP_cv1812cp=y
CONFIG_BOARD_milkv_duo256m_spinor=y
CONFIG_DDR_CFG_ddr3_1866_x16=y
CONFIG_ARCH="riscv"
#
# Compile-time checks and compiler options
#
CONFIG_CROSS_COMPILE="riscv64-unknown-linux-musl-"
CONFIG_CROSS_COMPILE_KERNEL="riscv64-unknown-linux-musl-"
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_KERNEL_ENTRY_HACK=y
CONFIG_KERNEL_ENTRY_HACK_ADDR="0x80200000"
# end of Compile-time checks and compiler options
#
# SDK options
#
CONFIG_TOOLCHAIN_MUSL_RISCV64=y
CONFIG_CROSS_COMPILE_SDK="riscv64-unknown-linux-musl-"
CONFIG_MW_VER="v2"
CONFIG_SDK_VER="musl_riscv64"
CONFIG_BUILD_FOR_DEBUG=y
CONFIG_FLASH_SIZE_SHRINK=y
CONFIG_BOOT_IMAGE_SINGLE_DTB=y
# end of SDK options
#
# FIP setting
#
CONFIG_FIP_V2=y
# end of FIP setting
#
# Storage settings
#
CONFIG_STORAGE_TYPE_spinor=y
CONFIG_STORAGE_TYPE="spinor"
CONFIG_NANDFLASH_BLOCKSIZE=131072
CONFIG_NANDFLASH_PAGESIZE=2048
# end of Storage settings
#
# Sensor settings
#
#
# Sensor support list
#
CONFIG_SENSOR_GCORE_GC2053=y
CONFIG_SENSOR_GCORE_GC2083=y
CONFIG_SENSOR_GCORE_GC4653=y
CONFIG_SENSOR_OV_OV5647=y
CONFIG_SENSOR_SMS_SC035HGS=y
CONFIG_SENSOR_SMS_SC200AI=y
# end of Sensor support list
#
# Sensor tuning param config
#
#
# src
#
CONFIG_SENSOR_TUNING_PARAM_cv181x_src_gcore_gc4653=y
# end of src
CONFIG_SENSOR_TUNING_PARAM="gcore_gc4653"
# end of Sensor tuning param config
# end of Sensor settings
#
# uboot options
#
CONFIG_USE_DEFAULT_ENV=y
CONFIG_UBOOT_2021_10=y
CONFIG_UBOOT_SRC="u-boot-2021.10"
# end of uboot options
#
# Kernel options
#
CONFIG_KERNEL_SRC_5.10=y
CONFIG_KERNEL_SRC="linux_5.10"
CONFIG_KERNEL_LZMA=y
CONFIG_KERNEL_COMPRESS="lzma"
# end of Kernel options
#
# ROOTFS options
#
CONFIG_SKIP_RAMDISK=y
CONFIG_USE_4K_ERASE_SIZE_FOR_JFFS2=y
CONFIG_BUILDROOT_FS=y
# end of ROOTFS options
#
# Rootfs packages
#
CONFIG_TARGET_PACKAGE_DROPBEAR=y
CONFIG_TARGET_PACKAGE_GDBSERVER=y
CONFIG_TARGET_PACKAGE_LIBCRYPTO=y
CONFIG_TARGET_PACKAGE_LIBZ=y
CONFIG_TARGET_PACKAGE_MTD-UTILS=y
CONFIG_TARGET_PACKAGE_OTASERVER=y
CONFIG_TARGET_PACKAGE_BUSYBOX_SYSLOGD_SCRIPT=y
CONFIG_TARGET_PACKAGE_CRONTABS=y
CONFIG_TARGET_PACKAGE_NTP=y
# end of Rootfs packages
#
# RTOS options
#
CONFIG_ENABLE_FREERTOS=y
CONFIG_ENABLE_RTOS_DUMP_PRINT=y
CONFIG_DUMP_PRINT_SZ_IDX=17
CONFIG_FAST_IMAGE_TYPE=0
CONFIG_DISABLE_ALIOS=y
# end of RTOS options

View File

@ -0,0 +1,44 @@
/dts-v1/;
#include "cv181x_base_riscv.dtsi"
#include "cv181x_asic_qfn.dtsi"
#include "cv181x_asic_sd.dtsi"
#include "cv181x_default_memmap.dtsi"
&mipi_rx{
snsr-reset = <&portc 17 GPIO_ACTIVE_LOW>, <&portc 17 GPIO_ACTIVE_LOW>, <&portc 17 GPIO_ACTIVE_LOW>;
};
&mipi_tx {
/delete-property/ reset-gpio;
/delete-property/ pwm-gpio;
/delete-property/ power-ct-gpio;
};
&spi0 {
status = "okay";
flash@0 {
compatible = "winbond,w25q256", "jedec,spi-nor";
reg = <0>;
};
};
&spi2 {
status = "okay";
spidev@0 {
status = "okay";
};
};
&i2c0 {
status = "disabled";
};
&i2c4 {
status = "disabled";
};
/ {
model = "Milk-V Duo256M";
};

View File

@ -0,0 +1,303 @@
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=15
CONFIG_BLK_DEV_INITRD=y
# CONFIG_SYSFS_SYSCALL is not set
# CONFIG_FHANDLE is not set
# CONFIG_BASE_FULL is not set
# CONFIG_AIO is not set
CONFIG_EMBEDDED=y
# CONFIG_SLUB_DEBUG is not set
CONFIG_FORCE_MAX_ZONEORDER=10
CONFIG_ARCH_CVITEK=y
CONFIG_SOC_THEAD=y
# CONFIG_RISCV_SWIOTLB is not set
CONFIG_VECTOR=y
CONFIG_VECTOR_0_7=y
# CONFIG_COMPAT is not set
CONFIG_ARCH_CVITEK_CHIP="cv181x"
CONFIG_ARCH_CV181X_ASIC=y
CONFIG_POWER_RESET=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_STRICT_KERNEL_RWX=n
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_BLOCK=y
CONFIG_BLK_SCSI_REQUEST=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_MQ_IOSCHED_DEADLINE is not set
# CONFIG_MQ_IOSCHED_KYBER is not set
# CONFIG_COREDUMP is not set
CONFIG_CMA=y
CONFIG_ZSMALLOC=y
CONFIG_ZSMALLOC_STAT=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_INET_DIAG is not set
# CONFIG_IPV6 is not set
CONFIG_CFG80211=y
CONFIG_RFKILL=y
CONFIG_UEVENT_HELPER=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_ALLOW_DEV_COREDUMP is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_OF_PARTS is not set
CONFIG_MTD_BLOCK=y
CONFIG_MTD_RAW_NAND=n
CONFIG_MTD_NAND_PLATFORM=y
CONFIG_MTD_NAND_CVSNFC=y
CONFIG_MTD_SPI_NOR=y
CONFIG_SPI_CVI_SPIF=y
CONFIG_MTD_UBI=n
CONFIG_MTD_UBI_BLOCK=y
CONFIG_ZRAM=m
CONFIG_ZRAM_WRITEBACK=y
CONFIG_ZRAM_MEMORY_TRACKING=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_PROC_FS=y
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_NETDEVICES=y
# CONFIG_NET_CORE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_AURORA is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_STMMAC_ETH=y
# CONFIG_DWMAC_GENERIC is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_CVITEK_PHY=y
# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_CISCO is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_RTL8188FU is not set
# CONFIG_WLAN_VENDOR_RSI is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_EVDEV=y
# CONFIG_SERIO is not set
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=5
CONFIG_SERIAL_8250_RUNTIME_UARTS=5
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
CONFIG_HW_RANDOM=y
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_DESIGNWARE=y
CONFIG_SPI_DW_MMIO=y
CONFIG_SPI_SPIDEV=y
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_PINCTRL=y
CONFIG_CVITEK_PINCTRL_CV1835=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_DWAPB=y
CONFIG_POWER_RESET=y
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_EMULATION=y
CONFIG_WATCHDOG=y
CONFIG_MEDIA_SUPPORT=n
CONFIG_VIDEO_V4L2_SUBDEV_API=n
# CONFIG_DVB_NET is not set
# CONFIG_DVB_DYNAMIC_MINORS is not set
CONFIG_V4L_PLATFORM_DRIVERS=n
CONFIG_V4L_MEM2MEM_DRIVERS=n
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=n
CONFIG_VIDEO_CVITEK_CIF=m
CONFIG_VIDEO_CVITEK_SNS_I2C=m
CONFIG_FB=y
CONFIG_FB_CVITEK=m
CONFIG_FB_TFT=y
CONFIG_FB_TFT_ST7789V=y
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_PROC_FS is not set
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_HDA_PREALLOC_SIZE=1
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y
CONFIG_SND_CV1835_I2S=y
CONFIG_SND_SOC_CV182XAADC=y
CONFIG_SND_SOC_CV182XADAC=y
CONFIG_SND_SOC_CV1835_USE_AUDIO_PLL=y
CONFIG_CV1835_I2S_SUBSYS=y
CONFIG_USB=y
CONFIG_USB_STORAGE=y
CONFIG_USB_DWC2=y
CONFIG_USB_GADGET=y
CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=y
CONFIG_USB_F_SERIAL=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_EEM=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=y
CONFIG_USB_F_UVC=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_CVI=y
CONFIG_RTC_CLASS=y
CONFIG_DMADEVICES=y
CONFIG_DW_DMAC_CVITEK=y
CONFIG_RTC_CLASS=y
# CONFIG_VIRTIO_MENU is not set
CONFIG_STAGING=y
CONFIG_ION=y
CONFIG_ION_SYSTEM_HEAP=y
CONFIG_ION_CARVEOUT_HEAP=y
CONFIG_ION_CMA_HEAP=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_CV1835_SYSDMA_REMAP=y
CONFIG_CVI_MAILBOX=y
CONFIG_PWM=y
CONFIG_SIFIVE_PLIC=y
CONFIG_ANDROID=y
# CONFIG_MANDATORY_FILE_LOCKING is not set
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_TMPFS=y
CONFIG_CONFIGFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_WBUF_VERIFY=y
CONFIG_UBIFS_FS=y
CONFIG_SQUASHFS=y
CONFIG_EXT3_FS=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_DEBUG=y
# CONFIG_SQUASHFS_ZLIB is not set
CONFIG_SQUASHFS_LZ4=n
CONFIG_SQUASHFS_XZ=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_ROOT_NFS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_HW is not set
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_PRINTK_TIME=y
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_ENABLE_MUST_CHECK is not set
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_FTRACE is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DEBUG_INFO=n
CONFIG_DEBUG_INFO_DWARF4=n
CONFIG_DEBUG_FS=y
CONFIG_GDB_SCRIPTS=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_DEBUG_FS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_KALLSYMS=y
CONFIG_FRAME_POINTER=n
CONFIG_DEBUG_MISC=n
CONFIG_RCU_TRACE=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_MULTIUSER=y
CONFIG_BUG=n
CONFIG_IO_URING=n
CONFIG_ADVISE_SYSCALLS=n
CONFIG_SIGNALFD=n
CONFIG_TIMERFD=n
CONFIG_EPOLL=y
CONFIG_ELF_CORE=y
CONFIG_COREDUMP=y
CONFIG_PROC_SYSCTL=y

View File

@ -0,0 +1,85 @@
SIZE_1M = 0x100000
SIZE_1K = 1024
# Only attributes in class MemoryMap are generated to .h
class MemoryMap:
# No prefix "CVIMMAP_" for the items in _no_prefix[]
_no_prefix = [
"CONFIG_SYS_TEXT_BASE" # u-boot's CONFIG_SYS_TEXT_BASE is used without CPP.
]
DRAM_BASE = 0x80000000
DRAM_SIZE = 256 * SIZE_1M
# ==============
# C906L FreeRTOS
# ==============
FREERTOS_SIZE = 2 * SIZE_1M
# FreeRTOS is at the end of DRAM
FREERTOS_ADDR = DRAM_BASE + DRAM_SIZE - FREERTOS_SIZE
FSBL_C906L_START_ADDR = FREERTOS_ADDR
# ==============================
# OpenSBI | arm-trusted-firmware
# ==============================
# Monitor is at the begining of DRAM
MONITOR_ADDR = DRAM_BASE
ATF_SIZE = 512 * SIZE_1K
OPENSBI_SIZE = 512 * SIZE_1K
OPENSBI_FDT_ADDR = MONITOR_ADDR + OPENSBI_SIZE
# =========================
# memory@DRAM_BASE in .dts.
# =========================
# Ignore the area of FreeRTOS in u-boot and kernel
KERNEL_MEMORY_ADDR = DRAM_BASE
KERNEL_MEMORY_SIZE = DRAM_SIZE - FREERTOS_SIZE
# =================
# Multimedia buffer. Used by u-boot/kernel/FreeRTOS
# =================
ION_SIZE = 75 * SIZE_1M
H26X_BITSTREAM_SIZE = 2 * SIZE_1M
H26X_ENC_BUFF_SIZE = 0
ISP_MEM_BASE_SIZE = 20 * SIZE_1M
FREERTOS_RESERVED_ION_SIZE = H26X_BITSTREAM_SIZE + H26X_ENC_BUFF_SIZE + ISP_MEM_BASE_SIZE
# ION after FreeRTOS
ION_ADDR = FREERTOS_ADDR - ION_SIZE
# Buffers of the fast image are inside the ION buffer
H26X_BITSTREAM_ADDR = ION_ADDR
H26X_ENC_BUFF_ADDR = H26X_BITSTREAM_ADDR + H26X_BITSTREAM_SIZE
ISP_MEM_BASE_ADDR = H26X_ENC_BUFF_ADDR + H26X_ENC_BUFF_SIZE
assert ISP_MEM_BASE_ADDR + ISP_MEM_BASE_SIZE <= ION_ADDR + ION_SIZE
# Boot logo is after the ION buffer
# Framebuffer uses boot logo's reserved memory
BOOTLOGO_SIZE = 1800 * SIZE_1K
BOOTLOGO_ADDR = ION_ADDR - BOOTLOGO_SIZE
FRAMEBUFFER_SIZE = BOOTLOGO_SIZE
FRAMEBUFFER_ADDR = BOOTLOGO_ADDR
# ===================
# FSBL and u-boot-2021
# ===================
CVI_UPDATE_HEADER_SIZE = SIZE_1K
UIMAG_SIZE = 16 * SIZE_1M
# kernel image loading buffer
UIMAG_ADDR = DRAM_BASE + 24 * SIZE_1M
CVI_UPDATE_HEADER_ADDR = UIMAG_ADDR - CVI_UPDATE_HEADER_SIZE
# FSBL decompress buffer
FSBL_UNZIP_ADDR = UIMAG_ADDR
FSBL_UNZIP_SIZE = UIMAG_SIZE
assert UIMAG_ADDR + UIMAG_SIZE <= BOOTLOGO_ADDR
# u-boot's run address and entry point
CONFIG_SYS_TEXT_BASE = DRAM_BASE + 2 * SIZE_1M
# u-boot's init stack point is only used before board_init_f()
CONFIG_SYS_INIT_SP_ADDR = UIMAG_ADDR + UIMAG_SIZE

View File

@ -0,0 +1,7 @@
<physical_partition type="spinor">
<partition label="fip" size_in_kb="640" readonly="false" file="fip.bin"/>
<partition label="BOOT" size_in_kb="4096" readonly="false" file="boot.spinor"/>
<partition label="ENV" size_in_kb="64" file="" />
<partition label="ROOTFS" size_in_kb="27968" readonly="true" file="rootfs.spinor" />
</physical_partition>

View File

@ -0,0 +1,70 @@
#!/bin/bash
SYSTEM_DIR=$1
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libz*
rm -f $SYSTEM_DIR/mnt/system/lib/libz*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libcvi*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libmad*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libmp3*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libopencv*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libopencv*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_rtsp.so
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcvi_rtsp.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvikernel.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/*.a
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libgst*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libg*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/gstreamer-1.0/libgst*
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcrypto.so*
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libssl.so*
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcvi_protobuf.so*
rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libprotobuf-lite.so*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcviai*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_ispd.so*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libraw_replay.so*
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_ive_tpu.so*
rm -rf $SYSTEM_DIR/mnt/system/usr/lib/gio
rm -rf $SYSTEM_DIR/mnt/system/usr/lib/glib*
rm -rf $SYSTEM_DIR/mnt/system/usr/lib/gstreamer-1.0*
rm -rf $SYSTEM_DIR/mnt/system/usr/libexec*
rm -rf $SYSTEM_DIR/mnt/system/usr/bin
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvimath.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcviruntime.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcnpy.so
rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcipher.so
rm -f $SYSTEM_DIR/mnt/system/lib/libcipher.so*
rm -f $SYSTEM_DIR/mnt/system/lib/libcvi_ispd.so*
rm -f $SYSTEM_DIR/mnt/system/lib/libraw_replay.so*
rm -f $SYSTEM_DIR/mnt/system/lib/libmad.so*
rm -f $SYSTEM_DIR/mnt/system/lib/libmp3*
rm -f $SYSTEM_DIR/mnt/system/lib/libnanomsg*
#del 3rdparty lib
#del thttpd/libwebsockets lib
rm -f $SYSTEM_DIR/mnt/system/lib/libthttpd*
rm -f $SYSTEM_DIR/mnt/system/lib/libwebsocket*
if [ $SDK_VER = "uclibc" ]
then
#del opencv lib
rm -f $SYSTEM_DIR/mnt/system/lib/libopencv*
#del ffmpeg lib
rm -f $SYSTEM_DIR/mnt/system/lib/libav*
#save /mnt/system/lib/ openssl lib; need by ntpdate/wpa_supplicant
else
#glibc ramdisk(rootfs/common_arm/usr/lib/) has libcrypto.so and libssl.so
#del openssl
rm -f $SYSTEM_DIR/mnt/system/lib/libssl*
rm -f $SYSTEM_DIR/mnt/system/lib/libcrypto*
fi
rm -rf $SYSTEM_DIR/etc/init.d/S23ntp
rm -rf $SYSTEM_DIR/bin/ntpd
du -sh $SYSTEM_DIR/* |sort -rh
du -sh $SYSTEM_DIR/mnt/* |sort -rh
du -sh $SYSTEM_DIR/mnt/system/* |sort -rh
du -sh $SYSTEM_DIR/mnt/system/lib/* |sort -rh
du -sh $SYSTEM_DIR/mnt/system/data/install/* |sort -rh
du -sh $SYSTEM_DIR/usr/* |sort -rh

View File

@ -0,0 +1,46 @@
int cvi_board_init(void)
{
// Camera
PINMUX_CONFIG(PAD_MIPI_TXM1, IIC2_SDA); // GP10
PINMUX_CONFIG(PAD_MIPI_TXP1, IIC2_SCL); // GP11
PINMUX_CONFIG(PAD_MIPI_TXP0, CAM_MCLK0); // Sensor MCLK
PINMUX_CONFIG(PAD_MIPI_TXP2, XGPIOC_17); // Sensor RESET
// UART1
PINMUX_CONFIG(IIC0_SCL, UART1_TX); // GP0
PINMUX_CONFIG(IIC0_SDA, UART1_RX); // GP1
// PWM
PINMUX_CONFIG(JTAG_CPU_TMS, PWM_7); // GP2
PINMUX_CONFIG(JTAG_CPU_TCK, PWM_6); // GP3
// I2C1
PINMUX_CONFIG(SD1_D2, IIC1_SCL); // GP4
PINMUX_CONFIG(SD1_D1, IIC1_SDA); // GP5
// SPI2
PINMUX_CONFIG(SD1_CLK, SPI2_SCK); // GP6
PINMUX_CONFIG(SD1_CMD, SPI2_SDO); // GP7
PINMUX_CONFIG(SD1_D0, SPI2_SDI); // GP8
PINMUX_CONFIG(SD1_D3, SPI2_CS_X); // GP9
// All default GPIOs
PINMUX_CONFIG(SD0_PWR_EN, XGPIOA_14); // GP14
PINMUX_CONFIG(SPK_EN, XGPIOA_15); // GP15
//PINMUX_CONFIG(EMMC_CMD, XGPIOA_23); // GP16
//PINMUX_CONFIG(EMMC_DAT1, XGPIOA_24); // GP17
//PINMUX_CONFIG(EMMC_CLK, XGPIOA_22); // GP18
//PINMUX_CONFIG(EMMC_DAT0, XGPIOA_25); // GP19
//PINMUX_CONFIG(EMMC_DAT3, XGPIOA_27); // GP20
//PINMUX_CONFIG(EMMC_DAT2, XGPIOA_26); // GP21
PINMUX_CONFIG(PWR_SEQ2, PWR_GPIO_4); // GP22
// LED
PINMUX_CONFIG(PWR_GPIO2, PWR_GPIO_2); // GP25
// ADC pins set to GPIO
PINMUX_CONFIG(ADC1, XGPIOB_3); // GP26 (ADC1)
PINMUX_CONFIG(USB_VBUS_DET, XGPIOB_6); // GP27 (ADC2)
return 0;
}

View File

@ -0,0 +1,12 @@
/*
*VO control GPIOs
*/
#define VO_GPIO_RESET_PORT portb
#define VO_GPIO_RESET_INDEX 5
#define VO_GPIO_RESET_ACTIVE GPIO_ACTIVE_LOW
#define VO_GPIO_PWM_PORT portb
#define VO_GPIO_PWM_INDEX 4
#define VO_GPIO_PWM_ACTIVE GPIO_ACTIVE_HIGH
#define VO_GPIO_POWER_CT_PORT portb
#define VO_GPIO_POWER_CT_INDEX 3
#define VO_GPIO_POWER_CT_ACTIVE GPIO_ACTIVE_HIGH

View File

@ -0,0 +1,45 @@
CONFIG_RISCV=y
CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_NR_DRAM_BANKS=1
CONFIG_DEFAULT_DEVICE_TREE="cv181x_asic"
CONFIG_IDENT_STRING=" cvitek_cv181x"
CONFIG_ARCH_RV64I=y
CONFIG_RISCV_SMODE=y
CONFIG_TARGET_CVITEK_CV181X=y
CONFIG_CVITEK_SPI_FLASH=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
CONFIG_BOOTDELAY=1
CONFIG_SYS_PROMPT="cv181x_c906# "
# CONFIG_CMD_CONSOLE is not set
# CONFIG_CMD_XIMG is not set
# CONFIG_CMD_EDITENV is not set
# CONFIG_CMD_CRC32 is not set
# CONFIG_CMD_LZMADEC is not set
# CONFIG_CMD_UNLZ4 is not set
# CONFIG_CMD_UNZIP is not set
# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MMC=y
# CONFIG_CMD_ITEST is not set
CONFIG_CMD_CACHE=y
CONFIG_CMD_CVI_SD_UPDATE=y
# CONFIG_ISO_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
CONFIG_MMC_SDHCI_CVITEK=y
CONFIG_MTD=y
CONFIG_SPI_FLASH_USE_4K_SECTORS=y
# CONFIG_PHY_SMSC is not set
CONFIG_DM_ETH=y
CONFIG_ETH_DESIGNWARE=y
CONFIG_PHY_CVITEK=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_LZ4=y
CONFIG_LZMA=y
# CONFIG_TOOLS_LIBCRYPTO is not set
CONFIG_ENV_IS_NOWHERE=y

View File

@ -70,6 +70,26 @@ CONFIG_SENSOR_TUNING_PARAM="gcore_gc4653"
# end of Sensor tuning param config
# end of Sensor settings
#
# Panel settings
#
# CONFIG_MIPI_PANEL_HX8394 is not set
# CONFIG_MIPI_PANEL_ILI9881C is not set
# CONFIG_MIPI_PANEL_ILI9881D is not set
# CONFIG_MIPI_PANEL_JD9366AB is not set
CONFIG_MIPI_PANEL_MILKV_8HD=y
# CONFIG_MIPI_PANEL_NT35521 is not set
# CONFIG_MIPI_PANEL_OTA7290B is not set
# CONFIG_MIPI_PANEL_OTA7290B_1920 is not set
# CONFIG_MIPI_PANEL_ICN9707 is not set
# CONFIG_MIPI_PANEL_3AML069LP01G is not set
# CONFIG_MIPI_PANEL_ST7701 is not set
# CONFIG_MIPI_PANEL_ST7785M is not set
# CONFIG_LVDS_PANEL_EK79202 is not set
# CONFIG_I80_PANEL_ST7789V is not set
# CONFIG_I80_PANEL_ST7789V3 is not set
# end of Panel settings
#
# uboot options
#

View File

@ -21,6 +21,34 @@
status = "okay";
};
&i2c2 {
status = "okay";
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
gt9xx: gt9xx@14 {
compatible = "goodix,gt9xx";
reg = <0x14>;
goodix,irq-gpio = <&porta 18 0>;
goodix,rst-gpio = <&porta 19 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&spi3 {
status = "okay";
spidev@0 {
status = "okay";
};
};
&usb {
vbus-gpio = <&portb 6 0>;
};
@ -41,10 +69,40 @@
wakeup-gpio = <&porte 7 GPIO_ACTIVE_HIGH>;
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "okay";
};
/* mipi dsi for u-boot */
&vo {
compatible = "cvitek,vo";
reset-gpio = <&porte 2 GPIO_ACTIVE_LOW>;
pwm-gpio = <&porte 0 GPIO_ACTIVE_HIGH>;
power-gpio = <&porte 1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
/* mipi dsi for kernel */
&mipi_tx {
compatible = "cvitek,mipi_tx";
reset-gpio = <&porte 2 GPIO_ACTIVE_LOW>;
pwm-gpio = <&porte 0 GPIO_ACTIVE_HIGH>;
power-ct-gpio = <&porte 1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
/ {
model = "Milk-V DuoS";
};

View File

@ -99,7 +99,10 @@ CONFIG_STMMAC_ETH=y
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_CVITEK_PHY=y
CONFIG_CVITEK_PHY_UAPS=y
# CONFIG_USB_NET_DRIVERS is not set
CONFIG_SMSC_PHY=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_SMSC95XX=y
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
@ -135,6 +138,11 @@ CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_DESIGNWARE=y
CONFIG_SPI_DW_MMIO=y
CONFIG_SPI_SPIDEV=y
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_PINCTRL=y
CONFIG_CVITEK_PINCTRL_CV1835=y
@ -369,8 +377,8 @@ CONFIG_VIDEO_CVITEK_MIPI_TX=m
CONFIG_FB=y
CONFIG_FB_CVITEK=m
CONFIG_FB_TFT=y
CONFIG_FB_TFT_ST7789V=y
# CONFIG_FB_TFT is not set
# CONFIG_FB_TFT_ST7789V is not set
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_SUPPORT_OLD_API is not set
@ -378,7 +386,8 @@ CONFIG_SND=y
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_HDA_PREALLOC_SIZE=1
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y
@ -408,6 +417,9 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_AUDIO is not set
CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y

View File

@ -1,7 +1,8 @@
<physical_partition type="emmc">
<partition label="BOOT" size_in_kb="8192" file="boot.emmc" />
<partition label="MISC" size_in_kb="2048" file="logo.jpg" />
<!-- Beware that in emmc u-boot environment should be 0x40000 alignment -->
<partition label="ENV" size_in_kb="128" file="" />
<partition label="ROOTFS" size_in_kb="786432" file="rootfs_ext4.emmc" type="ext4"/>
<partition label="ROOTFS" size_in_kb="786560" file="rootfs_ext4.emmc" type="ext4"/>
</physical_partition>

View File

@ -13,12 +13,22 @@ int cvi_board_init(void)
PINMUX_CONFIG(PAD_MIPIRX4P, XGPIOC_3);
PINMUX_CONFIG(PAD_MIPIRX4N, XGPIOC_2);
// I2C2 for Camera2
PINMUX_CONFIG(IIC2_SDA, IIC2_SDA);
PINMUX_CONFIG(IIC2_SCL, IIC2_SCL);
// LED
PINMUX_CONFIG(IIC0_SDA, XGPIOA_29);
// I2C4
//PINMUX_CONFIG(VIVO_D1, IIC4_SCL);
//PINMUX_CONFIG(VIVO_D0, IIC4_SDA);
// I2C4 for TP
PINMUX_CONFIG(VIVO_D1, IIC4_SCL);
PINMUX_CONFIG(VIVO_D0, IIC4_SDA);
// SPI3
PINMUX_CONFIG(VIVO_D8, SPI3_SDO);
PINMUX_CONFIG(VIVO_D7, SPI3_SDI);
PINMUX_CONFIG(VIVO_D6, SPI3_SCK);
PINMUX_CONFIG(VIVO_D5, SPI3_CS_X);
// USB
PINMUX_CONFIG(USB_VBUS_EN, XGPIOB_5);

View File

@ -41,3 +41,18 @@ CONFIG_LZ4=y
CONFIG_LZMA=y
# CONFIG_TOOLS_LIBCRYPTO is not set
CONFIG_ENV_IS_IN_MMC=y
CONFIG_BOOTLOGO=y
CONFIG_CMD_CVI_VO=y
CONFIG_CMD_CVI_JPEG=y
CONFIG_CMD_GPIO=y
CONFIG_DM_GPIO=y
CONFIG_DWAPB_GPIO=y
CONFIG_DM_VIDEO=y
CONFIG_VIDEO_CVITEK=y
CONFIG_VIDEO_CVITEK_MAX_XRES=1920
CONFIG_VIDEO_CVITEK_MAX_YRES=1080
CONFIG_DISPLAY_CVITEK_MIPI=y
CONFIG_BMP_16BPP=y
CONFIG_BMP_24BPP=y
CONFIG_BMP_32BPP=y

View File

@ -70,6 +70,26 @@ CONFIG_SENSOR_TUNING_PARAM="gcore_gc4653"
# end of Sensor tuning param config
# end of Sensor settings
#
# Panel settings
#
# CONFIG_MIPI_PANEL_HX8394 is not set
# CONFIG_MIPI_PANEL_ILI9881C is not set
# CONFIG_MIPI_PANEL_ILI9881D is not set
# CONFIG_MIPI_PANEL_JD9366AB is not set
CONFIG_MIPI_PANEL_MILKV_8HD=y
# CONFIG_MIPI_PANEL_NT35521 is not set
# CONFIG_MIPI_PANEL_OTA7290B is not set
# CONFIG_MIPI_PANEL_OTA7290B_1920 is not set
# CONFIG_MIPI_PANEL_ICN9707 is not set
# CONFIG_MIPI_PANEL_3AML069LP01G is not set
# CONFIG_MIPI_PANEL_ST7701 is not set
# CONFIG_MIPI_PANEL_ST7785M is not set
# CONFIG_LVDS_PANEL_EK79202 is not set
# CONFIG_I80_PANEL_ST7789V is not set
# CONFIG_I80_PANEL_ST7789V3 is not set
# end of Panel settings
#
# uboot options
#

View File

@ -21,6 +21,34 @@
status = "okay";
};
&i2c2 {
status = "okay";
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
gt9xx: gt9xx@14 {
compatible = "goodix,gt9xx";
reg = <0x14>;
goodix,irq-gpio = <&porta 18 0>;
goodix,rst-gpio = <&porta 19 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&spi3 {
status = "okay";
spidev@0 {
status = "okay";
};
};
&usb {
vbus-gpio = <&portb 6 0>;
};
@ -41,10 +69,40 @@
wakeup-gpio = <&porte 7 GPIO_ACTIVE_HIGH>;
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "okay";
};
/* mipi dsi for u-boot */
&vo {
compatible = "cvitek,vo";
reset-gpio = <&porte 2 GPIO_ACTIVE_LOW>;
pwm-gpio = <&porte 0 GPIO_ACTIVE_HIGH>;
power-gpio = <&porte 1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
/* mipi dsi for kernel */
&mipi_tx {
compatible = "cvitek,mipi_tx";
reset-gpio = <&porte 2 GPIO_ACTIVE_LOW>;
pwm-gpio = <&porte 0 GPIO_ACTIVE_HIGH>;
power-ct-gpio = <&porte 1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
/ {
model = "Milk-V DuoS";
};

View File

@ -99,7 +99,10 @@ CONFIG_STMMAC_ETH=y
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_CVITEK_PHY=y
CONFIG_CVITEK_PHY_UAPS=y
# CONFIG_USB_NET_DRIVERS is not set
CONFIG_SMSC_PHY=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_SMSC95XX=y
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
@ -135,6 +138,11 @@ CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_DESIGNWARE=y
CONFIG_SPI_DW_MMIO=y
CONFIG_SPI_SPIDEV=y
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_PINCTRL=y
CONFIG_CVITEK_PINCTRL_CV1835=y
@ -369,8 +377,8 @@ CONFIG_VIDEO_CVITEK_MIPI_TX=m
CONFIG_FB=y
CONFIG_FB_CVITEK=m
CONFIG_FB_TFT=y
CONFIG_FB_TFT_ST7789V=y
# CONFIG_FB_TFT is not set
# CONFIG_FB_TFT_ST7789V is not set
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_SUPPORT_OLD_API is not set
@ -378,7 +386,8 @@ CONFIG_SND=y
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_HDA_PREALLOC_SIZE=1
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y
@ -408,6 +417,9 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_AUDIO is not set
CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
@ -530,22 +542,3 @@ CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIVHCI is not set
# CONFIG_BT_MRVL is not set
# CONFIG_BT_MTKSDIO is not set
# 死锁检测
CONFIG_LOCK_STAT=y
CONFIG_PROVE_LOCKING=y
# Ftracer
CONFIG_FUNCTION_TRACER=y
CONFIG_PSTORE_FTRACE=y
# Sysrq
CONFIG_MAGIC_SYSRQ=y
# Pstore
CONFIG_PSTORE=y
# Frontend
CONFIG_PSTORE_PMSG=y
CONFIG_PSTORE_CONSOLE=y
# Backend
CONFIG_PSTORE_RAM=y

View File

@ -1,4 +1,5 @@
<physical_partition type="sd">
<partition label="BOOT" size_in_kb="262144" readonly="false" file="boot.sd"/>
<partition label="ROOTFS" size_in_kb="262144" readonly="false" file="rootfs.sd" />
<partition label="BOOT" size_in_kb="131072" readonly="false" file="boot.sd"/>
<partition label="MISC" size_in_kb="2048" readonly="false" file="logo.jpg"/>
<partition label="ROOTFS" size_in_kb="768432" readonly="false" file="rootfs.sd" />
</physical_partition>

View File

@ -13,12 +13,22 @@ int cvi_board_init(void)
PINMUX_CONFIG(PAD_MIPIRX4P, XGPIOC_3);
PINMUX_CONFIG(PAD_MIPIRX4N, XGPIOC_2);
// I2C2 for Camera2
PINMUX_CONFIG(IIC2_SDA, IIC2_SDA);
PINMUX_CONFIG(IIC2_SCL, IIC2_SCL);
// LED
PINMUX_CONFIG(IIC0_SDA, XGPIOA_29);
// I2C4
//PINMUX_CONFIG(VIVO_D1, IIC4_SCL);
//PINMUX_CONFIG(VIVO_D0, IIC4_SDA);
// I2C4 for TP
PINMUX_CONFIG(VIVO_D1, IIC4_SCL);
PINMUX_CONFIG(VIVO_D0, IIC4_SDA);
// SPI3
PINMUX_CONFIG(VIVO_D8, SPI3_SDO);
PINMUX_CONFIG(VIVO_D7, SPI3_SDI);
PINMUX_CONFIG(VIVO_D6, SPI3_SCK);
PINMUX_CONFIG(VIVO_D5, SPI3_CS_X);
// USB
PINMUX_CONFIG(USB_VBUS_EN, XGPIOB_5);

View File

@ -41,3 +41,18 @@ CONFIG_LZ4=y
CONFIG_LZMA=y
# CONFIG_TOOLS_LIBCRYPTO is not set
CONFIG_ENV_IS_NOWHERE=y
CONFIG_BOOTLOGO=y
CONFIG_CMD_CVI_VO=y
CONFIG_CMD_CVI_JPEG=y
CONFIG_CMD_GPIO=y
CONFIG_DM_GPIO=y
CONFIG_DWAPB_GPIO=y
CONFIG_DM_VIDEO=y
CONFIG_VIDEO_CVITEK=y
CONFIG_VIDEO_CVITEK_MAX_XRES=1920
CONFIG_VIDEO_CVITEK_MAX_YRES=1080
CONFIG_DISPLAY_CVITEK_MIPI=y
CONFIG_BMP_16BPP=y
CONFIG_BMP_24BPP=y
CONFIG_BMP_32BPP=y

View File

@ -3,6 +3,46 @@
mute-gpio-r = <&porta 30 GPIO_ACTIVE_LOW>;
};
&spi0 {
status = "disabled";
num-cs = <1>;
spidev@0 {
compatible = "rohm,dh2228fv";
spi-max-frequency = <1000000>;
reg = <0>;
};
};
&spi1 {
status = "disabled";
num-cs = <1>;
spidev@0 {
compatible = "rohm,dh2228fv";
spi-max-frequency = <1000000>;
reg = <0>;
};
};
&spi2 {
status = "disabled";
num-cs = <1>;
spidev@0 {
compatible = "rohm,dh2228fv";
spi-max-frequency = <1000000>;
reg = <0>;
};
};
&spi3 {
status = "okay";
num-cs = <1>;
spidev@0 {
compatible = "rohm,dh2228fv";
spi-max-frequency = <1000000>;
reg = <0>;
};
};
&i2c1 {
status = "disabled";
};

View File

@ -737,7 +737,7 @@
reg-names = "ive_base";
};
vo {
vo: vo {
compatible = "cvitek,vo";
reg = <0x0 0x0a080000 0x0 0x10000>, <0x0 0x0a0c8000 0x0 0xa0>, <0x0 0x0a0d1000 0x0 0x100>;
reg-names = "sc", "vip_sys", "dphy";

View File

@ -21,12 +21,5 @@
compatible = "ion-region";
size = <0x0 CVIMMAP_ION_SIZE>;
};
ramoops@9fd00000 {
compatible = "ramoops";
reg = <0 0x9fd00000 0 0x100000>;
record-size = <0x4000>;
console-size = <0x4000>;
};
};
};

View File

@ -198,7 +198,7 @@ function copy_tools
command rm -rf "$OUTPUT_DIR"/tools
command mkdir -p "$OUTPUT_DIR"/tools/
command cp -rf "$TOOLS_PATH"/"${CHIP_ARCH,,}"/usb_dl/ "$OUTPUT_DIR"/tools/
if [ "$ENABLE_BOOTLOGO" -eq 1 ];then
if [[ "$ENABLE_BOOTLOGO" -eq 1 ]] || [[ ${BOARD} == "milkv_duos_sd" ]];then
python3 "$IMGTOOL_PATH"/raw2cimg.py "$BOOTLOGO_PATH" "$OUTPUT_DIR" "$FLASH_PARTITION_XML"
fi
command cp --remove-destination "$FLASH_PARTITION_XML" "$OUTPUT_DIR"/

View File

@ -90,6 +90,7 @@ function _build_uboot_env()
{
_build_atf_env
_build_fsbl_env
export UBOOT_OUTPUT_FOLDER IMGTOOL_PATH FLASH_PARTITION_XML FIP_BIN_PATH
export UBOOT_VBOOT RELEASE_VERSION ENABLE_BOOTLOGO STORAGE_TYPE COMPRESSOR_UBOOT
export PANEL_TUNING_PARAM PANEL_LANE_NUM_TUNING_PARAM PANEL_LANE_SWAP_TUNING_PARAM
@ -146,7 +147,7 @@ function build_uboot()
cp -f "$OUTPUT_DIR"/fip_pre/fip_pre_${ATF_KEY_SEL}.bin \
"$OUTPUT_DIR"/fip_pre/fip_pre.bin
make u-boot
bear --append --output ${TOP_DIR}/compile_commands.json -- make u-boot
)}
function build_uboot_env_tools()
@ -192,7 +193,7 @@ function build_kernel()
print_notice "Run ${FUNCNAME[0]}() function"
_build_kernel_env
cd "$BUILD_PATH" || return
make kernel || return "$?"
bear --append --output ${TOP_DIR}/compile_commands.json -- make kernel
# generate boot.itb image.
if [[ ${1} != noitb ]]; then
@ -312,7 +313,7 @@ function build_osdrv()
fi
pushd "$OSDRV_PATH"
make KERNEL_DIR="$KERNEL_PATH"/"$KERNEL_OUTPUT_FOLDER" INSTALL_DIR="$SYSTEM_OUT_DIR"/ko "$osdrv_target" || return "$?"
bear --append --output ${TOP_DIR}/compile_commands.json -- make KERNEL_DIR="$KERNEL_PATH"/"$KERNEL_OUTPUT_FOLDER" INSTALL_DIR="$SYSTEM_OUT_DIR"/ko "$osdrv_target" || return "$?"
popd
)}
@ -481,7 +482,6 @@ function cvi_setup_env()
SCRIPTTOOL_PATH="$COMMON_TOOLS_PATH"/scripts
ROOTFSTOOL_PATH="$COMMON_TOOLS_PATH"/rootfs_tool
SPINANDTOOL_PATH="$COMMON_TOOLS_PATH"/spinand_tool
BOOTLOGO_PATH="$COMMON_TOOLS_PATH"/bootlogo/logo.jpg
# subfolder path for buidling, chosen accroding to .gitignore rules
UBOOT_OUTPUT_FOLDER=build/"$PROJECT_FULLNAME"
@ -567,6 +567,14 @@ function cvi_setup_env()
export BR_DEFCONFIG=${BR_BOARD}_defconfig
export BR_ROOTFS_DIR="$OUTPUT_DIR"/tmp-rootfs
export BR_MV_VENDOR_DIR=${BR_DIR}/board/${MV_VENDOR}
if [ ! -z "${MV_BOOTLOGO// }" ]; then
ENABLE_BOOTLOGO=1
BOOTLOGO_PATH="${TOP_DIR}/device/${MV_BOARD}/${MV_BOOTLOGO}"
else
ENABLE_BOOTLOGO=0
BOOTLOGO_PATH="$COMMON_TOOLS_PATH"/bootlogo/logo.jpg
fi
}
cvi_print_env()

View File

@ -5,6 +5,7 @@
"ili9881c",
"ili9881d",
"jd9366ab",
"milkv_8hd",
"nt35521",
"ota7290b",
"ota7290b_1920",

View File

@ -137,7 +137,6 @@ def gen_cvipart_h(output, parser):
if p["label"] == "ROOTFS":
of.write('#define ROOTFS_DEV "/dev/mmcblk0p%d"\n' % (i+1))
break
of.write('#define PARTS_OFFSET ""\n')
elif parser.getStorage() == "none":
of.write('#define PART_LAYOUT ""\n')
@ -160,10 +159,10 @@ def gen_cvipart_h(output, parser):
)
# Generintg PART_ENV
if parser.getStorage() == "emmc":
if parser.getStorage() == "emmc" or parser.getStorage() == "sd":
LBA_SIZE = 512
if parser.getStorage() != "none" and parser.getStorage() != "sd":
if parser.getStorage() != "none":
of.write("#define PARTS_OFFSET \\\n")
for i, p in enumerate(parts):
of.write('"%s_PART_OFFSET=0x%x\\0" \\\n' % (p["label"], int(p["offset"] / LBA_SIZE)))

View File

@ -9,6 +9,7 @@ BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo"
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo-spinand/overlay"
BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y

View File

@ -9,6 +9,7 @@ BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo"
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo-spinor/overlay"
BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y

View File

@ -0,0 +1,44 @@
BR2_riscv=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo 256M"
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo256m-spinand/overlay"
BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUO256M=y
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_MTD=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_OPENSSL=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_EXPAT=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LIBXSLT=y
BR2_PACKAGE_LIBNL=y
BR2_PACKAGE_LIBFFI=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_ETHTOOL=y
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_NTP_NTPTIME=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_GENIMAGE=y

View File

@ -0,0 +1,44 @@
BR2_riscv=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo 256M"
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo256m-spinor/overlay"
BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUO256M=y
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_MTD=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_OPENSSL=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_EXPAT=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LIBXSLT=y
BR2_PACKAGE_LIBNL=y
BR2_PACKAGE_LIBFFI=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_ETHTOOL=y
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_NTP_NTPTIME=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_GENIMAGE=y

View File

@ -1,512 +1,84 @@
#
# Automatically generated file; DO NOT EDIT.
# Buildroot -g8c59e72e33-dirty Configuration
#
BR2_HAVE_DOT_CONFIG=y
BR2_HOST_GCC_AT_LEAST_4_9=y
BR2_HOST_GCC_AT_LEAST_5=y
BR2_HOST_GCC_AT_LEAST_6=y
BR2_HOST_GCC_AT_LEAST_7=y
#
# Target options
#
BR2_ARCH_IS_64=y
BR2_ARCH_HAS_MMU_MANDATORY=y
BR2_riscv=y
BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y
BR2_ARCH="riscv64"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_ABI="lp64d"
BR2_BINFMT_SUPPORTS_SHARED=y
BR2_READELF_ARCH_NAME="RISC-V"
BR2_BINFMT_ELF=y
BR2_RISCV_ISA_RVI=y
BR2_RISCV_ISA_RVM=y
BR2_RISCV_ISA_RVA=y
BR2_RISCV_ISA_RVF=y
BR2_RISCV_ISA_RVD=y
BR2_riscv_g=y
# BR2_riscv_custom is not set
# BR2_RISCV_32 is not set
BR2_RISCV_64=y
# BR2_RISCV_ABI_LP64 is not set
# BR2_RISCV_ABI_LP64F is not set
BR2_RISCV_ABI_LP64D=y
#
# Build options
#
#
# Commands
#
BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_SVN="svn --non-interactive"
BR2_BZR="bzr"
BR2_GIT="git"
BR2_CVS="cvs"
BR2_LOCALFILES="cp"
BR2_SCP="scp"
BR2_HG="hg"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_XZCAT="xzcat"
BR2_LZCAT="lzip -d -c"
BR2_TAR_OPTIONS=""
BR2_DEFCONFIG="./configs/milkv-duo256m_musl_riscv64_defconfig"
BR2_DL_DIR="$(TOPDIR)/dl"
BR2_HOST_DIR="$(BASE_DIR)/host"
#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net"
BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub"
BR2_GNU_MIRROR="http://ftpmirror.gnu.org"
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
BR2_JLEVEL=0
# BR2_CCACHE is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
BR2_STRIP_EXCLUDE_FILES=""
BR2_STRIP_EXCLUDE_DIRS=""
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
# BR2_OPTIMIZE_G is not set
BR2_OPTIMIZE_S=y
# BR2_OPTIMIZE_FAST is not set
# BR2_STATIC_LIBS is not set
BR2_SHARED_LIBS=y
# BR2_SHARED_STATIC_LIBS is not set
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
BR2_GLOBAL_PATCH_DIR=""
#
# Advanced
#
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
# BR2_FORCE_HOST_BUILD is not set
# BR2_REPRODUCIBLE is not set
BR2_PER_PACKAGE_DIRECTORIES=y
#
# Security Hardening Options
#
BR2_PIC_PIE=y
# BR2_SSP_NONE is not set
# BR2_SSP_REGULAR is not set
BR2_SSP_STRONG=y
# BR2_SSP_ALL is not set
BR2_SSP_OPTION="-fstack-protector-strong"
# BR2_RELRO_NONE is not set
# BR2_RELRO_PARTIAL is not set
BR2_RELRO_FULL=y
#
# Fortify Source needs a glibc toolchain and optimization
#
#
# Toolchain
#
BR2_TOOLCHAIN=y
BR2_TOOLCHAIN_USES_MUSL=y
# BR2_TOOLCHAIN_BUILDROOT is not set
BR2_TOOLCHAIN_EXTERNAL=y
#
# Toolchain External Options
#
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set
BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
# BR2_TOOLCHAIN_EXTERNAL_PATH="/data/sam/sdk/cv180x_v400/host-tools/gcc/riscv64-linux-musl-x86_64"
BR2_TOOLCHAIN_EXTERNAL_MUSL=y
BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom"
BR2_TOOLCHAIN_EXTERNAL_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_GCC_10=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
#
# Toolchain Generic Options
#
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y
BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y
BR2_USE_WCHAR=y
BR2_ENABLE_LOCALE=y
BR2_INSTALL_LIBSTDCPP=y
BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_HAS_SSP=y
BR2_TOOLCHAIN_HAS_SSP_STRONG=y
BR2_TOOLCHAIN_HAS_UCONTEXT=y
BR2_TOOLCHAIN_SUPPORTS_PIE=y
BR2_TOOLCHAIN_EXTRA_LIBS=""
BR2_USE_MMU=y
BR2_TARGET_OPTIMIZATION=""
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
# BR2_ECLIPSE_REGISTER is not set
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10"
BR2_TOOLCHAIN_GCC_AT_LEAST_10=y
BR2_TOOLCHAIN_GCC_AT_LEAST="10"
BR2_TOOLCHAIN_HAS_MNAN_OPTION=y
BR2_TOOLCHAIN_HAS_SYNC_1=y
BR2_TOOLCHAIN_HAS_SYNC_2=y
BR2_TOOLCHAIN_HAS_SYNC_4=y
BR2_TOOLCHAIN_HAS_SYNC_8=y
BR2_TOOLCHAIN_HAS_LIBATOMIC=y
BR2_TOOLCHAIN_HAS_ATOMIC=y
#
# System configuration
#
BR2_ROOTFS_SKELETON_DEFAULT=y
# BR2_ROOTFS_SKELETON_CUSTOM is not set
BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo 256M"
BR2_TARGET_GENERIC_PASSWD_SHA256=y
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256"
BR2_INIT_BUSYBOX=y
# BR2_INIT_SYSV is not set
# BR2_INIT_OPENRC is not set
#
# systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5
#
# BR2_INIT_NONE is not set
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
# BR2_ROOTFS_MERGED_USR is not set
BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
BR2_SYSTEM_BIN_SH_BUSYBOX=y
#
# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
#
# BR2_SYSTEM_BIN_SH_NONE is not set
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="console"
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
BR2_SYSTEM_DHCP=""
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
BR2_ENABLE_LOCALE_PURGE=y
BR2_ENABLE_LOCALE_WHITELIST="C en_US"
# BR2_SYSTEM_ENABLE_NLS is not set
# BR2_TARGET_TZ_INFO is not set
BR2_ROOTFS_USERS_TABLES=""
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo256m/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT=""
BR2_ROOTFS_POST_FAKEROOT_SCRIPT=""
BR2_ROOTFS_POST_IMAGE_SCRIPT=""
#
# Kernel
#
# BR2_LINUX_KERNEL is not set
#
# Target packages
#
BR2_PACKAGE_BUSYBOX=y
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set
# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
BR2_PACKAGE_SKELETON=y
BR2_PACKAGE_HAS_SKELETON=y
BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv"
BR2_PACKAGE_SKELETON_INIT_COMMON=y
BR2_PACKAGE_SKELETON_INIT_SYSV=y
#
# dt needs a glibc or uClibc toolchain w/ threads
#
# BR2_PACKAGE_DUMA is not set
BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUO256M=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_AMIXER=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI=y
BR2_PACKAGE_FIO=y
BR2_PACKAGE_GDB_ARCH_SUPPORTS=y
BR2_PACKAGE_GDB=y
# BR2_PACKAGE_IOZONE is not set
#
# ktap needs a Linux kernel to be built
#
# BR2_PACKAGE_LATENCYTOP is not set
# BR2_PACKAGE_LMBENCH is not set
BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y
# BR2_PACKAGE_LTP_TESTSUITE is not set
# BR2_PACKAGE_LTTNG_BABELTRACE is not set
#
# Development tools
#
BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
#
# Filesystem and flash utilities
#
# BR2_PACKAGE_ABOOTIMG is not set
#
# davfs2 needs a glibc or uClibc toolchain
#
# BR2_PACKAGE_DOSFSTOOLS is not set
BR2_PACKAGE_E2FSPROGS=y
# BR2_PACKAGE_E2FSPROGS_DEBUGFS is not set
# BR2_PACKAGE_E2FSPROGS_E2IMAGE is not set
BR2_PACKAGE_HOST_GENIMAGE=y
#
# e2scrub needs bash, coreutils, lvm2, and util-linux
#
# BR2_PACKAGE_E2FSPROGS_E4DEFRAG is not set
BR2_PACKAGE_E2FSPROGS_FSCK=y
# BR2_PACKAGE_E2FSPROGS_FUSE2FS is not set
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
#
# eudev needs eudev /dev management
#
# BR2_PACKAGE_EVEMU is not set
BR2_PACKAGE_EVTEST=y
# BR2_PACKAGE_FAN_CTRL is not set
# BR2_PACKAGE_FCONFIG is not set
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
BR2_PACKAGE_PYTHON3_SSL=y
BR2_PACKAGE_PYTHON_SERIAL=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_PYTHON_MODBUS_TK=y
BR2_PACKAGE_PYTHON_EVDEV=y
BR2_PACKAGE_PYTHON_FREETYPE=y
BR2_PACKAGE_PYTHON_PSUTIL=y
#
# Compression and decompression
#
BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib"
# BR2_PACKAGE_ZZIPLIB is not set
#
# Crypto
#
# BR2_PACKAGE_BEARSSL is not set
# BR2_PACKAGE_BEECRYPT is not set
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
# BR2_PACKAGE_BOTAN is not set
# BR2_PACKAGE_CA_CERTIFICATES is not set
#
# cryptodev needs a Linux kernel to be built
#
BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBGPG_ERROR is not set
BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu"
BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl"
BR2_PACKAGE_FREETYPE=y
#
# JSON/XML
#
BR2_PACKAGE_JSON_C=y
#
# Multimedia
#
BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBCAMERA is not set
#
# libcgroup needs a glibc toolchain w/ C++
#
BR2_PACKAGE_MUSL_COMPAT_HEADERS=y
# BR2_PACKAGE_MUSL_FTS is not set
# BR2_PACKAGE_ORC is not set
# BR2_PACKAGE_P11_KIT is not set
BR2_PACKAGE_POCO_ARCH_SUPPORTS=y
# BR2_PACKAGE_POCO is not set
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
# BR2_PACKAGE_PROTOBUF is not set
# BR2_PACKAGE_PROTOBUF_C is not set
#
# vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9
#
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y
# BR2_PACKAGE_WPA_SUPPLICANT_DBUS is not set
#
# System tools
#
BR2_PACKAGE_COREUTILS=y
#
# emlog needs a Linux kernel to be built
#
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_INITSCRIPTS=y
#
# iotop depends on python or python3
#
# BR2_PACKAGE_IPRUTILS is not set
# BR2_PACKAGE_IRQBALANCE is not set
# BR2_PACKAGE_KEYUTILS is not set
BR2_PACKAGE_KMOD=y
#
# unscd needs a glibc toolchain
#
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
# BR2_PACKAGE_UTIL_LINUX_LIBFDISK is not set
# BR2_PACKAGE_UTIL_LINUX_LIBMOUNT is not set
# BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS is not set
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
#
# su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library
#
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
#
# Filesystem images
#
BR2_TARGET_ROOTFS_EXT2=y
# BR2_TARGET_ROOTFS_EXT2_2r0 is not set
# BR2_TARGET_ROOTFS_EXT2_2r1 is not set
# BR2_TARGET_ROOTFS_EXT2_3 is not set
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_GEN=4
BR2_TARGET_ROOTFS_EXT2_REV=1
BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs"
BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
BR2_TARGET_ROOTFS_EXT2_INODES=0
BR2_TARGET_ROOTFS_EXT2_RESBLKS=5
BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit"
BR2_TARGET_ROOTFS_EXT2_NONE=y
#
# initramfs needs a Linux kernel to be built
#
BR2_TARGET_ROOTFS_TAR=y
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
#
# Host utilities
#
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_UTIL_LINUX=y
#
# Legacy options removed in 2019.11
#
BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS=""
#
# Legacy options removed in 2017.08
#
# BR2_TARGET_GRUB is not set
# BR2_PACKAGE_SIMICSFS is not set
# BR2_BINUTILS_VERSION_2_26_X is not set
BR2_XTENSA_OVERLAY_DIR=""
BR2_XTENSA_CUSTOM_NAME=""
# BR2_PACKAGE_HOST_MKE2IMG is not set
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0
#
# Legacy options removed in 2017.05
#
BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_STRESS_NG=y
#
# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads
#
BR2_PACKAGE_TREE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_EVDEV=y
BR2_PACKAGE_PYTHON_FREETYPE=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_MODBUS_TK=y
BR2_PACKAGE_PYTHON_NUMPY=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_PSUTIL=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBCURL_VERBOSE=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set
BR2_PACKAGE_DROPBEAR_SMALL=y
# BR2_PACKAGE_DROPBEAR_WTMP is not set
# BR2_PACKAGE_DROPBEAR_LASTLOG is not set
# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set
# BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE=""
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_NTP_NTPTIME=y
BR2_PACKAGE_TREE=y
BR2_PACKAGE_WGET=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
BR2_PACKAGE_BASH_LOADABLE_EXAMPLES=y
BR2_PACKAGE_BASH_COMPLETION=y
BR2_PACKAGE_FILE=y
BR2_PACKAGE_NEOFETCH=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_PACKAGE_NANO=y
BR2_PACKAGE_VIM=y
BR2_PACKAGE_NCURSES_WCHAR=y
#
# Custom Package
#
BR2_PACKAGE_NCNN=y
BR2_PACKAGE_NCNN_BENCH=y
BR2_PACKAGE_NCNN_EXAMPLE=y
BR2_PACKAGE_CMATRIX=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="786432K"
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_PACKAGE_HOST_GENIMAGE=y

View File

@ -1,521 +1,71 @@
#
# Automatically generated file; DO NOT EDIT.
# Buildroot -g8c59e72e33-dirty Configuration
#
BR2_HAVE_DOT_CONFIG=y
BR2_HOST_GCC_AT_LEAST_4_9=y
BR2_HOST_GCC_AT_LEAST_5=y
BR2_HOST_GCC_AT_LEAST_6=y
BR2_HOST_GCC_AT_LEAST_7=y
#
# Target options
#
BR2_ARCH_IS_64=y
BR2_ARCH_HAS_MMU_MANDATORY=y
BR2_riscv=y
BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y
BR2_ARCH="riscv64"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_ABI="lp64d"
BR2_BINFMT_SUPPORTS_SHARED=y
BR2_READELF_ARCH_NAME="RISC-V"
BR2_BINFMT_ELF=y
BR2_RISCV_ISA_RVI=y
BR2_RISCV_ISA_RVM=y
BR2_RISCV_ISA_RVA=y
BR2_RISCV_ISA_RVF=y
BR2_RISCV_ISA_RVD=y
BR2_riscv_g=y
# BR2_riscv_custom is not set
# BR2_RISCV_32 is not set
BR2_RISCV_64=y
# BR2_RISCV_ABI_LP64 is not set
# BR2_RISCV_ABI_LP64F is not set
BR2_RISCV_ABI_LP64D=y
#
# Build options
#
#
# Commands
#
BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_SVN="svn --non-interactive"
BR2_BZR="bzr"
BR2_GIT="git"
BR2_CVS="cvs"
BR2_LOCALFILES="cp"
BR2_SCP="scp"
BR2_HG="hg"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_XZCAT="xzcat"
BR2_LZCAT="lzip -d -c"
BR2_TAR_OPTIONS=""
BR2_DEFCONFIG="./configs/milkv-duo_musl_riscv64_defconfig"
BR2_DL_DIR="$(TOPDIR)/dl"
BR2_HOST_DIR="$(BASE_DIR)/host"
#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net"
BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub"
BR2_GNU_MIRROR="http://ftpmirror.gnu.org"
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
BR2_JLEVEL=0
# BR2_CCACHE is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
BR2_STRIP_EXCLUDE_FILES=""
BR2_STRIP_EXCLUDE_DIRS=""
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
# BR2_OPTIMIZE_G is not set
BR2_OPTIMIZE_S=y
# BR2_OPTIMIZE_FAST is not set
# BR2_STATIC_LIBS is not set
BR2_SHARED_LIBS=y
# BR2_SHARED_STATIC_LIBS is not set
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
BR2_GLOBAL_PATCH_DIR=""
#
# Advanced
#
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
# BR2_FORCE_HOST_BUILD is not set
# BR2_REPRODUCIBLE is not set
BR2_PER_PACKAGE_DIRECTORIES=y
#
# Security Hardening Options
#
BR2_PIC_PIE=y
# BR2_SSP_NONE is not set
# BR2_SSP_REGULAR is not set
BR2_SSP_STRONG=y
# BR2_SSP_ALL is not set
BR2_SSP_OPTION="-fstack-protector-strong"
# BR2_RELRO_NONE is not set
# BR2_RELRO_PARTIAL is not set
BR2_RELRO_FULL=y
#
# Fortify Source needs a glibc toolchain and optimization
#
#
# Toolchain
#
BR2_TOOLCHAIN=y
BR2_TOOLCHAIN_USES_MUSL=y
# BR2_TOOLCHAIN_BUILDROOT is not set
BR2_TOOLCHAIN_EXTERNAL=y
#
# Toolchain External Options
#
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set
BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
# BR2_TOOLCHAIN_EXTERNAL_PATH="/data/sam/sdk/cv180x_v400/host-tools/gcc/riscv64-linux-musl-x86_64"
BR2_TOOLCHAIN_EXTERNAL_MUSL=y
BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom"
BR2_TOOLCHAIN_EXTERNAL_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_GCC_10=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
#
# Toolchain Generic Options
#
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y
BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y
BR2_USE_WCHAR=y
BR2_ENABLE_LOCALE=y
BR2_INSTALL_LIBSTDCPP=y
BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_HAS_SSP=y
BR2_TOOLCHAIN_HAS_SSP_STRONG=y
BR2_TOOLCHAIN_HAS_UCONTEXT=y
BR2_TOOLCHAIN_SUPPORTS_PIE=y
BR2_TOOLCHAIN_EXTRA_LIBS=""
BR2_USE_MMU=y
BR2_TARGET_OPTIMIZATION=""
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
# BR2_ECLIPSE_REGISTER is not set
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10"
BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y
BR2_TOOLCHAIN_GCC_AT_LEAST_5=y
BR2_TOOLCHAIN_GCC_AT_LEAST_6=y
BR2_TOOLCHAIN_GCC_AT_LEAST_7=y
BR2_TOOLCHAIN_GCC_AT_LEAST_8=y
BR2_TOOLCHAIN_GCC_AT_LEAST_9=y
BR2_TOOLCHAIN_GCC_AT_LEAST_10=y
BR2_TOOLCHAIN_GCC_AT_LEAST="10"
BR2_TOOLCHAIN_HAS_MNAN_OPTION=y
BR2_TOOLCHAIN_HAS_SYNC_1=y
BR2_TOOLCHAIN_HAS_SYNC_2=y
BR2_TOOLCHAIN_HAS_SYNC_4=y
BR2_TOOLCHAIN_HAS_SYNC_8=y
BR2_TOOLCHAIN_HAS_LIBATOMIC=y
BR2_TOOLCHAIN_HAS_ATOMIC=y
#
# System configuration
#
BR2_ROOTFS_SKELETON_DEFAULT=y
# BR2_ROOTFS_SKELETON_CUSTOM is not set
BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo"
BR2_TARGET_GENERIC_PASSWD_SHA256=y
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256"
BR2_INIT_BUSYBOX=y
# BR2_INIT_SYSV is not set
# BR2_INIT_OPENRC is not set
#
# systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5
#
# BR2_INIT_NONE is not set
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
# BR2_ROOTFS_MERGED_USR is not set
BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
BR2_SYSTEM_BIN_SH_BUSYBOX=y
#
# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
#
# BR2_SYSTEM_BIN_SH_NONE is not set
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="console"
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
BR2_SYSTEM_DHCP=""
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
BR2_ENABLE_LOCALE_PURGE=y
BR2_ENABLE_LOCALE_WHITELIST="C en_US"
# BR2_SYSTEM_ENABLE_NLS is not set
# BR2_TARGET_TZ_INFO is not set
BR2_ROOTFS_USERS_TABLES=""
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT=""
BR2_ROOTFS_POST_FAKEROOT_SCRIPT=""
BR2_ROOTFS_POST_IMAGE_SCRIPT=""
#
# Kernel
#
# BR2_LINUX_KERNEL is not set
#
# Target packages
#
BR2_PACKAGE_BUSYBOX=y
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set
# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_SKELETON=y
BR2_PACKAGE_HAS_SKELETON=y
BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv"
BR2_PACKAGE_SKELETON_INIT_COMMON=y
BR2_PACKAGE_SKELETON_INIT_SYSV=y
#
# dt needs a glibc or uClibc toolchain w/ threads
#
# BR2_PACKAGE_DUMA is not set
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_AMIXER=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI=y
BR2_PACKAGE_FIO=y
BR2_PACKAGE_GDB_ARCH_SUPPORTS=y
BR2_PACKAGE_GDB=y
# BR2_PACKAGE_IOZONE is not set
#
# ktap needs a Linux kernel to be built
#
# BR2_PACKAGE_LATENCYTOP is not set
# BR2_PACKAGE_LMBENCH is not set
BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y
# BR2_PACKAGE_LTP_TESTSUITE is not set
# BR2_PACKAGE_LTTNG_BABELTRACE is not set
#
# Development tools
#
BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
#
# Filesystem and flash utilities
#
# BR2_PACKAGE_ABOOTIMG is not set
#
# davfs2 needs a glibc or uClibc toolchain
#
# BR2_PACKAGE_DOSFSTOOLS is not set
BR2_PACKAGE_E2FSPROGS=y
# BR2_PACKAGE_E2FSPROGS_DEBUGFS is not set
# BR2_PACKAGE_E2FSPROGS_E2IMAGE is not set
BR2_PACKAGE_HOST_GENIMAGE=y
#
# e2scrub needs bash, coreutils, lvm2, and util-linux
#
# BR2_PACKAGE_E2FSPROGS_E4DEFRAG is not set
BR2_PACKAGE_E2FSPROGS_FSCK=y
# BR2_PACKAGE_E2FSPROGS_FUSE2FS is not set
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
#
# eudev needs eudev /dev management
#
# BR2_PACKAGE_EVEMU is not set
BR2_PACKAGE_EVTEST=y
# BR2_PACKAGE_FAN_CTRL is not set
# BR2_PACKAGE_FCONFIG is not set
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
BR2_PACKAGE_PYTHON3_SSL=y
BR2_PACKAGE_PYTHON_SERIAL=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_PYTHON_MODBUS_TK=y
BR2_PACKAGE_PYTHON_EVDEV=y
BR2_PACKAGE_PYTHON_FREETYPE=y
BR2_PACKAGE_PYTHON_PINPONG=y
BR2_PACKAGE_PYTHON_PSUTIL=y
#
# Compression and decompression
#
BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib"
# BR2_PACKAGE_ZZIPLIB is not set
#
# Crypto
#
# BR2_PACKAGE_BEARSSL is not set
# BR2_PACKAGE_BEECRYPT is not set
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
# BR2_PACKAGE_BOTAN is not set
# BR2_PACKAGE_CA_CERTIFICATES is not set
#
# cryptodev needs a Linux kernel to be built
#
BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBGPG_ERROR is not set
BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu"
BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl"
BR2_PACKAGE_FREETYPE=y
#
# JSON/XML
#
BR2_PACKAGE_JSON_C=y
#
# Multimedia
#
BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBCAMERA is not set
#
# libcgroup needs a glibc toolchain w/ C++
#
BR2_PACKAGE_MUSL_COMPAT_HEADERS=y
# BR2_PACKAGE_MUSL_FTS is not set
# BR2_PACKAGE_ORC is not set
# BR2_PACKAGE_P11_KIT is not set
BR2_PACKAGE_POCO_ARCH_SUPPORTS=y
# BR2_PACKAGE_POCO is not set
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
# BR2_PACKAGE_PROTOBUF is not set
# BR2_PACKAGE_PROTOBUF_C is not set
#
# vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9
#
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y
# BR2_PACKAGE_WPA_SUPPLICANT_DBUS is not set
#
# System tools
#
BR2_PACKAGE_COREUTILS=y
#
# emlog needs a Linux kernel to be built
#
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_INITSCRIPTS=y
#
# iotop depends on python or python3
#
# BR2_PACKAGE_IPRUTILS is not set
# BR2_PACKAGE_IRQBALANCE is not set
# BR2_PACKAGE_KEYUTILS is not set
BR2_PACKAGE_KMOD=y
#
# unscd needs a glibc toolchain
#
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
# BR2_PACKAGE_UTIL_LINUX_LIBFDISK is not set
# BR2_PACKAGE_UTIL_LINUX_LIBMOUNT is not set
# BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS is not set
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
#
# su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library
#
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
#
# Filesystem images
#
BR2_TARGET_ROOTFS_EXT2=y
# BR2_TARGET_ROOTFS_EXT2_2r0 is not set
# BR2_TARGET_ROOTFS_EXT2_2r1 is not set
# BR2_TARGET_ROOTFS_EXT2_3 is not set
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_GEN=4
BR2_TARGET_ROOTFS_EXT2_REV=1
BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs"
BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
BR2_TARGET_ROOTFS_EXT2_INODES=0
BR2_TARGET_ROOTFS_EXT2_RESBLKS=5
BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit"
BR2_TARGET_ROOTFS_EXT2_NONE=y
#
# initramfs needs a Linux kernel to be built
#
BR2_TARGET_ROOTFS_TAR=y
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
#
# Host utilities
#
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_UTIL_LINUX=y
#
# Legacy options removed in 2019.11
#
BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS=""
#
# Legacy options removed in 2017.08
#
# BR2_TARGET_GRUB is not set
# BR2_PACKAGE_SIMICSFS is not set
# BR2_BINUTILS_VERSION_2_26_X is not set
BR2_XTENSA_OVERLAY_DIR=""
BR2_XTENSA_CUSTOM_NAME=""
# BR2_PACKAGE_HOST_MKE2IMG is not set
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0
#
# Legacy options removed in 2017.05
#
BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_STRESS_NG=y
#
# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads
#
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_EVDEV=y
BR2_PACKAGE_PYTHON_FREETYPE=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_MODBUS_TK=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_PINPONG=y
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_PSUTIL=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBCURL_VERBOSE=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set
BR2_PACKAGE_DROPBEAR_SMALL=y
# BR2_PACKAGE_DROPBEAR_WTMP is not set
# BR2_PACKAGE_DROPBEAR_LASTLOG is not set
# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set
# BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE=""
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_NTP_NTPTIME=y
BR2_PACKAGE_WGET=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="786432K"
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_PACKAGE_HOST_GENIMAGE=y

View File

@ -1,510 +1,80 @@
#
# Automatically generated file; DO NOT EDIT.
# Buildroot -g8c59e72e33-dirty Configuration
#
BR2_HAVE_DOT_CONFIG=y
BR2_HOST_GCC_AT_LEAST_4_9=y
BR2_HOST_GCC_AT_LEAST_5=y
BR2_HOST_GCC_AT_LEAST_6=y
BR2_HOST_GCC_AT_LEAST_7=y
#
# Target options
#
BR2_ARCH_IS_64=y
BR2_ARCH_HAS_MMU_MANDATORY=y
BR2_riscv=y
BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y
BR2_ARCH="riscv64"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_ABI="lp64d"
BR2_BINFMT_SUPPORTS_SHARED=y
BR2_READELF_ARCH_NAME="RISC-V"
BR2_BINFMT_ELF=y
BR2_RISCV_ISA_RVI=y
BR2_RISCV_ISA_RVM=y
BR2_RISCV_ISA_RVA=y
BR2_RISCV_ISA_RVF=y
BR2_RISCV_ISA_RVD=y
BR2_riscv_g=y
# BR2_riscv_custom is not set
# BR2_RISCV_32 is not set
BR2_RISCV_64=y
# BR2_RISCV_ABI_LP64 is not set
# BR2_RISCV_ABI_LP64F is not set
BR2_RISCV_ABI_LP64D=y
#
# Build options
#
#
# Commands
#
BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_SVN="svn --non-interactive"
BR2_BZR="bzr"
BR2_GIT="git"
BR2_CVS="cvs"
BR2_LOCALFILES="cp"
BR2_SCP="scp"
BR2_HG="hg"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_XZCAT="xzcat"
BR2_LZCAT="lzip -d -c"
BR2_TAR_OPTIONS=""
BR2_DEFCONFIG="./configs/milkv-duos-emmc_musl_riscv64_defconfig"
BR2_DL_DIR="$(TOPDIR)/dl"
BR2_HOST_DIR="$(BASE_DIR)/host"
#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net"
BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub"
BR2_GNU_MIRROR="http://ftpmirror.gnu.org"
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
BR2_JLEVEL=0
# BR2_CCACHE is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
BR2_STRIP_EXCLUDE_FILES=""
BR2_STRIP_EXCLUDE_DIRS=""
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
# BR2_OPTIMIZE_G is not set
BR2_OPTIMIZE_S=y
# BR2_OPTIMIZE_FAST is not set
# BR2_STATIC_LIBS is not set
BR2_SHARED_LIBS=y
# BR2_SHARED_STATIC_LIBS is not set
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
BR2_GLOBAL_PATCH_DIR=""
#
# Advanced
#
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
# BR2_FORCE_HOST_BUILD is not set
# BR2_REPRODUCIBLE is not set
BR2_PER_PACKAGE_DIRECTORIES=y
#
# Security Hardening Options
#
BR2_PIC_PIE=y
# BR2_SSP_NONE is not set
# BR2_SSP_REGULAR is not set
BR2_SSP_STRONG=y
# BR2_SSP_ALL is not set
BR2_SSP_OPTION="-fstack-protector-strong"
# BR2_RELRO_NONE is not set
# BR2_RELRO_PARTIAL is not set
BR2_RELRO_FULL=y
#
# Fortify Source needs a glibc toolchain and optimization
#
#
# Toolchain
#
BR2_TOOLCHAIN=y
BR2_TOOLCHAIN_USES_MUSL=y
# BR2_TOOLCHAIN_BUILDROOT is not set
BR2_TOOLCHAIN_EXTERNAL=y
#
# Toolchain External Options
#
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set
BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
# BR2_TOOLCHAIN_EXTERNAL_PATH="/data/sam/sdk/cv180x_v400/host-tools/gcc/riscv64-linux-musl-x86_64"
BR2_TOOLCHAIN_EXTERNAL_MUSL=y
BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom"
BR2_TOOLCHAIN_EXTERNAL_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_GCC_10=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
#
# Toolchain Generic Options
#
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y
BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y
BR2_USE_WCHAR=y
BR2_ENABLE_LOCALE=y
BR2_INSTALL_LIBSTDCPP=y
BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_HAS_SSP=y
BR2_TOOLCHAIN_HAS_SSP_STRONG=y
BR2_TOOLCHAIN_HAS_UCONTEXT=y
BR2_TOOLCHAIN_SUPPORTS_PIE=y
BR2_TOOLCHAIN_EXTRA_LIBS=""
BR2_USE_MMU=y
BR2_TARGET_OPTIMIZATION=""
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
# BR2_ECLIPSE_REGISTER is not set
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10"
BR2_TOOLCHAIN_GCC_AT_LEAST_10=y
BR2_TOOLCHAIN_GCC_AT_LEAST="10"
BR2_TOOLCHAIN_HAS_MNAN_OPTION=y
BR2_TOOLCHAIN_HAS_SYNC_1=y
BR2_TOOLCHAIN_HAS_SYNC_2=y
BR2_TOOLCHAIN_HAS_SYNC_4=y
BR2_TOOLCHAIN_HAS_SYNC_8=y
BR2_TOOLCHAIN_HAS_LIBATOMIC=y
BR2_TOOLCHAIN_HAS_ATOMIC=y
#
# System configuration
#
BR2_ROOTFS_SKELETON_DEFAULT=y
# BR2_ROOTFS_SKELETON_CUSTOM is not set
BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo S eMMC"
BR2_TARGET_GENERIC_PASSWD_SHA256=y
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256"
BR2_INIT_BUSYBOX=y
# BR2_INIT_SYSV is not set
# BR2_INIT_OPENRC is not set
#
# systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5
#
# BR2_INIT_NONE is not set
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
# BR2_ROOTFS_MERGED_USR is not set
BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
BR2_SYSTEM_BIN_SH_BUSYBOX=y
#
# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
#
# BR2_SYSTEM_BIN_SH_NONE is not set
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="console"
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
BR2_SYSTEM_DHCP=""
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
BR2_ENABLE_LOCALE_PURGE=y
BR2_ENABLE_LOCALE_WHITELIST="C en_US"
# BR2_SYSTEM_ENABLE_NLS is not set
# BR2_TARGET_TZ_INFO is not set
BR2_ROOTFS_USERS_TABLES=""
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duos-emmc/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT=""
BR2_ROOTFS_POST_FAKEROOT_SCRIPT=""
BR2_ROOTFS_POST_IMAGE_SCRIPT=""
#
# Kernel
#
# BR2_LINUX_KERNEL is not set
#
# Target packages
#
BR2_PACKAGE_BUSYBOX=y
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set
# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
BR2_PACKAGE_SKELETON=y
BR2_PACKAGE_HAS_SKELETON=y
BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv"
BR2_PACKAGE_SKELETON_INIT_COMMON=y
BR2_PACKAGE_SKELETON_INIT_SYSV=y
#
# dt needs a glibc or uClibc toolchain w/ threads
#
# BR2_PACKAGE_DUMA is not set
BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUOS=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_AMIXER=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI=y
BR2_PACKAGE_FIO=y
BR2_PACKAGE_GDB_ARCH_SUPPORTS=y
BR2_PACKAGE_GDB=y
# BR2_PACKAGE_IOZONE is not set
#
# ktap needs a Linux kernel to be built
#
# BR2_PACKAGE_LATENCYTOP is not set
# BR2_PACKAGE_LMBENCH is not set
BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y
# BR2_PACKAGE_LTP_TESTSUITE is not set
# BR2_PACKAGE_LTTNG_BABELTRACE is not set
#
# Development tools
#
BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
#
# Filesystem and flash utilities
#
# BR2_PACKAGE_ABOOTIMG is not set
#
# davfs2 needs a glibc or uClibc toolchain
#
# BR2_PACKAGE_DOSFSTOOLS is not set
BR2_PACKAGE_E2FSPROGS=y
# BR2_PACKAGE_E2FSPROGS_DEBUGFS is not set
# BR2_PACKAGE_E2FSPROGS_E2IMAGE is not set
BR2_PACKAGE_HOST_GENIMAGE=y
#
# e2scrub needs bash, coreutils, lvm2, and util-linux
#
# BR2_PACKAGE_E2FSPROGS_E4DEFRAG is not set
BR2_PACKAGE_E2FSPROGS_FSCK=y
# BR2_PACKAGE_E2FSPROGS_FUSE2FS is not set
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
#
# eudev needs eudev /dev management
#
# BR2_PACKAGE_EVEMU is not set
BR2_PACKAGE_EVTEST=y
# BR2_PACKAGE_FAN_CTRL is not set
# BR2_PACKAGE_FCONFIG is not set
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
BR2_PACKAGE_PYTHON3_SSL=y
BR2_PACKAGE_PYTHON_SERIAL=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_PYTHON_MODBUS_TK=y
BR2_PACKAGE_PYTHON_EVDEV=y
BR2_PACKAGE_PYTHON_FREETYPE=y
BR2_PACKAGE_PYTHON_PSUTIL=y
#
# Compression and decompression
#
BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib"
# BR2_PACKAGE_ZZIPLIB is not set
#
# Crypto
#
# BR2_PACKAGE_BEARSSL is not set
# BR2_PACKAGE_BEECRYPT is not set
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
# BR2_PACKAGE_BOTAN is not set
# BR2_PACKAGE_CA_CERTIFICATES is not set
#
# cryptodev needs a Linux kernel to be built
#
BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBGPG_ERROR is not set
BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu"
BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl"
BR2_PACKAGE_FREETYPE=y
#
# JSON/XML
#
BR2_PACKAGE_JSON_C=y
#
# Multimedia
#
BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBCAMERA is not set
#
# libcgroup needs a glibc toolchain w/ C++
#
BR2_PACKAGE_MUSL_COMPAT_HEADERS=y
# BR2_PACKAGE_MUSL_FTS is not set
# BR2_PACKAGE_ORC is not set
# BR2_PACKAGE_P11_KIT is not set
BR2_PACKAGE_POCO_ARCH_SUPPORTS=y
# BR2_PACKAGE_POCO is not set
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
# BR2_PACKAGE_PROTOBUF is not set
# BR2_PACKAGE_PROTOBUF_C is not set
#
# vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9
#
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y
# BR2_PACKAGE_WPA_SUPPLICANT_DBUS is not set
#
# System tools
#
BR2_PACKAGE_COREUTILS=y
#
# emlog needs a Linux kernel to be built
#
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_INITSCRIPTS=y
#
# iotop depends on python or python3
#
# BR2_PACKAGE_IPRUTILS is not set
# BR2_PACKAGE_IRQBALANCE is not set
# BR2_PACKAGE_KEYUTILS is not set
BR2_PACKAGE_KMOD=y
#
# unscd needs a glibc toolchain
#
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
# BR2_PACKAGE_UTIL_LINUX_LIBFDISK is not set
# BR2_PACKAGE_UTIL_LINUX_LIBMOUNT is not set
# BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS is not set
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
#
# su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library
#
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
#
# Filesystem images
#
BR2_TARGET_ROOTFS_EXT2=y
# BR2_TARGET_ROOTFS_EXT2_2r0 is not set
# BR2_TARGET_ROOTFS_EXT2_2r1 is not set
# BR2_TARGET_ROOTFS_EXT2_3 is not set
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_GEN=4
BR2_TARGET_ROOTFS_EXT2_REV=1
BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs"
BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
BR2_TARGET_ROOTFS_EXT2_INODES=0
BR2_TARGET_ROOTFS_EXT2_RESBLKS=5
BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit"
BR2_TARGET_ROOTFS_EXT2_NONE=y
#
# initramfs needs a Linux kernel to be built
#
BR2_TARGET_ROOTFS_TAR=y
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
#
# Host utilities
#
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_UTIL_LINUX=y
#
# Legacy options removed in 2019.11
#
BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS=""
#
# Legacy options removed in 2017.08
#
# BR2_TARGET_GRUB is not set
# BR2_PACKAGE_SIMICSFS is not set
# BR2_BINUTILS_VERSION_2_26_X is not set
BR2_XTENSA_OVERLAY_DIR=""
BR2_XTENSA_CUSTOM_NAME=""
# BR2_PACKAGE_HOST_MKE2IMG is not set
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0
#
# Legacy options removed in 2017.05
#
BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_STRESS_NG=y
#
# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads
#
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set
BR2_PACKAGE_DROPBEAR_SMALL=y
# BR2_PACKAGE_DROPBEAR_WTMP is not set
# BR2_PACKAGE_DROPBEAR_LASTLOG is not set
# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set
# BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE=""
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_NTP_NTPTIME=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_EVDEV=y
BR2_PACKAGE_PYTHON_FREETYPE=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_MODBUS_TK=y
BR2_PACKAGE_PYTHON_NUMPY=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_PSUTIL=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBCURL_VERBOSE=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH=y
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH is not set
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI is not set
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC is not set
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP is not set
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS is not set
BR2_PACKAGE_BLUEZ5_UTILS_TEST=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_NTP_NTPTIME=y
BR2_PACKAGE_WGET=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="786432K"
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_PACKAGE_HOST_GENIMAGE=y

View File

@ -1,510 +1,80 @@
#
# Automatically generated file; DO NOT EDIT.
# Buildroot -g8c59e72e33-dirty Configuration
#
BR2_HAVE_DOT_CONFIG=y
BR2_HOST_GCC_AT_LEAST_4_9=y
BR2_HOST_GCC_AT_LEAST_5=y
BR2_HOST_GCC_AT_LEAST_6=y
BR2_HOST_GCC_AT_LEAST_7=y
#
# Target options
#
BR2_ARCH_IS_64=y
BR2_ARCH_HAS_MMU_MANDATORY=y
BR2_riscv=y
BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y
BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y
BR2_ARCH="riscv64"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_ABI="lp64d"
BR2_BINFMT_SUPPORTS_SHARED=y
BR2_READELF_ARCH_NAME="RISC-V"
BR2_BINFMT_ELF=y
BR2_RISCV_ISA_RVI=y
BR2_RISCV_ISA_RVM=y
BR2_RISCV_ISA_RVA=y
BR2_RISCV_ISA_RVF=y
BR2_RISCV_ISA_RVD=y
BR2_riscv_g=y
# BR2_riscv_custom is not set
# BR2_RISCV_32 is not set
BR2_RISCV_64=y
# BR2_RISCV_ABI_LP64 is not set
# BR2_RISCV_ABI_LP64F is not set
BR2_RISCV_ABI_LP64D=y
#
# Build options
#
#
# Commands
#
BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_SVN="svn --non-interactive"
BR2_BZR="bzr"
BR2_GIT="git"
BR2_CVS="cvs"
BR2_LOCALFILES="cp"
BR2_SCP="scp"
BR2_HG="hg"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_XZCAT="xzcat"
BR2_LZCAT="lzip -d -c"
BR2_TAR_OPTIONS=""
BR2_DEFCONFIG="./configs/milkv-duos-sd_musl_riscv64_defconfig"
BR2_DL_DIR="$(TOPDIR)/dl"
BR2_HOST_DIR="$(BASE_DIR)/host"
#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net"
BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub"
BR2_GNU_MIRROR="http://ftpmirror.gnu.org"
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
BR2_JLEVEL=0
# BR2_CCACHE is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
BR2_STRIP_EXCLUDE_FILES=""
BR2_STRIP_EXCLUDE_DIRS=""
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
# BR2_OPTIMIZE_G is not set
BR2_OPTIMIZE_S=y
# BR2_OPTIMIZE_FAST is not set
# BR2_STATIC_LIBS is not set
BR2_SHARED_LIBS=y
# BR2_SHARED_STATIC_LIBS is not set
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
BR2_GLOBAL_PATCH_DIR=""
#
# Advanced
#
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
# BR2_FORCE_HOST_BUILD is not set
# BR2_REPRODUCIBLE is not set
BR2_PER_PACKAGE_DIRECTORIES=y
#
# Security Hardening Options
#
BR2_PIC_PIE=y
# BR2_SSP_NONE is not set
# BR2_SSP_REGULAR is not set
BR2_SSP_STRONG=y
# BR2_SSP_ALL is not set
BR2_SSP_OPTION="-fstack-protector-strong"
# BR2_RELRO_NONE is not set
# BR2_RELRO_PARTIAL is not set
BR2_RELRO_FULL=y
#
# Fortify Source needs a glibc toolchain and optimization
#
#
# Toolchain
#
BR2_TOOLCHAIN=y
BR2_TOOLCHAIN_USES_MUSL=y
# BR2_TOOLCHAIN_BUILDROOT is not set
BR2_TOOLCHAIN_EXTERNAL=y
#
# Toolchain External Options
#
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set
BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
# BR2_TOOLCHAIN_EXTERNAL_PATH="/data/sam/sdk/cv180x_v400/host-tools/gcc/riscv64-linux-musl-x86_64"
BR2_TOOLCHAIN_EXTERNAL_MUSL=y
BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom"
BR2_TOOLCHAIN_EXTERNAL_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_GCC_10=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
#
# Toolchain Generic Options
#
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y
BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y
BR2_USE_WCHAR=y
BR2_ENABLE_LOCALE=y
BR2_INSTALL_LIBSTDCPP=y
BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_HAS_SSP=y
BR2_TOOLCHAIN_HAS_SSP_STRONG=y
BR2_TOOLCHAIN_HAS_UCONTEXT=y
BR2_TOOLCHAIN_SUPPORTS_PIE=y
BR2_TOOLCHAIN_EXTRA_LIBS=""
BR2_USE_MMU=y
BR2_TARGET_OPTIMIZATION=""
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
# BR2_ECLIPSE_REGISTER is not set
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10"
BR2_TOOLCHAIN_GCC_AT_LEAST_10=y
BR2_TOOLCHAIN_GCC_AT_LEAST="10"
BR2_TOOLCHAIN_HAS_MNAN_OPTION=y
BR2_TOOLCHAIN_HAS_SYNC_1=y
BR2_TOOLCHAIN_HAS_SYNC_2=y
BR2_TOOLCHAIN_HAS_SYNC_4=y
BR2_TOOLCHAIN_HAS_SYNC_8=y
BR2_TOOLCHAIN_HAS_LIBATOMIC=y
BR2_TOOLCHAIN_HAS_ATOMIC=y
#
# System configuration
#
BR2_ROOTFS_SKELETON_DEFAULT=y
# BR2_ROOTFS_SKELETON_CUSTOM is not set
BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo S SD"
BR2_TARGET_GENERIC_PASSWD_SHA256=y
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256"
BR2_INIT_BUSYBOX=y
# BR2_INIT_SYSV is not set
# BR2_INIT_OPENRC is not set
#
# systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5
#
# BR2_INIT_NONE is not set
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
# BR2_ROOTFS_MERGED_USR is not set
BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
BR2_SYSTEM_BIN_SH_BUSYBOX=y
#
# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
#
# BR2_SYSTEM_BIN_SH_NONE is not set
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="console"
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
BR2_SYSTEM_DHCP=""
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
BR2_ENABLE_LOCALE_PURGE=y
BR2_ENABLE_LOCALE_WHITELIST="C en_US"
# BR2_SYSTEM_ENABLE_NLS is not set
# BR2_TARGET_TZ_INFO is not set
BR2_ROOTFS_USERS_TABLES=""
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duos-sd/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT=""
BR2_ROOTFS_POST_FAKEROOT_SCRIPT=""
BR2_ROOTFS_POST_IMAGE_SCRIPT=""
#
# Kernel
#
# BR2_LINUX_KERNEL is not set
#
# Target packages
#
BR2_PACKAGE_BUSYBOX=y
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set
# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
BR2_PACKAGE_SKELETON=y
BR2_PACKAGE_HAS_SKELETON=y
BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv"
BR2_PACKAGE_SKELETON_INIT_COMMON=y
BR2_PACKAGE_SKELETON_INIT_SYSV=y
#
# dt needs a glibc or uClibc toolchain w/ threads
#
# BR2_PACKAGE_DUMA is not set
BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUOS=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_AMIXER=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI=y
BR2_PACKAGE_FIO=y
BR2_PACKAGE_GDB_ARCH_SUPPORTS=y
BR2_PACKAGE_GDB=y
# BR2_PACKAGE_IOZONE is not set
#
# ktap needs a Linux kernel to be built
#
# BR2_PACKAGE_LATENCYTOP is not set
# BR2_PACKAGE_LMBENCH is not set
BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y
# BR2_PACKAGE_LTP_TESTSUITE is not set
# BR2_PACKAGE_LTTNG_BABELTRACE is not set
#
# Development tools
#
BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
#
# Filesystem and flash utilities
#
# BR2_PACKAGE_ABOOTIMG is not set
#
# davfs2 needs a glibc or uClibc toolchain
#
# BR2_PACKAGE_DOSFSTOOLS is not set
BR2_PACKAGE_E2FSPROGS=y
# BR2_PACKAGE_E2FSPROGS_DEBUGFS is not set
# BR2_PACKAGE_E2FSPROGS_E2IMAGE is not set
BR2_PACKAGE_HOST_GENIMAGE=y
#
# e2scrub needs bash, coreutils, lvm2, and util-linux
#
# BR2_PACKAGE_E2FSPROGS_E4DEFRAG is not set
BR2_PACKAGE_E2FSPROGS_FSCK=y
# BR2_PACKAGE_E2FSPROGS_FUSE2FS is not set
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
#
# eudev needs eudev /dev management
#
# BR2_PACKAGE_EVEMU is not set
BR2_PACKAGE_EVTEST=y
# BR2_PACKAGE_FAN_CTRL is not set
# BR2_PACKAGE_FCONFIG is not set
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
BR2_PACKAGE_PYTHON3_SSL=y
BR2_PACKAGE_PYTHON_SERIAL=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_PYTHON_MODBUS_TK=y
BR2_PACKAGE_PYTHON_EVDEV=y
BR2_PACKAGE_PYTHON_FREETYPE=y
BR2_PACKAGE_PYTHON_PSUTIL=y
#
# Compression and decompression
#
BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib"
# BR2_PACKAGE_ZZIPLIB is not set
#
# Crypto
#
# BR2_PACKAGE_BEARSSL is not set
# BR2_PACKAGE_BEECRYPT is not set
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
# BR2_PACKAGE_BOTAN is not set
# BR2_PACKAGE_CA_CERTIFICATES is not set
#
# cryptodev needs a Linux kernel to be built
#
BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBGPG_ERROR is not set
BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu"
BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl"
BR2_PACKAGE_FREETYPE=y
#
# JSON/XML
#
BR2_PACKAGE_JSON_C=y
#
# Multimedia
#
BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBCAMERA is not set
#
# libcgroup needs a glibc toolchain w/ C++
#
BR2_PACKAGE_MUSL_COMPAT_HEADERS=y
# BR2_PACKAGE_MUSL_FTS is not set
# BR2_PACKAGE_ORC is not set
# BR2_PACKAGE_P11_KIT is not set
BR2_PACKAGE_POCO_ARCH_SUPPORTS=y
# BR2_PACKAGE_POCO is not set
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
# BR2_PACKAGE_PROTOBUF is not set
# BR2_PACKAGE_PROTOBUF_C is not set
#
# vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9
#
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y
# BR2_PACKAGE_WPA_SUPPLICANT_DBUS is not set
#
# System tools
#
BR2_PACKAGE_COREUTILS=y
#
# emlog needs a Linux kernel to be built
#
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_INITSCRIPTS=y
#
# iotop depends on python or python3
#
# BR2_PACKAGE_IPRUTILS is not set
# BR2_PACKAGE_IRQBALANCE is not set
# BR2_PACKAGE_KEYUTILS is not set
BR2_PACKAGE_KMOD=y
#
# unscd needs a glibc toolchain
#
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
# BR2_PACKAGE_UTIL_LINUX_LIBFDISK is not set
# BR2_PACKAGE_UTIL_LINUX_LIBMOUNT is not set
# BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS is not set
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
#
# su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library
#
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
#
# Filesystem images
#
BR2_TARGET_ROOTFS_EXT2=y
# BR2_TARGET_ROOTFS_EXT2_2r0 is not set
# BR2_TARGET_ROOTFS_EXT2_2r1 is not set
# BR2_TARGET_ROOTFS_EXT2_3 is not set
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_GEN=4
BR2_TARGET_ROOTFS_EXT2_REV=1
BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs"
BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
BR2_TARGET_ROOTFS_EXT2_INODES=0
BR2_TARGET_ROOTFS_EXT2_RESBLKS=5
BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit"
BR2_TARGET_ROOTFS_EXT2_NONE=y
#
# initramfs needs a Linux kernel to be built
#
BR2_TARGET_ROOTFS_TAR=y
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
#
# Host utilities
#
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_UTIL_LINUX=y
#
# Legacy options removed in 2019.11
#
BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS=""
#
# Legacy options removed in 2017.08
#
# BR2_TARGET_GRUB is not set
# BR2_PACKAGE_SIMICSFS is not set
# BR2_BINUTILS_VERSION_2_26_X is not set
BR2_XTENSA_OVERLAY_DIR=""
BR2_XTENSA_CUSTOM_NAME=""
# BR2_PACKAGE_HOST_MKE2IMG is not set
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0
#
# Legacy options removed in 2017.05
#
BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_STRESS_NG=y
#
# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads
#
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set
BR2_PACKAGE_DROPBEAR_SMALL=y
# BR2_PACKAGE_DROPBEAR_WTMP is not set
# BR2_PACKAGE_DROPBEAR_LASTLOG is not set
# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set
# BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE=""
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_NTP_NTPTIME=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_EVDEV=y
BR2_PACKAGE_PYTHON_FREETYPE=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_MODBUS_TK=y
BR2_PACKAGE_PYTHON_NUMPY=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_PSUTIL=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBCURL_VERBOSE=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH=y
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH is not set
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI is not set
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC is not set
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP is not set
# BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS is not set
BR2_PACKAGE_BLUEZ5_UTILS_TEST=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_NTP_NTPTIME=y
BR2_PACKAGE_WGET=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="786432K"
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_PACKAGE_HOST_GENIMAGE=y

View File

Binary file not shown.

View File

View File

View File

View File

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

View File

Binary file not shown.

View File

Binary file not shown.

View File

@ -1,7 +1,9 @@
menu "Target packages"
source "package/busybox/Config.in"
source "package/cvi-pinmux/Config.in"
source "package/duo-pinmux/Config.in"
source "package/duo-wiringx/Config.in"
source "package/skeleton/Config.in"
source "package/skeleton-custom/Config.in"
source "package/skeleton-init-common/Config.in"

View File

@ -0,0 +1,24 @@
config BR2_PACKAGE_CVI_PINMUX
bool "Cvi pinmux"
help
CVI Pin Multiplexing.
if BR2_PACKAGE_CVI_PINMUX
choice
prompt "Cvi pin multiplexing"
default BR2_PACKAGE_CVI_PINMUX_CV180X
config BR2_PACKAGE_CVI_PINMUX_CV180X
bool "CV180X"
help
pinmux for cv180x.
config BR2_PACKAGE_CVI_PINMUX_SG200X
bool "SG200X"
help
pinmux for sg200x.
endchoice
endif

View File

@ -0,0 +1 @@
sha256 dc627fcd61a17f3e6f1e9ada2f385f1f6c2b4ab95d0699bc4eb1da28163a9b1f cvi-pinmux-1.0.0.tar.gz

View File

@ -0,0 +1,22 @@
CVI_PINMUX_VERSION = 1.0.0
CVI_PINMUX_SITE = $(call github,milkv-duo,cvi-pinmux,$(CVI_PINMUX_VERSION))
CVI_PINMUX_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_CVI_PINMUX_CV180X),y)
CVI_SRC_DIR = cv180x
else ifeq ($(BR2_PACKAGE_CVI_PINMUX_SG200X),y)
CVI_SRC_DIR = sg200x
else
$(error "Please select either CV180X or SG200X")
endif
define CVI_PINMUX_BUILD_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \
$(@D)/$(CVI_SRC_DIR)/*.c -o $(@D)/cvi-pinmux
endef
define CVI_PINMUX_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/cvi-pinmux $(TARGET_DIR)/usr/bin/
endef
$(eval $(generic-package))

View File

@ -1,4 +1,29 @@
config BR2_PACKAGE_DUO_PINMUX
bool "Duo pinmux"
help
Pinmux for Milk-V Duo
bool "Duo pinmux"
help
Milk-V Duo Pin Multiplexing.
if BR2_PACKAGE_DUO_PINMUX
choice
prompt "Duo pin multiplexing"
default BR2_PACKAGE_DUO_PINMUX_DUO
config BR2_PACKAGE_DUO_PINMUX_DUO
bool "Duo"
help
pinmux for duo.
config BR2_PACKAGE_DUO_PINMUX_DUO256M
bool "Duo256M"
help
pinmux for duo256m.
config BR2_PACKAGE_DUO_PINMUX_DUOS
bool "Duo256M"
help
pinmux for duo256m.
endchoice
endif

View File

@ -0,0 +1 @@
sha256 822513195fb44df6b49bef58b7281b0e06b802ea82c24befbf6d029b36e3fe39 duo-pinmux-1.0.0.tar.gz

View File

@ -1,10 +1,20 @@
DUO_PINMUX_SITE = $(TOPDIR)/package/duo-pinmux/src
DUO_PINMUX_VERSION = 1.0.0
DUO_PINMUX_SITE_METHOD = local
DUO_PINMUX_SITE = $(call github,milkv-duo,duo-pinmux,$(DUO_PINMUX_VERSION))
DUO_PINMUX_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_DUO_PINMUX_DUO),y)
DUO_SRC_DIR = duo
else ifeq ($(BR2_PACKAGE_DUO_PINMUX_DUO256M),y)
DUO_SRC_DIR = duo256m
else ifeq ($(BR2_PACKAGE_DUO_PINMUX_DUOS),y)
DUO_SRC_DIR = duos
else
$(error "Please select either CV180X or SG200X")
endif
define DUO_PINMUX_BUILD_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \
$(@D)/*.c -o $(@D)/duo-pinmux
$(@D)/$(DUO_SRC_DIR)/*.c -o $(@D)/duo-pinmux
endef
define DUO_PINMUX_INSTALL_TARGET_CMDS

View File

@ -1,105 +0,0 @@
/*
** read/write phy addr in userspace
** open /dev/mem
** taiqiang.cao@bitmain.com
*/
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <termios.h>
#include <unistd.h>
#include "devmem.h"
// DEBUG_SET_LEVEL(DEBUG_LEVEL_ERR);
#define ERR printf
#define DEBUG printf
static int devmem_fd;
void *devm_map(unsigned long addr, int len)
{
off_t offset;
void *map_base;
devmem_fd = open("/dev/mem", O_RDWR | O_SYNC);
if (devmem_fd == -1) {
ERR("cannot open '/dev/mem'\n");
goto open_err;
}
// DEBUG("/dev/mem opened.\n");
offset = addr & ~(sysconf(_SC_PAGE_SIZE) - 1);
map_base = mmap(NULL, len + addr - offset, PROT_READ | PROT_WRITE, MAP_SHARED, devmem_fd, offset);
if (map_base == MAP_FAILED) {
ERR("mmap failed\n");
goto mmap_err;
}
// DEBUG("Memory mapped at address %p.\n", map_base + addr - offset);
return map_base + addr - offset;
mmap_err:
close(devmem_fd);
open_err:
return NULL;
}
void devm_unmap(void *virt_addr, int len)
{
unsigned long addr;
if (devmem_fd == -1) {
ERR("'/dev/mem' is closed\n");
return;
}
/* page align */
addr = (((unsigned long)virt_addr) & ~(sysconf(_SC_PAGE_SIZE) - 1));
munmap((void *)addr, len + (unsigned long)virt_addr - addr);
close(devmem_fd);
}
/* read/write 32bit data*/
uint32_t devmem_readl(unsigned long addr)
{
uint32_t val;
void *virt_addr;
virt_addr = devm_map(addr, 4);
if (virt_addr == NULL) {
ERR("readl addr map failed\n");
return 0;
}
val = *(uint32_t *)virt_addr;
devm_unmap(virt_addr, 4);
return val;
}
void devmem_writel(unsigned long addr, uint32_t val)
{
void *virt_addr;
virt_addr = devm_map(addr, 4);
if (virt_addr == NULL) {
ERR("writel addr map failed\n");
return;
}
*(uint32_t *)virt_addr = val;
devm_unmap(virt_addr, 4);
}

View File

@ -1,12 +0,0 @@
#ifndef _DEVMEM_H_
#define _DEVMEM_H_
#include <stdint.h>
void *devm_map(unsigned long addr, int len);
void devm_unmap(void *virt_addr, int len);
uint32_t devmem_readl(unsigned long addr);
void devmem_writel(unsigned long addr, uint32_t val);
#endif

View File

@ -1,193 +0,0 @@
#include "devmem.h"
#include "func.h"
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define NELEMS(x) (sizeof(x) / sizeof((x)[0]))
#define PINMUX_BASE 0x03001000
#define INVALID_PIN 9999
struct pinlist {
char name[32];
uint32_t offset;
} pinlist_st;
struct pinlist cv180x_pin[] = {
{ "GP0", 0x4c }, // IIC0_SCL
{ "GP1", 0x50 }, // IIC0_SDA
{ "GP2", 0x84 }, // SD1_GPIO1
{ "GP3", 0x88 }, // SD1_GPIO0
{ "GP4", 0x90 }, // SD1_D2
{ "GP5", 0x94 }, // SD1_D1
{ "GP6", 0xa0 }, // SD1_CLK
{ "GP7", 0x9c }, // SD1_CMD
{ "GP8", 0x98 }, // SD1_D0
{ "GP9", 0x8c }, // SD1_D3
{ "GP10", 0xf0 }, // PAD_MIPIRX1P
{ "GP11", 0xf4 }, // PAD_MIPIRX0N
{ "GP12", 0x24 }, // UART0_TX
{ "GP13", 0x28 }, // UART0_RX
{ "GP14", 0x1c }, // SD0_PWR_EN
{ "GP15", 0x20 }, // SPK_EN
{ "GP16", 0x3c }, // SPINOR_MISO
{ "GP17", 0x40 }, // SPINOR_CS_X
{ "GP18", 0x30 }, // SPINOR_SCK
{ "GP19", 0x34 }, // SPINOR_MOSI
{ "GP20", 0x38 }, // SPINOR_WP_X
{ "GP21", 0x2c }, // SPINOR_HOLD_X
{ "GP22", 0x68 }, // PWR_SEQ2
{ "GP26", 0xa8 }, // ADC1
{ "GP27", 0xac }, // USB_VBUS_DET
{ "GP25", 0x12c }, // PAD_AUD_AOUTR
};
uint32_t convert_func_to_value(char *pin, char *func)
{
uint32_t i = 0;
uint32_t max_fun_num = NELEMS(cv180x_pin_func);
char v;
for (i = 0; i < max_fun_num; i++) {
if (strcmp(cv180x_pin_func[i].func, func) == 0) {
if (strncmp(cv180x_pin_func[i].name, pin, strlen(pin)) == 0) {
v = cv180x_pin_func[i].name[strlen(cv180x_pin_func[i].name) - 1];
break;
}
}
}
if (i == max_fun_num) {
printf("ERROR: invalid pin or func\n");
return INVALID_PIN;
}
return (v - 0x30);
}
void print_fun(char *name, uint32_t value)
{
uint32_t i = 0;
uint32_t max_fun_num = NELEMS(cv180x_pin_func);
char pinname[128];
sprintf(pinname, "%s%d", name, value);
printf("%s function:\n", name);
for (i = 0; i < max_fun_num; i++) {
if (strlen(cv180x_pin_func[i].name) != (strlen(name) + 1)) {
continue;
}
if (strncmp(pinname, cv180x_pin_func[i].name, strlen(name)) == 0) {
if (strcmp(pinname, cv180x_pin_func[i].name) == 0)
printf("[v] %s\n", cv180x_pin_func[i].func);
else
printf("[ ] %s\n", cv180x_pin_func[i].func);
// break;
}
}
printf("\n");
}
void print_usage(const char *prog)
{
printf("pinmux for duo\n");
printf("%s -p <== List all pins\n", prog);
printf("%s -l <== List all pins and its func\n", prog);
printf("%s -r pin <== Get func from pin\n", prog);
printf("%s -w pin/func <== Set func to pin\n", prog);
}
int main(int argc, char *argv[])
{
int opt = 0;
uint32_t i = 0;
uint32_t value;
char pin[32];
char func[32];
uint32_t f_val;
if (argc == 1) {
print_usage(argv[0]);
return 1;
}
while ((opt = getopt(argc, argv, "hplr:w:")) != -1) {
switch (opt) {
case 'r':
for (i = 0; i < NELEMS(cv180x_pin); i++) {
if (strcmp(optarg, cv180x_pin[i].name) == 0)
break;
}
if (i != NELEMS(cv180x_pin)) {
value = devmem_readl(PINMUX_BASE + cv180x_pin[i].offset);
// printf("value %d\n", value);
print_fun(optarg, value);
printf("register: 0x%x\n", PINMUX_BASE + cv180x_pin[i].offset);
printf("value: %d\n", value);
} else {
printf("\nInvalid option: %s", optarg);
}
break;
case 'w':
// printf("optarg %s\n", optarg);
if (sscanf(optarg, "%[^/]/%s", pin, func) != 2)
print_usage(argv[0]);
printf("pin %s\n", pin);
printf("func %s\n", func);
for (i = 0; i < NELEMS(cv180x_pin); i++) {
if (strcmp(pin, cv180x_pin[i].name) == 0)
break;
}
if (i != NELEMS(cv180x_pin)) {
f_val = convert_func_to_value(pin, func);
if (f_val == INVALID_PIN)
return 1;
devmem_writel(PINMUX_BASE + cv180x_pin[i].offset, f_val);
printf("register: %x\n", PINMUX_BASE + cv180x_pin[i].offset);
printf("value: %d\n", f_val);
// printf("value %d\n", value);
} else {
printf("\nInvalid option: %s\n", optarg);
}
break;
case 'p':
printf("Pinlist:\n");
for (i = 0; i < NELEMS(cv180x_pin); i++)
printf("%s\n", cv180x_pin[i].name);
break;
case 'l':
for (i = 0; i < NELEMS(cv180x_pin); i++) {
value = devmem_readl(PINMUX_BASE + cv180x_pin[i].offset);
// printf("value %d\n", value);
print_fun(cv180x_pin[i].name, value);
}
break;
case 'h':
print_usage(argv[0]);
break;
case '?':
print_usage(argv[0]);
break;
default:
print_usage(argv[0]);
break;
}
}
return 0;
}

View File

@ -1,188 +0,0 @@
struct funlist {
char name[32];
char func[32];
} funlist_st;
struct funlist cv180x_pin_func[] = {
// GP0 IIC0_SCL
{ "GP00", "JTAG_TDI"},
{ "GP01", "UART1_TX"},
{ "GP02", "UART2_TX"},
{ "GP03", "GP0"},
{ "GP04", "IIC0_SCL"},
{ "GP05", "WG0_D0"},
{ "GP07", "DBG_10"},
// GP1 IIC0_SDA
{ "GP10", "JTAG_TDO"},
{ "GP11", "UART1_RX"},
{ "GP12", "UART2_RX"},
{ "GP13", "GP1"},
{ "GP14", "IIC0_SDA"},
{ "GP15", "WG0_D1"},
{ "GP16", "WG1_D0"},
{ "GP17", "DBG_11"},
// GP2 SD1_GPIO1
{ "GP21", "UART4_TX"},
{ "GP23", "GP2"},
{ "GP27", "PWM_10"},
// GP3 SD1_GPIO0
{ "GP31", "UART4_RX"},
{ "GP33", "GP3"},
{ "GP37", "PWM_11"},
// GP4 SD1_D2
{ "GP40", "PWR_SD1_D2"},
{ "GP41", "IIC1_SCL"},
{ "GP42", "UART2_TX"},
{ "GP43", "GP4"},
{ "GP44", "CAM_MCLK0"},
{ "GP45", "UART3_TX"},
{ "GP46", "PWR_SPINOR1_HOLD_X"},
{ "GP47", "PWM_5"},
// GP5 SD1_D1
{ "GP50", "PWR_SD1_D1"},
{ "GP51", "IIC1_SDA"},
{ "GP52", "UART2_RX"},
{ "GP53", "GP5"},
{ "GP54", "CAM_MCLK1"},
{ "GP55", "UART3_RX"},
{ "GP56", "PWR_SPINOR1_WP_X"},
{ "GP57", "PWM_6"},
// GP6 SD1_CLK
{ "GP60", "PWR_SD1_CLK"},
{ "GP61", "SPI2_SCK"},
{ "GP62", "IIC3_SDA"},
{ "GP63", "GP6"},
{ "GP64", "CAM_HS0"},
{ "GP65", "EPHY_SPD_LED"},
{ "GP66", "PWR_SPINOR1_SCK"},
{ "GP67", "PWM_9"},
// GP7 SD1_CMD
{ "GP70", "PWR_SD1_CMD"},
{ "GP71", "SPI2_SDO"},
{ "GP72", "IIC3_SCL"},
{ "GP73", "GP7"},
{ "GP74", "CAM_VS0"},
{ "GP75", "EPHY_LNK_LED"},
{ "GP76", "PWR_SPINOR1_MOSI"},
{ "GP77", "PWM_8"},
// GP8 SD1_D0
{ "GP80", "PWR_SD1_D0"},
{ "GP81", "SPI2_SDI"},
{ "GP82", "IIC1_SDA"},
{ "GP83", "GP8"},
{ "GP84", "CAM_MCLK1"},
{ "GP85", "UART3_RTS"},
{ "GP86", "PWR_SPINOR1_MISO"},
{ "GP87", "PWM_7"},
// GP9 SD1_D3
{ "GP90", "PWR_SD1_D3"},
{ "GP91", "SPI2_CS_X"},
{ "GP92", "IIC1_SCL"},
{ "GP93", "GP9"},
{ "GP94", "CAM_MCLK0"},
{ "GP95", "UART3_CTS"},
{ "GP96", "PWR_SPINOR1_CS_X"},
{ "GP97", "PWM_4"},
// GP10 PAD_MIPIRX1P
{ "GP101", "VI0_D_6"},
{ "GP103", "GP10"},
{ "GP104", "IIC1_SDA"},
{ "GP106", "KEY_ROW2"},
{ "GP107", "DBG_9"},
// GP11 PAD_MIPIRX0N
{ "GP111", "VI0_D_7"},
{ "GP113", "GP11"},
{ "GP114", "IIC1_SCL"},
{ "GP115", "CAM_MCLK1"},
{ "GP117", "DBG_10"},
// GP12 UART0_TX
{ "GP120", "UART0_TX"},
{ "GP121", "CAM_MCLK1"},
{ "GP122", "PWM_4"},
{ "GP123", "GP12"},
{ "GP124", "UART1_TX"},
{ "GP125", "AUX1"},
{ "GP126", "JTAG_TMS"},
{ "GP127", "DBG_6"},
// GP13 UART0_RX
{ "GP130", "UART0_RX"},
{ "GP131", "CAM_MCLK0"},
{ "GP132", "PWM_5"},
{ "GP133", "GP13"},
{ "GP134", "UART1_RX"},
{ "GP135", "AUX0"},
{ "GP136", "JTAG_TCK"},
{ "GP137", "DBG_7"},
// GP14 SD0_PWR_EN
{ "GP140", "SDIO0_PWR_EN"},
{ "GP143", "GP14"},
// GP15 SPK_EN
{ "GP153", "GP15"},
// GP16 SPINOR_MISO
{ "GP161", "SPINOR_MISO"},
{ "GP162", "SPINAND_MISO"},
{ "GP163", "GP16"},
// GP17 SPINOR_CS_X
{ "GP171", "SPINOR_CS_X"},
{ "GP172", "SPINAND_CS"},
{ "GP173", "GP17"},
// GP18 SPINOR_SCK
{ "GP181", "SPINOR_SCK"},
{ "GP182", "SPINAND_CLK"},
{ "GP183", "GP18"},
// GP19 SPINOR_MOSI
{ "GP191", "SPINOR_MOSI"},
{ "GP192", "SPINAND_MOSI"},
{ "GP193", "GP19"},
// GP20 SPINOR_WP_X
{ "GP201", "SPINOR_WP_X"},
{ "GP202", "SPINAND_WP"},
{ "GP203", "GP20"},
// GP21 SPINOR_HOLD_X
{ "GP211", "SPINOR_HOLD_X"},
{ "GP212", "SPINAND_HOLD"},
{ "GP213", "GP21"},
// GP22 PWR_SEQ2
{ "GP220", "PWR_SEQ2"},
{ "GP223", "GP22"},
// GP25 PAD_AUD_AOUTR
{ "GP253", "GP25"},
{ "GP254", "IIS1_DI"},
{ "GP255", "IIS2_DO"},
{ "GP256", "IIS1_DO"},
// GP26 ADC1
{ "GP263", "GP26"},
{ "GP264", "KEY_COL2"},
{ "GP266", "PWM_3"},
// GP27 USB_VBUS_DET
{ "GP270", "USB_VBUS_DET"},
{ "GP273", "GP27"},
{ "GP274", "CAM_MCLK0"},
{ "GP275", "CAM_MCLK1"},
{ "GP276", "PWM_4"},
};

View File

@ -0,0 +1,26 @@
From 027658db506ccc0097ad9c1d2cd4f7c9d8210edb Mon Sep 17 00:00:00 2001
From: carbon <carbon@milkv.io>
Date: Wed, 17 Apr 2024 15:09:26 +0800
Subject: [PATCH] fix time_t
---
src/wiringx.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/wiringx.c b/src/wiringx.c
index 034674a..4171a75 100644
--- a/src/wiringx.c
+++ b/src/wiringx.c
@@ -113,6 +113,9 @@ static struct spi_t spi[2] = {
} while(0)
#endif
+typedef time_t __time_t;
+typedef suseconds_t __suseconds_t;
+
/* Both the delayMicroseconds and the delayMicrosecondsHard
are taken from wiringPi */
static void delayMicrosecondsHard(unsigned int howLong) {
--
2.25.1

View File

@ -0,0 +1,6 @@
config BR2_PACKAGE_DUO_WIRINGX
bool "wiringX"
help
wiringX for Milk-V Duo
https://github.com/milkv-duo/duo-wiringx

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