mirror of https://github.com/armbian/build.git
Purge `s5p6818` board family
The family consists of 4 boards, but hasn't seen any activity in years, is unmaintained, stuck on EOL Linux 4.14 and the bootloader does not build.
This commit is contained in:
parent
d9b67b37d5
commit
ccf17a20e8
|
|
@ -1,9 +0,0 @@
|
||||||
# Nexell S5P6818 octa core 1GB RAM SoC GBE WiFi/BT eMMC
|
|
||||||
BOARD_NAME="NanoPC T3"
|
|
||||||
BOARDFAMILY="s5p6818"
|
|
||||||
BOARD_MAINTAINER=""
|
|
||||||
BOOTCONFIG="nanopim3_defconfig"
|
|
||||||
MODULES_LEGACY="g_serial"
|
|
||||||
KERNEL_TARGET="legacy"
|
|
||||||
SERIALCON="ttySAC0,ttyGS0"
|
|
||||||
FULL_DESKTOP="yes"
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
# Nexell S5P6818 octa core 2GB RAM SoC GBE WiFi/BT eMMC
|
|
||||||
BOARD_NAME="NanoPC T3+"
|
|
||||||
BOARDFAMILY="s5p6818"
|
|
||||||
BOARD_MAINTAINER=""
|
|
||||||
BOOTCONFIG="nanopim3_defconfig"
|
|
||||||
MODULES_LEGACY="g_serial"
|
|
||||||
SERIALCON="ttySAC0,ttyGS0"
|
|
||||||
KERNEL_TARGET="legacy"
|
|
||||||
FULL_DESKTOP="yes"
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
# Nexell S5P6818 octa core 1GB RAM SoC GBE
|
|
||||||
BOARD_NAME="NanoPi Fire3"
|
|
||||||
BOARDFAMILY="s5p6818"
|
|
||||||
BOARD_MAINTAINER=""
|
|
||||||
BOOTCONFIG="nanopifire3_defconfig"
|
|
||||||
MODULES_NEXT="g_serial"
|
|
||||||
DEFAULT_CONSOLE="serial"
|
|
||||||
KERNEL_TARGET="legacy"
|
|
||||||
SERIALCON="ttySAC0,ttyGS0"
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
# Nexell S5P6818 octa core 1Gb SoC
|
|
||||||
BOARD_NAME="NanoPi M3"
|
|
||||||
BOARDFAMILY="s5p6818"
|
|
||||||
BOARD_MAINTAINER=""
|
|
||||||
BOOTCONFIG="nanopim3_defconfig"
|
|
||||||
MODULES_LEGACY="g_serial"
|
|
||||||
KERNEL_TARGET="legacy"
|
|
||||||
SERIALCON="ttySAC0,ttyGS0"
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
verbosity=1
|
|
||||||
console=both
|
|
||||||
bootlogo=false
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
# DO NOT EDIT THIS FILE
|
|
||||||
#
|
|
||||||
# Please edit /boot/armbianEnv.txt to set supported parameters
|
|
||||||
#
|
|
||||||
|
|
||||||
# default values
|
|
||||||
setenv rootdev "/dev/mmcblk2p1"
|
|
||||||
setenv rootfstype "ext4"
|
|
||||||
setenv verbosity "1"
|
|
||||||
setenv bootlogo "false"
|
|
||||||
setenv fdt_addr "0x48000000"
|
|
||||||
setenv ramdisk_addr_r "0x49000000"
|
|
||||||
setenv kernel_addr_r "0x4a000000"
|
|
||||||
|
|
||||||
# fdtfile should come from compile-time u-boot patches
|
|
||||||
if test -z "${fdtfile}"; then
|
|
||||||
setenv fdtfile "s5p6818-nanopi-m3.dtb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Boot script loaded from SD card ${devnum}"
|
|
||||||
|
|
||||||
if ext4load mmc ${devnum}:1 ${kernel_addr_r} ${prefix}/armbianEnv.txt; then
|
|
||||||
env import -t ${kernel_addr_r} ${filesize}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "${bootlogo}" = "true"; then
|
|
||||||
setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}"
|
|
||||||
else
|
|
||||||
setenv consoleargs "splash=verbose ${consoleargs}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
setenv bootargs "console=ttySAC0,115200n8 console=tty1 ${consoleargs} root=${rootdev} rootwait rootfstype=${rootfstype} loglevel=${verbosity} usb-storage.quirks=${usbstoragequirks} ${extraargs}"
|
|
||||||
|
|
||||||
if ext4load mmc ${devnum}:1 ${fdt_addr} ${prefix}dtb/nexell/${fdtfile} || ext4load mmc 1:1 ${fdt_addr} ${prefix}dtb/nexell/s5p6818-nanopi3-rev07.dtb; then echo "Loading DTB"; fi
|
|
||||||
ext4load mmc ${devnum}:1 ${ramdisk_addr_r} ${prefix}uInitrd
|
|
||||||
ext4load mmc ${devnum}:1 ${kernel_addr_r} ${prefix}Image
|
|
||||||
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}
|
|
||||||
|
|
||||||
# Recompile with:
|
|
||||||
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,68 +0,0 @@
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
|
||||||
#
|
|
||||||
# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
|
|
||||||
#
|
|
||||||
# This file is a part of the Armbian Build Framework
|
|
||||||
# https://github.com/armbian/build/
|
|
||||||
#
|
|
||||||
ARCH=arm64
|
|
||||||
BOOTSOURCE='https://github.com/rafaello7/u-boot-nanopi-m3'
|
|
||||||
BOOTBRANCH='branch:master'
|
|
||||||
BOOTDIR='u-boot-s5p6818'
|
|
||||||
BOOTPATCHDIR='legacy/u-boot-s5p6818'
|
|
||||||
BOOTSCRIPT='boot-s5p6818.cmd:boot.cmd'
|
|
||||||
BOOTENV_FILE='s5p6818.txt'
|
|
||||||
UBOOT_TARGET_MAP=";;boot.img bootemmc.img"
|
|
||||||
ATF_COMPILE="no"
|
|
||||||
case $BRANCH in
|
|
||||||
legacy | current)
|
|
||||||
KERNELSOURCE='https://github.com/armbian/linux'
|
|
||||||
declare -g KERNEL_MAJOR_MINOR="4.14" # Major and minor versions of this kernel. See https://github.com/armbian/linux/blob/s5p6818/Makefile
|
|
||||||
KERNELBRANCH='branch:s5p6818'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
CPUMIN="400000"
|
|
||||||
CPUMAX="1400000"
|
|
||||||
GOVERNOR=ondemand
|
|
||||||
|
|
||||||
write_uboot_platform() {
|
|
||||||
if [[ "$2" != /dev/mmcblk0 ]]; then
|
|
||||||
dd if=$1/boot.img of=$2 seek=1 status=noxfer > /dev/null 2>&1
|
|
||||||
else
|
|
||||||
dd if=$1/bootemmc.img of=$2 seek=1 status=noxfer > /dev/null 2>&1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
uboot_custom_postprocess() {
|
|
||||||
# 2GB differnt bl1 https://github.com/friendlyarm/linux-3.4.y/issues/3#issuecomment-387214487
|
|
||||||
if [[ $BOARD == nanopct3plus ]]; then
|
|
||||||
cp $SRC/packages/blobs/nanopi/2g-bl1-nanopi.bin boot.img
|
|
||||||
else
|
|
||||||
cp $SRC/packages/blobs/nanopi/1g-bl1-nanopi.bin boot.img
|
|
||||||
fi
|
|
||||||
i=0
|
|
||||||
merge=""
|
|
||||||
while [ $i -lt 512 ]; do
|
|
||||||
val="00000000"
|
|
||||||
[ $i -eq 68 ] && val="00060000" # 0x44 load size
|
|
||||||
[ $i -eq 72 ] && val="43bffe00" # 0x48 load address
|
|
||||||
[ $i -eq 76 ] && val="43c00000" # 0x4c launch address
|
|
||||||
[ $i -eq 504 ] && val="68180300" # 0x1f8 version
|
|
||||||
[ $i -eq 508 ] && val="4849534E" # 0x1fc "NSIH"
|
|
||||||
# put in little endian
|
|
||||||
vallo=${val#????}
|
|
||||||
valhi=${val%????}
|
|
||||||
merge=$merge"${vallo#??}${vallo%??}${valhi#??}${valhi%??}"
|
|
||||||
i=$((i + 4))
|
|
||||||
done
|
|
||||||
echo $merge | xxd -r -p | dd of=boot.img seek=63 status=none
|
|
||||||
cat u-boot.bin >> boot.img
|
|
||||||
cp boot.img bootemmc.img
|
|
||||||
printf "\2" | dd of=bootemmc.img bs=1 seek=80 conv=notrunc
|
|
||||||
}
|
|
||||||
|
|
||||||
family_tweaks() {
|
|
||||||
:
|
|
||||||
}
|
|
||||||
|
|
@ -184,7 +184,7 @@ InstallOpenMediaVault() {
|
||||||
lsusb | grep -q -i "05e3:0735" && sed -i "/exit\ 0/i echo 20 > /sys/class/block/sda/queue/max_sectors_kb" /etc/rc.local \
|
lsusb | grep -q -i "05e3:0735" && sed -i "/exit\ 0/i echo 20 > /sys/class/block/sda/queue/max_sectors_kb" /etc/rc.local \
|
||||||
/usr/sbin/i2cdetect -y 1 | grep -q "60: 60" && /usr/local/sbin/cloudshell2-support.sh' /usr/lib/armbian/armbian-firstrun
|
/usr/sbin/i2cdetect -y 1 | grep -q "60: 60" && /usr/local/sbin/cloudshell2-support.sh' /usr/lib/armbian/armbian-firstrun
|
||||||
;;
|
;;
|
||||||
bananapim3|nanopifire3|nanopct3plus|nanopim3)
|
bananapim3)
|
||||||
HMP_Fix='; taskset -c -p 4-7 $i '
|
HMP_Fix='; taskset -c -p 4-7 $i '
|
||||||
;;
|
;;
|
||||||
edge*|ficus|firefly-rk3399|nanopct4|nanopim4|nanopineo4|renegade-elite|roc-rk3399-pc|rockpro64|station-p1)
|
edge*|ficus|firefly-rk3399|nanopct4|nanopim4|nanopineo4|renegade-elite|roc-rk3399-pc|rockpro64|station-p1)
|
||||||
|
|
|
||||||
|
|
@ -288,20 +288,6 @@ prepare_board() {
|
||||||
echo 8 > /proc/irq/$(awk -F":" "/ethernet_mac/ {print \$1}" < /proc/interrupts | sed 's/\ //g')/smp_affinity
|
echo 8 > /proc/irq/$(awk -F":" "/ethernet_mac/ {print \$1}" < /proc/interrupts | sed 's/\ //g')/smp_affinity
|
||||||
echo 8 > /proc/irq/$(awk -F":" "/sdcard/ {print \$1}" < /proc/interrupts | sed 's/\ //g')/smp_affinity
|
echo 8 > /proc/irq/$(awk -F":" "/sdcard/ {print \$1}" < /proc/interrupts | sed 's/\ //g')/smp_affinity
|
||||||
;;
|
;;
|
||||||
s5p6818) # NanoPi M3: dw-mci on cpu1, USB host on cpu2, GbE on cpu3, USB OTG on cpu4, video-codec on cpu5
|
|
||||||
for i in $(awk -F':' '/dw-mci/{print $1}' < /proc/interrupts | sed 's/\ //g'); do
|
|
||||||
echo 1 > /proc/irq/$i/smp_affinity_list
|
|
||||||
done
|
|
||||||
echo 2 > /proc/irq/$(awk -F":" "/usb3/ {print \$1}" < /proc/interrupts | sed 's/\ //g')/smp_affinity_list
|
|
||||||
echo 3 > /proc/irq/$(awk -F":" "/eth0/ {print \$1}" < /proc/interrupts | sed 's/\ //g')/smp_affinity_list
|
|
||||||
echo 4 > /proc/irq/$(awk -F":" "/usb1/ {print \$1}" < /proc/interrupts | sed 's/\ //g')/smp_affinity_list
|
|
||||||
for i in $(awk -F':' '/c0080000.video-codec/{print $1}' < /proc/interrupts | sed 's/\ //g'); do
|
|
||||||
echo 5 > /proc/irq/$i/smp_affinity_list
|
|
||||||
done
|
|
||||||
echo 7 > /sys/class/net/eth0/queues/rx-0/rps_cpus
|
|
||||||
echo 32768 > /proc/sys/net/core/rps_sock_flow_entries
|
|
||||||
echo 32768 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt
|
|
||||||
;;
|
|
||||||
sun4i | sun5i | rda8810) # only one core, nothing to improve
|
sun4i | sun5i | rda8810) # only one core, nothing to improve
|
||||||
:
|
:
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,28 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Koumes <koumes@centrum.cz>
|
|
||||||
Date: Sat, 1 Jun 2019 21:20:26 +0000
|
|
||||||
Subject: si2168: fix cmd timeout
|
|
||||||
|
|
||||||
Some demuxer si2168 commands may take 130-140 ms.
|
|
||||||
(DVB-T/T2 tuner MyGica T230C v2).
|
|
||||||
Details: https://github.com/CoreELEC/CoreELEC/pull/208
|
|
||||||
---
|
|
||||||
drivers/media/dvb-frontends/si2168.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
|
|
||||||
index 111111111111..222222222222 100644
|
|
||||||
--- a/drivers/media/dvb-frontends/si2168.c
|
|
||||||
+++ b/drivers/media/dvb-frontends/si2168.c
|
|
||||||
@@ -42,7 +42,7 @@ static int si2168_cmd_execute(struct i2c_client *client, struct si2168_cmd *cmd)
|
|
||||||
|
|
||||||
if (cmd->rlen) {
|
|
||||||
/* wait cmd execution terminate */
|
|
||||||
- #define TIMEOUT 70
|
|
||||||
+ #define TIMEOUT 200
|
|
||||||
timeout = jiffies + msecs_to_jiffies(TIMEOUT);
|
|
||||||
while (!time_after(jiffies, timeout)) {
|
|
||||||
ret = i2c_master_recv(client, cmd->args, cmd->rlen);
|
|
||||||
--
|
|
||||||
Armbian
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,67 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
|
||||||
Date: Mon, 21 Aug 2017 08:54:53 +0200
|
|
||||||
Subject: [ARCHEOLOGY] Increasing DMA block memory allocation to 2048k on all
|
|
||||||
relevant kernels.
|
|
||||||
|
|
||||||
> X-Git-Archeology: > recovered message: > https://forum.armbian.com/index.php?/topic/4811-uas-mainline-kernel-coherent-pool-memory-size
|
|
||||||
> X-Git-Archeology: - Revision 908bb199ec2defd77f7f05d2016980abf100d627: https://github.com/armbian/build/commit/908bb199ec2defd77f7f05d2016980abf100d627
|
|
||||||
> X-Git-Archeology: Date: Mon, 21 Aug 2017 08:54:53 +0200
|
|
||||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
|
||||||
> X-Git-Archeology: Subject: Increasing DMA block memory allocation to 2048k on all relevant kernels.
|
|
||||||
> X-Git-Archeology:
|
|
||||||
> X-Git-Archeology: - Revision a3cf7b74858e1f862db8ca238bd44f6406be6662: https://github.com/armbian/build/commit/a3cf7b74858e1f862db8ca238bd44f6406be6662
|
|
||||||
> X-Git-Archeology: Date: Mon, 21 Aug 2017 17:52:29 +0200
|
|
||||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
|
||||||
> X-Git-Archeology: Subject: Revert "Increasing DMA block memory allocation to 2048k on all relevant kernels."
|
|
||||||
> X-Git-Archeology:
|
|
||||||
> X-Git-Archeology: - Revision 2be21aad5dc965b3bc67e136a1e1170119d60f74: https://github.com/armbian/build/commit/2be21aad5dc965b3bc67e136a1e1170119d60f74
|
|
||||||
> X-Git-Archeology: Date: Mon, 21 Aug 2017 17:52:48 +0200
|
|
||||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
|
||||||
> X-Git-Archeology: Subject: Increasing DMA block memory allocation to 2048k on all relevant kernels. https://forum.armbian.com/index.php?/topic/4811-uas-mainline-kernel-coherent-pool-memory-size
|
|
||||||
> X-Git-Archeology:
|
|
||||||
> X-Git-Archeology: - Revision b878ee203611c195d7f817966950cec817667250: https://github.com/armbian/build/commit/b878ee203611c195d7f817966950cec817667250
|
|
||||||
> X-Git-Archeology: Date: Sun, 17 Sep 2017 16:54:06 +0300
|
|
||||||
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
|
||||||
> X-Git-Archeology: Subject: Clean up and update sunxi-next patches
|
|
||||||
> X-Git-Archeology:
|
|
||||||
> X-Git-Archeology: - Revision 13e94e58f04be27db51d18b7dac1d15a1864b79e: https://github.com/armbian/build/commit/13e94e58f04be27db51d18b7dac1d15a1864b79e
|
|
||||||
> X-Git-Archeology: Date: Fri, 27 Oct 2017 16:14:21 +0300
|
|
||||||
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
|
||||||
> X-Git-Archeology: Subject: Remove random executable bits from patch files
|
|
||||||
> X-Git-Archeology:
|
|
||||||
> X-Git-Archeology: - Revision a134e34af8522a933c701fdbe1151494e79950dc: https://github.com/armbian/build/commit/a134e34af8522a933c701fdbe1151494e79950dc
|
|
||||||
> X-Git-Archeology: Date: Wed, 06 Dec 2017 22:27:43 +0100
|
|
||||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
|
||||||
> X-Git-Archeology: Subject: Added FriendlyARM Nanopi M3 mainline target (NEXT). Based on @rafaello7 work - kudos! Tested both CLI http://sprunge.us/bHRO and desktop image: https://www.armbian.com/nanopi-m3 Changed status from CSC to WIP.
|
|
||||||
> X-Git-Archeology:
|
|
||||||
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
|
|
||||||
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
|
|
||||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
|
||||||
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
|
|
||||||
> X-Git-Archeology:
|
|
||||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
|
||||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
|
||||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
|
||||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
|
||||||
> X-Git-Archeology:
|
|
||||||
---
|
|
||||||
arch/arm/mm/dma-mapping.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
|
|
||||||
index 111111111111..222222222222 100644
|
|
||||||
--- a/arch/arm/mm/dma-mapping.c
|
|
||||||
+++ b/arch/arm/mm/dma-mapping.c
|
|
||||||
@@ -381,7 +381,7 @@ static void __dma_free_remap(void *cpu_addr, size_t size)
|
|
||||||
VM_ARM_DMA_CONSISTENT | VM_USERMAP);
|
|
||||||
}
|
|
||||||
|
|
||||||
-#define DEFAULT_DMA_COHERENT_POOL_SIZE SZ_256K
|
|
||||||
+#define DEFAULT_DMA_COHERENT_POOL_SIZE SZ_2M
|
|
||||||
static struct gen_pool *atomic_pool;
|
|
||||||
|
|
||||||
static size_t atomic_pool_size = DEFAULT_DMA_COHERENT_POOL_SIZE;
|
|
||||||
--
|
|
||||||
Armbian
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,15 +0,0 @@
|
||||||
You also need a special bl1 for 2G
|
|
||||||
---
|
|
||||||
diff --git a/include/configs/s5p6818_nanopim3.h b/include/configs/s5p6818_nanopim3.h
|
|
||||||
index b101019..4689d93 100644
|
|
||||||
--- a/include/configs/s5p6818_nanopim3.h
|
|
||||||
+++ b/include/configs/s5p6818_nanopim3.h
|
|
||||||
@@ -53,7 +53,7 @@
|
|
||||||
|
|
||||||
/* board_init_f */
|
|
||||||
#define CONFIG_SYS_SDRAM_BASE 0x40000000
|
|
||||||
-#define CONFIG_SYS_SDRAM_SIZE 0x40000000
|
|
||||||
+#define CONFIG_SYS_SDRAM_SIZE 0x80000000
|
|
||||||
|
|
||||||
/* dram 1 bank num */
|
|
||||||
#define CONFIG_NR_DRAM_BANKS 1
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
diff --git a/include/configs/s5p6818_nanopim3.h b/include/configs/s5p6818_nanopim3.h
|
|
||||||
index 4175ecc..3bbe990 100644
|
|
||||||
--- a/include/configs/s5p6818_nanopim3.h
|
|
||||||
+++ b/include/configs/s5p6818_nanopim3.h
|
|
||||||
@@ -296,12 +296,23 @@
|
|
||||||
"stderr=serial,vga"
|
|
||||||
|
|
||||||
#define CONFIG_BOOTARGS \
|
|
||||||
- "console=ttySAC0,115200n8 initrd=0x49000000,0x2000000"
|
|
||||||
+ "rootdev=/dev/mmcblk2p1\0" \
|
|
||||||
+ "fdt_addr=0x48000000\0" \
|
|
||||||
+ "scriptaddr=0x40000000\0" \
|
|
||||||
+ "ramdisk_addr_r=0x49000000\0" \
|
|
||||||
+ "kernel_addr_r=0x4a000000\0" \
|
|
||||||
+ "console=ttySAC0,115200n8 root=${rootdev} console=tty1\0" \
|
|
||||||
+ "boot_a_script=mw ${scriptaddr} 0x100000; ext4load mmc ${devnum}:1 ${scriptaddr} ${prefix}boot.scr; source ${scriptaddr}\0" \
|
|
||||||
+ "boot_prefixes=/ /boot/\0" \
|
|
||||||
+ "boot_targets=1 0\0"\
|
|
||||||
+ "bootcmd=run distro_bootcmd;\0" \
|
|
||||||
+ "bootcmd_mmc0=setenv devnum 0; run scan_dev_for_boot;\0" \
|
|
||||||
+ "bootcmd_mmc1=setenv devnum 1; run scan_dev_for_boot;\0" \
|
|
||||||
+ "distro_bootcmd=for target in ${boot_targets}; do run bootcmd_mmc${target}; done;\0" \
|
|
||||||
+ "scan_dev_for_boot=for prefix in ${boot_prefixes}; do run boot_a_script; done;\0"
|
|
||||||
|
|
||||||
#define CONFIG_BOOTCOMMAND \
|
|
||||||
- "echo Waiting for environment...;" \
|
|
||||||
- "udown 0x48000000; " \
|
|
||||||
- "env import -t -r 0x48000000; " \
|
|
||||||
- "run bootcmd2"
|
|
||||||
+ "echo Booting Armbian...;" \
|
|
||||||
+ "run bootcmd;"
|
|
||||||
|
|
||||||
#endif /* __CONFIG_H__ */
|
|
||||||
|
|
@ -1,334 +0,0 @@
|
||||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
|
||||||
index 83afbe8..cc9f1ee 100644
|
|
||||||
--- a/arch/arm/dts/Makefile
|
|
||||||
+++ b/arch/arm/dts/Makefile
|
|
||||||
@@ -16,7 +16,8 @@ dtb-$(CONFIG_ARCH_S5P4418) += s5p4418-drone.dtb \
|
|
||||||
|
|
||||||
dtb-$(CONFIG_ARCH_S5P6818) += s5p6818-drone.dtb \
|
|
||||||
s5p6818-artik710-raptor.dtb \
|
|
||||||
- s5p6818-nanopim3.dtb
|
|
||||||
+ s5p6818-nanopim3.dtb \
|
|
||||||
+ s5p6818-nanopi-fire3.dtb
|
|
||||||
|
|
||||||
dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
|
|
||||||
exynos5250-snow.dtb \
|
|
||||||
diff --git a/arch/arm/dts/s5p6818-nanopi-fire3.dts b/arch/arm/dts/s5p6818-nanopi-fire3.dts
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..189d9b5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/arch/arm/dts/s5p6818-nanopi-fire3.dts
|
|
||||||
@@ -0,0 +1,87 @@
|
|
||||||
+/*
|
|
||||||
+ * (C) Copyright 2016 Nexell
|
|
||||||
+ * Youngbok, Park <park@nexell.co.kr>
|
|
||||||
+ *
|
|
||||||
+ * SPDX-License-Identifier: GPL-2.0+
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+/dts-v1/;
|
|
||||||
+#include "s5p6818.dtsi"
|
|
||||||
+
|
|
||||||
+/ {
|
|
||||||
+ model = "NanoPi Fire3 board based on s5p6818";
|
|
||||||
+ cpu-model = "S5p6818";
|
|
||||||
+
|
|
||||||
+ compatible = "nexell,s5p6818";
|
|
||||||
+
|
|
||||||
+ mmc0:mmc@c0062000 {
|
|
||||||
+ frequency = <50000000>;
|
|
||||||
+ nexell,drive_dly = <0x0>;
|
|
||||||
+ nexell,drive_shift = <0x02>;
|
|
||||||
+ nexell,sample_dly = <0x00>;
|
|
||||||
+ nexell,sample_shift = <0x01>;
|
|
||||||
+ status = "okay";
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ mmc2:mmc@c0069000 {
|
|
||||||
+ frequency = <50000000>;
|
|
||||||
+ nexell,drive_dly = <0x0>;
|
|
||||||
+ nexell,drive_shift = <0x03>;
|
|
||||||
+ nexell,sample_dly = <0x00>;
|
|
||||||
+ nexell,sample_shift = <0x02>;
|
|
||||||
+ nexell,bus-width = <4>;
|
|
||||||
+ status = "okay";
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ dp0:dp@c0102800 {
|
|
||||||
+ lcd-type = "hdmi";
|
|
||||||
+ status = "okay";
|
|
||||||
+
|
|
||||||
+ dp-device {
|
|
||||||
+ preset = <0>; // 0 - 1280x720, 1 - 1920x1080
|
|
||||||
+ };
|
|
||||||
+ dp-planes {
|
|
||||||
+ layer_top {
|
|
||||||
+ screen_width = <280>;
|
|
||||||
+ screen_height = <120>;
|
|
||||||
+ back_color = <0>;
|
|
||||||
+ video_prior = <0>;
|
|
||||||
+ };
|
|
||||||
+ layer_1 {
|
|
||||||
+ fb_base = <0x46000000>;
|
|
||||||
+ left = <30>;
|
|
||||||
+ top = <20>;
|
|
||||||
+ width = <1220>;
|
|
||||||
+ height = <680>;
|
|
||||||
+ pixel_byte = <2>;
|
|
||||||
+ /* possible format values for rgb layer:
|
|
||||||
+ * r5g6b5 0x44320000
|
|
||||||
+ * b5g6r5 0xc4320000
|
|
||||||
+ * x1r5g5b5 0x43420000
|
|
||||||
+ * x1b5g5r5 0xc3420000
|
|
||||||
+ * x4r4g4b4 0x42110000
|
|
||||||
+ * x4b4g4r4 0xc2110000
|
|
||||||
+ * x8r3g3b2 0x41200000
|
|
||||||
+ * x8b3g3r2 0xc1200000
|
|
||||||
+ * a1r5g5b5 0x33420000
|
|
||||||
+ * a1b5g5r5 0xb3420000
|
|
||||||
+ * a4r4g4b4 0x22110000
|
|
||||||
+ * a4b4g4r4 0xa2110000
|
|
||||||
+ * a8r3g3b2 0x11200000
|
|
||||||
+ * a8b3g3r2 0x91200000
|
|
||||||
+ * r8g8b8 0x46530000
|
|
||||||
+ * b8g8r8 0xc6530000
|
|
||||||
+ * x8r8g8b8 0x46530000
|
|
||||||
+ * x8b8g8r8 0xc6530000
|
|
||||||
+ * a8r8g8b8 0x06530000
|
|
||||||
+ * a8b8g8r8 0x86530000
|
|
||||||
+ */
|
|
||||||
+ format = <0x44320000>;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ dwc2otg@c0040000 {
|
|
||||||
+ status = "okay";
|
|
||||||
+ };
|
|
||||||
+};
|
|
||||||
diff --git a/board/s5p6818/Kconfig b/board/s5p6818/Kconfig
|
|
||||||
index cee812b..46acb2e 100644
|
|
||||||
--- a/board/s5p6818/Kconfig
|
|
||||||
+++ b/board/s5p6818/Kconfig
|
|
||||||
@@ -16,6 +16,11 @@ config TARGET_S5P6818_NANOPIM3
|
|
||||||
help
|
|
||||||
Support for s5p6818 NanoPI M3 platform.
|
|
||||||
|
|
||||||
+config TARGET_S5P6818_NANOPIFIRE3
|
|
||||||
+ bool "S5P6818_NANOPIFIRE3"
|
|
||||||
+ help
|
|
||||||
+ Support for the s5p6818 NanoPi Fire3 platform.
|
|
||||||
+
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config SYS_VENDOR
|
|
||||||
@@ -30,4 +35,5 @@ config SYS_CONFIG_NAME
|
|
||||||
|
|
||||||
source "board/s5p6818/drone/Kconfig"
|
|
||||||
source "board/s5p6818/nanopim3/Kconfig"
|
|
||||||
+source "board/s5p6818/nanopifire3/Kconfig"
|
|
||||||
source "board/s5p6818/artik710_raptor/Kconfig"
|
|
||||||
diff --git a/board/s5p6818/nanopifire3/Kconfig b/board/s5p6818/nanopifire3/Kconfig
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..af8dffd
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/board/s5p6818/nanopifire3/Kconfig
|
|
||||||
@@ -0,0 +1,7 @@
|
|
||||||
+if TARGET_S5P6818_NANOPIFIRE3
|
|
||||||
+
|
|
||||||
+config SYS_BOARD
|
|
||||||
+ default "nanopifire3"
|
|
||||||
+
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
diff --git a/board/s5p6818/nanopifire3/Makefile b/board/s5p6818/nanopifire3/Makefile
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..1550b5f
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/board/s5p6818/nanopifire3/Makefile
|
|
||||||
@@ -0,0 +1 @@
|
|
||||||
+obj-y := board.o
|
|
||||||
diff --git a/board/s5p6818/nanopifire3/board.c b/board/s5p6818/nanopifire3/board.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..5870d76
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/board/s5p6818/nanopifire3/board.c
|
|
||||||
@@ -0,0 +1,151 @@
|
|
||||||
+/*
|
|
||||||
+ * (C) Copyright 2016 Nexell
|
|
||||||
+ * Hyunseok, Jung <hsjung@nexell.co.kr>
|
|
||||||
+ *
|
|
||||||
+ * SPDX-License-Identifier: GPL-2.0+
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#include <config.h>
|
|
||||||
+#include <common.h>
|
|
||||||
+#ifdef CONFIG_PWM_NX
|
|
||||||
+#include <pwm.h>
|
|
||||||
+#endif
|
|
||||||
+#include <asm/io.h>
|
|
||||||
+
|
|
||||||
+#include <asm/arch/nexell.h>
|
|
||||||
+#include <asm/arch/nx_gpio.h>
|
|
||||||
+#include <u-boot/md5.h>
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+DECLARE_GLOBAL_DATA_PTR;
|
|
||||||
+
|
|
||||||
+/*------------------------------------------------------------------------------
|
|
||||||
+ * intialize nexell soc and board status.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+/* call from u-boot */
|
|
||||||
+int board_early_init_f(void)
|
|
||||||
+{
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void board_gpio_init(void)
|
|
||||||
+{
|
|
||||||
+ nx_gpio_initialize();
|
|
||||||
+ nx_gpio_set_base_address(0, (void *)PHY_BASEADDR_GPIOA);
|
|
||||||
+ nx_gpio_set_base_address(1, (void *)PHY_BASEADDR_GPIOB);
|
|
||||||
+ nx_gpio_set_base_address(2, (void *)PHY_BASEADDR_GPIOC);
|
|
||||||
+ nx_gpio_set_base_address(3, (void *)PHY_BASEADDR_GPIOD);
|
|
||||||
+ nx_gpio_set_base_address(4, (void *)PHY_BASEADDR_GPIOE);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#ifdef CONFIG_PWM_NX
|
|
||||||
+void board_backlight_init(void)
|
|
||||||
+{
|
|
||||||
+ pwm_init(CONFIG_BACKLIGHT_CH, CONFIG_BACKLIGHT_DIV,
|
|
||||||
+ CONFIG_BACKLIGHT_INV);
|
|
||||||
+ pwm_config(CONFIG_BACKLIGHT_CH, TO_DUTY_NS(CONFIG_BACKLIGHT_DUTY,
|
|
||||||
+ CONFIG_BACKLIGHT_HZ),
|
|
||||||
+ TO_PERIOD_NS(CONFIG_BACKLIGHT_HZ));
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+int mmc_get_env_dev(void)
|
|
||||||
+{
|
|
||||||
+ static int envDev = -1;
|
|
||||||
+ int bl1LoadEmmc, ubootLoadPort;
|
|
||||||
+
|
|
||||||
+ if( envDev == -1 ) {
|
|
||||||
+ bl1LoadEmmc = readl(PHY_BASEADDR_CLKPWR + SYSRSTCONFIG) >> 19 & 1;
|
|
||||||
+ printf("loaded from %s", bl1LoadEmmc ? "emmc" : "SD");
|
|
||||||
+ ubootLoadPort = readl(SCR_ARM_SECOND_BOOT_REG1);
|
|
||||||
+ switch( ubootLoadPort ) {
|
|
||||||
+ case EMMC_PORT_NUM:
|
|
||||||
+ envDev = 0;
|
|
||||||
+ if( ! bl1LoadEmmc )
|
|
||||||
+ printf("+emmc");
|
|
||||||
+ break;
|
|
||||||
+ case SD_PORT_NUM:
|
|
||||||
+ if( bl1LoadEmmc )
|
|
||||||
+ printf("+SD");
|
|
||||||
+ envDev = 1;
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ printf("+unknown(%d)", ubootLoadPort);
|
|
||||||
+ envDev = 1;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ printf(", getting env from MMC %d\n", envDev);
|
|
||||||
+ }
|
|
||||||
+ return envDev;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int board_init(void)
|
|
||||||
+{
|
|
||||||
+ board_gpio_init();
|
|
||||||
+#ifdef CONFIG_PWM_NX
|
|
||||||
+ board_backlight_init();
|
|
||||||
+#endif
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* u-boot dram initialize */
|
|
||||||
+int dram_init(void)
|
|
||||||
+{
|
|
||||||
+ gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* u-boot dram board specific */
|
|
||||||
+void dram_init_banksize(void)
|
|
||||||
+{
|
|
||||||
+ /* set global data memory */
|
|
||||||
+ gd->bd->bi_arch_number = machine_arch_type;
|
|
||||||
+ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x00000100;
|
|
||||||
+
|
|
||||||
+ gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
|
|
||||||
+ gd->bd->bi_dram[0].size = CONFIG_SYS_SDRAM_SIZE;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#define ETHER_MAC_TAG "ethmac"
|
|
||||||
+
|
|
||||||
+int board_late_init(void)
|
|
||||||
+{
|
|
||||||
+ char dtbname[256];
|
|
||||||
+
|
|
||||||
+ strcpy(dtbname, CONFIG_DEFAULT_DEVICE_TREE);
|
|
||||||
+ strcat(dtbname, ".dtb");
|
|
||||||
+
|
|
||||||
+ setenv("fdtfile", dtbname);
|
|
||||||
+
|
|
||||||
+ if( getenv("ethaddr") == NULL ) {
|
|
||||||
+ char tmp[18];
|
|
||||||
+ unsigned char addr[6];
|
|
||||||
+ u32 hash[20];
|
|
||||||
+ u32 *ec2 = (u32*)0xc006705c;
|
|
||||||
+ u32 *ecid = (u32*)0xc0067000;
|
|
||||||
+
|
|
||||||
+ memset(hash, 0, sizeof(hash));
|
|
||||||
+ memcpy(hash + 12, ETHER_MAC_TAG, sizeof(ETHER_MAC_TAG));
|
|
||||||
+ while( (readl(ec2) & 0x8000) == 0 )
|
|
||||||
+ udelay(100);
|
|
||||||
+ hash[4] = readl(ecid);
|
|
||||||
+ hash[5] = readl(ecid + 1);
|
|
||||||
+ hash[6] = readl(ecid + 2);
|
|
||||||
+ hash[7] = readl(ecid + 3);
|
|
||||||
+
|
|
||||||
+ MD5Transform(hash, hash + 4);
|
|
||||||
+ hash[0] ^= hash[2];
|
|
||||||
+ hash[1] ^= hash[3];
|
|
||||||
+
|
|
||||||
+ memcpy(addr, (char *)hash, 6);
|
|
||||||
+ addr[0] &= 0xfe; /* clear multicast bit */
|
|
||||||
+ addr[0] |= 0x02;
|
|
||||||
+
|
|
||||||
+ sprintf(tmp, "%02x:%02x:%02x:%02x:%02x:%02x",
|
|
||||||
+ addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
|
|
||||||
+ setenv("ethaddr", tmp);
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
diff --git a/configs/nanopifire3_defconfig b/configs/nanopifire3_defconfig
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..13ddfd3
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/configs/nanopifire3_defconfig
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+CONFIG_ARM=y
|
|
||||||
+CONFIG_SYS_CONFIG_NAME="s5p6818_nanopim3"
|
|
||||||
+CONFIG_ARCH_NEXELL=y
|
|
||||||
+CONFIG_ARCH_S5P6818=y
|
|
||||||
+CONFIG_SYS_MALLOC_F=y
|
|
||||||
+CONFIG_DEFAULT_DEVICE_TREE="s5p6818-nanopi-fire3"
|
|
||||||
+CONFIG_TARGET_S5P6818_NANOPIFIRE3=y
|
|
||||||
+CONFIG_FIT=y
|
|
||||||
+# CONFIG_CMD_IMI is not set
|
|
||||||
+# CONFIG_CMD_IMLS is not set
|
|
||||||
+# CONFIG_CMD_FLASH is not set
|
|
||||||
+# CONFIG_CMD_FPGA is not set
|
|
||||||
+# CONFIG_CMD_SETEXPR is not set
|
|
||||||
+# CONFIG_CMD_NET is not set
|
|
||||||
+# CONFIG_CMD_NFS is not set
|
|
||||||
+CONFIG_CMD_FDISK=y
|
|
||||||
+CONFIG_CMD_EXT4_IMG_WRITE=y
|
|
||||||
+CONFIG_CMD_SD_RECOVERY=y
|
|
||||||
+CONFIG_OF_CONTROL=y
|
|
||||||
+CONFIG_OF_EMBED=y
|
|
||||||
+CONFIG_VIDEO_NX=y
|
|
||||||
+CONFIG_VIDEO_NX_HDMI=y
|
|
||||||
Loading…
Reference in New Issue