Compare commits

...

5 Commits

Author SHA1 Message Date
Yilin Sun b8005a7276 Added config and patches for T113-miniEVM.
continuous-integration/drone/push Build was killed Details
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-04-16 13:36:18 +08:00
Yilin Sun 48c9ae4442
Revert to xz for module compression.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-04-14 10:06:20 +08:00
Yilin Sun 861fc203b2
Added zstd compressed modules and libconfig.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-04-06 20:15:18 +08:00
Yilin Sun 4e219e9e7d
Use zstd.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-04-06 16:08:42 +08:00
Yilin Sun 71e6b95458
Removed invalid boards.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-04-06 16:02:36 +08:00
22 changed files with 794 additions and 174 deletions

View File

@ -16,7 +16,7 @@ steps:
DEBIAN_FRONTEND: noninteractive
commands:
- apt-get update
- apt-get install -y build-essential
- apt-get install -y sed make binutils build-essential diffutils gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc findutils wget
- name: Configure
commands:

@ -1 +1 @@
Subproject commit dbb0b4274cdbd74cf22fb4da4c1e43084f3d3125
Subproject commit 87e979e4572449ecb7d2058b02d642b38cc3b0f8

View File

@ -1,18 +0,0 @@
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
fatload mmc 0 ${kernel_addr_r} zImage
fatload mmc 0 ${fdt_addr_r} ${fdtfile}
fdt addr ${fdt_addr_r}
fdt resize 32768
fdt set /soc/serial@1c28c00 status okay
fdt set /soc/spi@1c68000 status okay
fdt mknode /soc/spi@1c68000 spidev@0
fdt set /soc/spi@1c68000/spidev@0 status "okay"
fdt set /soc/spi@1c68000/spidev@0 reg <0>
fdt set /soc/spi@1c68000/spidev@0 spi-max-frequency <10000000>
fdt set /soc/spi@1c68000/spidev@0 compatible "semtech,sx1301"
bootz ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -1,4 +0,0 @@
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_REGULATOR_SY8106A=y
CONFIG_SPI_SPIDEV=y
CONFIG_SUN8I_DE2_CCU=y

View File

@ -1,29 +0,0 @@
OrangePi PC
Intro
=====
This default configuration will allow you to start experimenting with the
buildroot environment for the OrangePi PC. With the current configuration
it will bring-up the board, and allow access through the serial console.
How to build it
===============
Configure Buildroot:
$ make orangepi_pc_defconfig
Compile everything and build the SD card image:
$ make
How to write the SD card
========================
Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.
Copy the bootable "sdcard.img" onto an SD card with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX

View File

@ -0,0 +1 @@
root=/dev/mmcblk0p2 rootwait console=tty1

View File

@ -0,0 +1,42 @@
# Please note that this is only a sample, we recommend you to change it to fit
# your needs.
# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
# See http://buildroot.org/manual.html#rootfs-custom
# and http://elinux.org/RPiconfig for a description of config.txt syntax
start_file=start.elf
fixup_file=fixup.dat
kernel=zImage
# To use an external initramfs file
#initramfs rootfs.cpio.gz
# Disable overscan assuming the display supports displaying the full resolution
# If the text shown on the screen disappears off the edge, comment this out
disable_overscan=1
# How much memory in MB to assign to the GPU on Pi models having
# 256, 512 or 1024 MB total memory
gpu_mem_256=100
gpu_mem_512=100
gpu_mem_1024=100
# Set I2C speed to 400kHz(Fast mode)
dtparam=i2c_arm=on,i2c_arm_baudrate=400000
# Enable spidev node
dtparam=spi=on
# Add PCF8574A GPIO expander
dtoverlay=pcf857x,pcf8574a,addr=0x38,interrupt=22
# Add DS3231 driver
dtoverlay=i2c-rtc,ds3231
# Add BME280 sensor
dtoverlay=i2c-sensor,bme280,addr=0x76
# PPS signal
dtoverlay=pps-gpio,gpiopin=17,capture_clear

View File

