Added Support for NetCube Systems Kumquat
This commit is contained in:
parent
7893c19991
commit
c5258ce271
38
board/netcube/kumquat/genimage.cfg
Normal file
38
board/netcube/kumquat/genimage.cfg
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
flash "w25q64" {
|
||||||
|
pebsize = 65536
|
||||||
|
lebsize = 65408
|
||||||
|
numpebs = 128
|
||||||
|
minimum-io-unit-size = 1
|
||||||
|
sub-page-size = 1
|
||||||
|
vid-header-offset = 64
|
||||||
|
}
|
||||||
|
|
||||||
|
image nor-flash.img {
|
||||||
|
flash {}
|
||||||
|
flashtype = "w25q64"
|
||||||
|
|
||||||
|
partition u-boot {
|
||||||
|
image = "u-boot-sunxi-with-spl.bin"
|
||||||
|
size = 512K
|
||||||
|
}
|
||||||
|
|
||||||
|
partition u-boot-env1 {
|
||||||
|
image = "/dev/zero"
|
||||||
|
size = 256K
|
||||||
|
}
|
||||||
|
|
||||||
|
partition u-boot-env2 {
|
||||||
|
image = "/dev/zero"
|
||||||
|
size = 256K
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
image sdcard.img {
|
||||||
|
hdimage {}
|
||||||
|
|
||||||
|
partition rootfs {
|
||||||
|
partition-type = 0x83
|
||||||
|
bootable = "true"
|
||||||
|
image = "rootfs.ext4"
|
||||||
|
}
|
||||||
|
}
|
273
board/netcube/kumquat/linux-dts/sun8i-v3s-netcube-kumquat.dts
Normal file
273
board/netcube/kumquat/linux-dts/sun8i-v3s-netcube-kumquat.dts
Normal file
@ -0,0 +1,273 @@
|
|||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include "allwinner/sun8i-v3s.dtsi"
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/leds/common.h>
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
/{
|
||||||
|
model = "NetCube Systems Kumquat";
|
||||||
|
compatible = "netcube,kumquat", "allwinner,sun8i-v3s";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &uart0;
|
||||||
|
ethernet0 = &emac;
|
||||||
|
rtc0 = &sysrtc;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpus {
|
||||||
|
cpu0: cpu@0 {
|
||||||
|
clock-frequency = <1200000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
heartbeat_led {
|
||||||
|
gpios = <&pio 4 4 GPIO_ACTIVE_HIGH>; /* PE4 */
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
function = LED_FUNCTION_HEARTBEAT;
|
||||||
|
color = <LED_COLOR_ID_GREEN>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mmc0_act_led {
|
||||||
|
gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
|
||||||
|
linux,default-trigger = "mmc0";
|
||||||
|
function = LED_FUNCTION_DISK;
|
||||||
|
color = <LED_COLOR_ID_GREEN>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
autorepeat;
|
||||||
|
|
||||||
|
user {
|
||||||
|
label = "User Defined Switch";
|
||||||
|
linux,code = <148>;
|
||||||
|
gpios = <&pio 1 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PB2 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_vcc5v0: vcc5v0 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc5v0";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_vcc3v3: vcc3v3 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc3v3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
vin-supply = <®_vcc5v0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_vcc3v0: vcc3v0 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc3v0";
|
||||||
|
regulator-min-microvolt = <3000000>;
|
||||||
|
regulator-max-microvolt = <3000000>;
|
||||||
|
vin-supply = <®_vcc3v3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
can0_osc: can0_osc {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <40000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* mmc0 (Boot) */
|
||||||
|
&mmc0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
bus-width = <4>;
|
||||||
|
broken-cd;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* mmc1 (SDIO) */
|
||||||
|
&mmc1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc1_pins>;
|
||||||
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
bus-width = <4>;
|
||||||
|
broken-cd;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* USB */
|
||||||
|
&usb_otg {
|
||||||
|
extcon = <&usb0_extcon 0>;
|
||||||
|
dr_mode = "otg";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usbphy {
|
||||||
|
usb0_id_det-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci {
|
||||||
|
/delete-property/ phys;
|
||||||
|
/delete-property/ phy-names;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci {
|
||||||
|
/delete-property/ phys;
|
||||||
|
/delete-property/ phy-names;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* ADC */
|
||||||
|
&lradc {
|
||||||
|
vref-supply = <®_vcc3v0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Sound Card */
|
||||||
|
&codec {
|
||||||
|
allwinner,audio-routing =
|
||||||
|
"Headphone", "HP",
|
||||||
|
"Headphone", "HPCOM",
|
||||||
|
"MIC1", "Mic",
|
||||||
|
"Mic", "HBIAS";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Main Serial */
|
||||||
|
&uart0 {
|
||||||
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* ESP Serial */
|
||||||
|
&uart1 {
|
||||||
|
pinctrl-0 = <&uart1_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 1st I2C */
|
||||||
|
&i2c0 {
|
||||||
|
pinctrl-0 = <&i2c0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
idrom: eeprom@50 {
|
||||||
|
compatible = "atmel,24c02"; /* actually it's a 24AA02E48 */
|
||||||
|
pagesize = <16>;
|
||||||
|
read-only;
|
||||||
|
reg = <0x50>;
|
||||||
|
vcc-supply = <®_vcc3v3>;
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
eth0_macaddress: eth0_macaddress@FA {
|
||||||
|
reg = <0xFA 0x06>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
usb0_extcon: tusb320@60 {
|
||||||
|
compatible = "ti,tusb320";
|
||||||
|
reg = <0x60>;
|
||||||
|
interrupt-parent = <&pio>;
|
||||||
|
interrupts = <1 5 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sysrtc: rtc@68 {
|
||||||
|
compatible = "dallas,ds3232";
|
||||||
|
reg = <0x68>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Ethernet */
|
||||||
|
&emac {
|
||||||
|
allwinner,leds-active-low;
|
||||||
|
nvmem-cells = <ð0_macaddress>; /* custom nvmem reference */
|
||||||
|
nvmem-cell-names = "mac-address"; /* see ethernet-controller.yaml */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* SPI */
|
||||||
|
&spi0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&spi0_pins>;
|
||||||
|
cs-gpios = <0>, <&pio 1 0 GPIO_ACTIVE_LOW>; /* PB0 */
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <40000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
can@1 {
|
||||||
|
compatible = "microchip,mcp2518fd";
|
||||||
|
reg = <1>;
|
||||||
|
clocks = <&can0_osc>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&can0_pins>;
|
||||||
|
spi-max-frequency = <20000000>;
|
||||||
|
interrupt-parent = <&pio>;
|
||||||
|
interrupts = <1 1 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
vdd-supply = <®_vcc3v3>;
|
||||||
|
xceiver-supply = <®_vcc3v3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pio {
|
||||||
|
vcc-pb-supply = <®_vcc3v3>;
|
||||||
|
vcc-pc-supply = <®_vcc3v3>;
|
||||||
|
vcc-pe-supply = <®_vcc3v3>;
|
||||||
|
vcc-pf-supply = <®_vcc3v3>;
|
||||||
|
vcc-pg-supply = <®_vcc3v3>;
|
||||||
|
|
||||||
|
gpio-reserved-ranges = <0 32>, <42 22>, <68 28>, <96 32>, <153 7>, <167 25>, <198 26>;
|
||||||
|
gpio-line-names = "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PA
|
||||||
|
"CAN_nCS", "CAN_nINT", "USER_SW", "PB3", "USB_ID", "USBC_nINT", "I2C0_SCL", "I2C0_SDA", "UART0_TX", "UART0_RX", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PB
|
||||||
|
"SPI_MISO", "SPI_SCK", "FLASH_nCS", "SPI_MOSI", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PC
|
||||||
|
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PD
|
||||||
|
"Q12", "Q11", "Q10", "Q9", "LED_SYS0", "I1", "Q1", "Q2", "I2", "I3", "Q3", "Q4", "I4", "I5", "Q5", "Q6", "I6", "I7", "Q7", "Q8", "I8", "UART1_TXD", "UART1_RXD", "ESP_nRST", "ESP_nBOOT", "", "", "", "", "", "", "", //PE
|
||||||
|
"SD_D1", "SD_D0", "SD_CLK", "SD_CMD", "SD_D3", "SD_D2", "LED_SYS1", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PF
|
||||||
|
"ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", "ESP_D2", "ESP_D3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""; //PG
|
||||||
|
|
||||||
|
uart0_pins: uart0-pins {
|
||||||
|
pins = "PB8", "PB9";
|
||||||
|
function = "uart0";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart1_pins: uart1-pins {
|
||||||
|
pins = "PE21", "PE22";
|
||||||
|
function = "uart1";
|
||||||
|
};
|
||||||
|
|
||||||
|
spi0_pins: spi0-pins {
|
||||||
|
pins = "PC0", "PC1", "PC2", "PC3";
|
||||||
|
function = "spi0";
|
||||||
|
};
|
||||||
|
|
||||||
|
can0_pins: can0-pins {
|
||||||
|
pins = "PB1";
|
||||||
|
function = "gpio_in";
|
||||||
|
};
|
||||||
|
};
|
155
board/netcube/kumquat/linux_defconfig
Normal file
155
board/netcube/kumquat/linux_defconfig
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
CONFIG_NO_HZ_IDLE=y
|
||||||
|
CONFIG_HIGH_RES_TIMERS=y
|
||||||
|
CONFIG_CGROUPS=y
|
||||||
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_PERF_EVENTS=y
|
||||||
|
CONFIG_ARCH_SUNXI=y
|
||||||
|
CONFIG_SMP=y
|
||||||
|
CONFIG_NR_CPUS=8
|
||||||
|
CONFIG_HIGHMEM=y
|
||||||
|
CONFIG_ARM_APPENDED_DTB=y
|
||||||
|
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||||
|
CONFIG_CPU_FREQ=y
|
||||||
|
CONFIG_CPUFREQ_DT=y
|
||||||
|
CONFIG_VFP=y
|
||||||
|
CONFIG_NEON=y
|
||||||
|
# CONFIG_GCC_PLUGINS is not set
|
||||||
|
CONFIG_MODULES=y
|
||||||
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
CONFIG_CMA=y
|
||||||
|
CONFIG_NET=y
|
||||||
|
CONFIG_PACKET=y
|
||||||
|
CONFIG_UNIX=y
|
||||||
|
CONFIG_INET=y
|
||||||
|
CONFIG_IP_PNP=y
|
||||||
|
CONFIG_IP_PNP_DHCP=y
|
||||||
|
CONFIG_IP_PNP_BOOTP=y
|
||||||
|
# CONFIG_INET_DIAG is not set
|
||||||
|
# CONFIG_IPV6 is not set
|
||||||
|
CONFIG_CAN=y
|
||||||
|
CONFIG_BT=y
|
||||||
|
CONFIG_BT_LEDS=y
|
||||||
|
CONFIG_CFG80211=y
|
||||||
|
CONFIG_MAC80211=y
|
||||||
|
CONFIG_MAC80211_LEDS=y
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
|
CONFIG_MTD=y
|
||||||
|
CONFIG_MTD_CMDLINE_PARTS=y
|
||||||
|
CONFIG_MTD_SPI_NOR=y
|
||||||
|
CONFIG_EEPROM_AT24=y
|
||||||
|
CONFIG_NETDEVICES=y
|
||||||
|
CONFIG_SUN4I_EMAC=y
|
||||||
|
# CONFIG_NET_VENDOR_ARC is not set
|
||||||
|
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||||
|
# CONFIG_NET_VENDOR_CIRRUS is not set
|
||||||
|
# CONFIG_NET_VENDOR_FARADAY 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_NATSEMI is not set
|
||||||
|
# CONFIG_NET_VENDOR_SAMSUNG is not set
|
||||||
|
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||||
|
# CONFIG_NET_VENDOR_SMSC is not set
|
||||||
|
CONFIG_STMMAC_ETH=y
|
||||||
|
# CONFIG_NET_VENDOR_VIA is not set
|
||||||
|
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||||
|
CONFIG_CAN_MCP251XFD=y
|
||||||
|
# CONFIG_WLAN is not set
|
||||||
|
CONFIG_INPUT_EVDEV=y
|
||||||
|
CONFIG_KEYBOARD_GPIO=y
|
||||||
|
CONFIG_KEYBOARD_SUN4I_LRADC=y
|
||||||
|
# CONFIG_INPUT_MOUSE is not set
|
||||||
|
CONFIG_SERIAL_8250=y
|
||||||
|
CONFIG_SERIAL_8250_CONSOLE=y
|
||||||
|
CONFIG_SERIAL_8250_NR_UARTS=8
|
||||||
|
CONFIG_SERIAL_8250_RUNTIME_UARTS=8
|
||||||
|
CONFIG_SERIAL_8250_DW=y
|
||||||
|
CONFIG_SERIAL_OF_PLATFORM=y
|
||||||
|
CONFIG_I2C_CHARDEV=y
|
||||||
|
CONFIG_I2C_MV64XXX=y
|
||||||
|
CONFIG_SPI=y
|
||||||
|
CONFIG_SPI_SUN6I=y
|
||||||
|
CONFIG_POWER_SUPPLY=y
|
||||||
|
CONFIG_THERMAL=y
|
||||||
|
CONFIG_CPU_THERMAL=y
|
||||||
|
CONFIG_SUN8I_THERMAL=y
|
||||||
|
CONFIG_WATCHDOG=y
|
||||||
|
CONFIG_SUNXI_WATCHDOG=y
|
||||||
|
CONFIG_REGULATOR=y
|
||||||
|
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||||
|
CONFIG_REGULATOR_GPIO=y
|
||||||
|
CONFIG_MEDIA_SUPPORT=y
|
||||||
|
CONFIG_MEDIA_PLATFORM_SUPPORT=y
|
||||||
|
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||||
|
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||||
|
CONFIG_VIDEO_SUN6I_CSI=y
|
||||||
|
CONFIG_VIDEO_SUN8I_DEINTERLACE=y
|
||||||
|
CONFIG_VIDEO_SUN8I_ROTATE=y
|
||||||
|
CONFIG_DRM=y
|
||||||
|
CONFIG_DRM_PANEL_SIMPLE=y
|
||||||
|
CONFIG_DRM_SIMPLE_BRIDGE=y
|
||||||
|
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||||
|
CONFIG_BACKLIGHT_PWM=y
|
||||||
|
CONFIG_SOUND=y
|
||||||
|
CONFIG_SND=y
|
||||||
|
CONFIG_SND_SOC=y
|
||||||
|
CONFIG_SND_SUN4I_CODEC=y
|
||||||
|
CONFIG_SND_SUN8I_CODEC=y
|
||||||
|
CONFIG_SND_SUN8I_CODEC_ANALOG=y
|
||||||
|
CONFIG_USB=y
|
||||||
|
CONFIG_USB_EHCI_HCD=y
|
||||||
|
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
||||||
|
CONFIG_USB_OHCI_HCD=y
|
||||||
|
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||||
|
CONFIG_USB_MUSB_HDRC=y
|
||||||
|
CONFIG_USB_MUSB_SUNXI=y
|
||||||
|
CONFIG_NOP_USB_XCEIV=y
|
||||||
|
CONFIG_USB_GADGET=y
|
||||||
|
CONFIG_TYPEC=y
|
||||||
|
CONFIG_MMC=y
|
||||||
|
CONFIG_MMC_SUNXI=y
|
||||||
|
CONFIG_NEW_LEDS=y
|
||||||
|
CONFIG_LEDS_CLASS=y
|
||||||
|
CONFIG_LEDS_GPIO=y
|
||||||
|
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||||
|
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||||
|
CONFIG_RTC_CLASS=y
|
||||||
|
# CONFIG_RTC_INTF_SYSFS is not set
|
||||||
|
# CONFIG_RTC_INTF_PROC is not set
|
||||||
|
CONFIG_RTC_DRV_DS3232=y
|
||||||
|
CONFIG_RTC_DRV_SUNXI=y
|
||||||
|
CONFIG_DMADEVICES=y
|
||||||
|
CONFIG_DMA_SUN6I=y
|
||||||
|
CONFIG_STAGING=y
|
||||||
|
CONFIG_STAGING_MEDIA=y
|
||||||
|
CONFIG_VIDEO_SUNXI=y
|
||||||
|
CONFIG_MAILBOX=y
|
||||||
|
# CONFIG_IOMMU_SUPPORT is not set
|
||||||
|
CONFIG_EXTCON_USB_GPIO=y
|
||||||
|
CONFIG_EXTCON_USBC_TUSB320=y
|
||||||
|
CONFIG_PWM=y
|
||||||
|
CONFIG_PWM_SUN4I=y
|
||||||
|
CONFIG_PHY_SUN4I_USB=y
|
||||||
|
CONFIG_NVMEM_SUNXI_SID=y
|
||||||
|
CONFIG_EXT4_FS=y
|
||||||
|
CONFIG_VFAT_FS=y
|
||||||
|
CONFIG_EXFAT_FS=y
|
||||||
|
CONFIG_TMPFS=y
|
||||||
|
CONFIG_NFS_FS=y
|
||||||
|
CONFIG_NFS_V3_ACL=y
|
||||||
|
CONFIG_NFS_V4=y
|
||||||
|
CONFIG_ROOT_NFS=y
|
||||||
|
CONFIG_NLS_CODEPAGE_437=y
|
||||||
|
CONFIG_NLS_ISO8859_1=y
|
||||||
|
CONFIG_CRYPTO_DEV_SUN4I_SS=y
|
||||||
|
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
|
||||||
|
CONFIG_CRYPTO_DEV_SUN8I_CE=y
|
||||||
|
CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG=y
|
||||||
|
CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG=y
|
||||||
|
CONFIG_CRYPTO_DEV_SUN8I_SS=y
|
||||||
|
CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG=y
|
||||||
|
CONFIG_DMA_CMA=y
|
||||||
|
CONFIG_PRINTK_TIME=y
|
||||||
|
CONFIG_DEBUG_FS=y
|
4
board/netcube/kumquat/rootfs/boot/extlinux/extlinux.conf
Normal file
4
board/netcube/kumquat/rootfs/boot/extlinux/extlinux.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
LABEL default
|
||||||
|
kernel /boot/zImage
|
||||||
|
fdt /boot/sun8i-v3s-netcube-kumquat.dtb
|
||||||
|
append root=/dev/mmcblk0p1 rootwait console=${console} rootfstype=ext4 panic=3
|
68
board/netcube/kumquat/rootfs/etc/init.d/S35esphosted
Executable file
68
board/netcube/kumquat/rootfs/etc/init.d/S35esphosted
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
DAEMON="esphosted"
|
||||||
|
ESPHOSTED_ARGS=""
|
||||||
|
|
||||||
|
# shellcheck source=/dev/null
|
||||||
|
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
||||||
|
|
||||||
|
esp32_set_bootmode_flash() {
|
||||||
|
# Set mode as Flash
|
||||||
|
gpioset $(gpiofind ESP_nBOOT)=1
|
||||||
|
|
||||||
|
# Reset ESP32
|
||||||
|
gpioset $(gpiofind ESP_nRST)=0
|
||||||
|
gpioset $(gpiofind ESP_nRST)=1
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
grep -e "esp32_sdio" /proc/modules && return 0
|
||||||
|
|
||||||
|
printf 'Starting %s: ' "$DAEMON"
|
||||||
|
|
||||||
|
esp32_set_bootmode_flash
|
||||||
|
|
||||||
|
modprobe esp32_sdio $ESPHOSTED_ARGS
|
||||||
|
|
||||||
|
status=$?
|
||||||
|
if [ "$status" -eq 0 ]; then
|
||||||
|
echo "OK"
|
||||||
|
else
|
||||||
|
echo "FAIL"
|
||||||
|
fi
|
||||||
|
return "$status"
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
grep -e "esp32_sdio" /proc/modules || return 0
|
||||||
|
|
||||||
|
printf 'Stopping %s: ' "$DAEMON"
|
||||||
|
|
||||||
|
modprobe -r esp32_sdio
|
||||||
|
|
||||||
|
status=$?
|
||||||
|
if [ "$status" -eq 0 ]; then
|
||||||
|
rm -f "$PIDFILE"
|
||||||
|
echo "OK"
|
||||||
|
else
|
||||||
|
echo "FAIL"
|
||||||
|
fi
|
||||||
|
return "$status"
|
||||||
|
}
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
stop
|
||||||
|
sleep 1
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start|stop|restart)
|
||||||
|
"$1";;
|
||||||
|
reload)
|
||||||
|
# Restart, since there is no true "reload" feature.
|
||||||
|
restart;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart|reload}"
|
||||||
|
exit 1
|
||||||
|
esac
|
273
board/netcube/kumquat/uboot-dts/sun8i-v3s-netcube-kumquat.dts
Normal file
273
board/netcube/kumquat/uboot-dts/sun8i-v3s-netcube-kumquat.dts
Normal file
@ -0,0 +1,273 @@
|
|||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include "sun8i-v3s.dtsi"
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/leds/common.h>
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
/{
|
||||||
|
model = "NetCube Systems Kumquat";
|
||||||
|
compatible = "netcube,kumquat", "allwinner,sun8i-v3s";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &uart0;
|
||||||
|
ethernet0 = &emac;
|
||||||
|
rtc0 = &sysrtc;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpus {
|
||||||
|
cpu0: cpu@0 {
|
||||||
|
clock-frequency = <1200000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
heartbeat_led {
|
||||||
|
gpios = <&pio 4 4 GPIO_ACTIVE_HIGH>; /* PE4 */
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
function = LED_FUNCTION_HEARTBEAT;
|
||||||
|
color = <LED_COLOR_ID_GREEN>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mmc0_act_led {
|
||||||
|
gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
|
||||||
|
linux,default-trigger = "mmc0";
|
||||||
|
function = LED_FUNCTION_DISK;
|
||||||
|
color = <LED_COLOR_ID_GREEN>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
autorepeat;
|
||||||
|
|
||||||
|
user {
|
||||||
|
label = "User Defined Switch";
|
||||||
|
linux,code = <148>;
|
||||||
|
gpios = <&pio 1 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PB2 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_vcc5v0: vcc5v0 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc5v0";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_vcc3v3: vcc3v3 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc3v3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
vin-supply = <®_vcc5v0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_vcc3v0: vcc3v0 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc3v0";
|
||||||
|
regulator-min-microvolt = <3000000>;
|
||||||
|
regulator-max-microvolt = <3000000>;
|
||||||
|
vin-supply = <®_vcc3v3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
can0_osc: can0_osc {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <40000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* mmc0 (Boot) */
|
||||||
|
&mmc0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
bus-width = <4>;
|
||||||
|
broken-cd;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* mmc1 (SDIO) */
|
||||||
|
&mmc1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc1_pins>;
|
||||||
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
bus-width = <4>;
|
||||||
|
broken-cd;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* USB */
|
||||||
|
&usb_otg {
|
||||||
|
extcon = <&usb0_extcon 0>;
|
||||||
|
dr_mode = "otg";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usbphy {
|
||||||
|
usb0_id_det-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci {
|
||||||
|
/delete-property/ phys;
|
||||||
|
/delete-property/ phy-names;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci {
|
||||||
|
/delete-property/ phys;
|
||||||
|
/delete-property/ phy-names;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* ADC */
|
||||||
|
&lradc {
|
||||||
|
vref-supply = <®_vcc3v0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Sound Card */
|
||||||
|
&codec {
|
||||||
|
allwinner,audio-routing =
|
||||||
|
"Headphone", "HP",
|
||||||
|
"Headphone", "HPCOM",
|
||||||
|
"MIC1", "Mic",
|
||||||
|
"Mic", "HBIAS";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Main Serial */
|
||||||
|
&uart0 {
|
||||||
|
pinctrl-0 = <&uart0_pb_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* ESP Serial */
|
||||||
|
&uart1 {
|
||||||
|
pinctrl-0 = <&uart1_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 1st I2C */
|
||||||
|
&i2c0 {
|
||||||
|
pinctrl-0 = <&i2c0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
idrom: eeprom@50 {
|
||||||
|
compatible = "atmel,24c02"; /* actually it's a 24AA02E48 */
|
||||||
|
pagesize = <16>;
|
||||||
|
read-only;
|
||||||
|
reg = <0x50>;
|
||||||
|
vcc-supply = <®_vcc3v3>;
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
eth0_macaddress: eth0_macaddress@FA {
|
||||||
|
reg = <0xFA 0x06>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
usb0_extcon: tusb320@60 {
|
||||||
|
compatible = "ti,tusb320";
|
||||||
|
reg = <0x60>;
|
||||||
|
interrupt-parent = <&pio>;
|
||||||
|
interrupts = <1 5 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sysrtc: rtc@68 {
|
||||||
|
compatible = "dallas,ds3232";
|
||||||
|
reg = <0x68>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Ethernet */
|
||||||
|
&emac {
|
||||||
|
allwinner,leds-active-low;
|
||||||
|
nvmem-cells = <ð0_macaddress>; /* custom nvmem reference */
|
||||||
|
nvmem-cell-names = "mac-address"; /* see ethernet-controller.yaml */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* SPI */
|
||||||
|
&spi0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&spi0_pins>;
|
||||||
|
cs-gpios = <0>, <&pio 1 0 GPIO_ACTIVE_LOW>; /* PB0 */
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <40000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
can@1 {
|
||||||
|
compatible = "microchip,mcp2518fd";
|
||||||
|
reg = <1>;
|
||||||
|
clocks = <&can0_osc>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&can0_pins>;
|
||||||
|
spi-max-frequency = <20000000>;
|
||||||
|
interrupt-parent = <&pio>;
|
||||||
|
interrupts = <1 1 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
vdd-supply = <®_vcc3v3>;
|
||||||
|
xceiver-supply = <®_vcc3v3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pio {
|
||||||
|
vcc-pb-supply = <®_vcc3v3>;
|
||||||
|
vcc-pc-supply = <®_vcc3v3>;
|
||||||
|
vcc-pe-supply = <®_vcc3v3>;
|
||||||
|
vcc-pf-supply = <®_vcc3v3>;
|
||||||
|
vcc-pg-supply = <®_vcc3v3>;
|
||||||
|
|
||||||
|
gpio-reserved-ranges = <0 32>, <42 22>, <68 28>, <96 32>, <153 7>, <167 25>, <198 26>;
|
||||||
|
gpio-line-names = "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PA
|
||||||
|
"CAN_nCS", "CAN_nINT", "USER_SW", "PB3", "USB_ID", "USBC_nINT", "I2C0_SCL", "I2C0_SDA", "UART0_TX", "UART0_RX", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PB
|
||||||
|
"SPI_MISO", "SPI_SCK", "FLASH_nCS", "SPI_MOSI", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PC
|
||||||
|
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PD
|
||||||
|
"Q12", "Q11", "Q10", "Q9", "LED_SYS0", "I1", "Q1", "Q2", "I2", "I3", "Q3", "Q4", "I4", "I5", "Q5", "Q6", "I6", "I7", "Q7", "Q8", "I8", "UART1_TXD", "UART1_RXD", "ESP_nRST", "ESP_nBOOT", "", "", "", "", "", "", "", //PE
|
||||||
|
"SD_D1", "SD_D0", "SD_CLK", "SD_CMD", "SD_D3", "SD_D2", "LED_SYS1", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", //PF
|
||||||
|
"ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", "ESP_D2", "ESP_D3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""; //PG
|
||||||
|
|
||||||
|
uart0_pins: uart0-pins {
|
||||||
|
pins = "PB8", "PB9";
|
||||||
|
function = "uart0";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart1_pins: uart1-pins {
|
||||||
|
pins = "PE21", "PE22";
|
||||||
|
function = "uart1";
|
||||||
|
};
|
||||||
|
|
||||||
|
spi0_pins: spi0-pins {
|
||||||
|
pins = "PC0", "PC1", "PC2", "PC3";
|
||||||
|
function = "spi0";
|
||||||
|
};
|
||||||
|
|
||||||
|
can0_pins: can0-pins {
|
||||||
|
pins = "PB1";
|
||||||
|
function = "gpio_in";
|
||||||
|
};
|
||||||
|
};
|
@ -0,0 +1,25 @@
|
|||||||
|
From c0f338391533a5c29f84defe6433c7303cae3d40 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Schmid <cubecraft15@gmail.com>
|
||||||
|
Date: Thu, 18 Apr 2024 12:29:56 +0200
|
||||||
|
Subject: [PATCH] spi: sunxi: v3s: Make SPL_SPI_SUNXI also available for SUN8I_V3S
|
||||||
|
|
||||||
|
---
|
||||||
|
arch/arm/mach-sunxi/Kconfig | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
|
||||||
|
index fe89aec6..dd32128f 100644
|
||||||
|
--- a/arch/arm/mach-sunxi/Kconfig
|
||||||
|
+++ b/arch/arm/mach-sunxi/Kconfig
|
||||||
|
@@ -1078,7 +1078,7 @@ config SPL_STACK_R_ADDR
|
||||||
|
|
||||||
|
config SPL_SPI_SUNXI
|
||||||
|
bool "Support for SPI Flash on Allwinner SoCs in SPL"
|
||||||
|
- depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I || MACH_SUN8I_R40 || SUN50I_GEN_H6 || MACH_SUNIV
|
||||||
|
+ depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I || MACH_SUN8I_R40 || SUN50I_GEN_H6 || MACH_SUNIV || MACH_SUN8I_V3S
|
||||||
|
help
|
||||||
|
Enable support for SPI Flash. This option allows SPL to read from
|
||||||
|
sunxi SPI Flash. It uses the same method as the boot ROM, so does
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
@ -0,0 +1,111 @@
|
|||||||
|
From db24b593e45ff3af3859fc1e6a7da634fea77bc6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Schmid <cubecraft15@gmail.com>
|
||||||
|
Date: Tue, 23 Apr 2024 11:08:40 +0200
|
||||||
|
Subject: [PATCH] eth: sunxi: board-init: Try to load macaddr from eeprom
|
||||||
|
|
||||||
|
---
|
||||||
|
board/sunxi/board.c | 77 ++++++++++++++++++++++++++++++++++-----------
|
||||||
|
1 file changed, 59 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
|
||||||
|
index 8c12c8de..050b8f75 100644
|
||||||
|
--- a/board/sunxi/board.c
|
||||||
|
+++ b/board/sunxi/board.c
|
||||||
|
@@ -186,6 +186,43 @@ enum env_location env_get_location(enum env_operation op, int prio)
|
||||||
|
return ENVL_UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#define EEPROM_BUS_ADDR 0
|
||||||
|
+#define EEPROM_ADDR 0x50
|
||||||
|
+
|
||||||
|
+static int eth_addr_init(void)
|
||||||
|
+{
|
||||||
|
+ int rc;
|
||||||
|
+ u8 mac[6];
|
||||||
|
+ char mstr[20];
|
||||||
|
+
|
||||||
|
+ struct udevice *dev;
|
||||||
|
+ struct udevice *bus;
|
||||||
|
+
|
||||||
|
+ rc = uclass_get_device_by_seq(UCLASS_I2C, EEPROM_BUS_ADDR, &bus);
|
||||||
|
+ if (rc) {
|
||||||
|
+ printf("Couldn't get i2c bus.\n");
|
||||||
|
+ return rc;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ rc = dm_i2c_probe(bus, EEPROM_ADDR, 0, &dev);
|
||||||
|
+ if (rc) {
|
||||||
|
+ printf("Couldn't get i2c eeprom.\n");
|
||||||
|
+ return rc;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ rc = dm_i2c_read(dev, 0xFA, mac, 6);
|
||||||
|
+ if (rc) {
|
||||||
|
+ printf("i2c_read failed\n");
|
||||||
|
+ return rc;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ sprintf(mstr, "%0X:%0X:%0X:%0X:%0X:%0X",mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
|
||||||
|
+ printf("ethaddr set to: %s\n", mstr);
|
||||||
|
+ eth_env_set_enetaddr("ethaddr", mac);
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/* add board specific code here */
|
||||||
|
int board_init(void)
|
||||||
|
{
|
||||||
|
@@ -775,28 +812,32 @@ static void setup_environment(const void *fdt)
|
||||||
|
if (!get_unique_sid(sid))
|
||||||
|
return;
|
||||||
|
|
||||||
|
- for (i = 0; i < 4; i++) {
|
||||||
|
- sprintf(ethaddr, "ethernet%d", i);
|
||||||
|
- if (!fdt_get_alias(fdt, ethaddr))
|
||||||
|
- continue;
|
||||||
|
+ /* Try to load the macaddr from eeprom, but fallback to sid based macaddr if failed */
|
||||||
|
+ if (eth_addr_init() != 0) {
|
||||||
|
+
|
||||||
|
+ for (i = 0; i < 4; i++) {
|
||||||
|
+ sprintf(ethaddr, "ethernet%d", i);
|
||||||
|
+ if (!fdt_get_alias(fdt, ethaddr))
|
||||||
|
+ continue;
|
||||||
|
|
||||||
|
- if (i == 0)
|
||||||
|
- strcpy(ethaddr, "ethaddr");
|
||||||
|
- else
|
||||||
|
- sprintf(ethaddr, "eth%daddr", i);
|
||||||
|
+ if (i == 0)
|
||||||
|
+ strcpy(ethaddr, "ethaddr");
|
||||||
|
+ else
|
||||||
|
+ sprintf(ethaddr, "eth%daddr", i);
|
||||||
|
|
||||||
|
- if (env_get(ethaddr))
|
||||||
|
- continue;
|
||||||
|
+ if (env_get(ethaddr))
|
||||||
|
+ continue;
|
||||||
|
|
||||||
|
- /* Non OUI / registered MAC address */
|
||||||
|
- mac_addr[0] = (i << 4) | 0x02;
|
||||||
|
- mac_addr[1] = (sid[0] >> 0) & 0xff;
|
||||||
|
- mac_addr[2] = (sid[3] >> 24) & 0xff;
|
||||||
|
- mac_addr[3] = (sid[3] >> 16) & 0xff;
|
||||||
|
- mac_addr[4] = (sid[3] >> 8) & 0xff;
|
||||||
|
- mac_addr[5] = (sid[3] >> 0) & 0xff;
|
||||||
|
+ /* Non OUI / registered MAC address */
|
||||||
|
+ mac_addr[0] = (i << 4) | 0x02;
|
||||||
|
+ mac_addr[1] = (sid[0] >> 0) & 0xff;
|
||||||
|
+ mac_addr[2] = (sid[3] >> 24) & 0xff;
|
||||||
|
+ mac_addr[3] = (sid[3] >> 16) & 0xff;
|
||||||
|
+ mac_addr[4] = (sid[3] >> 8) & 0xff;
|
||||||
|
+ mac_addr[5] = (sid[3] >> 0) & 0xff;
|
||||||
|
|
||||||
|
- eth_env_set_enetaddr(ethaddr, mac_addr);
|
||||||
|
+ eth_env_set_enetaddr(ethaddr, mac_addr);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!env_get("serial#")) {
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
43
board/netcube/kumquat/uboot_defconfig
Normal file
43
board/netcube/kumquat/uboot_defconfig
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
CONFIG_ARM=y
|
||||||
|
CONFIG_ARCH_SUNXI=y
|
||||||
|
CONFIG_SF_DEFAULT_SPEED=40000000
|
||||||
|
CONFIG_ENV_SIZE=0x40000
|
||||||
|
CONFIG_ENV_OFFSET=0x80000
|
||||||
|
CONFIG_DEFAULT_DEVICE_TREE="sun8i-v3s-netcube-kumquat"
|
||||||
|
CONFIG_SPL=y
|
||||||
|
CONFIG_ENV_OFFSET_REDUND=0xc0000
|
||||||
|
CONFIG_MACH_SUN8I_V3S=y
|
||||||
|
CONFIG_DRAM_CLK=360
|
||||||
|
CONFIG_SPL_SPI_SUNXI=y
|
||||||
|
# CONFIG_HAS_ARMV7_SECURE_BASE is not set
|
||||||
|
# CONFIG_TIMESTAMP is not set
|
||||||
|
CONFIG_SPI_BOOT=y
|
||||||
|
CONFIG_BOOTDELAY=1
|
||||||
|
CONFIG_SPL_MTD=y
|
||||||
|
CONFIG_SYS_PROMPT="Kumquat> "
|
||||||
|
CONFIG_CMD_EEPROM=y
|
||||||
|
CONFIG_CMD_I2C=y
|
||||||
|
CONFIG_CMD_MTD=y
|
||||||
|
CONFIG_CMD_RTC=y
|
||||||
|
CONFIG_MTDIDS_DEFAULT="nor0=flash"
|
||||||
|
CONFIG_MTDPARTS_DEFAULT="mtdparts=flash:512k(u-boot)ro,256k(u-boot-env1),256k(u-boot-env2),-(user)"
|
||||||
|
CONFIG_CMD_DIAG=y
|
||||||
|
# CONFIG_ENV_IS_IN_FAT is not set
|
||||||
|
CONFIG_ENV_IS_IN_MMC=y
|
||||||
|
CONFIG_ENV_SPI_MAX_HZ=1000000
|
||||||
|
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
||||||
|
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||||
|
CONFIG_VERSION_VARIABLE=y
|
||||||
|
# CONFIG_NET is not set
|
||||||
|
CONFIG_SYS_I2C_MVTWSI=y
|
||||||
|
CONFIG_MISC=y
|
||||||
|
CONFIG_NVMEM=y
|
||||||
|
CONFIG_I2C_EEPROM=y
|
||||||
|
CONFIG_SYS_I2C_EEPROM_ADDR=0x50
|
||||||
|
CONFIG_MTD=y
|
||||||
|
CONFIG_SPI_FLASH_BAR=y
|
||||||
|
CONFIG_SPI_FLASH_WINBOND=y
|
||||||
|
CONFIG_SPI_FLASH_MTD=y
|
||||||
|
CONFIG_DM_RTC=y
|
||||||
|
CONFIG_RTC_DS3232=y
|
||||||
|
CONFIG_SPI=y
|
37
configs/netcube_kumquat_defconfig
Normal file
37
configs/netcube_kumquat_defconfig
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
BR2_arm=y
|
||||||
|
BR2_cortex_a7=y
|
||||||
|
BR2_ARM_FPU_NEON_VFPV4=y
|
||||||
|
BR2_KERNEL_HEADERS_6_8=y
|
||||||
|
BR2_SYSTEM_DHCP="eth0"
|
||||||
|
BR2_ROOTFS_OVERLAY="board/netcube/kumquat/rootfs"
|
||||||
|
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
|
||||||
|
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/netcube/kumquat/genimage.cfg"
|
||||||
|
BR2_LINUX_KERNEL=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.8.7"
|
||||||
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/netcube/kumquat/linux_defconfig"
|
||||||
|
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||||
|
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-v3s-netcube-kumquat"
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/netcube/kumquat/linux-dts/*"
|
||||||
|
BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
|
||||||
|
BR2_LINUX_KERNEL_INSTALL_TARGET=y
|
||||||
|
BR2_PACKAGE_ESP_HOSTED=y
|
||||||
|
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||||
|
BR2_TARGET_ROOTFS_EXT2=y
|
||||||
|
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||||
|
BR2_TARGET_ROOTFS_EXT2_SIZE="60M"
|
||||||
|
# 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="2024.04"
|
||||||
|
BR2_TARGET_UBOOT_PATCH="board/netcube/kumquat/uboot-patches"
|
||||||
|
BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y
|
||||||
|
BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="board/netcube/kumquat/uboot_defconfig"
|
||||||
|
# BR2_TARGET_UBOOT_FORMAT_BIN is not set
|
||||||
|
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
|
||||||
|
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
|
||||||
|
BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="board/netcube/kumquat/uboot-dts/*"
|
||||||
|
BR2_PACKAGE_HOST_ENVIRONMENT_SETUP=y
|
||||||
|
BR2_PACKAGE_HOST_GENIMAGE=y
|
Loading…
Reference in New Issue
Block a user