projects/Amlogic: add support for LePotato device

This commit is contained in:
Adam Green 2018-01-04 23:43:15 +00:00
parent 0088ab65b6
commit 3a71ac29dd
No known key found for this signature in database
GPG Key ID: 52B701B6EF2F2E58
14 changed files with 575 additions and 0 deletions

View File

@ -0,0 +1,114 @@
#------------------------------------------------------------------------------------------------------
#
# boot.ini identification
#
#------------------------------------------------------------------------------------------------------
LIBRETECH-UBOOT-CONFIG
#------------------------------------------------------------------------------------------------------
#
# Boot Specific Stuff
#
#------------------------------------------------------------------------------------------------------
setenv bootrootfs "BOOT_IMAGE=kernel.img boot=LABEL=LIBREELEC disk=LABEL=STORAGE"
#------------------------------------------------------------------------------------------------------
#
# Console Setup
#
#------------------------------------------------------------------------------------------------------
setenv console "console=ttyS0,115200"
#------------------------------------------------------------------------------------------------------
#
# Video
# Setup the video output (default is 1080p60hz)
# 480 Lines (720x480)
# setenv hdmimode "480i60hz" # Interlaced 60Hz
# setenv hdmimode "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
# setenv hdmimode "480p60hz" # 480 Progressive 60Hz
# setenv hdmimode "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz
# 576 Lines (720x576)
# setenv hdmimode "576i50hz" # Interlaced 50Hz
# setenv hdmimode "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
# setenv hdmimode "576p50hz" # Progressive 50Hz
# setenv hdmimode "576p_rpt" # Progressive for Rear Projection Televisions 50Hz
# 720 Lines (1280x720)
# setenv hdmimode "720p60hz" # Progressive 60Hz
# setenv hdmimode "720p50hz" # Progressive 50Hz
# 1080 Lines (1920x1080)
# setenv hdmimode "1080i60hz" # Interlaced 60Hz
# setenv hdmimode "1080p60hz" # Progressive 60Hz
# setenv hdmimode "1080i50hz" # Interlaced 50Hz
# setenv hdmimode "1080p50hz" # Progressive 50Hz
# setenv hdmimode "1080p30hz" # Progressive 30Hz
# setenv hdmimode "1080p25hz" # Progressive 25Hz
# setenv hdmimode "1080p24hz" # Progressive 24Hz
# 4K (3840x2160)
# setenv hdmimode "2160p60hz" # Progressive 60Hz
# setenv hdmimode "2160p50hz" # Progressive 50Hz
# setenv hdmimode "2160p30hz" # Progressive 30Hz
# setenv hdmimode "2160p25hz" # Progressive 25Hz
# setenv hdmimode "2160p24hz" # Progressive 24Hz
# setenv hdmimode "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv hdmimode "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# 4K2K (4096x2160)
# setenv hdmimode "smpte60hz" # Progressive 60Hz SMPTE
# setenv hdmimode "smpte50hz" # Progressive 50Hz SMPTE
# setenv hdmimode "smpte30hz" # Progressive 30Hz SMPTE
# setenv hdmimode "smpte25hz" # Progressive 25Hz SMPTE
# setenv hdmimode "smpte24hz" # Progressive 24Hz SMPTE
# setenv hdmimode "smpte60hz420" # Progressive 60Hz SMPTE with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv hdmimode "smpte50hz420" # Progressive 50Hz SMPTE with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
#
#------------------------------------------------------------------------------------------------------
setenv hdmimode "1080p60hz"
#------------------------------------------------------------------------------------------------------
#
# LibreELEC variables
#
# Setup the LibreELEC options
# valid values are: textmode debugging progress nofsck nosplash noram overlay quiet ssh
#------------------------------------------------------------------------------------------------------
setenv libreelec ""
#------------------------------------------------------------------------------------------------------
#
# Amremote
#
#------------------------------------------------------------------------------------------------------
setenv amremote "0"
#------------------------------------------------------------------------------------------------------
#
# Enable|Disable HDMI CEC Control
# setenv hdmi_cec "0" # Disabled
# setenv hdmi_cec "1" # Enabled
#
#------------------------------------------------------------------------------------------------------
setenv hdmi_cec "1"
#------------------------------------------------------------------------------------------------------
#
# Board specific
#
#------------------------------------------------------------------------------------------------------
setenv libretech "no_console_suspend logo=osd1,loaded,0x3f800000,${hdmimode} vout=${hdmimode},enable hdmimode=${hdmimode} cvbsmode=nocvbs consoleblank=0"
if test "${hdmi_cec}" = "1"; then setenv cec "hdmitx=cec17"; fi
setenv bootargs "${console} ${bootrootfs} ${libretech} ${cec} ${libreelec}"
# Prepare to boot
fatload mmc 0:1 ${loadaddr} kernel.img
# Device tree modifications
bootm start ${loadaddr}
bootm loados
bootm fdt
if test "${amremote}" = "0"; then fdt set /meson-ir status okay; fdt set /meson-remote status disabled; fi
# Remove Android partitions from device tree
fdt rm /partitions
bootm prep
# Boot the board
bootm go