@ -1,13 +1,10 @@
# Minimal SD card image for the OrangePi PC
#
image boot.vfat {
vfat {
files = {
"zImage",
"sun8i-h3-orangepi-pc.dtb",
"boot.scr"
#BOOT_FILES#
}
}
size = 32M
}
@ -15,13 +12,6 @@ image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "u-boot-sunxi-with-spl.bin"
offset = 8192
size = 1040384 # 1MB - 8192
}
partition boot {
partition-type = 0xC
bootable = "true"
@ -31,6 +21,5 @@ image sdcard.img {
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 128M
}
}

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,16 @@
#!/bin/sh
set -u
set -e
# Add a console on tty1
if [ -e ${TARGET_DIR}/etc/inittab ]; then
grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
sed -i '/GENERIC_SERIAL/a\
tty1::respawn:/sbin/getty -L tty1 0 vt100 # HDMI console' ${TARGET_DIR}/etc/inittab
# systemd doesn't use /etc/inittab, enable getty.tty1.service instead
elif [ -d ${TARGET_DIR}/etc/systemd ]; then
mkdir -p "${TARGET_DIR}/etc/systemd/system/getty.target.wants"
ln -sf /lib/systemd/system/getty@.service \
"${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty@tty1.service"
fi

View File

@ -0,0 +1,44 @@
#!/bin/bash
set -e
BOARD_DIR="$(dirname $0)"
BOARD_NAME="$(basename ${BOARD_DIR})"
GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
# generate genimage from template if a board specific variant doesn't exists
if [ ! -e "${GENIMAGE_CFG}" ]; then
GENIMAGE_CFG="${BINARIES_DIR}/genimage.cfg"
FILES=()
for i in "${BINARIES_DIR}"/*.dtb "${BINARIES_DIR}"/rpi-firmware/*; do
FILES+=( "${i#${BINARIES_DIR}/}" )
done
KERNEL=$(sed -n 's/^kernel=//p' "${BINARIES_DIR}/rpi-firmware/config.txt")
FILES+=( "${KERNEL}" )
BOOT_FILES=$(printf '\\t\\t\\t"%s",\\n' "${FILES[@]}")
sed "s|#BOOT_FILES#|${BOOT_FILES}|" "${BOARD_DIR}/genimage.cfg.in" \
> "${GENIMAGE_CFG}"
fi
# Pass an empty rootpath. genimage makes a full copy of the given rootpath to
# ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk
# space. We don't rely on genimage to build the rootfs image, just to insert a
# pre-built one in the disk image.
trap 'rm -rf "${ROOTPATH_TMP}"' EXIT
ROOTPATH_TMP="$(mktemp -d)"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${ROOTPATH_TMP}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
exit $?

View File

@ -0,0 +1,162 @@
Raspberry Pi
Intro
=====
These instructions apply to all models of the Raspberry Pi:
- the original models A and B,
- the "enhanced" models A+ and B+,
- the model B2 (aka Raspberry Pi 2)
- the model B3 (aka Raspberry Pi 3).
- the model B4 (aka Raspberry Pi 4).
- the model CM4 (aka Raspberry Pi Compute Module 4 and IO Board).
How to build it
===============
Configure Buildroot
-------------------
There are several Raspberry Pi defconfig files in Buildroot, one for
each major variant, which you should base your work on:
For models A, B, A+ or B+:
$ make raspberrypi_defconfig
For model Zero (model A+ in smaller form factor):
$ make raspberrypi0_defconfig
or for model Zero W (model Zero with wireless LAN and Bluetooth):
$ make raspberrypi0w_defconfig
For model Zero 2 W (model B3 in smaller form factor):
$ make raspberrypizero2w_defconfig
For model 2 B:
$ make raspberrypi2_defconfig
For model 3 B and B+:
$ make raspberrypi3_defconfig
or for model 3 B and B+ (64 bit):
$ make raspberrypi3_64_defconfig
For model 4 B:
$ make raspberrypi4_defconfig
or for model 4 B (64 bit):
$ make raspberrypi4_64_defconfig
For model CM4 (on IO Board):
$ make raspberrypicm4io_defconfig
or for CM4 (on IO Board - 64 bit):
$ make raspberrypicm4io_64_defconfig
Build the rootfs
----------------
Note: you will need to have access to the network, since Buildroot will
download the packages' sources.
You may now build your rootfs with:
$ make
(This may take a while, consider getting yourself a coffee ;-) )
Result of the build
-------------------
After building, you should obtain this tree:
output/images/
+-- bcm2708-rpi-b.dtb [1]
+-- bcm2708-rpi-b-plus.dtb [1]
+-- bcm2708-rpi-cm.dtb [1]
+-- bcm2708-rpi-zero.dtb [1]
+-- bcm2708-rpi-zero-w.dtb [1]
+-- bcm2710-rpi-zero-2-w.dtb [1]
+-- bcm2709-rpi-2-b.dtb [1]
+-- bcm2710-rpi-3-b.dtb [1]
+-- bcm2710-rpi-3-b-plus.dtb [1]
+-- bcm2710-rpi-cm3.dtb [1]
+-- bcm2711-rpi-4-b.dtb [1]
+-- bcm2711-rpi-cm4.dtb [1]
+-- bcm2837-rpi-3-b.dtb [1]
+-- boot.vfat
+-- rootfs.ext4
+-- rpi-firmware/
| +-- bootcode.bin
| +-- cmdline.txt
| +-- config.txt
| +-- fixup.dat [1]
| +-- fixup4.dat [1]
| +-- start.elf [1]
| +-- start4.elf [1]
| `-- overlays/ [2]
+-- sdcard.img
+-- Image [1]
`-- zImage [1]
[1] Not all of them will be present, depending on the RaspberryPi
model you are using.
[2] Only for the Raspberry Pi 3/4 Models (overlay miniuart-bt is needed
to enable the RPi3 serial console otherwise occupied by the bluetooth
chip). Alternative would be to disable the serial console in cmdline.txt
and /etc/inittab.
How to write the SD card
========================
Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.
Copy the bootable "sdcard.img" onto an SD card with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
Insert the SDcard into your Raspberry Pi, and power it up. Your new system
should come up now and start two consoles: one on the serial port on
the P1 header, one on the HDMI output where you can login using a USB
keyboard.
How to write to CM4 eMMC memory
===============================
For CM4 modules without eMMC memory see above for booting from SD card,
for CM4 modules with eMMC memory proceed as following:
- fit jumper on IO Board header J2 to disable eMMC boot
- connect IO Board micro USB port (J11 USB slave) to your host linux system
- power up CM4/IO Board (lsusb command should show a '0a5c:2711 Broadcom Corp.
BCM2711 Boot' device)
- run 'sudo ./host/bin/rpiboot', output should look like the following:
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Sending bootcode.bin
Successful read 4 bytes
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Second stage boot server
Loading embedded: start4.elf
File read: start4.elf
Second stage boot server done
- a USB mass storage device should show up (the CM4 eMMC memory), proceed
as described above to copy sdcard.img to it
- power down CM4/IO Board
- remove jumper on IO Board header J2 to re-enable eMMC boot
- power up CM4/IO Board

View File

@ -0,0 +1,14 @@
CONFIG_LEDS_TRIGGER_MTD=y
CONFIG_MTD=y
CONFIG_MTD_UBI=y
CONFIG_MTD_SPI_NAND=y
CONFIG_UBIFS_FS=y
CONFIG_MOTORCOMM_PHY=y
CONFIG_TYPEC=y
CONFIG_TYPEC_WUSB3801=y
CONFIG_DRM_LONTIUM_LT8912B=y
CONFIG_USB_ACM=y
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_CP210X=y
CONFIG_SYSVIPC=y

View File

@ -0,0 +1,322 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
// Copyright (C) 2022 Arm Ltd.
/*
* Common peripherals and configurations for MangoPi MQ-R boards.
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
/dts-v1/;
#include <arm/allwinner/sun8i-t113s.dtsi>
/ {
model = "Tronlong TLT113-MiniEVM";
compatible = "tronlong,tlt113-minievm", "allwinner,sun8i-t113i";
aliases {
serial2 = &uart2;
};
chosen {
stdout-path = "serial2:115200n8";
};
leds {
compatible = "gpio-leds";
led-0 {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_STATUS;
gpios = <&pio 2 0 GPIO_ACTIVE_HIGH>; /* PC0 */
linux,default-trigger = "heartbeat";
};
led-1 {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_DISK;
gpios = <&pio 2 1 GPIO_ACTIVE_HIGH>; /* PC1 */
linux,default-trigger = "mtd";
};
led-2 {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_HEARTBEAT;
gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
linux,default-trigger = "default-on";
};
};
hdmi-connector {
compatible = "hdmi-connector";
ddc-i2c-bus = <&i2c0>;
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&bridge_hdmi_out>;
};
};
};
/* EC2232E DC/DC regulator on SoM */
reg_vcc5v: regulator-5v {
compatible = "regulator-fixed";
regulator-name = "vcc-5v";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
/* EC2232E DC/DC regulator on SoM */
reg_3v3: regulator-3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&reg_vcc5v>;
};
/* EC2232E DC/DC regulator on SoM, also supplying VDD-SYS */
reg_vcc_core: regulator-core {
compatible = "regulator-fixed";
regulator-name = "vcc-core";
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <880000>;
vin-supply = <&reg_vcc5v>;
};
reg_vbus_supply: regulator-vbus-otg {
compatible = "regulator-fixed";
regulator-name = "vbus-otg";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&pio 1 12 GPIO_ACTIVE_HIGH>;
vin-supply = <&reg_vcc5v>;
};
};
&cpu0 {
cpu-supply = <&reg_vcc_core>;
};
&cpu1 {
cpu-supply = <&reg_vcc_core>;
};
&wdt {
status = "okay";
};
&dcxo {
clock-frequency = <24000000>;
};
&ehci1 {
status = "okay";
};
&ohci1 {
status = "okay";
};
&pio {
vcc-pb-supply = <&reg_3v3>;
vcc-pd-supply = <&reg_3v3>;
vcc-pe-supply = <&reg_3v3>;
vcc-pf-supply = <&reg_3v3>;
vcc-pg-supply = <&reg_3v3>;
uart2_pg_pins: uart2-pg-pins {
pins = "PG17", "PG18";
function = "uart2";
};
rgmii_pg_pins: rgmii-pg-pins {
pins = "PG0", "PG1", "PG2", "PG3", "PG4",
"PG5", "PG6", "PG7", "PG8", "PG9",
"PG10", "PG12", "PG14", "PG15";
function = "emac";
};
i2c0_pins: i2c0-pins {
pins = "PB10", "PB11";
function = "i2c0";
};
i2c2_pins: i2c2-pins {
pins = "PE12", "PE13";
function = "i2c2";
};
spi0_misc_pins: spi0-misc-pins {
pins = "PC6", "PC7";
function = "spi0";
};
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pg_pins>;
status = "okay";
};
&mmc0 {
pinctrl-0 = <&mmc0_pins>;
pinctrl-names = "default";
vmmc-supply = <&reg_3v3>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
disable-wp;
bus-width = <4>;
status = "okay";
};
&emac {
pinctrl-0 = <&rgmii_pg_pins>;
pinctrl-names = "default";
status = "okay";
phy-handle = <&ephy>;
phy-mode = "rgmii-id";
allwinner,tx-delay-ps = <200>;
allwinner,rx-delay-ps = <0>;
phy-supply = <&reg_3v3>;
};
&mdio {
ephy: ethernet-phy@0 {
reg = <0>;
reset-gpios = <&pio 6 13 GPIO_ACTIVE_LOW>; /* PG13 */
rx-internal-delay-ps = <600>;
tx-internal-delay-ps = <450>;
reset-assert-us = <10000>;
reset-deassert-us = <1000000>;
};
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "okay";
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;
status = "okay";
hdmi_lontium_lt8912: hdmi@48 {
compatible = "lontium,lt8912b";
reg = <0x48>;
reset-gpios = <&pio 4 11 GPIO_ACTIVE_LOW>; /* PE11 */
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
bridge_dsi_in: endpoint {
data-lanes = <0 1 2 3>;
remote-endpoint = <&host_dsi_out>;
};
};
port@1 {
reg = <1>;
bridge_hdmi_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
tcpc@60 {
compatible = "willsemi,wusb3801";
reg = <0x60>;
interrupt-parent = <&pio>;
interrupts = <4 3 IRQ_TYPE_LEVEL_LOW>; /* PE3 */
connector {
compatible = "usb-c-connector";
label = "USB-C";
vbus-supply = <&reg_vbus_supply>;
power-role = "source";
data-role = "dual";
typec-power-opmode = "default";
pd-disable;
};
};
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins &spi0_misc_pins>;
status = "okay";
spi_nand@0 {
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <80000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
partitions {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fixed-partitions";
partition@0 {
label = "u-boot";
reg = <0x0 0x100000>; /* 1MB */
};
partition@100000 {
label = "env";
reg = <0x100000 0x400000>; /* 4MB */
};
partition@500000 {
label = "rootfs";
reg = <0x500000 0xfb00000>; /* 251MB */
};
};
};
};
&dsi {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port {
host_dsi_out: endpoint {
remote-endpoint = <&bridge_dsi_in>;
};
};
};
};
&dphy {
status = "okay";
};
&tcon_top {
status = "okay";
};
&tcon_lcd0 {
status = "okay";
};
&usb_otg {
dr_mode = "peripheral";
status = "okay";
};
&usbphy {
usb1_vbus-supply = <&reg_vcc5v>;
status = "okay";
};

