From d66c4d9fce26f90874d83aaaf2ab8a1041097ee2 Mon Sep 17 00:00:00 2001 From: Patrick Yavitz Date: Tue, 25 Jun 2024 10:22:53 -0400 Subject: [PATCH] boards: Add board BananaPi F3 RISC-V SpacemiT K1 SoC Signed-off-by: Patrick Yavitz --- config/boards/bananapif3.csc | 33 +++++++++++++++++++ .../spacemit-6.1/dt/k1-bananapi-f3.dts | 26 +++++++++++++++ .../spacemit-legacy-6.1/dt/k1-bananapi-f3.dts | 26 +++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 config/boards/bananapif3.csc create mode 100644 patch/kernel/archive/spacemit-6.1/dt/k1-bananapi-f3.dts create mode 100644 patch/kernel/spacemit-legacy-6.1/dt/k1-bananapi-f3.dts diff --git a/config/boards/bananapif3.csc b/config/boards/bananapif3.csc new file mode 100644 index 000000000..3043f5883 --- /dev/null +++ b/config/boards/bananapif3.csc @@ -0,0 +1,33 @@ +# SpacemiT K1 octa core RISC-V SoC 2GB/4GB RAM 8GB/16GB eMMC 4x USB3 2x GbE +BOARD_NAME="Banana Pi F3" +BOARDFAMILY="spacemit" +BOARD_MAINTAINER="" +KERNEL_TARGET="legacy,current" +BOOT_FDT_FILE="spacemit/k1-bananapi-f3.dtb" +SRC_EXTLINUX="yes" +SRC_CMDLINE="earlycon=sbi console=tty1 console=ttyS0,115200 clk_ignore_unused swiotlb=65536" +PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools" + +function post_config_uboot_target__extra_configs_for_bananapi_f3() { + display_alert "u-boot for ${BOARD}" "u-boot: enabling extra configs" "info" + + run_host_command_logged scripts/config --enable CONFIG_SD_BOOT + run_host_command_logged scripts/config --enable CONFIG_EXT4_WRITE + run_host_command_logged scripts/config --enable CONFIG_FS_BTRFS + run_host_command_logged scripts/config --enable CONFIG_CMD_BTRFS +} + +function post_family_tweaks_bsp__bananapi_f3_extras() { + if [[ -d "$SRC/packages/blobs/riscv64/spacemit" ]]; then + run_host_command_logged mkdir -pv "${destination}"/lib/firmware + display_alert "$BOARD" "Installing boot firmware" "info" + run_host_command_logged cp -fv $SRC/packages/blobs/riscv64/spacemit/esos.elf "${destination}"/lib/firmware + fi + + display_alert "$BOARD" "Force load wireless" "info" + + run_host_command_logged mkdir -pv "${destination}"/etc/modprobe.d + run_host_command_logged echo "options 8852bs rtw_drv_log_level=0 rtw_phl_log_level=0" > "${destination}"/etc/modprobe.d/50-8852bs.conf + run_host_command_logged mkdir -pv "${destination}"/etc/modules-load.d + run_host_command_logged echo "8852bs" > "${destination}"/etc/modules-load.d/${BOARD}.conf +} diff --git a/patch/kernel/archive/spacemit-6.1/dt/k1-bananapi-f3.dts b/patch/kernel/archive/spacemit-6.1/dt/k1-bananapi-f3.dts new file mode 100644 index 000000000..cdb9c5a77 --- /dev/null +++ b/patch/kernel/archive/spacemit-6.1/dt/k1-bananapi-f3.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* Copyright (c) 2024 Spacemit, Inc */ + +/dts-v1/; + +#include "k1-x_deb1.dts" + +/ { + model = "BananaPi BPI-F3"; +}; + +&pcie2_rc { + num-lanes = <1>; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart2>; + status = "okay"; + + bluetooth { + compatible = "realtek,rtl8852bs-bt"; + device-wake-gpios = <&gpio 64 GPIO_ACTIVE_HIGH>; + host-wake-gpios = <&gpio 65 GPIO_ACTIVE_HIGH>; + }; +}; diff --git a/patch/kernel/spacemit-legacy-6.1/dt/k1-bananapi-f3.dts b/patch/kernel/spacemit-legacy-6.1/dt/k1-bananapi-f3.dts new file mode 100644 index 000000000..cdb9c5a77 --- /dev/null +++ b/patch/kernel/spacemit-legacy-6.1/dt/k1-bananapi-f3.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* Copyright (c) 2024 Spacemit, Inc */ + +/dts-v1/; + +#include "k1-x_deb1.dts" + +/ { + model = "BananaPi BPI-F3"; +}; + +&pcie2_rc { + num-lanes = <1>; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart2>; + status = "okay"; + + bluetooth { + compatible = "realtek,rtl8852bs-bt"; + device-wake-gpios = <&gpio 64 GPIO_ACTIVE_HIGH>; + host-wake-gpios = <&gpio 65 GPIO_ACTIVE_HIGH>; + }; +};