On Thu, Jan 13, 2022 at 05:02:05PM +0800, Kevin Lo wrote:
> The PINE H64 ver. B is a minor revision of the original H64.
> I copied the device tree from the Linux kernel.
> 
> dmesg: http://ix.io/3M3r
> 
> ok?

With one fix.

> Index: sysutils/arm-trusted-firmware/Makefile
> ===================================================================
> RCS file: /cvs/ports/sysutils/arm-trusted-firmware/Makefile,v
> retrieving revision 1.16
> diff -u -p -u -p -r1.16 Makefile
> --- sysutils/arm-trusted-firmware/Makefile    18 Jun 2021 09:17:28 -0000      
> 1.16
> +++ sysutils/arm-trusted-firmware/Makefile    13 Jan 2022 08:54:30 -0000
> @@ -9,6 +9,7 @@ GH_PROJECT=   arm-trusted-firmware
>  GH_TAGNAME=  v2.5
>  
>  EPOCH=               0
> +REVISION=    0
>  
>  CATEGORIES=  sysutils
>  
> @@ -32,7 +33,8 @@ CFLAGS=
>  PLATFORMS=\
>       rk3328 \
>       rk3399 \
> -     sun50i_a64
> +     sun50i_a64 \
> +     sun50i_h6
>  
>  do-build:
>  .for P in ${PLATFORMS}
> @@ -49,5 +51,7 @@ do-install:
>           ${PREFIX}/share/arm-trusted-firmware/rk3399-bl31.elf
>       ${INSTALL_DATA} ${WRKBUILD}/build/sun50i_a64/debug/bl31.bin \
>           ${PREFIX}/share/arm-trusted-firmware/sun50i_a64-bl31.bin
> +     ${INSTALL_DATA} ${WRKBUILD}/build/sun50i_h6/debug/bl31.bin \
> +         ${PREFIX}/share/arm-trusted-firmware/sun50i_h6-bl31.bin
>  
>  .include <bsd.port.mk>
> Index: sysutils/arm-trusted-firmware/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/sysutils/arm-trusted-firmware/pkg/PLIST,v
> retrieving revision 1.4
> diff -u -p -u -p -r1.4 PLIST
> --- sysutils/arm-trusted-firmware/pkg/PLIST   27 Sep 2019 15:43:29 -0000      
> 1.4
> +++ sysutils/arm-trusted-firmware/pkg/PLIST   13 Jan 2022 08:54:30 -0000
> @@ -4,3 +4,4 @@ share/arm-trusted-firmware/
>  share/arm-trusted-firmware/rk3328-bl31.elf
>  share/arm-trusted-firmware/rk3399-bl31.elf
>  share/arm-trusted-firmware/sun50i_a64-bl31.bin
> +share/arm-trusted-firmware/sun50i_h6-bl31.bin
> Index: sysutils/u-boot/Makefile
> ===================================================================
> RCS file: /cvs/ports/sysutils/u-boot/Makefile,v
> retrieving revision 1.89
> diff -u -p -u -p -r1.89 Makefile
> --- sysutils/u-boot/Makefile  17 Dec 2021 23:00:41 -0000      1.89
> +++ sysutils/u-boot/Makefile  13 Jan 2022 08:54:31 -0000
> @@ -8,7 +8,7 @@ FLAVOR?=      arm
>  
>  COMMENT=     U-Boot firmware
>  VERSION=     2021.10
> -REVISION=    2
> +REVISION=    3

You also need to bump the build dependency to
        sysutils/arm-trusted-firmware>=2.2p0v0

Otherwise new u-boot old atf will fail.