View File

@ -1,108 +0,0 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_PACKAGE_GLIBC_UTILS=y
BR2_BINUTILS_VERSION_2_39_X=y
BR2_GCC_VERSION_12_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_TUI=y
BR2_PACKAGE_HOST_GDB_PYTHON3=y
BR2_GDB_VERSION_12=y
BR2_DL_DIR="$(HOME)/Softwares/Buildroot/dl"
BR2_CCACHE=y
BR2_CCACHE_DIR="$(HOME)/Softwares/Buildroot/ccache"
BR2_CCACHE_INITIAL_SETUP="-M 20G"
BR2_ENABLE_DEBUG=y
BR2_OPTIMIZE_G=y
BR2_TARGET_GENERIC_HOSTNAME="lwgw-opi-pc"
BR2_TARGET_GENERIC_ISSUE="ARE U OKAY ?"
BR2_INIT_SYSTEMD=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_SYSTEM_BIN_SH_BASH=y
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
BR2_GENERATE_LOCALE="en_US.UTF-8"
BR2_TARGET_LOCALTIME="Asia/Tokyo"
BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_lwgw_PATH)/customizations/users.table"
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_lwgw_PATH)/customizations/overlay"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BR2_EXTERNAL_lwgw_PATH)/board/iminc/orangepi-pc-sx1302-hat/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.3.10"
BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_lwgw_PATH)/board/iminc/orangepi-pc-sx1302-hat/linux.fragment"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc"
BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y
BR2_PACKAGE_LINUX_TOOLS_GPIO=y
BR2_PACKAGE_LINUX_TOOLS_IIO=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_E4DEFRAG=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_GPSD=y
BR2_PACKAGE_GPSD_DEVICES="/dev/ttyS3"
BR2_PACKAGE_GPSD_CLIENT_DEBUG=y
BR2_PACKAGE_GPSD_PROFILING=y
BR2_PACKAGE_GPSD_USER=y
BR2_PACKAGE_GPSD_GROUP=y
BR2_PACKAGE_GPSD_UBX=y
BR2_PACKAGE_GPTFDISK=y
BR2_PACKAGE_GPTFDISK_GDISK=y
BR2_PACKAGE_GPTFDISK_SGDISK=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_SPI_TOOLS=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE=y
BR2_PACKAGE_UBOOT_TOOLS_DUMPIMAGE=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_LIBCONFIG=y
BR2_PACKAGE_LIBGPIOD=y
BR2_PACKAGE_LIBGPIOD_TOOLS=y
BR2_PACKAGE_LIBIIO=y
# BR2_PACKAGE_LIBIIO_IIOD is not set
BR2_PACKAGE_LIBIIO_TESTS=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_MOSQUITTO=y
# BR2_PACKAGE_MOSQUITTO_BROKER is not set
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_NETWORK_MANAGER_TUI=y
BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y
BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y
BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y
BR2_PACKAGE_BASH_COMPLETION=y
BR2_PACKAGE_FILE=y
BR2_PACKAGE_SUDO=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
BR2_PACKAGE_VIM=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="128M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_lwgw_PATH)/board/iminc/orangepi-pc-sx1302-hat/boot.cmd"