View File

@ -0,0 +1,34 @@
#!/bin/bash
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
if [ -f "$RELEASE_DIR/3rdparty/bootloader/u-boot.bin" ]; then
echo "Writing u-boot to $(basename $DISK)"
dd if="$RELEASE_DIR/3rdparty/bootloader/u-boot.bin" of="$DISK" conv=fsync,notrunc bs=1 count=112 >"$SAVE_ERROR" 2>&1 || show_error
dd if="$RELEASE_DIR/3rdparty/bootloader/u-boot.bin" of="$DISK" conv=fsync,notrunc bs=512 skip=1 seek=1 >"$SAVE_ERROR" 2>&1 || show_error
fi
if [ -f "$RELEASE_DIR/3rdparty/bootloader/boot.ini" ]; then
mcopy $RELEASE_DIR/3rdparty/bootloader/boot.ini ::
fi
# this is done by scripts/mkimage
#if [ -f "$RELEASE_DIR/3rdparty/bootloader/dtb.img" ]; then
# mcopy $RELEASE_DIR/3rdparty/bootloader/dtb.img ::
#fi

View File

@ -0,0 +1,26 @@
#!/bin/sh
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. config/options $1
mkdir -p $RELEASE_DIR/3rdparty/bootloader
cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dtb.img $RELEASE_DIR/3rdparty/bootloader
cp -a $(get_build_dir $BOOTLOADER)/fip/u-boot.bin.sd.bin $RELEASE_DIR/3rdparty/bootloader/u-boot.bin
cp -a $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader/boot.ini $RELEASE_DIR/3rdparty/bootloader

View File

@ -0,0 +1 @@
../S905/initramfs/

View File

@ -0,0 +1 @@
../S905/linux

View File

@ -0,0 +1,23 @@
# u-boot version to use (default)
UBOOT_VERSION="vendor"
# Configuration for u-boot
UBOOT_CONFIG="libretech_cc_defconfig"
# Target Configfile for u-boot
UBOOT_CONFIGFILE="boot.ini"
# Kernel extra targets to build
KERNEL_UBOOT_EXTRA_TARGET="gxl_p212_1g_lepotato.dtb gxl_p212_2g_lepotato.dtb"
# additional drivers to install:
# for a list of additinoal drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="gpu-aml"
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
# Space separated list is supported,
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
FIRMWARE=""

View File

@ -0,0 +1,36 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="gcc-linaro-aarch64-elf"
PKG_VERSION="4.9-2016.02"
PKG_SHA256="67b8d6d3c764a5b2e21bf4a9cc990f6d6db691df5fcc814e34051c521346ec10"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE=""
PKG_URL="https://releases.linaro.org/components/toolchain/binaries/${PKG_VERSION}/aarch64-elf/gcc-linaro-${PKG_VERSION}-x86_64_aarch64-elf.tar.xz"
PKG_SOURCE_DIR="gcc-linaro-${PKG_VERSION}-x86_64_aarch64-elf"
PKG_DEPENDS_HOST="toolchain"
PKG_SECTION="lang"
PKG_SHORTDESC=""
PKG_LONGDESC=""
PKG_TOOLCHAIN="manual"
makeinstall_host() {
mkdir -p $TOOLCHAIN/lib/gcc-linaro-aarch64-elf/
cp -a * $TOOLCHAIN/lib/gcc-linaro-aarch64-elf
}