>  DISTNAME=    u-boot-${VERSION}
>  PKGNAME=     u-boot-${FLAVOR}-${VERSION:S/-//}
>  FULLPKGNAME= ${PKGNAME}
> @@ -44,6 +44,7 @@ MAKE_ENV+=  CROSS_COMPILE="aarch64-none-e
>  RK3328_BL31= "${LOCALBASE}/share/arm-trusted-firmware/rk3328-bl31.elf"
>  RK3399_BL31= "${LOCALBASE}/share/arm-trusted-firmware/rk3399-bl31.elf"
>  SUNXI_BL31=  "${LOCALBASE}/share/arm-trusted-firmware/sun50i_a64-bl31.bin"
> +SUNXI_H6_BL31=       
> "${LOCALBASE}/share/arm-trusted-firmware/sun50i_h6-bl31.bin"
>  .elif "${FLAVOR}" == "arm"
>  BUILD_DEPENDS+=      devel/arm-none-eabi/gcc-linaro>=7.4.2019.02
>  MAKE_ENV+=   CROSS_COMPILE="arm-none-eabi-"
> @@ -69,6 +70,7 @@ SUNXI64=\
>       orangepi_zero_plus \
>       pine64-lts \
>       pine64_plus \
> +     pine_h64-model-b \
>       pinebook \
>       sopine_baseboard
>  BOARDS=\
> @@ -203,6 +205,16 @@ do-build:
>  .endif
>  .endfor
>  .for BOARD in ${SUNXI64}
> +.if "${BOARD:M*_h64*}"
> +     cd ${WRKSRC} && \
> +         mkdir -p build/${BOARD} && \
> +         ${SETENV} ${MAKE_ENV} BL31=${SUNXI_H6_BL31} ${MAKE_PROGRAM} \
> +             ${MAKE_FLAGS} O="build/${BOARD}" \
> +             -f ${MAKE_FILE} "${BOARD}"_defconfig && \
> +         ${SETENV} ${MAKE_ENV} BL31=${SUNXI_H6_BL31} ${MAKE_PROGRAM} \
> +             ${MAKE_FLAGS} O="build/${BOARD}" \
> +             -f ${MAKE_FILE} ${ALL_TARGET}
> +.else
>       cd ${WRKSRC} && \
>           mkdir -p build/${BOARD} && \
>           ${SETENV} ${MAKE_ENV} BL31=${SUNXI_BL31} ${MAKE_PROGRAM} \
> @@ -211,6 +223,7 @@ do-build:
>           ${SETENV} ${MAKE_ENV} BL31=${SUNXI_BL31} ${MAKE_PROGRAM} \
>               ${MAKE_FLAGS} O="build/${BOARD}" \
>               -f ${MAKE_FILE} ${ALL_TARGET}
> +.endif
>       if [[ -f ${WRKSRC}/build/${BOARD}/spl/sunxi-spl.bin && \
>             -f ${WRKSRC}/build/${BOARD}/u-boot.itb ]]; then \
>               cd ${WRKSRC}/build/${BOARD} && \
> Index: sysutils/u-boot/patches/patch-arch_arm_dts_Makefile
> ===================================================================
> RCS file: sysutils/u-boot/patches/patch-arch_arm_dts_Makefile
> diff -N sysutils/u-boot/patches/patch-arch_arm_dts_Makefile
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/u-boot/patches/patch-arch_arm_dts_Makefile       13 Jan 2022 
> 08:54:31 -0000
> @@ -0,0 +1,13 @@
> +$OpenBSD$

I always like to see descriptive comments in our patch files so fellow
porters can quickly reason about them without searching (old) logs or
digging into the code yet again to understand their intent.

These patches are trivial, but the general point stands and one has to
read patches first before coming to such a conclusion... and that alone
can waste time.

> +
> +Index: arch/arm/dts/Makefile
> +--- arch/arm/dts/Makefile.orig
> ++++ arch/arm/dts/Makefile
> +@@ -642,6 +642,7 @@ dtb-$(CONFIG_MACH_SUN50I_H6) += \
> +     sun50i-h6-orangepi-lite2.dtb \
> +     sun50i-h6-orangepi-one-plus.dtb \
> +     sun50i-h6-pine-h64.dtb \
> ++    sun50i-h6-pine-h64-model-b.dtb \
> +     sun50i-h6-tanix-tx6.dtb
> + dtb-$(CONFIG_MACH_SUN50I_H616) += \
> +     sun50i-h616-orangepi-zero2.dtb
> Index: 
> sysutils/u-boot/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts
> ===================================================================
> RCS file: 
> sysutils/u-boot/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts
> diff -N 
> sysutils/u-boot/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/u-boot/patches/patch-arch_arm_dts_sun50i-h6-pine-h64-model-b_dts 
> 13 Jan 2022 08:54:31 -0000
> @@ -0,0 +1,57 @@
> +$OpenBSD$
> +
> +Index: arch/arm/dts/sun50i-h6-pine-h64-model-b.dts
> +--- arch/arm/dts/sun50i-h6-pine-h64-model-b.dts.orig
> ++++ arch/arm/dts/sun50i-h6-pine-h64-model-b.dts
> +@@ -0,0 +1,51 @@
> ++// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> ++/*
> ++ * Copyright (C) 2019 Corentin LABBE <cla...@baylibre.com>
> ++ */
> ++
> ++#include "sun50i-h6-pine-h64.dts"
> ++
> ++/ {
> ++    model = "Pine H64 model B";
> ++    compatible = "pine64,pine-h64-model-b", "allwinner,sun50i-h6";
> ++
> ++    /delete-node/ reg_gmac_3v3;
> ++
> ++    wifi_pwrseq: wifi_pwrseq {
> ++            compatible = "mmc-pwrseq-simple";
> ++            reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
> ++            post-power-on-delay-ms = <200>;
> ++    };
> ++};
> ++
> ++&hdmi_connector {
> ++    /delete-property/ ddc-en-gpios;
> ++};
> ++
> ++&emac {
> ++    phy-supply = <&reg_aldo2>;
> ++};
> ++
> ++&mmc1 {
> ++    vmmc-supply = <&reg_cldo3>;
> ++    vqmmc-supply = <&reg_aldo1>;
> ++    mmc-pwrseq = <&wifi_pwrseq>;
> ++    bus-width = <4>;
> ++    non-removable;
> ++    status = "okay";
> ++};
> ++
> ++&uart1 {
> ++    pinctrl-names = "default";
> ++    pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
> ++    uart-has-rtscts;
> ++    status = "okay";
> ++
> ++    bluetooth {
> ++            compatible = "realtek,rtl8723bs-bt";
> ++            device-wake-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
> ++            host-wake-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
> ++            enable-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
> ++            max-speed = <1500000>;
> ++    };
> ++};
> Index: sysutils/u-boot/patches/patch-configs_pine_h64-model-b_defconfig
> ===================================================================
> RCS file: sysutils/u-boot/patches/patch-configs_pine_h64-model-b_defconfig
> diff -N sysutils/u-boot/patches/patch-configs_pine_h64-model-b_defconfig
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/u-boot/patches/patch-configs_pine_h64-model-b_defconfig  13 Jan 
> 2022 08:54:31 -0000
> @@ -0,0 +1,27 @@
> +$OpenBSD$
> +
> +Index: configs/pine_h64-model-b_defconfig
> +--- configs/pine_h64-model-b_defconfig.orig
> ++++ configs/pine_h64-model-b_defconfig
> +@@ -0,0 +1,21 @@
> ++CONFIG_ARM=y
> ++CONFIG_ARCH_SUNXI=y
> ++CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-pine-h64-model-b"
> ++CONFIG_SPL=y
> ++CONFIG_MACH_SUN50I_H6=y
> ++CONFIG_SUNXI_DRAM_H6_LPDDR3=y
> ++CONFIG_MACPWR="PC16"
> ++CONFIG_MMC0_CD_PIN="PF6"
> ++CONFIG_MMC_SUNXI_SLOT_EXTRA=2
> ++CONFIG_USB3_VBUS_PIN="PL5"
> ++CONFIG_SPL_SPI_SUNXI=y
> ++# CONFIG_PSCI_RESET is not set
> ++# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> ++CONFIG_SUN8I_EMAC=y
> ++CONFIG_PHY_SUN50I_USB3=y
> ++CONFIG_USB_XHCI_HCD=y
> ++CONFIG_USB_XHCI_DWC3=y
> ++CONFIG_USB_EHCI_HCD=y
> ++CONFIG_USB_OHCI_HCD=y
> ++CONFIG_USB_DWC3=y
> ++# CONFIG_USB_DWC3_GADGET is not set
> Index: sysutils/u-boot/pkg/PFRAG.aarch64
> ===================================================================
> RCS file: /cvs/ports/sysutils/u-boot/pkg/PFRAG.aarch64,v
> retrieving revision 1.26
> diff -u -p -u -p -r1.26 PFRAG.aarch64
> --- sysutils/u-boot/pkg/PFRAG.aarch64 29 Oct 2021 11:14:46 -0000      1.26
> +++ sysutils/u-boot/pkg/PFRAG.aarch64 13 Jan 2022 08:54:31 -0000
> @@ -117,6 +117,13 @@ share/u-boot/pine64_plus/sunxi-spl.bin
>  share/u-boot/pine64_plus/u-boot-sunxi-with-spl.bin
>  @comment share/u-boot/pine64_plus/u-boot.bin
>  @comment share/u-boot/pine64_plus/u-boot.img
> +share/u-boot/pine_h64-model-b/
> +share/u-boot/pine_h64-model-b/sunxi-spl.bin
> +@comment share/u-boot/pine_h64-model-b/u-boot
> +@comment share/u-boot/pine_h64-model-b/u-boot-spl.bin
> +share/u-boot/pine_h64-model-b/u-boot-sunxi-with-spl.bin
> +@comment share/u-boot/pine_h64-model-b/u-boot.bin
> +@comment share/u-boot/pine_h64-model-b/u-boot.img
>  share/u-boot/pinebook-pro-rk3399/
>  share/u-boot/pinebook-pro-rk3399/idbloader.img
>  @comment share/u-boot/pinebook-pro-rk3399/u-boot
> 

Reply via email to