View File

@ -0,0 +1,82 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_BINUTILS_VERSION_2_41_X=y
BR2_GCC_VERSION_13_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_TUI=y
BR2_TARGET_GENERIC_HOSTNAME="pudding-lwgw-rpi2"
BR2_TARGET_GENERIC_ISSUE="What GW?"
BR2_INIT_SYSTEMD=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_SYSTEM_BIN_SH_BASH=y
BR2_SYSTEM_DHCP="enu1u1"
BR2_GENERATE_LOCALE="en_US.UTF-8"
BR2_TARGET_LOCALTIME="Asia/Shanghai"
BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_lwgw_PATH)/customizations/users.table"
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_lwgw_PATH)/customizations/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_lwgw_PATH)/board/rpi2b/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_lwgw_PATH)/board/rpi2b/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fc20eb4e650bf793bd6b3d804a63b67085c55f08"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_lwgw_PATH)/patches/kernel"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_lwgw_PATH)/board/rpi2b/linux.fragment"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2709-rpi-2-b"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_XZ=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_E4DEFRAG=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_lwgw_PATH)/board/rpi2b/config.txt"
BR2_PACKAGE_GPSD=y
BR2_PACKAGE_GPSD_DEVICES="/dev/ttyAMA0"
BR2_PACKAGE_GPSD_USER=y
BR2_PACKAGE_GPSD_USER_VALUE="gpsd"
BR2_PACKAGE_GPSD_GROUP=y
BR2_PACKAGE_GPSD_GROUP_VALUE="gpsd"
BR2_PACKAGE_GPSD_ASHTECH=y
BR2_PACKAGE_GPSD_EARTHMATE=y
BR2_PACKAGE_GPSD_EVERMORE=y
BR2_PACKAGE_GPSD_FURY=y
BR2_PACKAGE_GPSD_FV18=y
BR2_PACKAGE_GPSD_GARMIN=y
BR2_PACKAGE_GPSD_GARMIN_SIMPLE_TXT=y
BR2_PACKAGE_GPSD_GEOSTAR=y
BR2_PACKAGE_GPSD_GPSCLOCK=y
BR2_PACKAGE_GPSD_GREIS=y
BR2_PACKAGE_GPSD_ISYNC=y
BR2_PACKAGE_GPSD_ITRAX=y
BR2_PACKAGE_GPSD_NMEA2000=y
BR2_PACKAGE_GPSD_OCEANSERVER=y
BR2_PACKAGE_GPSD_ONCORE=y
BR2_PACKAGE_GPSD_RTCM104V2=y
BR2_PACKAGE_GPSD_RTCM104V3=y
BR2_PACKAGE_GPSD_SIRF=y
BR2_PACKAGE_GPSD_SKYTRAQ=y
BR2_PACKAGE_GPSD_SUPERSTAR2=y
BR2_PACKAGE_GPSD_TRIMBLE_TSIP=y
BR2_PACKAGE_GPSD_TRIPMATE=y
BR2_PACKAGE_GPSD_TRUE_NORTH=y
BR2_PACKAGE_GPSD_UBX=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PPS_TOOLS=y
BR2_PACKAGE_SYSSTAT=y
BR2_PACKAGE_LIBCONFIG=y
BR2_PACKAGE_CHRONY=y
BR2_PACKAGE_MOSQUITTO=y
BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_SUDO=y
BR2_PACKAGE_HTOP=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="128M"
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_KMOD_XZ=y

