RK3399: new device

This commit is contained in:
Jonas Karlman 2018-02-11 23:00:03 +01:00
parent dff565f4e0
commit f2cc60eb25
14 changed files with 5999 additions and 1 deletions

View File

@ -0,0 +1 @@
options bcmdhd firmware_path=/lib/firmware/brcm/ nvram_path=/lib/firmware/brcm/

View File

@ -0,0 +1,42 @@
################################################################################
# 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/>.
################################################################################
PKG_NAME="rockchip-firmware"
PKG_VERSION="firmware"
PKG_ARCH="arm aarch64"
PKG_LICENSE="nonfree"
PKG_SITE="https://github.com/rockchip-linux"
PKG_URL=""
PKG_DEPENDS_TARGET="rkbin rfkill"
PKG_SECTION="firmware"
PKG_SHORTDESC="rockchip firmware"
PKG_LONGDESC="rockchip firmware"
PKG_TOOLCHAIN="manual"
makeinstall_target() {
mkdir -p $INSTALL/usr/bin
cp -v $(get_build_dir rkbin)/firmware/bin/rtk_hciattach $INSTALL/usr/bin
mkdir -p $INSTALL/$(get_full_firmware_dir)/rtlbt
cp -v $(get_build_dir rkbin)/firmware/bluetooth/rtl8723b_* $INSTALL/$(get_full_firmware_dir)/rtlbt
mkdir -p $INSTALL/$(get_full_firmware_dir)/brcm
cp -v $(get_build_dir rkbin)/firmware/bluetooth/BCM4354A2.hcd $INSTALL/$(get_full_firmware_dir)/brcm
cp -v $(get_build_dir rkbin)/firmware/wifi/fw_bcm4356a2_ag.bin $INSTALL/$(get_full_firmware_dir)/brcm
cp -v $(get_build_dir rkbin)/firmware/wifi/nvram_ap6356.txt $INSTALL/$(get_full_firmware_dir)/brcm
}

View File

@ -0,0 +1,11 @@
[Unit]
Description=Attach /dev/ttyS0 to BlueZ stack using %I protocol
Wants=bluetooth.service
Before=bluetooth.service
After=dev-ttyS0.device
[Service]
Type=simple
ExecStartPre=/usr/sbin/rfkill unblock bluetooth
ExecStart=/usr/bin/btattach -B /dev/ttyS0 -P %I
ExecStopPost=/usr/sbin/rfkill block bluetooth

View File

@ -0,0 +1,11 @@
[Unit]
Description=Attach /dev/ttyS0 to BlueZ stack
Wants=bluetooth.service
Before=bluetooth.service
After=dev-ttyS0.device
[Service]
Type=simple
ExecStartPre=/usr/sbin/rfkill unblock bluetooth
ExecStart=/usr/bin/rtk_hciattach -n -s 115200 ttyS0 rtk_h5
ExecStopPost=/usr/sbin/rfkill block bluetooth

View File

@ -0,0 +1,11 @@
[Unit]
Description=Attach /dev/ttyS0 to BlueZ stack using %I type
Wants=bluetooth.service
Before=bluetooth.service
After=dev-ttyS0.device
[Service]
Type=simple
ExecStartPre=/usr/sbin/rfkill unblock bluetooth
ExecStart=/usr/bin/hciattach -n -s 115200 ttyS0 %I
ExecStopPost=/usr/sbin/rfkill block bluetooth

View File

@ -0,0 +1,12 @@
################################################################################
# udev rules file for loading rockchip-firmware
################################################################################
ACTION!="add", GOTO="end"
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x024c", ATTRS{device}=="0xb723", \
TAG+="systemd", ENV{SYSTEMD_WANTS}+="hciattach-realtek.service"
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x024c", ATTRS{device}=="0x0626", \
TAG+="systemd", ENV{SYSTEMD_WANTS}+="hciattach-realtek.service"
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0x4356", \
TAG+="systemd", ENV{SYSTEMD_WANTS}+="hciattach@bcm43xx.service"
LABEL="end"

View File

