diff --git a/buildroot-external/barebox.config b/buildroot-external/barebox.config index c3dd39837..3fce53aee 100644 --- a/buildroot-external/barebox.config +++ b/buildroot-external/barebox.config @@ -36,6 +36,9 @@ CONFIG_CMD_READF=y CONFIG_OFTREE=y CONFIG_OFTREE_OVERLAY=y +CONFIG_DISK=y +CONFIG_DISK_WRITE=y + CONFIG_FS_FAT=y CONFIG_FS_FAT_WRITE=y CONFIG_FS_FAT_LFN=y diff --git a/buildroot-external/board/ova/barebox-state-efi.dtb b/buildroot-external/board/ova/barebox-state-efi.dtb new file mode 100644 index 000000000..c4bf99d08 Binary files /dev/null and b/buildroot-external/board/ova/barebox-state-efi.dtb differ diff --git a/buildroot-external/board/ova/post-image.sh b/buildroot-external/board/ova/post-image.sh index f719f0e5b..a85b99602 100755 --- a/buildroot-external/board/ova/post-image.sh +++ b/buildroot-external/board/ova/post-image.sh @@ -18,7 +18,7 @@ mkdir -p ${BOOT_DATA}/EFI/BOOT mkdir -p ${BOOT_DATA}/EFI/barebox cp ${BINARIES_DIR}/barebox.bin ${BOOT_DATA}/EFI/BOOT/BOOTx64.EFI -cp ${BR2_EXTERNAL_HASSOS_PATH}/fdt/barebox-state-efi.dtb ${BOOT_DATA}/EFI/barebox/state.dtb +cp ${BOARD_DIR}/barebox-state-efi.dtb ${BOOT_DATA}/EFI/barebox/state.dtb # Create other layers create_boot_image ${BINARIES_DIR} diff --git a/buildroot-external/board/rpi2/barebox-env/init/rpi_bootargs b/buildroot-external/board/rpi2/barebox-env/init/rpi_bootargs new file mode 100644 index 000000000..94156ec2e --- /dev/null +++ b/buildroot-external/board/rpi2/barebox-env/init/rpi_bootargs @@ -0,0 +1,3 @@ +#!/bin/sh + +global linux.bootargs.rpi="cma=64M" diff --git a/buildroot-external/board/rpi2/barebox-env/overlay/barebox-state-rpi.dtbo b/buildroot-external/board/rpi2/barebox-env/overlay/barebox-state-rpi.dtbo index 99106b649..3ceea4acc 100644 Binary files a/buildroot-external/board/rpi2/barebox-env/overlay/barebox-state-rpi.dtbo and b/buildroot-external/board/rpi2/barebox-env/overlay/barebox-state-rpi.dtbo differ diff --git a/buildroot-external/board/rpi2/barebox-env/overlay/rpi-dwc.dtbo b/buildroot-external/board/rpi2/barebox-env/overlay/rpi-dwc.dtbo new file mode 100644 index 000000000..800d46773 Binary files /dev/null and b/buildroot-external/board/rpi2/barebox-env/overlay/rpi-dwc.dtbo differ diff --git a/buildroot-external/board/rpi2/barebox-env/overlay/rpi-v3d.dtbo b/buildroot-external/board/rpi2/barebox-env/overlay/rpi-v3d.dtbo new file mode 100644 index 000000000..b598d50b9 Binary files /dev/null and b/buildroot-external/board/rpi2/barebox-env/overlay/rpi-v3d.dtbo differ diff --git a/buildroot-external/board/rpi2/barebox.config b/buildroot-external/board/rpi2/barebox.config index 14c2094d7..7e42ac1e0 100644 --- a/buildroot-external/board/rpi2/barebox.config +++ b/buildroot-external/board/rpi2/barebox.config @@ -6,10 +6,8 @@ CONFIG_ARM_UNWIND=y CONFIG_MMU=y CONFIG_MALLOC_TLSF=y CONFIG_KALLSYMS=y -CONFIG_SERIAL_AMBA_PL011=y # CONFIG_SPI is not set CONFIG_MCI=y CONFIG_MCI_BCM283X=y -CONFIG_GPIO_BCM283X=y # CONFIG_PINCTRL is not set CONFIG_REGULATOR=y diff --git a/buildroot-external/fdt/barebox-state-efi.dtb b/buildroot-external/fdt/barebox-state-efi.dtb deleted file mode 100644 index 297ab8ba7..000000000 Binary files a/buildroot-external/fdt/barebox-state-efi.dtb and /dev/null differ diff --git a/buildroot-external/fdt/barebox-state-rpi.dtbo b/buildroot-external/fdt/barebox-state-rpi.dtbo deleted file mode 100644 index 99106b649..000000000 Binary files a/buildroot-external/fdt/barebox-state-rpi.dtbo and /dev/null differ diff --git a/fdt/barebox-state-efi.dtb b/fdt/barebox-state-efi.dtb new file mode 100644 index 000000000..c4bf99d08 Binary files /dev/null and b/fdt/barebox-state-efi.dtb differ diff --git a/buildroot-external/fdt/barebox-state-efi.dts b/fdt/barebox-state-efi.dts similarity index 100% rename from buildroot-external/fdt/barebox-state-efi.dts rename to fdt/barebox-state-efi.dts diff --git a/fdt/barebox-state-rpi.dtbo b/fdt/barebox-state-rpi.dtbo new file mode 100644 index 000000000..3ceea4acc Binary files /dev/null and b/fdt/barebox-state-rpi.dtbo differ diff --git a/buildroot-external/fdt/barebox-state-rpi.dtso b/fdt/barebox-state-rpi.dtso similarity index 89% rename from buildroot-external/fdt/barebox-state-rpi.dtso rename to fdt/barebox-state-rpi.dtso index 907baf32b..4da58a623 100644 --- a/buildroot-external/fdt/barebox-state-rpi.dtso +++ b/fdt/barebox-state-rpi.dtso @@ -2,6 +2,7 @@ /plugin/; / { + compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; fragment@0 { target = <&sdhci>; diff --git a/fdt/rpi-dwc.dtbo b/fdt/rpi-dwc.dtbo new file mode 100644 index 000000000..800d46773 Binary files /dev/null and b/fdt/rpi-dwc.dtbo differ diff --git a/fdt/rpi-dwc.dtso b/fdt/rpi-dwc.dtso new file mode 100644 index 000000000..7863c6cb9 --- /dev/null +++ b/fdt/rpi-dwc.dtso @@ -0,0 +1,23 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2708"; + + fragment@0 { + target = <&usb>; + #address-cells = <1>; + #size-cells = <1>; + dwc2_usb: __overlay__ { + compatible = "brcm,bcm2835-usb"; + reg = <0x7e980000 0x10000>; + interrupts = <1 9>; + dr_mode = "otg"; + g-np-tx-fifo-size = <32>; + g-rx-fifo-size = <256>; + g-tx-fifo-size = <512 512 512 512 512 256 256>; + status = "okay"; + }; + }; +}; + diff --git a/fdt/rpi-v3d.dtbo b/fdt/rpi-v3d.dtbo new file mode 100644 index 000000000..b598d50b9 Binary files /dev/null and b/fdt/rpi-v3d.dtbo differ diff --git a/fdt/rpi-v3d.dtso b/fdt/rpi-v3d.dtso new file mode 100644 index 000000000..4ad0b70c9 --- /dev/null +++ b/fdt/rpi-v3d.dtso @@ -0,0 +1,108 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; + + fragment@0 { + target = <&i2c2>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&fb>; + + __overlay__ { + status = "disabled"; + }; + }; + + fragment@2 { + target = <&pixelvalve0>; + + __overlay__ { + interrupts = <0x2 0xd>; + status = "okay"; + }; + }; + + fragment@3 { + target = <&pixelvalve1>; + + __overlay__ { + interrupts = <0x2 0xe>; + status = "okay"; + }; + }; + + fragment@4 { + target = <&pixelvalve2>; + + __overlay__ { + interrupts = <0x2 0xa>; + status = "okay"; + }; + }; + + fragment@5 { + target = <&hvs>; + + __overlay__ { + interrupts = <0x2 0x1>; + status = "okay"; + }; + }; + + fragment@6 { + target = <&hdmi>; + + __overlay__ { + interrupts = <0x2 0x8 0x2 0x9>; + status = "okay"; + }; + }; + + fragment@7 { + target = <&v3d>; + + __overlay__ { + interrupts = <0x1 0xa>; + status = "okay"; + }; + }; + + fragment@8 { + target = <&vc4>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@9 { + target-path = "/soc/dma"; + + __overlay__ { + brcm,dma-channel-mask = <0x7f35>; + }; + }; + + fragment@10 { + target = <&clocks>; + + __overlay__ { + claim-clocks = <0x22 0x23 0xf 0x10>; + }; + }; + + fragment@11 { + target = <&vec>; + + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/scripts/update-dtb.sh b/scripts/update-dtb.sh index e634c75ca..aeebbb606 100755 --- a/scripts/update-dtb.sh +++ b/scripts/update-dtb.sh @@ -1,5 +1,15 @@ #!/bin/sh -dtc -I dts -O dtb -o buildroot-external/fdt/barebox-state-efi.dtb buildroot-external/fdt/barebox-state-efi.dts +## OVA +dtc -@ -I dts -O dtb -o fdt/barebox-state-efi.dtb fdt/barebox-state-efi.dts +cp -f fdt/barebox-state-efi.dtb buildroot-external/board/ova/ -dtc -@ -I dts -O dtb -o buildroot-external/fdt/barebox-state-rpi.dtbo buildroot-external/fdt/barebox-state-rpi.dtso +## Raspberry +dtc -@ -I dts -O dtb -o fdt/barebox-state-rpi.dtbo fdt/barebox-state-rpi.dtso +cp -f fdt/barebox-state-rpi.dtbo buildroot-external/board/rpi2/barebox-env/overlay/ + +dtc -@ -I dts -O dtb -o fdt/rpi-v3d.dtbo fdt/rpi-v3d.dtso +cp -f fdt/rpi-v3d.dtbo buildroot-external/board/rpi2/barebox-env/overlay/ + +dtc -@ -I dts -O dtb -o fdt/rpi-dwc.dtbo fdt/rpi-dwc.dtso +cp -f fdt/rpi-dwc.dtbo buildroot-external/board/rpi2/barebox-env/overlay/