Optimized boot time and USB back to working

This commit is contained in:
Michel-FK 2019-05-03 19:42:15 +02:00
parent 523736709c
commit e70026f931
12 changed files with 247 additions and 59 deletions

View File

@ -1,4 +1,4 @@
setenv bootargs console=ttyS0,115200 panic=5 console=tty0 rootwait fbcon=map:10 fbcon=font:VGA8x8 root=/dev/mmcblk0p2 earlyprintk rw
setenv bootargs console=ttyS0,115200 panic=5 console=tty0 rootwait fbcon=map:10 fbcon=font:VGA8x8 root=/dev/mmcblk0p2 earlyprintk rootfstype=ext4 rootflags=commit=120,data=writeback,barrier=0,journal_async_commit rw quiet
load mmc 0:1 0x41000000 zImage
load mmc 0:1 0x41800000 sun8i-v3s-funkey.dtb
bootz 0x41000000 - 0x41800000

View File

@ -1,12 +1,16 @@
CONFIG_LOCALVERSION="-funkey"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_KERNEL_LZO=y
CONFIG_DEFAULT_HOSTNAME="funkey"
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CGROUPS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_LOG_BUF_SHIFT=16
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_EMBEDDED=y
CONFIG_PERF_EVENTS=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_PARTITION_ADVANCED=y
# CONFIG_EFI_PARTITION is not set
CONFIG_ARCH_SUNXI=y
# CONFIG_MACH_SUN4I is not set
# CONFIG_MACH_SUN5I is not set
@ -22,13 +26,11 @@ CONFIG_CPU_FREQ=y
CONFIG_CPUFREQ_DT=y
CONFIG_VFP=y
CONFIG_NEON=y
# CONFIG_COREDUMP is not set
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_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
@ -38,9 +40,8 @@ CONFIG_DNS_RESOLVER=y
# CONFIG_WIRELESS is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_MTD=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SPI_NOR=y
# CONFIG_ALLOW_DEV_COREDUMP is not set
# CONFIG_SUNXI_RSB is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=1
CONFIG_SCSI=y
@ -48,13 +49,13 @@ CONFIG_BLK_DEV_SD=y
CONFIG_NETDEVICES=y
# CONFIG_ETHERNET is not set
# CONFIG_WLAN is not set
CONFIG_INPUT_POLLDEV=y
CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_SUN4I_LRADC=y
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_NS2009=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_AXP20X_PEK=y
CONFIG_LEGACY_PTY_COUNT=4
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=8
@ -62,59 +63,67 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=8
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MV64XXX=y
CONFIG_SPI=y
CONFIG_SPI_SUN6I=y
CONFIG_GPIO_SYSFS=y
CONFIG_POWER_SUPPLY=y
# CONFIG_HWMON is not set
CONFIG_THERMAL=y
CONFIG_CPU_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_SUNXI_WATCHDOG=y
CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=y
CONFIG_MFD_SYSCON=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_AXP20X=y
# CONFIG_RC_CORE is not set
CONFIG_DRM=y
CONFIG_DRM_SUN4I=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_DUMB_VGA_DAC=y
CONFIG_FB=y
CONFIG_FB_SIMPLE=y
CONFIG_FB_SSD1307=y
# CONFIG_LCD_CLASS_DEVICE is not set
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PWM=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_DRIVERS is not set
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_SOC=y
CONFIG_SND_SUN4I_CODEC=y
CONFIG_SND_SUN8I_CODEC=y
CONFIG_SND_SUN8I_CODEC_ANALOG=y
# CONFIG_HID is not set
# CONFIG_USB_HID is not set
CONFIG_USB=y
CONFIG_USB_OTG=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_GADGET=y
CONFIG_USB_MUSB_SUNXI=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GADGET=y
CONFIG_USB_ETH=m
CONFIG_USB_ETH_EEM=y
CONFIG_USB_G_NCM=m
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
CONFIG_USB_G_ACM_MS=m
CONFIG_MMC=y
# CONFIG_PWRSEQ_EMMC is not set
CONFIG_MMC_SUNXI=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_INTF_SYSFS is not set
# CONFIG_RTC_INTF_PROC is not set
CONFIG_DMADEVICES=y
CONFIG_DMA_SUN6I=y
CONFIG_SYNC_FILE=y
CONFIG_STAGING=y
CONFIG_FB_TFT=y
CONFIG_FB_TFT_ST7789V=y
@ -124,10 +133,12 @@ CONFIG_FB_FLEX=y
# CONFIG_SUN8I_H3_CCU is not set
CONFIG_SUN8I_DE2_CCU=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_PWM=y
CONFIG_PWM_SUN4I=y
CONFIG_PHY_SUN4I_USB=y
CONFIG_NVMEM_SUNXI_SID=y
CONFIG_EXT4_FS=y
# CONFIG_EXT4_USE_FOR_EXT2 is not set
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_CONFIGFS_FS=y
@ -136,10 +147,16 @@ CONFIG_CONFIGFS_FS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_FS=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_FTRACE is not set
# CONFIG_ARM_UNWIND is not set
CONFIG_KEYS=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_DEV_SUN4I_SS=y
CONFIG_XZ_DEC=y