View File

@ -0,0 +1,36 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="gcc-linaro-arm-eabi"
PKG_VERSION="4.9-2016.02"
PKG_SHA256="b46f97e1eea542e98ed7e4278a4ea98c750e679b816d5a8c66286cd4fdc42448"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE=""
PKG_URL="https://releases.linaro.org/components/toolchain/binaries/${PKG_VERSION}/arm-eabi/gcc-linaro-${PKG_VERSION}-x86_64_arm-eabi.tar.xz"
PKG_SOURCE_DIR="gcc-linaro-${PKG_VERSION}-x86_64_arm-eabi"
PKG_DEPENDS_HOST="toolchain"
PKG_SECTION="lang"
PKG_SHORTDESC=""
PKG_LONGDESC=""
PKG_TOOLCHAIN="manual"
makeinstall_host() {
mkdir -p $TOOLCHAIN/lib/gcc-linaro-arm-eabi/
cp -a * $TOOLCHAIN/lib/gcc-linaro-arm-eabi
}

View File

@ -0,0 +1,65 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="u-boot"
PKG_VERSION="a43076c"
PKG_ARCH="arm aarch64"
PKG_SITE="https://www.denx.de/wiki/U-Boot"
PKG_URL="https://github.com/BayLibre/u-boot/archive/$PKG_VERSION.tar.gz"
PKG_SOURCE_DIR="u-boot-$PKG_VERSION*"
PKG_DEPENDS_TARGET="toolchain dtc:host gcc-linaro-aarch64-elf:host gcc-linaro-arm-eabi:host"
PKG_LICENSE="GPL"
PKG_SECTION="tools"
PKG_SHORTDESC="u-boot: Universal Bootloader project"
PKG_LONGDESC="Das U-Boot is a cross-platform bootloader for embedded systems, used as the default boot loader by several board vendors. It is intended to be easy to port and to debug, and runs on many supported architectures, including PPC, ARM, MIPS, x86, m68k, NIOS, and Microblaze."
PKG_IS_KERNEL_PKG="yes"
PKG_NEED_UNPACK="$PROJECT_DIR/$PROJECT/bootloader"
[ -n "$DEVICE" ] && PKG_NEED_UNPACK+=" $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader"
make_target() {
export PATH=$TOOLCHAIN/lib/gcc-linaro-aarch64-elf/bin/:$TOOLCHAIN/lib/gcc-linaro-arm-eabi/bin/:$PATH
CROSS_COMPILE=aarch64-elf- ARCH=arm CFLAGS="" LDFLAGS="" make mrproper
CROSS_COMPILE=aarch64-elf- ARCH=arm CFLAGS="" LDFLAGS="" make $UBOOT_CONFIG
CROSS_COMPILE=aarch64-elf- ARCH=arm CFLAGS="" LDFLAGS="" make HOSTCC="$HOST_CC" HOSTSTRIP="true"
}
makeinstall_target() {
mkdir -p $INSTALL/usr/share/bootloader
# Only install u-boot.img et al when building a board specific image
if [ -f $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader/install ]; then
. $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader/install
elif [ -f $PROJECT_DIR/$PROJECT/bootloader/install ]; then
. $PROJECT_DIR/$PROJECT/bootloader/install
fi
# Always install the update script
if [ -f $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader/update.sh ]; then
cp -av $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader/update.sh $INSTALL/usr/share/bootloader
elif [ -f $PROJECT_DIR/$PROJECT/bootloader/update.sh ]; then
cp -av $PROJECT_DIR/$PROJECT/bootloader/update.sh $INSTALL/usr/share/bootloader
fi
cp $PKG_BUILD/fip/u-boot.bin.sd.bin $INSTALL/usr/share/bootloader/u-boot
if [ -f $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader/boot.ini ]; then
cp -av $PROJECT_DIR/$PROJECT/devices/$DEVICE/bootloader/boot.ini $INSTALL/usr/share/bootloader
fi
}

