Merge branch 'orangepi5plus'
This commit is contained in:
commit
60f66c35d2
14
flake.nix
14
flake.nix
@ -54,6 +54,11 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#linux-rockchip-collabora = {
|
||||||
|
# url = "git+https://git.jakstys.lt/motiejus/linux?ref=rk3588";
|
||||||
|
# flake = false;
|
||||||
|
#};
|
||||||
|
|
||||||
e11sync = {
|
e11sync = {
|
||||||
url = "git+https://git.jakstys.lt/motiejus/e11sync";
|
url = "git+https://git.jakstys.lt/motiejus/e11sync";
|
||||||
inputs = {
|
inputs = {
|
||||||
@ -125,6 +130,15 @@
|
|||||||
specialArgs = {inherit myData;} // inputs;
|
specialArgs = {inherit myData;} // inputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
op5p = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "aarch64-linux";
|
||||||
|
modules = [
|
||||||
|
{nixpkgs.overlays = overlays;}
|
||||||
|
./hosts/op5p/configuration.nix
|
||||||
|
];
|
||||||
|
specialArgs = {inherit myData;} // inputs;
|
||||||
|
};
|
||||||
|
|
||||||
vno1-oh2 = nixpkgs.lib.nixosSystem {
|
vno1-oh2 = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
|
56
hacks/orangepi5/uboot/default.nix
Normal file
56
hacks/orangepi5/uboot/default.nix
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
fetchFromGitLab,
|
||||||
|
fetchFromGitHub,
|
||||||
|
buildArmTrustedFirmware,
|
||||||
|
buildUBoot,
|
||||||
|
}: let
|
||||||
|
rkbin = fetchFromGitHub {
|
||||||
|
owner = "rockchip-linux";
|
||||||
|
repo = "rkbin";
|
||||||
|
rev = "b4558da0860ca48bf1a571dd33ccba580b9abe23";
|
||||||
|
hash = "sha256-KUZQaQ+IZ0OynawlYGW99QGAOmOrGt2CZidI3NTxFw8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
tfa =
|
||||||
|
(buildArmTrustedFirmware rec {
|
||||||
|
extraMakeFlags = ["bl31"];
|
||||||
|
platform = "rk3588";
|
||||||
|
extraMeta.platforms = ["aarch64-linux"];
|
||||||
|
filesToInstall = ["build/${platform}/release/bl31/bl31.elf"];
|
||||||
|
})
|
||||||
|
.overrideAttrs (_: {
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
domain = "gitlab.collabora.com";
|
||||||
|
owner = "hardware-enablement";
|
||||||
|
repo = "rockchip-3588/trusted-firmware-a";
|
||||||
|
rev = "002d8e85ce5f4f06ebc2c2c52b4923a514bfa701";
|
||||||
|
hash = "sha256-1XOG7ILIgWa3uXUmAh9WTfSGLD/76OsmWrUhIxm/zTg=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in
|
||||||
|
buildUBoot rec {
|
||||||
|
version = "2024.01";
|
||||||
|
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
domain = "source.denx.de";
|
||||||
|
owner = "u-boot";
|
||||||
|
repo = "u-boot";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-0Da7Czy9cpQ+D5EICc3/QSZhAdCBsmeMvBgykYhAQFw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
defconfig = "orangepi-5-rk3588s_defconfig";
|
||||||
|
extraConfig = ''
|
||||||
|
CONFIG_ROCKCHIP_SPI_IMAGE=y
|
||||||
|
'';
|
||||||
|
|
||||||
|
ROCKCHIP_TPL = "${rkbin}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin";
|
||||||
|
BL31 = "${tfa}/bl31.elf";
|
||||||
|
|
||||||
|
# FIXME: seems to not like nixpkgs dtc for some reason
|
||||||
|
extraMakeFlags = ["DTC=./scripts/dtc/dtc"];
|
||||||
|
|
||||||
|
filesToInstall = [".config" "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" "u-boot-rockchip-spi.bin"];
|
||||||
|
|
||||||
|
extraMeta.platforms = ["aarch64-linux"];
|
||||||
|
}
|
34
hacks/orangepi5/uboot/sata.patch
Normal file
34
hacks/orangepi5/uboot/sata.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
diff --git a/arch/arm/dts/rk3588s-orangepi-5.dts b/arch/arm/dts/rk3588s-orangepi-5.dts
|
||||||
|
index 8f399c4317..3997984e42 100644
|
||||||
|
--- a/arch/arm/dts/rk3588s-orangepi-5.dts
|
||||||
|
+++ b/arch/arm/dts/rk3588s-orangepi-5.dts
|
||||||
|
@@ -238,7 +238,7 @@
|
||||||
|
&pcie2x1l2 {
|
||||||
|
reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
|
||||||
|
vpcie3v3-supply = <&vcc3v3_pcie20>;
|
||||||
|
- status = "okay";
|
||||||
|
+ status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
@@ -660,3 +660,7 @@
|
||||||
|
&usb_host1_ohci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
+
|
||||||
|
+&sata0 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
diff --git a/arch/arm/dts/rk3588s.dtsi b/arch/arm/dts/rk3588s.dtsi
|
||||||
|
index 61a9a11c3b..05028012ce 100644
|
||||||
|
--- a/arch/arm/dts/rk3588s.dtsi
|
||||||
|
+++ b/arch/arm/dts/rk3588s.dtsi
|
||||||
|
@@ -1390,6 +1390,8 @@
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "disabled";
|
||||||
|
+ phys = <&combphy0_ps PHY_TYPE_SATA>;
|
||||||
|
+ phy-names = "sata-phy";
|
||||||
|
|
||||||
|
sata-port@0 {
|
||||||
|
reg = <0>;
|
53
hosts/op5p/configuration.nix
Normal file
53
hosts/op5p/configuration.nix
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
#self,
|
||||||
|
#lib,
|
||||||
|
#pkgs,
|
||||||
|
myData,
|
||||||
|
#config,
|
||||||
|
#modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
../../shared/platform/orangepi5.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users = {
|
||||||
|
motiejus = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = ["wheel" "video"];
|
||||||
|
initialHashedPassword = "";
|
||||||
|
openssh.authorizedKeys.keys = [myData.people_pubkeys.motiejus];
|
||||||
|
};
|
||||||
|
root.initialHashedPassword = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
security = {
|
||||||
|
pam.services.lightdm.text = ''
|
||||||
|
auth sufficient pam_succeed_if.so user ingroup wheel
|
||||||
|
'';
|
||||||
|
sudo = {
|
||||||
|
enable = true;
|
||||||
|
wheelNeedsPassword = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "op5p";
|
||||||
|
domain = "jakstys.lt";
|
||||||
|
firewall.allowedTCPPorts = [22];
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
trusted-users = nixos
|
||||||
|
'';
|
||||||
|
settings = {
|
||||||
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
trusted-users = ["motiejus"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
time.timeZone = "UTC";
|
||||||
|
system.stateVersion = "23.11";
|
||||||
|
}
|
58
shared/platform/orangepi5.nix
Normal file
58
shared/platform/orangepi5.nix
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
crossPkgs = pkgs.pkgsCross.aarch64-multiplatform;
|
||||||
|
in {
|
||||||
|
boot = {
|
||||||
|
kernelPackages = crossPkgs.linuxPackagesFor (crossPkgs.buildLinux {
|
||||||
|
version = "6.8.0-rc1";
|
||||||
|
modDirVersion = "6.8.0-rc1";
|
||||||
|
|
||||||
|
#src = linux-rockchip-collabora;
|
||||||
|
#src = builtins.fetchUrl {
|
||||||
|
# url = "https://git.jakstys.lt/motiejus/linux/archive/rk3588.tar.gz";
|
||||||
|
# sha256 = "869adb5236254e705b51f3bcd22c0ac2498ca661c44c5a25a737bb067bc5a635";
|
||||||
|
#};
|
||||||
|
src = builtins.fetchGit {
|
||||||
|
url = "https://git.jakstys.lt/motiejus/linux";
|
||||||
|
rev = "eadcef24731e0f1ddb86dc7c9c859387b5b029a2";
|
||||||
|
ref = "rk3588";
|
||||||
|
shallow = true;
|
||||||
|
};
|
||||||
|
kernelPatches = [];
|
||||||
|
|
||||||
|
extraMeta.branch = "6.8";
|
||||||
|
});
|
||||||
|
|
||||||
|
loader = {
|
||||||
|
grub.enable = false;
|
||||||
|
generic-extlinux-compatible.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
initrd.kernelModules = ["ahci_dwc" "phy_rockchip_naneng_combphy"];
|
||||||
|
consoleLogLevel = 7;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.deviceTree.name = "rockchip/rk3588s-orangepi-5.dtb";
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-label/nixos";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = ["noatime"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
system.build = {
|
||||||
|
sdImage = import "${modulesPath}/../lib/make-disk-image.nix" {
|
||||||
|
name = "orangepi5-sd-image";
|
||||||
|
copyChannel = false;
|
||||||
|
inherit config lib pkgs;
|
||||||
|
};
|
||||||
|
uboot = crossPkgs.callPackage ../../hacks/orangepi5/uboot {};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user