View File

@ -0,0 +1,78 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_BINUTILS_VERSION_2_41_X=y
BR2_GCC_VERSION_13_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_TUI=y
BR2_TARGET_GENERIC_HOSTNAME="pudding-lwgw-t113i"
BR2_TARGET_GENERIC_ISSUE="What GW?"
BR2_INIT_SYSTEMD=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_SYSTEM_BIN_SH_BASH=y
BR2_SYSTEM_DHCP="eth0"
BR2_GENERATE_LOCALE="en_US.UTF-8"
BR2_TARGET_LOCALTIME="Asia/Shanghai"
BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_lwgw_PATH)/customizations/users.table"
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_lwgw_PATH)/customizations/overlay"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/torvalds/linux.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="de927f6c0b07d9e698416c5b287c521b07694cac"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_lwgw_PATH)/patches/kernel"
BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_lwgw_PATH)/board/t113i-minievm/linux.fragment"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_lwgw_PATH)/board/t113i-minievm/sun8i-t113i-tronlong-tlt113-minievm.dts"
BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_MTD=y
BR2_PACKAGE_GPSD=y
BR2_PACKAGE_GPSD_USER=y
BR2_PACKAGE_GPSD_USER_VALUE="gpsd"
BR2_PACKAGE_GPSD_GROUP=y
BR2_PACKAGE_GPSD_GROUP_VALUE="gpsd"
BR2_PACKAGE_GPSD_ASHTECH=y
BR2_PACKAGE_GPSD_EARTHMATE=y
BR2_PACKAGE_GPSD_EVERMORE=y
BR2_PACKAGE_GPSD_FURY=y
BR2_PACKAGE_GPSD_FV18=y
BR2_PACKAGE_GPSD_GARMIN=y
BR2_PACKAGE_GPSD_GARMIN_SIMPLE_TXT=y
BR2_PACKAGE_GPSD_GEOSTAR=y
BR2_PACKAGE_GPSD_GPSCLOCK=y
BR2_PACKAGE_GPSD_GREIS=y
BR2_PACKAGE_GPSD_ISYNC=y
BR2_PACKAGE_GPSD_ITRAX=y
BR2_PACKAGE_GPSD_NMEA2000=y
BR2_PACKAGE_GPSD_OCEANSERVER=y
BR2_PACKAGE_GPSD_ONCORE=y
BR2_PACKAGE_GPSD_RTCM104V2=y
BR2_PACKAGE_GPSD_RTCM104V3=y
BR2_PACKAGE_GPSD_SIRF=y
BR2_PACKAGE_GPSD_SKYTRAQ=y
BR2_PACKAGE_GPSD_SUPERSTAR2=y
BR2_PACKAGE_GPSD_TRIMBLE_TSIP=y
BR2_PACKAGE_GPSD_TRIPMATE=y
BR2_PACKAGE_GPSD_TRUE_NORTH=y
BR2_PACKAGE_GPSD_UBX=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_MDIO_TOOLS=y
BR2_PACKAGE_PPS_TOOLS=y
BR2_PACKAGE_SYSSTAT=y
BR2_PACKAGE_LIBCONFIG=y
BR2_PACKAGE_CHRONY=y
BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_MOSQUITTO=y
BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_SUDO=y
BR2_PACKAGE_HTOP=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="128M"
BR2_TARGET_ROOTFS_UBI=y
BR2_TARGET_ROOTFS_UBI_SUBSIZE=0
BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1F000
BR2_TARGET_ROOTFS_UBIFS_OPTS="-F"
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_KMOD_XZ=y