View File

@ -0,0 +1,11 @@
--- a/Makefile
+++ b/Makefile
@@ -246,8 +246,6 @@
CROSS_COMPILE ?=
endif
-export CROSS_COMPILE=aarch64-none-elf-
-
KCONFIG_CONFIG ?= .config
export KCONFIG_CONFIG

View File

@ -0,0 +1,90 @@
From d6fe7444c27b35599f1bbae3ab321507a246dce0 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sat, 7 Feb 2015 22:52:40 +0100
Subject: [PATCH] Add linux/compiler-gcc5.h to fix builds with gcc5
Add linux/compiler-gcc5/h from the kernel sources at:
commit 5631b8fba640a4ab2f8a954f63a603fa34eda96b
Author: Steven Noonan <steven@uplinklabs.net>
Date: Sat Oct 25 15:09:42 2014 -0700
compiler/gcc4+: Remove inaccurate comment about 'asm goto' miscompiles
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
include/linux/compiler-gcc5.h | 65 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
create mode 100644 include/linux/compiler-gcc5.h
diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
new file mode 100644
index 0000000000..c8c5659525
--- /dev/null
+++ b/include/linux/compiler-gcc5.h
@@ -0,0 +1,65 @@
+#ifndef __LINUX_COMPILER_H
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
+#endif
+
+#define __used __attribute__((__used__))
+#define __must_check __attribute__((warn_unused_result))
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
+
+/* Mark functions as cold. gcc will assume any path leading to a call
+ to them will be unlikely. This means a lot of manual unlikely()s
+ are unnecessary now for any paths leading to the usual suspects
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
+ older compilers]
+
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
+ in the preprocessor, but we can live with this because they're unreleased.
+ Maketime probing would be overkill here.
+
+ gcc also has a __attribute__((__hot__)) to move hot functions into
+ a special section, but I don't see any sense in this right now in
+ the kernel context */
+#define __cold __attribute__((__cold__))
+
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
+
+#ifndef __CHECKER__
+# define __compiletime_warning(message) __attribute__((warning(message)))
+# define __compiletime_error(message) __attribute__((error(message)))
+#endif /* __CHECKER__ */
+
+/*
+ * Mark a position in code as unreachable. This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ *
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
+ * this in the preprocessor, but we can live with this because they're
+ * unreleased. Really, we need to have autoconf for the kernel.
+ */
+#define unreachable() __builtin_unreachable()
+
+/* Mark a function definition as prohibited from being cloned. */
+#define __noclone __attribute__((__noclone__))
+
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+
+/*
+ * GCC 'asm goto' miscompiles certain code sequences:
+ *
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
+ *
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
+ *
+ * (asm goto is automatically volatile - the naming reflects this.)
+ */
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
+
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#define __HAVE_BUILTIN_BSWAP16__
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */

View File

@ -0,0 +1,23 @@
From 28c3064d6d3a89962e26f5c9ae3ee105d7377090 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 8 Aug 2016 01:59:07 +0200
Subject: [PATCH] Use arm-eabi for bl301/scp_task
For use with Linaro toolchain 4.9-2016.02
---
arch/arm/cpu/armv8/gxl/firmware/scp_task/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/cpu/armv8/gxl/firmware/scp_task/Makefile b/arch/arm/cpu/armv8/gxl/firmware/scp_task/Makefile
index 865d142..d905365 100644
--- a/arch/arm/cpu/armv8/gxl/firmware/scp_task/Makefile
+++ b/arch/arm/cpu/armv8/gxl/firmware/scp_task/Makefile
@@ -6,7 +6,7 @@ include $(buildtree)/include/autoconf.mk
include $(buildtree)/.config
# Select ARMv7-m bare-metal toolchain
-CROSS_COMPILE=arm-none-eabi-
+CROSS_COMPILE=arm-eabi-
ASM=$(CROSS_COMPILE)as
CC=$(CROSS_COMPILE)gcc
CPP=$(CROSS_COMPILE)cpp

