From b1e21bbd7a28935d077e20232a5bd3045c4bcc8f Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Sat, 17 Oct 2020 18:32:43 -0400 Subject: hosted: Consolidate common config of hiby-based units into a common header * Enabled MULTIDRIVE and ROOTFS_HOTPLUG for full hotswap! (Requires updated bootloader/integration!) Change-Id: I7dad1f8d375e087c36fce37bec3e9184602ede50 --- firmware/export/config/agptekrocker.h | 80 ++------------------------------ firmware/export/config/aigoerosq.h | 82 ++------------------------------- firmware/export/config/hibylinux.h | 86 +++++++++++++++++++++++++++++++++++ firmware/export/config/xduoox20.h | 77 +------------------------------ firmware/export/config/xduoox3ii.h | 79 ++------------------------------ tools/hiby_patcher.pl | 2 +- 6 files changed, 99 insertions(+), 307 deletions(-) create mode 100644 firmware/export/config/hibylinux.h diff --git a/firmware/export/config/agptekrocker.h b/firmware/export/config/agptekrocker.h index 3323124900..637898aaff 100644 --- a/firmware/export/config/agptekrocker.h +++ b/firmware/export/config/agptekrocker.h @@ -13,102 +13,25 @@ /* sqrt(128^2 + 160^2) / 2 = 102. */ #define LCD_DPI 102 -#ifndef SIMULATOR -#define CONFIG_PLATFORM (PLATFORM_HOSTED) -#define PIVOT_ROOT "/mnt/sd_0" -#endif - -#define HIBY_LINUX -#define HAVE_FPU - -/* define this if you have a colour LCD */ -#define HAVE_LCD_COLOR - -#define HAVE_LCD_ENABLE - -/* Define this if the LCD can shut down */ -#define HAVE_LCD_SHUTDOWN - -/* define this if you want album art for this target */ -#define HAVE_ALBUMART - -/* define this to enable bitmap scaling */ -#define HAVE_BMP_SCALING - -/* define this to enable JPEG decoding */ -#define HAVE_JPEG - /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN /* define this if the target has volume keys which can be used in the lists */ #define HAVE_VOLUME_IN_LIST -/* define this if you would like tagcache to build on this target */ -#define HAVE_TAGCACHE - -#define LCD_DEPTH 32 -/* Check that but should not matter */ -#define LCD_PIXELFORMAT XRGB8888 - -#define HAVE_BACKLIGHT -#define HAVE_BACKLIGHT_BRIGHTNESS - -/* Main LCD backlight brightness range and defaults: the backlight driver - * has levels from 0 to 255. But 0 is off so start at 1. - */ -#define MIN_BRIGHTNESS_SETTING 1 -#define MAX_BRIGHTNESS_SETTING 255 -#define BRIGHTNESS_STEP 5 -#define DEFAULT_BRIGHTNESS_SETTING 70 - -/* Which backlight fading type? */ -#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING - -/* define this if you have a real-time clock */ -#define CONFIG_RTC APPLICATION - /* Define if the device can wake from an RTC alarm */ //#define HAVE_RTC_ALARM -/* The number of bytes reserved for loadable codecs */ -#define CODEC_SIZE 0x80000 - -/* The number of bytes reserved for loadable plugins */ -#define PLUGIN_BUFFER_SIZE 0x100000 - #define HAVE_HEADPHONE_DETECTION /* KeyPad configuration for plugins */ #define CONFIG_KEYPAD AGPTEK_ROCKER_PAD -#ifndef SIMULATOR -/* We have usb power and can detect usb but it is handled by Linux */ -#define HAVE_USB_POWER - -#endif - #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE -/* Linux controlls charging, we can monitor */ -#define CONFIG_CHARGING CHARGING_MONITOR - -/* define this if the hardware can be powered off while charging */ -#define HAVE_POWEROFF_WHILE_CHARGING - -/* same dimensions as gigabeats */ -#define CONFIG_LCD LCD_INGENIC_LINUX - -/* Define this if you have a software controlled poweroff */ -#define HAVE_SW_POWEROFF - /* Define this to the CPU frequency */ #define CPU_FREQ 1008000000 -/* No special storage */ -#define CONFIG_STORAGE STORAGE_HOSTFS -#define HAVE_STORAGE_FLUSH - /* Battery */ #define BATTERY_TYPES_COUNT 1 @@ -135,3 +58,6 @@ /* USB */ #define USB_VID_STR "C502" #define USB_PID_STR "0029" + +/* Generic HiBy stuff */ +#include "hibylinux.h" diff --git a/firmware/export/config/aigoerosq.h b/firmware/export/config/aigoerosq.h index 86f249c366..6dc14c9205 100644 --- a/firmware/export/config/aigoerosq.h +++ b/firmware/export/config/aigoerosq.h @@ -13,64 +13,9 @@ /* sqrt(240^2 + 320^2) / 2.0 = 200 */ #define LCD_DPI 200 -#ifndef SIMULATOR -#define CONFIG_PLATFORM (PLATFORM_HOSTED) -#define PIVOT_ROOT "/mnt/sd_0" -#endif - -#define HIBY_LINUX -#define HAVE_FPU - -/* define this if you have a colour LCD */ -#define HAVE_LCD_COLOR - -#define HAVE_LCD_ENABLE - -/* Define this if the LCD can shut down */ -#define HAVE_LCD_SHUTDOWN - -/* define this if you want album art for this target */ -#define HAVE_ALBUMART - -/* define this to enable bitmap scaling */ -#define HAVE_BMP_SCALING - -/* define this to enable JPEG decoding */ -#define HAVE_JPEG - /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN -/* define this if you would like tagcache to build on this target */ -#define HAVE_TAGCACHE - -#define LCD_DEPTH 32 -/* Check that but should not matter */ -#define LCD_PIXELFORMAT XRGB8888 - -#define HAVE_BACKLIGHT -#define HAVE_BACKLIGHT_BRIGHTNESS - -/* Main LCD backlight brightness range and defaults: the backlight driver - * has levels from 0 to 255. But 0 is off so start at 1. - */ -#define MIN_BRIGHTNESS_SETTING 1 -#define MAX_BRIGHTNESS_SETTING 255 -#define BRIGHTNESS_STEP 5 -#define DEFAULT_BRIGHTNESS_SETTING 70 - -/* Which backlight fading type? */ -#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING - -/* define this if you have a real-time clock */ -#define CONFIG_RTC APPLICATION - -/* The number of bytes reserved for loadable codecs */ -#define CODEC_SIZE 0x80000 - -/* The number of bytes reserved for loadable plugins */ -#define PLUGIN_BUFFER_SIZE 0x100000 - #define HAVE_HEADPHONE_DETECTION #define HAVE_LINEOUT_DETECTION @@ -80,33 +25,11 @@ /* define this if the target has volume keys which can be used in the lists */ #define HAVE_VOLUME_IN_LIST -#ifndef SIMULATOR -/* We have usb power and can detect usb but it is handled by Linux */ -#define HAVE_USB_POWER - -#endif - #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE -/* Linux controlls charging, we can monitor */ -#define CONFIG_CHARGING CHARGING_MONITOR - -/* define this if the hardware can be powered off while charging */ -#define HAVE_POWEROFF_WHILE_CHARGING - -/* same dimensions as gigabeats */ -#define CONFIG_LCD LCD_INGENIC_LINUX - -/* Define this if you have a software controlled poweroff */ -#define HAVE_SW_POWEROFF - /* Define this to the CPU frequency */ #define CPU_FREQ 1008000000 -/* No special storage */ -#define CONFIG_STORAGE STORAGE_HOSTFS -#define HAVE_STORAGE_FLUSH - /* Battery */ #define BATTERY_TYPES_COUNT 1 @@ -124,7 +47,7 @@ /* Battery */ #define BATTERY_CAPACITY_DEFAULT 1300 /* default battery capacity */ #define BATTERY_CAPACITY_MIN 1300 /* min. capacity selectable */ -#define BATTERY_CAPACITY_MAX 1500 /* max. capacity selectable */ +#define BATTERY_CAPACITY_MAX 1300 /* max. capacity selectable */ #define BATTERY_CAPACITY_INC 0 /* capacity increment */ #define CURRENT_NORMAL 100 // 1.7mA * 60s @@ -139,3 +62,6 @@ /* USB */ #define USB_VID_STR "C502" #define USB_PID_STR "0023" + +/* Generic HiBy stuff */ +#include "hibylinux.h" diff --git a/firmware/export/config/hibylinux.h b/firmware/export/config/hibylinux.h new file mode 100644 index 0000000000..e73faa7608 --- /dev/null +++ b/firmware/export/config/hibylinux.h @@ -0,0 +1,86 @@ +/* This file is for Hiby-based Linux targets */ + +/* For Great Justice! */ +#define HIBY_LINUX + +#ifndef SIMULATOR +#define CONFIG_PLATFORM (PLATFORM_HOSTED) +#define PIVOT_ROOT "/mnt/sd_0" +#endif + +#define HAVE_FPU + +/* define this if you have a colour LCD */ +#define HAVE_LCD_COLOR + +/* Define this if the LCD can be toggled */ +#define HAVE_LCD_ENABLE + +/* Define this if the LCD can shut down */ +#define HAVE_LCD_SHUTDOWN + +#ifdef HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + +/* define this to enable bitmap scaling */ +#define HAVE_BMP_SCALING + +/* define this to enable JPEG decoding */ +#define HAVE_JPEG +#endif /* HAVE_LCD_COLOR */ + +/* define this if you would like tagcache to build on this target */ +#define HAVE_TAGCACHE + +/* The number of bytes reserved for loadable codecs */ +#define CODEC_SIZE 0x80000 + +/* The number of bytes reserved for loadable plugins */ +#define PLUGIN_BUFFER_SIZE 0x100000 + +#define CONFIG_LCD LCD_INGENIC_LINUX + +#define LCD_DEPTH 32 +/* Check that but should not matter */ +#define LCD_PIXELFORMAT XRGB8888 + +#define HAVE_BACKLIGHT +#define HAVE_BACKLIGHT_BRIGHTNESS + +/* Main LCD backlight brightness range and defaults: the backlight driver + * has levels from 0 to 255. But 0 is off so start at 1. + */ +#define MIN_BRIGHTNESS_SETTING 1 +#define MAX_BRIGHTNESS_SETTING 255 +#define BRIGHTNESS_STEP 5 +#define DEFAULT_BRIGHTNESS_SETTING 70 + +/* Which backlight fading type? */ +#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING + +/* define this if you have a real-time clock */ +#define CONFIG_RTC APPLICATION + +#ifndef SIMULATOR +/* We have usb power and can detect usb but it is handled by Linux */ +#define HAVE_USB_POWER +#endif + +/* Linux controlls charging, we can monitor */ +#define CONFIG_CHARGING CHARGING_MONITOR + +/* Define this if you have a software controlled poweroff */ +#define HAVE_SW_POWEROFF + +/* Supports attaching to external USB drive */ +#define CONFIG_STORAGE (STORAGE_HOSTFS|STORAGE_USB) +#define HOSTFS_VOL_DEC "microSD" +#define HAVE_STORAGE_FLUSH +#define HAVE_MULTIDRIVE /* But _not_ CONFIG_STORAGE_MULTI */ +#define NUM_DRIVES 2 +#define HAVE_HOTSWAP +#define HAVE_HOTSWAP_STORAGE_AS_MAIN +#define MULTIDRIVE_DIR "/mnt/usb" +#define MULTIDRIVE_DEV "/sys/block/sda" +#define ROOTDRIVE_DEV "/sys/block/mmcblk0" diff --git a/firmware/export/config/xduoox20.h b/firmware/export/config/xduoox20.h index 7266370e9d..db6ae0167b 100644 --- a/firmware/export/config/xduoox20.h +++ b/firmware/export/config/xduoox20.h @@ -13,65 +13,9 @@ /* sqrt(240^2 + 320^2) / 2.4 = 166 */ #define LCD_DPI 166 -#ifndef SIMULATOR -#define CONFIG_PLATFORM (PLATFORM_HOSTED) -#define PIVOT_ROOT "/mnt/sd_0" -#endif - -#define HIBY_LINUX - -#define HAVE_FPU - -/* define this if you have a colour LCD */ -#define HAVE_LCD_COLOR - -#define HAVE_LCD_ENABLE - -/* Define this if the LCD can shut down */ -#define HAVE_LCD_SHUTDOWN - -/* define this if you want album art for this target */ -#define HAVE_ALBUMART - -/* define this to enable bitmap scaling */ -#define HAVE_BMP_SCALING - -/* define this to enable JPEG decoding */ -#define HAVE_JPEG - /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN -/* define this if you would like tagcache to build on this target */ -#define HAVE_TAGCACHE - -#define LCD_DEPTH 32 -/* Check that but should not matter */ -#define LCD_PIXELFORMAT XRGB8888 - -#define HAVE_BACKLIGHT -#define HAVE_BACKLIGHT_BRIGHTNESS - -/* Main LCD backlight brightness range and defaults: the backlight driver - * has levels from 0 to 255. But 0 is off so start at 1. - */ -#define MIN_BRIGHTNESS_SETTING 1 -#define MAX_BRIGHTNESS_SETTING 255 -#define BRIGHTNESS_STEP 5 -#define DEFAULT_BRIGHTNESS_SETTING 70 - -/* Which backlight fading type? */ -#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING - -/* define this if you have a real-time clock */ -#define CONFIG_RTC APPLICATION - -/* The number of bytes reserved for loadable codecs */ -#define CODEC_SIZE 0x80000 - -/* The number of bytes reserved for loadable plugins */ -#define PLUGIN_BUFFER_SIZE 0x100000 - #define HAVE_HEADPHONE_DETECTION #define HAVE_LINEOUT_DETECTION @@ -81,33 +25,14 @@ /* define this if the target has volume keys which can be used in the lists */ #define HAVE_VOLUME_IN_LIST -#ifndef SIMULATOR -/* We have usb power and can detect usb but it is handled by Linux */ -#define HAVE_USB_POWER - -#endif - #define CONFIG_BATTERY_MEASURE PERCENTAGE_MEASURE -/* Linux controlls charging, we can monitor */ -#define CONFIG_CHARGING CHARGING_MONITOR - -/* define this if the hardware can be powered off while charging */ -#define HAVE_POWEROFF_WHILE_CHARGING - -/* same dimensions as gigabeats */ -#define CONFIG_LCD LCD_INGENIC_LINUX - /* Define this if you have a software controlled poweroff */ #define HAVE_SW_POWEROFF /* Define this to the CPU frequency */ #define CPU_FREQ 1008000000 -/* No special storage */ -#define CONFIG_STORAGE STORAGE_HOSTFS -#define HAVE_STORAGE_FLUSH - /* Battery */ #define BATTERY_TYPES_COUNT 1 @@ -135,3 +60,5 @@ #define USB_VID_STR "C502" #define USB_PID_STR "003C" // XXX this is probably wrong +/* Generic HiBy stuff */ +#include "hibylinux.h" diff --git a/firmware/export/config/xduoox3ii.h b/firmware/export/config/xduoox3ii.h index 696a83c85d..99e6aa9be6 100644 --- a/firmware/export/config/xduoox3ii.h +++ b/firmware/export/config/xduoox3ii.h @@ -13,64 +13,10 @@ /* sqrt(240^2 + 320^2) / 2.4 = 166 */ #define LCD_DPI 166 -#ifndef SIMULATOR -#define CONFIG_PLATFORM (PLATFORM_HOSTED) -#define PIVOT_ROOT "/mnt/sd_0" -#endif - -#define HIBY_LINUX -#define HAVE_FPU - -/* define this if you have a colour LCD */ -#define HAVE_LCD_COLOR - -#define HAVE_LCD_ENABLE - -/* Define this if the LCD can shut down */ -#define HAVE_LCD_SHUTDOWN - -/* define this if you want album art for this target */ -#define HAVE_ALBUMART - -/* define this to enable bitmap scaling */ -#define HAVE_BMP_SCALING - -/* define this to enable JPEG decoding */ -#define HAVE_JPEG /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN -/* define this if you would like tagcache to build on this target */ -#define HAVE_TAGCACHE - -#define LCD_DEPTH 32 -/* Check that but should not matter */ -#define LCD_PIXELFORMAT XRGB8888 - -#define HAVE_BACKLIGHT -#define HAVE_BACKLIGHT_BRIGHTNESS - -/* Main LCD backlight brightness range and defaults: the backlight driver - * has levels from 0 to 255. But 0 is off so start at 1. - */ -#define MIN_BRIGHTNESS_SETTING 1 -#define MAX_BRIGHTNESS_SETTING 255 -#define BRIGHTNESS_STEP 5 -#define DEFAULT_BRIGHTNESS_SETTING 70 - -/* Which backlight fading type? */ -#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING - -/* define this if you have a real-time clock */ -#define CONFIG_RTC APPLICATION - -/* The number of bytes reserved for loadable codecs */ -#define CODEC_SIZE 0x80000 - -/* The number of bytes reserved for loadable plugins */ -#define PLUGIN_BUFFER_SIZE 0x100000 - #define HAVE_HEADPHONE_DETECTION #define HAVE_LINEOUT_DETECTION @@ -80,33 +26,11 @@ /* define this if the target has volume keys which can be used in the lists */ #define HAVE_VOLUME_IN_LIST -#ifndef SIMULATOR -/* We have usb power and can detect usb but it is handled by Linux */ -#define HAVE_USB_POWER - -#endif - #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE -/* Linux controlls charging, we can monitor */ -#define CONFIG_CHARGING CHARGING_MONITOR - -/* define this if the hardware can be powered off while charging */ -#define HAVE_POWEROFF_WHILE_CHARGING - -/* same dimensions as gigabeats */ -#define CONFIG_LCD LCD_INGENIC_LINUX - -/* Define this if you have a software controlled poweroff */ -#define HAVE_SW_POWEROFF - /* Define this to the CPU frequency */ #define CPU_FREQ 1008000000 -/* No special storage */ -#define CONFIG_STORAGE STORAGE_HOSTFS -#define HAVE_STORAGE_FLUSH - /* Battery */ #define BATTERY_TYPES_COUNT 1 @@ -137,3 +61,6 @@ /* USB */ #define USB_VID_STR "C502" #define USB_PID_STR "003C" + +/* Generic HiBy stuff */ +#include "hibylinux.h" diff --git a/tools/hiby_patcher.pl b/tools/hiby_patcher.pl index 8218362f8d..b03f2343dd 100755 --- a/tools/hiby_patcher.pl +++ b/tools/hiby_patcher.pl @@ -179,7 +179,7 @@ case $MDEV in MNT_POINT=/mnt/sd_0 ;; sd*) - MNT_POINT=/mnt/sd_0/USB + MNT_POINT=/mnt/usb ;; esac -- cgit