View File

@ -0,0 +1,8 @@
pool cn.pool.ntp.org iburst maxsources 4
pool ntp.nict.jp iburst maxsources 4
server ntp.tuna.tsinghua.edu.cn iburst
refclock PPS /dev/pps0 lock NMEA refid GPS
refclock SHM 0 offset 0.2 delay 0.1 refid NMEA noselect

View File

@ -0,0 +1,3 @@
DEVICES="/dev/ttyAMA0 /dev/pps0"
GPSD_OPTIONS="-n -G"

View File

@ -0,0 +1,2 @@
[Journal]
Storage=volatile

View File

@ -0,0 +1,15 @@
diff --git a/drivers/mtd/nand/spi/foresee.c b/drivers/mtd/nand/spi/foresee.c
index e0d2d9257045..05b27341b9bd 100644
--- a/drivers/mtd/nand/spi/foresee.c
+++ b/drivers/mtd/nand/spi/foresee.c
@@ -22,8 +22,8 @@ static SPINAND_OP_VARIANTS(write_cache_variants,
SPINAND_PROG_LOAD(true, 0, NULL, 0));
static SPINAND_OP_VARIANTS(update_cache_variants,
- SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
- SPINAND_PROG_LOAD(false, 0, NULL, 0));
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
static int f35sqa002g_ooblayout_ecc(struct mtd_info *mtd, int section,
struct mtd_oob_region *region)