@ -0,0 +1,38 @@
From 0f59425a214329eda9080f186bfa82780fce75e6 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 28 Jan 2018 15:42:23 +0100
Subject: [PATCH] rk3399-evb: prefer sdcard boot
---
arch/arm/dts/rk3399-evb.dts | 2 +-
arch/arm/dts/rk3399.dtsi | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/dts/rk3399-evb.dts b/arch/arm/dts/rk3399-evb.dts
index a0ea589015..ae28bded64 100644
--- a/arch/arm/dts/rk3399-evb.dts
+++ b/arch/arm/dts/rk3399-evb.dts
@@ -17,7 +17,7 @@
chosen {
stdout-path = &uart2;
- u-boot,spl-boot-order = &sdhci, &sdmmc;
+ u-boot,spl-boot-order = &sdmmc, &sdhci;
};
vdd_center: vdd-center {
diff --git a/arch/arm/dts/rk3399.dtsi b/arch/arm/dts/rk3399.dtsi
index 68221b47f7..cfb99c9e16 100644
--- a/arch/arm/dts/rk3399.dtsi
+++ b/arch/arm/dts/rk3399.dtsi
@@ -35,8 +35,8 @@
serial2 = &uart2;
serial3 = &uart3;
serial4 = &uart4;
- mmc0 = &sdhci;
- mmc1 = &sdmmc;
+ mmc0 = &sdmmc;
+ mmc1 = &sdhci;
};
cpus {

View File

@ -14,6 +14,10 @@ This project is for Rockchip SoC devices
* [Popcorn Hour Transformer](devices/RK3328)
* [Firefly ROC-RK3328-CC](devices/RK3328)
**RK3399**
* [96rocks ROCK960](devices/RK3399)
* [Rockchip Sapphire Board](devices/RK3399)
**My single-board computer is not listed, will it be added in the future?**<br />
If your single-board computer uses a current generation SoC listed on http://opensource.rock-chips.com/wiki_Main_Page the odds are in your favor.

View File

@ -0,0 +1,8 @@
# RK3399
This is a SoC device for RK3399
**Build**
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock960 make image`
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=sapphire make image`

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,39 @@
################################################################################
# setup device defaults
################################################################################
# The TARGET_CPU variable controls which processor should be targeted for
# generated code.
case $TARGET_ARCH in
aarch64)
TARGET_CPU="cortex-a72.cortex-a53"
TARGET_CPU_FLAGS="+crc+crypto"
TARGET_FEATURES="64bit neon"
;;
arm)
TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard"
TARGET_CPU="cortex-a72.cortex-a53"
TARGET_CPU_FLAGS="+crc"
TARGET_FPU="crypto-neon-fp-armv8"
TARGET_FEATURES="32bit neon"
;;
esac
# Kernel target
KERNEL_TARGET="Image"
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
KERNEL_MAKE_EXTRACMD=""
KERNEL_MAKE_EXTRACMD+=" rockchip/rk3399-rock960.dtb"
KERNEL_MAKE_EXTRACMD+=" rockchip/rk3399-sapphire.dtb"
# Mali GPU family
MALI_FAMILY="t860"
# kernel image name
KERNEL_NAME="Image"
# kernel serial console
EXTRA_CMDLINE="console=uart8250,mmio32,0xff1a0000 console=tty0"

View File

@ -58,7 +58,7 @@
# 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="misc-firmware wlan-firmware dvb-firmware"
FIRMWARE="misc-firmware wlan-firmware dvb-firmware rockchip-firmware"
# additional packages to install
ADDITIONAL_PACKAGES="dtc"

View File

@ -18,6 +18,10 @@ devices = {
'rock64' : { 'dtb' : 'rk3328-rock64.dtb', 'config' : 'evb-rk3328_defconfig' },
'rockbox' : { 'dtb' : 'rk3328-rockbox.dtb', 'config' : 'evb-rk3328_defconfig' },
},
'RK3399' : {
'rock960' : { 'dtb' : 'rk3399-rock960.dtb', 'config' : 'evb-rk3399_config' },
'sapphire' : { 'dtb' : 'rk3399-sapphire.dtb', 'config' : 'evb-rk3399_config' },
},
'TinkerBoard' : { 'rk3288' : { 'dtb' : 'rk3288-miniarm.dtb', 'config' : 'tinker-rk3288_config' }, },
},
}