Add fast-servo board support #24
70
flake.nix
70
flake.nix
|
@ -10,7 +10,6 @@
|
|||
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||
not-os-cfg = not-os-configured.config.system;
|
||||
fsbl-support = ./fast-servo/fsbl-support;
|
||||
dts-support = ./fast-servo/dts-support;
|
||||
|
||||
patched-not-os = pkgs.applyPatches {
|
||||
name = "not-os-patched";
|
||||
|
@ -214,38 +213,40 @@
|
|||
dontFixup = true;
|
||||
};
|
||||
|
||||
u-boot = (pkgs.pkgsCross.armv7l-hf-multiplatform.buildUBoot {
|
||||
defconfig = "xilinx_zynq_virt_defconfig";
|
||||
patches = [] ++ pkgs.lib.optional (board == "fast-servo") ./fast-servo/u-boot.patch;
|
||||
preConfigure = ''
|
||||
export DEVICE_TREE=zynq-${board}
|
||||
'';
|
||||
extraConfig = ''
|
||||
CONFIG_SYS_PROMPT="${board}-boot> "
|
||||
CONFIG_AUTOBOOT=y
|
||||
CONFIG_BOOTCOMMAND="${builtins.replaceStrings [ "\n" ] [ "; " ] ''
|
||||
setenv bootargs 'root=/dev/mmcblk0p2 console=ttyPS0,115200n8 systemConfig=${builtins.unsafeDiscardStringContext not-os-cfg.build.toplevel}'
|
||||
fatload mmc 0 0x6400000 uImage
|
||||
fatload mmc 0 0x8000000 ${board}.dtb
|
||||
fatload mmc 0 0xA400000 uRamdisk.image.gz
|
||||
bootm 0x6400000 0xA400000 0x8000000
|
||||
''}"
|
||||
CONFIG_BOOTDELAY=0
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
'';
|
||||
extraMeta.platforms = [ "armv7l-linux" ];
|
||||
filesToInstall = [ "u-boot.elf" ];
|
||||
}).overrideAttrs (oldAttrs: {
|
||||
postUnpack = ''
|
||||
cp ${dts-support}/fast-servo.dts $sourceRoot/arch/arm/dts/zynq-fast-servo.dts
|
||||
'';
|
||||
postInstall = ''
|
||||
mkdir -p $out/dts
|
||||
cp arch/arm/dts/zynq-fast-servo.dts $out/dts
|
||||
cp arch/arm/dts/zynq-zc706.dts $out/dts
|
||||
cp arch/arm/dts/zynq-7000.dtsi $out/dts
|
||||
'';
|
||||
});
|
||||
u-boot = let
|
||||
fast-servo-dts = fast-servo/fast-servo.dts;
|
||||
in (pkgs.pkgsCross.armv7l-hf-multiplatform.buildUBoot {
|
||||
defconfig = "xilinx_zynq_virt_defconfig";
|
||||
patches = [] ++ pkgs.lib.optional (board == "fast-servo") ./fast-servo/u-boot.patch;
|
||||
preConfigure = ''
|
||||
export DEVICE_TREE=zynq-${board}
|
||||
'';
|
||||
extraConfig = ''
|
||||
CONFIG_SYS_PROMPT="${board}-boot> "
|
||||
CONFIG_AUTOBOOT=y
|
||||
CONFIG_BOOTCOMMAND="${builtins.replaceStrings [ "\n" ] [ "; " ] ''
|
||||
setenv bootargs 'root=/dev/mmcblk0p2 console=ttyPS0,115200n8 systemConfig=${builtins.unsafeDiscardStringContext not-os-cfg.build.toplevel}'
|
||||
fatload mmc 0 0x6400000 uImage
|
||||
fatload mmc 0 0x8000000 ${board}.dtb
|
||||
fatload mmc 0 0xA400000 uRamdisk.image.gz
|
||||
bootm 0x6400000 0xA400000 0x8000000
|
||||
''}"
|
||||
CONFIG_BOOTDELAY=0
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
'';
|
||||
extraMeta.platforms = [ "armv7l-linux" ];
|
||||
filesToInstall = [ "u-boot.elf" ];
|
||||
}).overrideAttrs (oldAttrs: {
|
||||
postUnpack = ''
|
||||
cp ${fast-servo-dts} $sourceRoot/arch/arm/dts/zynq-fast-servo.dts
|
||||
'';
|
||||
postInstall = ''
|
||||
mkdir -p $out/dts
|
||||
cp arch/arm/dts/zynq-fast-servo.dts $out/dts
|
||||
cp arch/arm/dts/zynq-zc706.dts $out/dts
|
||||
cp arch/arm/dts/zynq-7000.dtsi $out/dts
|
||||
'';
|
||||
});
|
||||
|
||||
bootimage = pkgs.runCommand "${board}-bootimage"
|
||||
{
|
||||
|
@ -274,8 +275,6 @@
|
|||
}
|
||||
''
|
||||
mkdir -p $out
|
||||
DTSDIR=$(mktemp -d /tmp/dts-XXXXXX)
|
||||
cd $DTSDIR
|
||||
cp ${u-boot}/dts/zynq-${board}.dts .
|
||||
|
||||
if [ ${board} == "zc706" ]; then
|
||||
|
@ -286,7 +285,6 @@
|
|||
|
||||
dtc -I dts -O dtb -o ${board}.dtb zynq-${board}.dts
|
||||
cp ${board}.dtb $out
|
||||
rm -rf $DTSDIR
|
||||
'';
|
||||
|
||||
sd-image = let
|
||||
|
|
Loading…
Reference in New Issue