View File

@ -1,6 +1,6 @@
--- /dev/null 2019-03-22 21:33:35.539154398 +0100
+++ a/arch/arm/boot/dts/sun8i-v3s-funkey.dts 2019-03-22 22:37:31.157868364 +0100
@@ -0,0 +1,163 @@
--- /dev/null 2019-05-04 09:53:55.553276856 +0200
+++ a/arch/arm/boot/dts/sun8i-v3s-funkey.dts 2019-05-04 20:06:53.118696800 +0200
@@ -0,0 +1,192 @@
+/*
+ * Copyright (C) 2019 Michel Stempin <michel.stempin@wanadoo.fr>
+ *
@ -63,7 +63,8 @@
+ compatible = "pwm-backlight";
+ pwms = <&pwm 0 1000000 0>;
+ brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
+ default-brightness-level = <100>;
+ default-brightness-level = <10>;
+ power-supply = <&reg_vcc5v0>;
+ };
+};
+
@ -83,14 +84,13 @@
+&i2c0 {
+ status = "okay";
+
+ axp209: pmic@34 {
+ /* axp209: pmic@34 {
+ compatible = "x-powers,axp209";
+ reg = <0x34>;
+ interrupts = <0>;
+
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
+ }; */
+};
+
+&mmc0 {
@ -99,6 +99,7 @@
+ broken-cd;
+ bus-width = <4>;
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&reg_vcc3v3>;
+ status = "okay";
+};
+
@ -106,6 +107,7 @@
+ status = "okay";
+};
+
+/*
+#include "axp209.dtsi"
+
+&reg_dcdc2 {
@ -134,6 +136,22 @@
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "avcc-pll";
+};
+*/
+
+&reg_vcc3v0 {
+ regulator-always-on;
+ status = "okay";
+};
+
+&reg_vcc3v3 {
+ regulator-always-on;
+ status = "okay";
+};
+
+&reg_vcc5v0 {
+ regulator-always-on;
+ status = "okay";
+};
+
+&spi0 {
+ status = "okay";
@ -141,7 +159,6 @@
+ st7789v@0 {
+ compatible = "sitronix,st7789v";
+ reg = <0>;
+
+ spi-max-frequency = <40000000>;
+ txbuflen = <115200>;
+ rotate = <90>;
@ -164,3 +181,15 @@
+ pinctrl-0 = <&pwm0_pins>;
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "peripheral";
+ status = "okay";
+};
+
+&usbphy {
+ usb0_vbus-supply = <&reg_vcc5v0>;
+ phy-supply = <&reg_vcc5v0>;
+ vcc = <&reg_vcc5v0>;
+ status = "okay";
+};

View File

@ -60,7 +60,8 @@
compatible = "pwm-backlight";
pwms = <&pwm 0 1000000 0>;
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <100>;
default-brightness-level = <10>;
power-supply = <&reg_vcc5v0>;
};
};
@ -80,14 +81,13 @@
&i2c0 {
status = "okay";
axp209: pmic@34 {
/* axp209: pmic@34 {
compatible = "x-powers,axp209";
reg = <0x34>;
interrupts = <0>;
interrupt-controller;
#interrupt-cells = <1>;
};
}; */
};
&mmc0 {
@ -96,6 +96,7 @@
broken-cd;
bus-width = <4>;
vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>;
status = "okay";
};
@ -103,12 +104,7 @@
status = "okay";
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm0_pins>;
status = "okay";
};
/*
#include "axp209.dtsi"
&reg_dcdc2 {
@ -137,6 +133,22 @@
regulator-max-microvolt = <3300000>;
regulator-name = "avcc-pll";
};
*/
&reg_vcc3v0 {
regulator-always-on;
status = "okay";
};
&reg_vcc3v3 {
regulator-always-on;
status = "okay";
};
&reg_vcc5v0 {
regulator-always-on;
status = "okay";
};
&spi0 {
status = "okay";
@ -144,7 +156,6 @@
st7789v@0 {
compatible = "sitronix,st7789v";
reg = <0>;
spi-max-frequency = <40000000>;
txbuflen = <115200>;
rotate = <90>;
@ -162,11 +173,20 @@
status = "okay";
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm0_pins>;
status = "okay";
};
&usb_otg {
dr_mode = "peripheral";
status = "okay";
};
&usbphy {
usb0_vbus-supply = <&reg_vcc5v0>;
phy-supply = <&reg_vcc5v0>;
vcc = <&reg_vcc5v0>;
status = "okay";
};

View File

@ -0,0 +1,47 @@
--- a/board/sunxi/board.c 2017-08-12 11:24:24.000000000 +0200
+++ b/board/sunxi/board.c 2019-04-27 23:04:05.811352883 +0200
@@ -540,9 +540,9 @@
power_failed |= axp_set_sw(IS_ENABLED(CONFIG_AXP_SW_ON));
#endif
#endif
- printf("DRAM:");
+ //printf("DRAM:");
ramsize = sunxi_dram_init();
- printf(" %d MiB\n", (int)(ramsize >> 20));
+ //printf(" %d MiB\n", (int)(ramsize >> 20));
if (!ramsize)
hang();
--- a/common/console.c 2017-08-12 11:24:24.000000000 +0200
+++ b/common/console.c 2019-04-27 22:30:13.944154949 +0200
@@ -695,7 +695,7 @@
if (getenv("silent") != NULL)
gd->flags |= GD_FLG_SILENT;
else
- gd->flags &= ~GD_FLG_SILENT;
+ gd->flags |= GD_FLG_SILENT;
#endif
}
--- a/common/spl/spl.c 2017-08-12 11:24:24.000000000 +0200
+++ b/common/spl/spl.c 2019-04-27 23:06:27.269590207 +0200
@@ -316,7 +316,7 @@
loader = spl_ll_find_loader(spl_boot_list[i]);
#if defined(CONFIG_SPL_SERIAL_SUPPORT) && defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
if (loader)
- printf("Trying to boot from %s", loader->name);
+ ;//printf("Trying to boot from %s", loader->name);
else
puts("SPL: Unsupported Boot Device!\n");
#endif
@@ -407,8 +407,9 @@
gd->have_console = 1;
- puts("\nU-Boot SPL " PLAIN_VERSION " (" U_BOOT_DATE " - " \
+ /*puts("\nU-Boot SPL " PLAIN_VERSION " (" U_BOOT_DATE " - " \
U_BOOT_TIME ")\n");
+ */
#ifdef CONFIG_SPL_DISPLAY_PRINT
spl_display_print();
#endif

View File

@ -0,0 +1,31 @@
--- a/include/configs/sunxi-common.h 2017-08-12 11:24:24.000000000 +0200
+++ b/include/configs/sunxi-common.h 2019-05-02 23:02:22.078624435 +0200
@@ -475,14 +475,26 @@
#define BOOTENV_DEV_NAME_FEL(devtypeu, devtypel, instance) \
"fel "
+#if CONFIG_IS_ENABLED(CMD_PXE)
+# define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
+#else
+# define BOOT_TARGET_PXE(func)
+#endif
+
+#if CONFIG_IS_ENABLED(CMD_DHCP)
+# define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
+#else
+# define BOOT_TARGET_DHCP(func)
+#endif
+
#define BOOT_TARGET_DEVICES(func) \
func(FEL, fel, na) \
BOOT_TARGET_DEVICES_MMC(func) \
BOOT_TARGET_DEVICES_MMC_EXTRA(func) \
BOOT_TARGET_DEVICES_SCSI(func) \
BOOT_TARGET_DEVICES_USB(func) \
- func(PXE, pxe, na) \
- func(DHCP, dhcp, na)
+ BOOT_TARGET_PXE(func) \
+ BOOT_TARGET_DHCP(func)
#ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT
#define BOOTCMD_SUNXI_COMPAT \

View File

@ -0,0 +1,18 @@
--- a/board/sunxi/board.c 2019-05-02 23:50:23.708139670 +0200
+++ b/board/sunxi/board.c 2019-05-02 23:51:19.105112063 +0200
@@ -652,6 +652,7 @@
if ((sid[3] & 0xffffff) == 0)
sid[3] |= 0x800000;
+#if defined(CONFIG_CMD_NET)
for (i = 0; i < 4; i++) {
sprintf(ethaddr, "ethernet%d", i);
if (!fdt_get_alias(fdt, ethaddr))
@@ -675,6 +676,7 @@
eth_setenv_enetaddr(ethaddr, mac_addr);
}
+#endif
if (!getenv("serial#")) {
snprintf(serial_string, sizeof(serial_string),

View File

@ -0,0 +1,10 @@
#!/bin/sh
modprobe g_ether
HOST_USB_IP=10.0.1.1
TARGET_USB_IP=10.0.1.2
ifconfig usb0 $TARGET_USB_IP netmask 255.255.255.0
route add default dev usb0
route add default gw $HOST_USB_IP
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
RSA_KEYFILE=/etc/dropbear/dropbear_rsa_host_key
dropbearkey -t rsa -f $RSA_KEYFILE

View File

@ -6,11 +6,25 @@ CONFIG_MACH_SUN8I_V3S=y
CONFIG_DRAM_CLK=360
CONFIG_DRAM_ZQ=14779
CONFIG_DEFAULT_DEVICE_TREE="sun8i-v3s-funkey"
CONFIG_LOCALVERSION="-funkey"
# CONFIG_DISTRO_DEFAULTS is not set
CONFIG_BOOTDELAY=0
CONFIG_SILENT_CONSOLE=y
# CONFIG_CONSOLE_MUX is not set
CONFIG_SYS_CONSOLE_INFO_QUIET=y
CONFIG_SYS_STDIO_DEREGISTER=y
# CONFIG_DISPLAY_CPUINFO is not set
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_SPL=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_FLASH is not set
# CONFIG_CMD_FPGA is not set
# CONFIG_NETDEVICES is not set
CONFIG_OF_LIBFDT_OVERLAY=y
# CONFIG_CMD_NET is not set
# CONFIG_CMD_NFS is not set
CONFIG_CMD_EXT2=y
CONFIG_CMD_EXT4=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_REGEX=y

View File

@ -4,7 +4,7 @@ BR2_DL_DIR="$(BR2_EXTERNAL_FUNKEY_PATH)/dl"
BR2_CCACHE=y
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_FUNKEY_PATH)/board/funkey/patches"
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TARGET_GENERIC_HOSTNAME="FunKey"
BR2_TARGET_GENERIC_HOSTNAME="funkey"
BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the FunKey"
BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_FUNKEY_PATH)/board/funkey/device_table.txt"
BR2_TARGET_GENERIC_ROOT_PASSWD="funkey"
@ -21,6 +21,7 @@ BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Lichee-Pi/linux"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="cda44c146b9b87290bc7c636ffa7d88cbfb03ace"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_FUNKEY_PATH)/board/funkey/linux.config"
BR2_LINUX_KERNEL_LZO=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-v3s-funkey"
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_FUNKEY_PATH)/board/funkey/busybox.config"
@ -51,19 +52,7 @@ BR2_PACKAGE_SDL_MIXER=y
BR2_PACKAGE_SDL_SOUND=y
BR2_PACKAGE_SDL_SOUND_PLAYSOUND=y
BR2_PACKAGE_SDL_TTF=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB=y
BR2_PACKAGE_XAPP_TWM=y
BR2_PACKAGE_XAPP_XCLOCK=y
BR2_PACKAGE_XAPP_XINIT=y
BR2_PACKAGE_XAPP_XINPUT=y
BR2_PACKAGE_XAPP_XKILL=y
BR2_PACKAGE_XAPP_XPROP=y
BR2_PACKAGE_XAPP_XSET=y
BR2_PACKAGE_XAPP_XSETROOT=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV=y
BR2_PACKAGE_XTERM=y
BR2_PACKAGE_ZLIB=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_WPA_SUPPLICANT=y

@ -1 +1 @@
Subproject commit 67ab484206c991174a59601fa978a620d35a9d9a
Subproject commit 0e70d7c761fbaaecbc482dcba480151b7d3e11d4

15
fun
View File

@ -1,2 +1,15 @@
#!/bin/sh
make -C buildroot BR2_EXTERNAL=../FunKey O=../FunKey/output $*
BR="make -C buildroot BR2_EXTERNAL=../FunKey O=../FunKey/output"
case "$1" in
start)
$BR distclean funkey_defconfig
;;
update)
$BR savedefconfig linux-update-defconfig uboot-update-defconfig
;;
*)
$BR $*
;;
esac