View File

@ -0,0 +1,53 @@
diff --git a/board/amlogic/configs/libretech_cc.h b/board/amlogic/configs/libretech_cc.h
index b3ccfae..9934acf 100644
--- a/board/amlogic/configs/libretech_cc.h
+++ b/board/amlogic/configs/libretech_cc.h
@@ -45,10 +45,10 @@
#define CONFIG_CEC_OSD_NAME "LibreTech-CC"
#define CONFIG_CEC_WAKEUP
-#define CONFIG_INSTABOOT
+// #define CONFIG_INSTABOOT
#define CONFIG_CMD_CFGLOAD
/* configs for dtb in boot.img */
-//#define DTB_BIND_KERNEL
+#define DTB_BIND_KERNEL
/* SMP Definitinos */
#define CPU_RELEASE_ADDR secondary_boot_func
@@ -236,15 +236,8 @@
"\0"\
#define CONFIG_PREBOOT \
- "run bcb_cmd; "\
- "run factory_reset_poweroff_protect;"\
- "run upgrade_check;"\
- "run init_display;"\
- "run storeargs;"\
- "run upgrade_key;" \
- "run switch_bootmode;" \
- "cfgload;"
-#define CONFIG_BOOTCOMMAND "run storeboot"
+ "run init_display;"
+#define CONFIG_BOOTCOMMAND "cfgload"
//#define CONFIG_ENV_IS_NOWHERE 1
#define CONFIG_ENV_SIZE (64*1024)
@@ -298,7 +291,7 @@
/* support for mtd */
//#define CONFIG_AML_MTD 1
/* support for nftl */
-#define CONFIG_AML_NAND 1
+//#define CONFIG_AML_NAND 1
#if defined(CONFIG_AML_NAND) && defined(CONFIG_AML_MTD)
#error CONFIG_AML_NAND/CONFIG_AML_MTD can not support at the sametime;
@@ -390,7 +383,7 @@
#endif //#if defined(CONFIG_CMD_USB)
//UBOOT fastboot config
-#define CONFIG_CMD_FASTBOOT 1
+// #define CONFIG_CMD_FASTBOOT 1
#define CONFIG_FASTBOOT_FLASH_MMC_DEV 1
#define CONFIG_FASTBOOT_FLASH 1
#define CONFIG_USB_GADGET 1

View File

@ -0,0 +1,62 @@
diff --git a/arch/arm64/boot/dts/amlogic/gxl_p212_1g_lepotato.dts b/arch/arm64/boot/dts/amlogic/gxl_p212_1g_lepotato.dts
new file mode 100644
index 0000000..8272581
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/gxl_p212_1g_lepotato.dts
@@ -0,0 +1,25 @@
+#include "gxl_p212_1g.dts"
+
+/ {
+ leds: gpio_leds {
+ compatible = "gpio-leds";
+
+ system {
+ label = "librecomputer:system-status";
+ gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ panic-indicator;
+ };
+
+ blue {
+ label = "librecomputer:blue";
+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ };
+
+ gpio_keypad {
+ status = "disabled";
+ };
+
+};
diff --git a/arch/arm64/boot/dts/amlogic/gxl_p212_2g_lepotato.dts b/arch/arm64/boot/dts/amlogic/gxl_p212_2g_lepotato.dts
new file mode 100644
index 0000000..75f8bc7
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/gxl_p212_2g_lepotato.dts
@@ -0,0 +1,25 @@
+#include "gxl_p212_2g.dts"
+
+/ {
+ leds: gpio_leds {
+ compatible = "gpio-leds";
+
+ system {
+ label = "librecomputer:system-status";
+ gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ panic-indicator;
+ };
+
+ blue {
+ label = "librecomputer:blue";
+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ };
+
+ gpio_keypad {
+ status = "disabled";
+ };
+
+};