update to yuzukisbc

This commit is contained in:
YuzukiTsuru 2022-02-16 23:09:45 +08:00
parent 4a14fb00a7
commit e282c8fbf7
26 changed files with 59 additions and 1360 deletions

View File

@ -1,5 +1,5 @@
# Buildroot Package for Allwinner SIPs
Opensource development package for Allwinner F1C100s & F1C200s
# Buildroot Package for Allwinner SIPs For YuzukiHD Devices
Open Source development package for Allwinner F1C100s & F1C200s
## Driver support
Check this file to view current driver support progress for F1C100s/F1C200s: [PROGRESS-SUNIV.md](PROGRESS-SUNIV.md)
@ -17,7 +17,7 @@ sudo apt install python3-distutils
### Download BSP
**Notice: Root permission is not necessery for download or extract.**
```shell
git clone https://github.com/mangopi-sbc/buildroot-mangopi-r
git clone https://github.com/YuzukiHD/Buildroot-YuzukiSBC
```
## Make the first build
@ -28,8 +28,7 @@ git clone https://github.com/mangopi-sbc/buildroot-mangopi-r
**Generally, you only need to apply it once.**
```shell
cd buildroot-mangopi-r
make widora_mangopi_r3_defconfig
make YuzukiHD_YuzukiRuler_defconfig
```
### Regular build
@ -47,23 +46,6 @@ make
./rebuild-uboot.sh
```
## Speed up build progress
### Download dl
Buildroot will download sourcecode when compiling the firmware. You can grab a **TRUSTWORTHY** archive of 'dl' folder for speed up.
https://pan.baidu.com/s/1-5CiMwXMQWjZxsFhsyRC5Q?pwd=1111
```shell
.make source
```
### Compile speed
If you have a multicore CPU, you can try
```
make -j8
```
or buy a powerful PC for yourself.
## Flashing firmware to target
You can flash a board by Linux (Recommended) or Windows system.
### [Here is the manual.](flashutils/README.md)
@ -72,3 +54,33 @@ You can flash a board by Linux (Recommended) or Windows system.
- rebuild-uboot.sh: Recompile U-Boot when you direct edit U-Boot sourcecode.
- rebuild-kernel.sh: Recompile Kernel when you direct edit Kernel sourcecode.
- emulate-chroot.sh: Emulate target rootfs by chroot.
## Notice
This Buildroot development package is a fork of https://github.com/mangopi-sbc/buildroot-mangopi-r
Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.
The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html
To build and use the buildroot stuff, do the following:
1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images
You do not need to be root to build or run buildroot. Have fun!
Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.
Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.
If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches

View File

@ -35,8 +35,8 @@ BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y
BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
BR2_TARGET_UBOOT_PATCH="board/allwinner/suniv-f1c100s/patch/u-boot"
BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="board/widora/mangopi/r3/uboot.defconfig"
BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="board/allwinner/suniv-f1c100s/devicetree/uboot/suniv-f1c100s.dtsi board/widora/mangopi/r3/devicetree/uboot/suniv-f1c100s-generic.dts"
BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="board/YuzukiHD/YuzukiRuler/uboot.defconfig"
BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="board/allwinner/suniv-f1c100s/devicetree/uboot/suniv-f1c100s.dtsi board/YuzukiHD/YuzukiRuler/devicetree/uboot/suniv-f1c100s-generic.dts"
# Kernel
BR2_LINUX_KERNEL=y
@ -48,7 +48,7 @@ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_PATCH="board/allwinner/suniv-f1c100s/patch/linux"
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/allwinner/suniv-f1c100s/linux.defconfig"
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/allwinner/suniv-f1c100s/devicetree/linux/suniv-f1c100s.dtsi board/widora/mangopi/r3/devicetree/linux/devicetree.dts"
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/allwinner/suniv-f1c100s/devicetree/linux/suniv-f1c100s.dtsi board/YuzukiHD/YuzukiRuler/devicetree/linux/devicetree.dts"
# Filesystem
BR2_TARGET_ROOTFS_CPIO=y
@ -64,15 +64,15 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/allwinner/generic/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="${BR2_TARGET_UBOOT_SPL_NAME}"
BR2_ROOTFS_OVERLAY="board/allwinner/generic/rootfs board/allwinner/suniv-f1c100s/rootfs board/widora/mangopi/r3/rootfs"
BR2_ROOTFS_OVERLAY="board/allwinner/generic/rootfs board/allwinner/suniv-f1c100s/rootfs board/YuzukiHD/YuzukiRuler/rootfs"
# Target Config
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_LIBCEDARC_ARCHLIB="toolchain-sunxi-arm9-glibc"
BR2_TARGET_GENERIC_ISSUE="Welcome to Widora MangoPi R3"
BR2_TARGET_GENERIC_HOSTNAME="mangopi-r3"
BR2_TARGET_GENERIC_ISSUE="Welcome to Yuzuki Ruler"
BR2_TARGET_GENERIC_HOSTNAME="YuzukiRuler"
# Target Package
BR2_PACKAGE_HAVEGED=y

View File

@ -4,7 +4,7 @@
#include "suniv-f1c100s.dtsi"
/ {
model = "Widora MangoPi R2";
model = "YuzukiHD YuzukiRuler";
compatible = "allwinner,suniv-f1c200s",
"allwinner,suniv-f1c100s";
@ -12,9 +12,10 @@
#address-cells = <1>;
#size-cells = <1>;
ranges;
bootargs = "console=ttyS0,115200 rootwait init=/preinit root=/dev/mtdblock2 rootfstype=squashfs overlayfsdev=/dev/mtdblock3";
//for NAND or Nor
bootargs = "console=ttyS0,115200 rootwait init=/preinit root=/dev/mtdblock2 rootfstype=squashfs overlayfsdev=/dev/mtdblock3";
//for sd-card
//bootargs = "console=ttyS0,115200 earlyprintk rootwait init=/preinit root=/dev/mmcblk0p3";
simplefb_lcd: framebuffer-lcd0 {
compatible = "allwinner,simple-framebuffer",
"simple-framebuffer";
@ -25,23 +26,6 @@
status = "disabled";
};
};
// panel: panel {
// compatible = "qiaodian,qd43003c0-40", "simple-panel";
// #address-cells = <1>;
// #size-cells = <0>;
// port@0 {
// reg = <0>;
// #address-cells = <1>;
// #size-cells = <0>;
// panel_input: endpoint@0 {
// reg = <0>;
// remote-endpoint = <&tcon0_out_lcd>;
// };
// };
// };
};
&spi0 {
@ -53,6 +37,7 @@
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
status = "disabled";
partitions {
compatible = "fixed-partitions";
@ -90,8 +75,6 @@
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <50000000>;
status = "disabled";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
@ -214,6 +197,16 @@
pendown-gpio = <&pio 4 12 GPIO_ACTIVE_LOW>;
ti,x-plate-ohms = <660>;
wakeup-source;
status = "disabled";
};
ctp@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <&pio>;
interrupts = <4 12 IRQ_TYPE_EDGE_FALLING>; // PE12
irq-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; // PE12
reset-gpios = <&pio 0 0 GPIO_ACTIVE_HIGH>; // PA0
};
ov2640: camera@30 {

View File

@ -15,11 +15,11 @@ storage "/" "rootfs" "rw"
# Set the USB manufacturer string
manufacturer "Widora"
manufacturer "YuzukiHD"
# Set the USB Product string
product "MangoPi R1"
product "Yuzuki Ruler"
# Set the USB Serial number string

View File

@ -1 +0,0 @@
LOL

View File

@ -1,229 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/dts-v1/;
#include "suniv-f1c100s.dtsi"
/ {
model = "Widora MangoPi R1";
compatible = "allwinner,suniv-f1c200s",
"allwinner,suniv-f1c100s";
chosen {
#address-cells = <1>;
#size-cells = <1>;
ranges;
bootargs = "console=ttyS0,115200 rootwait init=/preinit root=/dev/mtdblock2 rootfstype=squashfs overlayfsdev=/dev/mtdblock3";
simplefb_lcd: framebuffer-lcd0 {
compatible = "allwinner,simple-framebuffer",
"simple-framebuffer";
allwinner,pipeline = "de_be0-lcd0";
clocks = <&ccu CLK_BUS_DE_BE>, <&ccu CLK_DE_BE>,
<&ccu CLK_DRAM_DE_BE>, <&ccu CLK_BUS_LCD>,
<&ccu CLK_TCON>;
status = "disabled";
};
};
// panel: panel {
// compatible = "qiaodian,qd43003c0-40", "simple-panel";
// #address-cells = <1>;
// #size-cells = <0>;
// port@0 {
// reg = <0>;
// #address-cells = <1>;
// #size-cells = <0>;
// panel_input: endpoint@0 {
// reg = <0>;
// remote-endpoint = <&tcon0_out_lcd>;
// };
// };
// };
};
&spi0 {
status = "okay";
spi-nor@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x70000>;
read-only;
};
partition@1 {
label = "kernel";
reg = <0x70000 0x590000>;
read-only;
};
partition@2 {
label = "rom";
reg = <0x600000 0x700000>;
read-only;
};
partition@3 {
label = "overlay";
reg = <0xd00000 0x300000>;
};
};
};
spi-nand@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <50000000>;
status = "disabled";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x100000>;
read-only;
};
partition@1 {
label = "kernel";
reg = <0x100000 0x500000>;
read-only;
};
partition@2 {
label = "rom";
reg = <0x600000 0x2a00000>;
read-only;
};
partition@3 {
label = "vendor";
reg = <0x3000000 0x1000000>;
};
partition@4 {
label = "overlay";
reg = <0x4000000 0x3000000>;
};
};
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pe_pins>;
status = "okay";
};
&mmc0 {
status = "okay";
broken-cd;
};
&otg_sram {
status = "okay";
};
&usb_otg {
dr_mode = "otg"; /* otg host peripheral */
status = "okay";
};
&usbphy {
usb0_id_det-gpio = <&pio 4 2 GPIO_ACTIVE_HIGH>; /* PE2 */
status = "okay";
};
&cedar_ve {
status = "okay";
};
&ion {
status = "okay";
};
// &de {
// status = "okay";
// };
// &fe0 {
// status = "okay";
// };
// &be0 {
// status = "okay";
// };
// &tve0 {
// status = "okay";
// };
// &tcon0 {
// pinctrl-names = "default";
// pinctrl-0 = <&lcd_rgb565_pins>;
// status = "okay";
// };
// &tcon0_out {
// tcon0_out_lcd: endpoint@0 {
// reg = <0>;
// remote-endpoint = <&panel_input>;
// };
// };
&codec {
allwinner,audio-routing =
"Headphone", "HP",
"Headphone", "HPCOM",
"LINEIN", "Line In",
"FMINL", "Left FM In",
"FMINR", "Right FM In",
"MIC", "Mic";
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pd_pins>;
status = "okay";
rtp@48 {
compatible = "ti,tsc2007";
reg = <0x48>;
interrupt-parent = <&pio>;
interrupts = <4 12 IRQ_TYPE_EDGE_FALLING>;
gpios = <&pio 4 12 GPIO_ACTIVE_LOW>;
pendown-gpio = <&pio 4 12 GPIO_ACTIVE_LOW>;
ti,x-plate-ohms = <660>;
wakeup-source;
};
ctp@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <&pio>;
interrupts = <4 12 IRQ_TYPE_EDGE_FALLING>; // PE12
irq-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; // PE12
reset-gpios = <&pio 0 0 GPIO_ACTIVE_HIGH>; // PA0
status = "disabled";
};
};

View File

@ -1,76 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Allwinner F1C100s Generic Device";
compatible = "allwinner,suniv-f1c100s",
"allwinner,suniv";
aliases {
serial0 = &uart0;
spi0 = &spi0;
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&otg_sram {
status = "okay";
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
spi-nor@0 {
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
compatible = "winbond,w25q128", "jedec,spi-nor";
spi-max-frequency = <50000000>;
};
spi-nand@1 {
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
compatible = "spi-nand";
spi-max-frequency = <50000000>;
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_a>;
status = "okay";
};
&usb_otg {
status = "okay";
};
&usbphy {
status = "okay";
};
&mmc0 {
status = "okay";
};
&mmc2 {
status = "okay";
};

View File

@ -1,57 +0,0 @@
#!/bin/sh
#
# Start uMTPrd....
#
start() {
printf "Starting uMTPrd: "
mount none /sys/kernel/config -t configfs
mkdir /sys/kernel/config/usb_gadget/g1
cd /sys/kernel/config/usb_gadget/g1
mkdir configs/c.1
mkdir functions/ffs.mtp
mkdir strings/0x409
mkdir configs/c.1/strings/0x409
echo 0x0100 > idProduct
echo 0x1D6B > idVendor
echo "Widora" > strings/0x409/manufacturer
echo "MangoPi R1" > strings/0x409/product
echo "Conf 1" > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
ln -s functions/ffs.mtp configs/c.1
mkdir /dev/ffs-mtp
mount -t functionfs mtp /dev/ffs-mtp
start-stop-daemon -S -q -m -b -p /var/run/umtprd.pid -x /usr/sbin/umtprd
sleep 1
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/g1/UDC
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping uMTPrd: "
echo > /sys/kernel/config/usb_gadget/g1/UDC
start-stop-daemon -K -q -p /var/run/umtprd.pid -x /usr/sbin/umtprd
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -1,70 +0,0 @@
CONFIG_ARM=y
CONFIG_ARCH_SUNXI=y
CONFIG_MACH_SUNIV=y
CONFIG_DEFAULT_DEVICE_TREE="suniv-f1c100s-generic"
CONFIG_SYS_CLK_FREQ=408000000
CONFIG_DRAM_CLK=168
CONFIG_DRAM_ZQ=0
CONFIG_CONS_INDEX=1
CONFIG_SPL=y
CONFIG_SPL_SPI_SUNXI=y
CONFIG_MMC_SUNXI_SLOT_EXTRA=1
CONFIG_SYS_TEXT_BASE=0x81700000
CONFIG_ENV_IS_NOWHERE=y
CONFIG_ENV_IS_IN_FAT=n
CONFIG_USE_DEFAULT_ENV_FILE=y
CONFIG_DEFAULT_ENV_FILE="../../../board/allwinner/generic/uboot.env"
CONFIG_BOOTDELAY=0
CONFIG_VIDEO_LCD_MODE="x:480,y:272,depth:18,pclk_khz:9000,le:39,ri:8,up:2,lo:4,hs:4,vs:10,sync:3,vmode:0"
CONFIG_BOOTCOMMAND="setenv lcd_bl_pin 134; run distro_bootcmd;"
CONFIG_NET=n
CONFIG_SPI=y
CONFIG_DM_SPI=y
CONFIG_SPI_SUNXI=y
CONFIG_MTD=y
CONFIG_DM_MTD=y
CONFIG_CMD_MTD=y
CONFIG_MTD_SPI_NAND=y
CONFIG_SPI_FLASH=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH_BAR=y
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_PHY=y
CONFIG_PHY_SUN4I_USB=y
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB_MUSB_GADGET=y
CONFIG_USB_MUSB_PIO_ONLY=y
CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT=y
CONFIG_USB_GADGET_VBUS_DRAW=250
CONFIG_USB_STORAGE=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_CMD_FASTBOOT=n
CONFIG_FASTBOOT=n
CONFIG_USB_FUNCTION_FASTBOOT=n
CONFIG_CMD_MTDPARTS=y
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_CMD_DFU=y
CONFIG_DFU=y
CONFIG_DFU_OVER_USB=y
CONFIG_DFU_TIMEOUT=y
CONFIG_DFU_MMC=y
CONFIG_DFU_SF=y
CONFIG_DFU_MTD=y

View File

@ -1,82 +0,0 @@
BR2_arm=y
BR2_ARM_CPU_ARMV5=y
# Toolchain
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
# GCC Options
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_GCC_ENABLE_LTO=y
# GDB Options
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_PYTHON=y
BR2_PACKAGE_HOST_GDB_SIM=y
BR2_PACKAGE_HOST_GDB_TUI=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_GDB_SERVER=y
# Host Config
BR2_PACKAGE_HOST_PYTHON3=y
BR2_PACKAGE_HOST_PYTHON3_SSL=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
# Bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y
BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
BR2_TARGET_UBOOT_PATCH="board/allwinner/suniv-f1c100s/patch/u-boot"
BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="board/widora/mangopi/r1/uboot.defconfig"
BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="board/allwinner/suniv-f1c100s/devicetree/uboot/suniv-f1c100s.dtsi board/widora/mangopi/r1/devicetree/uboot/suniv-f1c100s-generic.dts"
# Kernel
BR2_LINUX_KERNEL=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.99"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_PATCH="board/allwinner/suniv-f1c100s/patch/linux"
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/allwinner/suniv-f1c100s/linux.defconfig"
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/allwinner/suniv-f1c100s/devicetree/linux/suniv-f1c100s.dtsi board/widora/mangopi/r1/devicetree/linux/devicetree.dts"
# Filesystem
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_GZIP=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="100M"
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_GZIP=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/allwinner/generic/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="${BR2_TARGET_UBOOT_SPL_NAME}"
BR2_ROOTFS_OVERLAY="board/allwinner/generic/rootfs board/allwinner/suniv-f1c100s/rootfs board/widora/mangopi/r1/rootfs"
# Target Config
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_LIBCEDARC_ARCHLIB="toolchain-sunxi-arm9-glibc"
BR2_TARGET_GENERIC_ISSUE="Welcome to Widora MangoPi R1"
BR2_TARGET_GENERIC_HOSTNAME="mangopi-r1"
# Target Package
BR2_PACKAGE_HAVEGED=y
BR2_PACKAGE_UMTPRD=y
BR2_PACKAGE_TSLIB=y
BR2_PACKAGE_FB_TEST_APP=y
BR2_PACKAGE_TINYALSA=y

View File

@ -1,76 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Allwinner F1C100s Generic Device";
compatible = "allwinner,suniv-f1c100s",
"allwinner,suniv";
aliases {
serial0 = &uart1;
spi0 = &spi0;
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&otg_sram {
status = "okay";
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
spi-nor@0 {
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
compatible = "winbond,w25q128", "jedec,spi-nor";
spi-max-frequency = <50000000>;
};
spi-nand@1 {
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
compatible = "spi-nand";
spi-max-frequency = <50000000>;
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_a>;
status = "okay";
};
&usb_otg {
status = "okay";
};
&usbphy {
status = "okay";
};
&mmc0 {
status = "okay";
};
&mmc2 {
status = "okay";
};

View File

@ -1,57 +0,0 @@
#!/bin/sh
#
# Start uMTPrd....
#
start() {
printf "Starting uMTPrd: "
mount none /sys/kernel/config -t configfs
mkdir /sys/kernel/config/usb_gadget/g1
cd /sys/kernel/config/usb_gadget/g1
mkdir configs/c.1
mkdir functions/ffs.mtp
mkdir strings/0x409
mkdir configs/c.1/strings/0x409
echo 0x0100 > idProduct
echo 0x1D6B > idVendor
echo "Widora" > strings/0x409/manufacturer
echo "MangoPi R2" > strings/0x409/product
echo "Conf 1" > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
ln -s functions/ffs.mtp configs/c.1
mkdir /dev/ffs-mtp
mount -t functionfs mtp /dev/ffs-mtp
start-stop-daemon -S -q -m -b -p /var/run/umtprd.pid -x /usr/sbin/umtprd
sleep 1
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/g1/UDC
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping uMTPrd: "
echo > /sys/kernel/config/usb_gadget/g1/UDC
start-stop-daemon -K -q -p /var/run/umtprd.pid -x /usr/sbin/umtprd
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -1,78 +0,0 @@
#
# uMTP Responder config file
# Must be copied to /etc/umtprd/umtprd.conf
#
# Loop / daemon mode
# Set to 1 to don't shutdown uMTPrd when the link is disconnected.
loop_on_disconnect 1
#storage command : Create add a storage entry point. Up to 16 entry points supported
#Syntax : storage "PATH" "NAME"
storage "/" "rootfs" "rw"
# Set the USB manufacturer string
manufacturer "Widora"
# Set the USB Product string
product "MangoPi R2"
# Set the USB Serial number string
serial "01234567"
# Set the USB interface string. Should be always "MTP"
interface "MTP"
# Set the USB Vendor ID, Product ID and class
usb_vendor_id 0x1D6B # Linux Foundation
usb_product_id 0x0100 # PTP Gadget
usb_class 0x6 # Image
usb_subclass 0x1 # Still Imaging device
usb_protocol 0x1 #
# Device version
usb_dev_version 0x3008
# inotify support
# If you want disable the events support (beta), uncomment the following line :
# no_inotify 0x1
#
# Internal buffers size
#
# Internal default usb_max_rd_buffer_size and usb_max_wr_buffer_size value set to 0x10000.
# Internal default read_buffer_cache_size value set to 0x100000.
# Uncomment the following lines to reduce the buffers sizes to fix USB issues on iMX6 based systems.
# usb_max_rd_buffer_size 0x200 # MAX usb read size. Must be a multiple of 512 and be less than read_buffer_cache_size
# usb_max_wr_buffer_size 0x200 # MAX usb write size. Must be a multiple of 512.
# read_buffer_cache_size 0x4000 # Read file cache buffer. Must be a 2^x value.
#
# USB gadget device driver path
#
########################################################################
#
# -- Generic FunctionFS Mode --
#
########################################################################
usb_functionfs_mode 0x1
usb_dev_path "/dev/ffs-mtp/ep0"
usb_epin_path "/dev/ffs-mtp/ep1"
usb_epout_path "/dev/ffs-mtp/ep2"
usb_epint_path "/dev/ffs-mtp/ep3"
usb_max_packet_size 0x200

View File

@ -1,70 +0,0 @@
CONFIG_ARM=y
CONFIG_ARCH_SUNXI=y
CONFIG_MACH_SUNIV=y
CONFIG_DEFAULT_DEVICE_TREE="suniv-f1c100s-generic"
CONFIG_SYS_CLK_FREQ=408000000
CONFIG_DRAM_CLK=168
CONFIG_DRAM_ZQ=0
CONFIG_CONS_INDEX=2
CONFIG_SPL=y
CONFIG_SPL_SPI_SUNXI=y
CONFIG_MMC_SUNXI_SLOT_EXTRA=1
CONFIG_SYS_TEXT_BASE=0x81700000
CONFIG_ENV_IS_NOWHERE=y
CONFIG_ENV_IS_IN_FAT=n
CONFIG_USE_DEFAULT_ENV_FILE=y
CONFIG_DEFAULT_ENV_FILE="../../../board/allwinner/generic/uboot.env"
CONFIG_BOOTDELAY=0
CONFIG_VIDEO_LCD_MODE="x:480,y:272,depth:18,pclk_khz:9000,le:39,ri:8,up:2,lo:4,hs:4,vs:10,sync:3,vmode:0"
CONFIG_BOOTCOMMAND="setenv lcd_bl_pin 140; run distro_bootcmd;"
CONFIG_NET=n
CONFIG_SPI=y
CONFIG_DM_SPI=y
CONFIG_SPI_SUNXI=y
CONFIG_MTD=y
CONFIG_DM_MTD=y
CONFIG_CMD_MTD=y
CONFIG_MTD_SPI_NAND=y
CONFIG_SPI_FLASH=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH_BAR=y
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_PHY=y
CONFIG_PHY_SUN4I_USB=y
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB_MUSB_GADGET=y
CONFIG_USB_MUSB_PIO_ONLY=y
CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT=y
CONFIG_USB_GADGET_VBUS_DRAW=250
CONFIG_USB_STORAGE=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_CMD_FASTBOOT=n
CONFIG_FASTBOOT=n
CONFIG_USB_FUNCTION_FASTBOOT=n
CONFIG_CMD_MTDPARTS=y
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_CMD_DFU=y
CONFIG_DFU=y
CONFIG_DFU_OVER_USB=y
CONFIG_DFU_TIMEOUT=y
CONFIG_DFU_MMC=y
CONFIG_DFU_SF=y
CONFIG_DFU_MTD=y

View File

@ -1,85 +0,0 @@
BR2_arm=y
BR2_ARM_CPU_ARMV5=y
# Toolchain
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
# GCC Options
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_GCC_ENABLE_LTO=y
# GDB Options
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_PYTHON=y
BR2_PACKAGE_HOST_GDB_SIM=y
BR2_PACKAGE_HOST_GDB_TUI=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_GDB_SERVER=y
# Host Config
BR2_PACKAGE_HOST_PYTHON3=y
BR2_PACKAGE_HOST_PYTHON3_SSL=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
# Bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y
BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
BR2_TARGET_UBOOT_PATCH="board/allwinner/suniv-f1c100s/patch/u-boot"
BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="board/widora/mangopi/r2/uboot.defconfig"
BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="board/allwinner/suniv-f1c100s/devicetree/uboot/suniv-f1c100s.dtsi board/widora/mangopi/r2/devicetree/uboot/suniv-f1c100s-generic.dts"
# Kernel
BR2_LINUX_KERNEL=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.99"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_PATCH="board/allwinner/suniv-f1c100s/patch/linux"
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/allwinner/suniv-f1c100s/linux.defconfig"
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/allwinner/suniv-f1c100s/devicetree/linux/suniv-f1c100s.dtsi board/widora/mangopi/r2/devicetree/linux/devicetree.dts"
# Filesystem
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_GZIP=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="100M"
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_GZIP=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/allwinner/generic/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="${BR2_TARGET_UBOOT_SPL_NAME}"
BR2_ROOTFS_OVERLAY="board/allwinner/generic/rootfs board/allwinner/suniv-f1c100s/rootfs board/widora/mangopi/r2/rootfs"
# Target Config
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_LIBCEDARC_ARCHLIB="toolchain-sunxi-arm9-glibc"
BR2_TARGET_GENERIC_ISSUE="Welcome to Widora MangoPi R2"
BR2_TARGET_GENERIC_HOSTNAME="mangopi-r2"
# Target Package
BR2_PACKAGE_HAVEGED=y
BR2_PACKAGE_UMTPRD=y
BR2_PACKAGE_TSLIB=y
BR2_PACKAGE_FB_TEST_APP=y
BR2_PACKAGE_TINYALSA=y
BR2_PACKAGE_LIBV4L=y
BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_FSWEBCAM=y

View File

@ -1,288 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/dts-v1/;
#include "suniv-f1c100s.dtsi"
/ {
model = "Widora MangoPi R3";
compatible = "allwinner,suniv-f1c200s",
"allwinner,suniv-f1c100s";
chosen {
#address-cells = <1>;
#size-cells = <1>;
ranges;
//for NAND or Nor
//bootargs = "console=ttyS0,115200 rootwait init=/preinit root=/dev/mtdblock2 rootfstype=squashfs overlayfsdev=/dev/mtdblock3";
//for sd-card
bootargs = "console=ttyS0,115200 earlyprintk rootwait init=/preinit root=/dev/mmcblk0p3";
simplefb_lcd: framebuffer-lcd0 {
compatible = "allwinner,simple-framebuffer",
"simple-framebuffer";
allwinner,pipeline = "de_be0-lcd0";
clocks = <&ccu CLK_BUS_DE_BE>, <&ccu CLK_DE_BE>,
<&ccu CLK_DRAM_DE_BE>, <&ccu CLK_BUS_LCD>,
<&ccu CLK_TCON>;
status = "disabled";
};
};
// panel: panel {
// compatible = "bananapi,s070wv20-ct16", "simple-panel";
// #address-cells = <1>;
// #size-cells = <0>;
// port@0 {
// reg = <0>;
// #address-cells = <1>;
// #size-cells = <0>;
// panel_input: endpoint@0 {
// reg = <0>;
// remote-endpoint = <&tcon0_out_lcd>;
// };
// };
// };
};
&spi0 {
status = "okay";
spi-nor@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
status = "disabled";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x70000>;
read-only;
};
partition@1 {
label = "kernel";
reg = <0x70000 0x590000>;
read-only;
};
partition@2 {
label = "rom";
reg = <0x600000 0x700000>;
read-only;
};
partition@3 {
label = "overlay";
reg = <0xd00000 0x300000>;
};
};
};
spi-nand@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x100000>;
read-only;
};
partition@1 {
label = "kernel";
reg = <0x100000 0x500000>;
read-only;
};
partition@2 {
label = "rom";
reg = <0x600000 0x2a00000>;
read-only;
};
partition@3 {
label = "vendor";
reg = <0x3000000 0x1000000>;
};
partition@4 {
label = "overlay";
reg = <0x4000000 0x3000000>;
};
};
};
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pa_pins>;
status = "okay";
};
&mmc0 {
status = "okay";
broken-cd;
};
&otg_sram {
status = "okay";
};
&usb_otg {
dr_mode = "peripheral"; /* host peripheral */
status = "okay";
};
&usbphy {
status = "okay";
};
&cedar_ve {
status = "okay";
};
&ion {
status = "okay";
};
// &de {
// status = "okay";
// };
// &fe0 {
// status = "okay";
// };
// &be0 {
// status = "okay";
// };
// &tve0 {
// status = "okay";
// };
// &tcon0 {
// pinctrl-names = "default";
// pinctrl-0 = <&lcd_rgb565_pins>;
// status = "okay";
// };
// &tcon0_out {
// tcon0_out_lcd: endpoint@0 {
// reg = <0>;
// remote-endpoint = <&panel_input>;
// };
// };
&codec {
allwinner,audio-routing =
"Headphone", "HP",
"Headphone", "HPCOM",
"LINEIN", "Line In",
"FMINL", "Left FM In",
"FMINR", "Right FM In",
"MIC", "Mic";
status = "okay";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pd_pins>;
status = "okay";
rtp@48 {
compatible = "ti,tsc2007";
reg = <0x48>;
interrupt-parent = <&pio>;
interrupts = <4 12 IRQ_TYPE_EDGE_FALLING>;
gpios = <&pio 4 12 GPIO_ACTIVE_LOW>;
pendown-gpio = <&pio 4 12 GPIO_ACTIVE_LOW>;
ti,x-plate-ohms = <660>;
wakeup-source;
status = "disabled";
};
ctp@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <&pio>;
interrupts = <4 12 IRQ_TYPE_EDGE_FALLING>; // PE12
irq-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; // PE12
reset-gpios = <&pio 0 0 GPIO_ACTIVE_HIGH>; // PA0
};
ov2640: camera@30 {
compatible = "ovti,ov2640";
reg = <0x30>;
pinctrl-0 = <&clk_out_pins>;
pinctrl-names = "default";
clocks = <&clk_out>;
clock-names = "xvclk";
assigned-clocks = <&clk_out>;
assigned-clock-rates = <24000000>;
port {
ov2640_ep: endpoint {
remote-endpoint = <&csi0_ep>;
bus-width = <8>;
hsync-active = <0>;
vsync-active = <0>;
pclk-sample = <1>;
};
};
};
ov5640: camera@3c {
compatible = "ovti,ov5640";
reg = <0x3c>;
pinctrl-0 = <&clk_out_pins>;
pinctrl-names = "default";
clocks = <&clk_out>;
clock-names = "xclk";
assigned-clocks = <&clk_out>;
assigned-clock-rates = <24000000>;
status = "disabled";
port {
ov5640_ep: endpoint {
remote-endpoint = <&csi0_ep>;
bus-width = <8>;
hsync-active = <0>;
vsync-active = <0>;
pclk-sample = <1>;
};
};
};
};
&csi0 {
pinctrl-names = "default";
pinctrl-0 = <&csi0_pins>;
packed-format;
status = "okay";
port {
csi0_ep: endpoint {
remote-endpoint = <&ov2640_ep>;
bus-width = <8>;
hsync-active = <0>;
vsync-active = <0>;
pclk-sample = <1>;
};
};
};

View File

@ -1,57 +0,0 @@
#!/bin/sh
#
# Start uMTPrd....
#
start() {
printf "Starting uMTPrd: "
mount none /sys/kernel/config -t configfs
mkdir /sys/kernel/config/usb_gadget/g1
cd /sys/kernel/config/usb_gadget/g1
mkdir configs/c.1
mkdir functions/ffs.mtp
mkdir strings/0x409
mkdir configs/c.1/strings/0x409
echo 0x0100 > idProduct
echo 0x1D6B > idVendor
echo "Widora" > strings/0x409/manufacturer
echo "MangoPi R3" > strings/0x409/product
echo "Conf 1" > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
ln -s functions/ffs.mtp configs/c.1
mkdir /dev/ffs-mtp
mount -t functionfs mtp /dev/ffs-mtp
start-stop-daemon -S -q -m -b -p /var/run/umtprd.pid -x /usr/sbin/umtprd
sleep 1
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/g1/UDC
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping uMTPrd: "
echo > /sys/kernel/config/usb_gadget/g1/UDC
start-stop-daemon -K -q -p /var/run/umtprd.pid -x /usr/sbin/umtprd
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -1,78 +0,0 @@
#
# uMTP Responder config file
# Must be copied to /etc/umtprd/umtprd.conf
#
# Loop / daemon mode
# Set to 1 to don't shutdown uMTPrd when the link is disconnected.
loop_on_disconnect 1
#storage command : Create add a storage entry point. Up to 16 entry points supported
#Syntax : storage "PATH" "NAME"
storage "/" "rootfs" "rw"
# Set the USB manufacturer string
manufacturer "Widora"
# Set the USB Product string
product "MangoPi R3"
# Set the USB Serial number string
serial "01234567"
# Set the USB interface string. Should be always "MTP"
interface "MTP"
# Set the USB Vendor ID, Product ID and class
usb_vendor_id 0x1D6B # Linux Foundation
usb_product_id 0x0100 # PTP Gadget
usb_class 0x6 # Image
usb_subclass 0x1 # Still Imaging device
usb_protocol 0x1 #
# Device version
usb_dev_version 0x3008
# inotify support
# If you want disable the events support (beta), uncomment the following line :
# no_inotify 0x1
#
# Internal buffers size
#
# Internal default usb_max_rd_buffer_size and usb_max_wr_buffer_size value set to 0x10000.
# Internal default read_buffer_cache_size value set to 0x100000.
# Uncomment the following lines to reduce the buffers sizes to fix USB issues on iMX6 based systems.
# usb_max_rd_buffer_size 0x200 # MAX usb read size. Must be a multiple of 512 and be less than read_buffer_cache_size
# usb_max_wr_buffer_size 0x200 # MAX usb write size. Must be a multiple of 512.
# read_buffer_cache_size 0x4000 # Read file cache buffer. Must be a 2^x value.
#
# USB gadget device driver path
#
########################################################################
#
# -- Generic FunctionFS Mode --
#
########################################################################
usb_functionfs_mode 0x1
usb_dev_path "/dev/ffs-mtp/ep0"
usb_epin_path "/dev/ffs-mtp/ep1"
usb_epout_path "/dev/ffs-mtp/ep2"
usb_epint_path "/dev/ffs-mtp/ep3"
usb_max_packet_size 0x200

View File

@ -0,0 +1 @@
../board/YuzukiHD/YuzukiRuler/YuzukiHD_YuzukiRuler_defconfig

View File

@ -1 +0,0 @@
../board/widora/mangopi/r1/widora_mangopi_r1_defconfig

View File

@ -1 +0,0 @@
../board/widora/mangopi/r2/widora_mangopi_r2_defconfig

View File

@ -1 +0,0 @@
../board/widora/mangopi/r3/widora_mangopi_r3_defconfig