Compare commits

..

1 Commits

Author SHA1 Message Date
2e5cddd245 update go.mod 2024-07-18 00:13:19 -07:00
15 changed files with 164 additions and 509 deletions

View File

@ -1,11 +1,8 @@
From 3e45797b2790492e2863441e24246536a33f1efd Mon Sep 17 00:00:00 2001 From c805c14c1026b3ae5445e211c2101c60cd76ad0e Mon Sep 17 00:00:00 2001
From: XiaoDong Huang <derrick.huang@rock-chips.com> From: XiaoDong Huang <derrick.huang@rock-chips.com>
Date: Mon, 17 Jun 2024 10:55:27 +0800 Date: Mon, 17 Jun 2024 10:55:27 +0800
Subject: [PATCH] feat(rk3588): enable crypto function Subject: [PATCH] feat(rk3588): enable crypto function
The CPU crypto is not default on when power up, need to enable it by
software.
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com> Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: Ifee2eab55d9c13cef5f15926fb80016845e2a66d Change-Id: Ifee2eab55d9c13cef5f15926fb80016845e2a66d
--- ---

View File

@ -19,7 +19,7 @@ import (
var configContents []byte var configContents []byte
// see https://www.kernel.org/releases.json // see https://www.kernel.org/releases.json
var latest = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.10.5.tar.xz" var latest = "https://git.kernel.org/torvalds/t/linux-6.10-rc7.tar.gz"
func downloadKernel() error { func downloadKernel() error {
out, err := os.Create(filepath.Base(latest)) out, err := os.Create(filepath.Base(latest))
@ -152,7 +152,7 @@ func main() {
log.Fatalf("untar: %v", err) log.Fatalf("untar: %v", err)
} }
srcdir := strings.TrimSuffix(filepath.Base(latest), ".tar.xz") srcdir := strings.TrimSuffix(filepath.Base(latest), ".tar.gz")
log.Printf("applying patches") log.Printf("applying patches")
if err := applyPatches(srcdir); err != nil { if err := applyPatches(srcdir); err != nil {

View File

@ -1,509 +1,66 @@
CONFIG_IPV6=y # Make sure /proc/config.gz is available
CONFIG_DYNAMIC_DEBUG=y
# For Squashfs (root file system):
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_FILE_CACHE=y
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# For a console on HDMI:
# # TODO: the simpledrm driver just does not work for me. the ASRock logo never disappears from HDMI
# # [ 0.364059] [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 0
# CONFIG_DRM_SIMPLEDRM=y
# CONFIG_X86_SYSFB=y
#
# Whereas with (working) efifb, I see:
# # [ 0.460084] efifb: probing for efifb
# # [ 0.460096] efifb: framebuffer at 0xe9000000, using 3072k, total 3072k
# # [ 0.460099] efifb: mode is 1024x768x32, linelength=4096, pages=1
# # [ 0.460101] efifb: scrolling: redraw
# # [ 0.460103] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
CONFIG_DRM_SIMPLEDRM=n
CONFIG_X86_SYSFB=n
CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_FB_SIMPLE=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# For FUSE (for cpu(1)):
CONFIG_FUSE_FS=y
# For using github.com/vishvananda/netlink
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_XFRM_USER=y
# For nftables:
CONFIG_NF_TABLES=y
CONFIG_NF_NAT_IPV4=y
CONFIG_NF_NAT_MASQUERADE_IPV4=y
CONFIG_NFT_PAYLOAD=y
CONFIG_NFT_EXTHDR=y
CONFIG_NFT_META=y
CONFIG_NFT_CT=y
CONFIG_NFT_RBTREE=y
CONFIG_NFT_HASH=y
CONFIG_NFT_COUNTER=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_NAT=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_MASQ_IPV4=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_REJECT=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_CHAIN_ROUTE_IPV4=y
CONFIG_NFT_CHAIN_NAT_IPV4=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_CHAIN_ROUTE_IPV6=y
CONFIG_NFT_OBJREF=y
CONFIG_NFT_DUP_IPV4=y
CONFIG_NFT_FIB_IPV4=y
CONFIG_NFT_DUP_IPV6=y
CONFIG_NFT_FIB_IPV6=y
# Explicitly disable nftables helper modules to prevent NAT slipstreaming attacks:
# https://samy.pl/slipstream/
CONFIG_NF_CONNTRACK_AMANDA=n
CONFIG_NF_CONNTRACK_FTP=n
CONFIG_NF_CONNTRACK_H323=n
CONFIG_NF_CONNTRACK_IRC=n
CONFIG_NF_CONNTRACK_NETBIOS_NS=n
CONFIG_NF_CONNTRACK_SNMP=n
CONFIG_NF_CONNTRACK_PPTP=n
CONFIG_NF_CONNTRACK_SANE=n
CONFIG_NF_CONNTRACK_SIP=n
CONFIG_NF_CONNTRACK_TFTP=n
# For using USB mass storage
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_STORAGE=y
# For NVMe storage
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
CONFIG_NVME_HWMON=y
CONFIG_NVME_TARGET_PASSTHRU=y
# For https://www.fs.com/products/75602.html and https://www.fs.com/products/75603.html network cards:
CONFIG_I40E=y
# For Intel E810 series network cards:
CONFIG_ICE=y
# For Broadcom 57414 10/25 Gbit/s network card:
CONFIG_BNXT=y
# For Mellanox ConnectX-4 25 Gbit/s network cards:
CONFIG_MLX5_EN=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_INFINIBAND=n
# For apu2c4 ethernet ports
CONFIG_IGB=y
# For Intel I225 ethernet ports (ASRock B550 Taichi):
CONFIG_IGC=y
# For /proc/config.gz
CONFIG_IKCONFIG=y CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
# For kexec # Can't disable modules because we're relying on generic arm64 defconfig.
CONFIG_KEXEC_FILE=y # Disabling modules will convert all modules to be built in, which is a lot.
# CONFIG_MODULES=n
# For apu2c4 watchdog
CONFIG_SP5100_TCO=y
# For WireGuard
CONFIG_NET_UDP_TUNNEL=y
CONFIG_WIREGUARD=y
# For traffic shaping using tc:
CONFIG_NET_SCH_TBF=y
# For measuring CPU temperature:
CONFIG_SENSORS_K10TEMP=y
# For measuring non-CPU temperature and fan speeds: Crashes on cm3588
# CONFIG_SENSORS_NCT6683=y
# For Corsair Commander Pro fan controller:
CONFIG_SENSORS_CORSAIR_CPRO=y
# For iproute2s ss(8):
CONFIG_INET_DIAG=y
# For macvlan ethernet devices:
CONFIG_MACVLAN=y
# For virtio drivers (for qemu):
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
# For watchdog within qemu:
CONFIG_I6300ESB_WDT=y
# For running KVM-accelerated qemu VMs:
CONFIG_KVM=y
CONFIG_KVM_INTEL=y
CONFIG_KVM_AMD=y
CONFIG_KVM_AMD_SEV=y
# For bridge ethernet devices:
CONFIG_BRIDGE=y
CONFIG_EFIVAR_FS=y
# For Ryzen CPUs:
CONFIG_X86_AMD_PLATFORM_DEVICE=y
CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_X86_POWERNOW_K8=y
CONFIG_X86_AMD_FREQ_SENSITIVITY=y
# Include hardware interrupt CPU usage in /proc/stat CPU time reporting:
CONFIG_IRQ_TIME_ACCOUNTING=y
# For tun devices, see https://www.kernel.org/doc/Documentation/networking/tuntap.txt
CONFIG_TUN=y
# For runc:
CONFIG_BPF_SYSCALL=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_BPF=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NET_SOCK_MSG=y
# For podman:
CONFIG_OVERLAY_FS=y
CONFIG_BRIDGE=y
CONFIG_VETH=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MARK=y
CONFIG_CGROUP_PIDS=y
# Enable TCP BBR as default congestion control
CONFIG_TCP_CONG_BBR=y
CONFIG_DEFAULT_BBR=y
CONFIG_DEFAULT_TCP_CONG="bbr"
# Linux 6.1:
# In file included from <command-line>:0:0:
# drivers/gpu/drm/i915/i915_sw_fence_work.c: In function 'dma_fence_work_init':
# drivers/gpu/drm/i915/i915_sw_fence.h:57:20: error: the comparison will always evaluate as 'false' for the address of 'fence_notify' will never be NULL [-Werror=address]
# BUILD_BUG_ON((fn) == NULL); \
# ^
# ././include/linux/compiler_types.h:337:9: note: in definition of macro '__compiletime_assert'
# if (!(condition)) \
# ^~~~~~~~~
# ././include/linux/compiler_types.h:357:2: note: in expansion of macro '_compiletime_assert'
# _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
# ^~~~~~~~~~~~~~~~~~~
# ./include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
# #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
# ^~~~~~~~~~~~~~~~~~
# ./include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
# BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
# ^~~~~~~~~~~~~~~~
# drivers/gpu/drm/i915/i915_sw_fence.h:57:2: note: in expansion of macro 'BUILD_BUG_ON'
# BUILD_BUG_ON((fn) == NULL); \
# ^~~~~~~~~~~~
# drivers/gpu/drm/i915/i915_sw_fence_work.c:89:2: note: in expansion of macro 'i915_sw_fence_init'
# i915_sw_fence_init(&f->chain, fence_notify);
# ^~~~~~~~~~~~~~~~~~
# cc1: all warnings being treated as errors
# make[5]: *** [drivers/gpu/drm/i915/i915_sw_fence_work.o] Error 1
# make[4]: *** [drivers/gpu/drm/i915] Error 2
# make[3]: *** [drivers/gpu/drm] Error 2
CONFIG_WERROR=n
# Enable zstd compression to stay below 15 MB, which is the size of Extended Memory.
# This is relevant to keep the kernel booting with the minimal MBR loader we use.
CONFIG_KERNEL_ZSTD=y
# For qemu -M microvm quick boots:
CONFIG_VIRTIO_MMIO=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_XEN_VIRTIO=y
CONFIG_VIRTIO_IOMMU=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NETLINK_DIAG=y
CONFIG_INET_DIAG_DESTROY=y
# More AWS stuff:
CONFIG_ENA_ETHERNET=y
CONFIG_RANDOM_TRUST_CPU=y
CONFIG_RANDOM_TRUST_BOOTLOADER=y
# For older AWS:
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
# Disable wireless-y modules, like WiFi/BT
CONFIG_BT=n
CONFIG_CFG80211=n
CONFIG_NFC=n
CONFIG_WIRELESS=n
# Speed up boot and processing in general # Speed up boot and processing in general
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_DEBUG_KERNEL=n CONFIG_DEBUG_KERNEL=n
# Enable the RK3588 CPU # Required for Tailscale
CONFIG_ARCH_ROCKCHIP=y CONFIG_TUN=y
CONFIG_CPU_RK3588=y
# Enable all the ROCKCHIP options CONFIG_ARCH_ROCKCHIP=y
CONFIG_CRYPTO_DEV_ROCKCHIP2=y CONFIG_ROCKCHIP_PHY=y
CONFIG_CRYPTO_DEV_ROCKCHIP=y CONFIG_SPI_ROCKCHIP=y
CONFIG_HW_RANDOM_ROCKCHIP=y CONFIG_SPI_ROCKCHIP_SFC=y
CONFIG_MFD_RK8XX_I2C=y CONFIG_ROCKCHIP_THERMAL=y
CONFIG_MFD_RK8XX_SPI=y
CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_NVMEM_ROCKCHIP_EFUSE=y CONFIG_ROCKCHIP_MBOX=y
CONFIG_NVMEM_ROCKCHIP_OTP=y CONFIG_ROCKCHIP_IOMMU=y
CONFIG_PCIE_ROCKCHIP_HOST=y CONFIG_ROCKCHIP_IODOMAIN=y
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_PWM_ROCKCHIP=y
CONFIG_PHY_ROCKCHIP_DP=y CONFIG_PHY_ROCKCHIP_DP=y
CONFIG_PHY_ROCKCHIP_DPHY_RX0=y CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_EMMC=y CONFIG_PHY_ROCKCHIP_EMMC=y
CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=y
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y
CONFIG_PHY_ROCKCHIP_INNO_HDMI=y CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y
CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=y
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y
CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y
CONFIG_PHY_ROCKCHIP_PCIE=y CONFIG_PHY_ROCKCHIP_PCIE=y
CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX=y
CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y
CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PHY_ROCKCHIP_TYPEC=y
CONFIG_PHY_ROCKCHIP_USB=y CONFIG_PHY_ROCKCHIP_USB=y
CONFIG_PHY_ROCKCHIP_USBDP=y CONFIG_NVMEM_ROCKCHIP_EFUSE=y
CONFIG_PWM_ROCKCHIP=y CONFIG_NVMEM_ROCKCHIP_OTP=y
CONFIG_ROCKCHIP_IODOMAIN=y CONFIG_CRYPTO_DEV_ROCKCHIP=y
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_MBOX=y
CONFIG_ROCKCHIP_PHY=y
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_THERMAL=y
CONFIG_SND_SOC_RK3328=y
CONFIG_SPI_ROCKCHIP=y
CONFIG_SPI_ROCKCHIP_SFC=y
CONFIG_VIDEO_ROCKCHIP_VDEC2=y
# CM3588 RTC driver
CONFIG_RTC_DRV_RK808=y
# Shouldn't this be done elsewhere?
CONFIG_CMDLINE="console=ttyAMA0"
# This is what friendlyelec has
CONFIG_HZ_300=y
# Quad core CPU
CONFIG_NR_CPUS=8
# Power button
CONFIG_PINCTRL_RK805=y
CONFIG_INPUT_RK805_PWRKEY=y CONFIG_INPUT_RK805_PWRKEY=y
CONFIG_PINCTRL_RK805=y
CONFIG_MFD_RK8XX_I2C=y
CONFIG_MFD_RK8XX_SPI=y
CONFIG_SND_SOC_RK3328=y
CONFIG_NR_CPUS=8
CONFIG_HZ_100=y
CONFIG_CMDLINE="console=ttyAMA0"
# Needed to ensure DWMAC_ROCKCHIP is built, which is needed for Ethernet # Needed to ensure DWMAC_ROCKCHIP is built, which is needed for Ethernet
CONFIG_STMMAC_ETH=y CONFIG_STMMAC_ETH=y
CONFIG_STMMAC_PLATFORM=y CONFIG_STMMAC_PLATFORM=y
CONFIG_DWMAC_GENERIC=y CONFIG_DWMAC_GENERIC=y
CONFIG_DWMAC_ROCKCHIP=y CONFIG_DWMAC_ROCKCHIP=y
# Ethernet driver
CONFIG_REALTEK_PHY=y CONFIG_REALTEK_PHY=y
CONFIG_R8169=y
# Try to enable HDMI out CONFIG_DRM=y
CONFIG_DRM_ROCKCHIP=y CONFIG_DRM_ROCKCHIP=y
# Try to enable sound
CONFIG_SND_SOC_ROCKCHIP=y
CONFIG_SND_SOC_ROCKCHIP_DLP_PCM=y
CONFIG_SND_SOC_ROCKCHIP_I2S=y
CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y
CONFIG_SND_SOC_ROCKCHIP_PDM=y
CONFIG_SND_SOC_ROCKCHIP_SAI=y
CONFIG_SND_SOC_ROCKCHIP_SPDIF=y
CONFIG_SND_SOC_ROCKCHIP_SPDIFRX=y
CONFIG_SND_SOC_ROCKCHIP_VAD=y
CONFIG_SND_SOC_ROCKCHIP_MAX98090=y
CONFIG_SND_SOC_ROCKCHIP_MULTICODECS=y
CONFIG_SND_SOC_ROCKCHIP_RT5645=y
CONFIG_SND_SOC_ROCKCHIP_HDMI=y
CONFIG_OVERLAY_FS=y
CONFIG_OVERLAY_FS_INDEX=y
# # disable other arches
# CONFIG_ARCH_ACTIONS=n
# CONFIG_ARCH_AIROHA=n
# CONFIG_ARCH_ALPINE=n
# CONFIG_ARCH_APPLE=n
# CONFIG_ARCH_BCM2835=n
# CONFIG_ARCH_BCM=n
# CONFIG_ARCH_BCM_IPROC=n
# CONFIG_ARCH_BCMBCA=n
# CONFIG_ARCH_BERLIN=n
# CONFIG_ARCH_BRCMSTB=n
# CONFIG_ARCH_EXYNOS=n
# CONFIG_ARCH_HISI=n
# CONFIG_ARCH_INTEL_SOCFPGA=n
# CONFIG_ARCH_K3=n
# CONFIG_ARCH_KEEMBAY=n
# CONFIG_ARCH_LAYERSCAPE=n
# CONFIG_ARCH_LG1K=n
# CONFIG_ARCH_MA35=n
# CONFIG_ARCH_MEDIATEK=n
# CONFIG_ARCH_MESON=n
# CONFIG_ARCH_MVEBU=n
# CONFIG_ARCH_MXC=n
# CONFIG_ARCH_NPCM=n
# CONFIG_ARCH_NXP=n
# CONFIG_ARCH_QCOM=n
# CONFIG_ARCH_R8A774A1=n
# CONFIG_ARCH_R8A774B1=n
# CONFIG_ARCH_R8A774C0=n
# CONFIG_ARCH_R8A774E1=n
# CONFIG_ARCH_R8A77951=n
# CONFIG_ARCH_R8A77960=n
# CONFIG_ARCH_R8A77961=n
# CONFIG_ARCH_R8A77965=n
# CONFIG_ARCH_R8A77970=n
# CONFIG_ARCH_R8A77980=n
# CONFIG_ARCH_R8A77990=n
# CONFIG_ARCH_R8A77995=n
# CONFIG_ARCH_R8A779A0=n
# CONFIG_ARCH_R8A779F0=n
# CONFIG_ARCH_R8A779G0=n
# CONFIG_ARCH_R8A779H0=n
# CONFIG_ARCH_R9A07G043=n
# CONFIG_ARCH_R9A07G044=n
# CONFIG_ARCH_R9A07G054=n
# CONFIG_ARCH_R9A08G045=n
# CONFIG_ARCH_R9A09G011=n
# CONFIG_ARCH_R9A09G057=n
# CONFIG_ARCH_REALTEK=n
# CONFIG_ARCH_RENESAS=n
# CONFIG_ARCH_S32=n
# CONFIG_ARCH_SEATTLE=n
# CONFIG_ARCH_SPARX5=n
# CONFIG_ARCH_SPRD=n
# CONFIG_ARCH_STM32=n
# CONFIG_ARCH_SUNXI=n
# CONFIG_ARCH_SYNQUACER=n
# CONFIG_ARCH_TEGRA=n
# CONFIG_ARCH_TEGRA_132_SOC=n
# CONFIG_ARCH_TEGRA_186_SOC=n
# CONFIG_ARCH_TEGRA_194_SOC=n
# CONFIG_ARCH_TEGRA_210_SOC=n
# CONFIG_ARCH_TEGRA_234_SOC=n
# CONFIG_ARCH_TESLA_FSD=n
# CONFIG_ARCH_THUNDER2=n
# CONFIG_ARCH_THUNDER=n
# CONFIG_ARCH_UNIPHIER=n
# CONFIG_ARCH_VEXPRESS=n
# CONFIG_ARCH_VISCONTI=n
# CONFIG_ARCH_XGENE=n
# CONFIG_ARCH_ZYNQMP=n
# CONFIG_GOOGLE_FIRMWARE=n
# CONFIG_ATA=n
# CONFIG_MD=n
# CONFIG_NET_VENDOR_3COM=n
# CONFIG_NET_VENDOR_ADAPTEC=n
# CONFIG_NET_VENDOR_AGERE=n
# CONFIG_NET_VENDOR_ALACRITECH=n
# CONFIG_NET_VENDOR_ALTEON=n
# CONFIG_NET_VENDOR_AMAZON=n
# CONFIG_NET_VENDOR_AMD=n
# CONFIG_NET_VENDOR_AQUANTIA=n
# CONFIG_NET_VENDOR_ARC=n
# CONFIG_NET_VENDOR_ASIX=n
# CONFIG_NET_VENDOR_ATHEROS=n
# CONFIG_NET_VENDOR_CADENCE=n
# CONFIG_NET_VENDOR_CAVIUM=n
# CONFIG_NET_VENDOR_CHELSIO=n
# CONFIG_NET_VENDOR_CISCO=n
# CONFIG_NET_VENDOR_CORTINA=n
# CONFIG_NET_VENDOR_DAVICOM=n
# CONFIG_NET_VENDOR_DEC=n
# CONFIG_NET_VENDOR_DLINK=n
# CONFIG_NET_VENDOR_EMULEX=n
# CONFIG_NET_VENDOR_ENGLEDER=n
# CONFIG_NET_VENDOR_EZCHIP=n
# CONFIG_NET_VENDOR_FUNGIBLE=n
# CONFIG_NET_VENDOR_GOOGLE=n
# CONFIG_NET_VENDOR_HISILICON=n
# CONFIG_NET_VENDOR_HUAWEI=n
# CONFIG_NET_VENDOR_I825XX=n
# CONFIG_NET_VENDOR_INTEL=n
# CONFIG_NET_VENDOR_ADI=n
# CONFIG_NET_VENDOR_LITEX=n
# CONFIG_NET_VENDOR_MARVELL=n
# CONFIG_NET_VENDOR_MELLANOX=n
# CONFIG_NET_VENDOR_MICREL=n
# CONFIG_NET_VENDOR_MICROCHIP=n
# CONFIG_NET_VENDOR_MICROSEMI=n
# CONFIG_NET_VENDOR_MICROSOFT=n
# CONFIG_NET_VENDOR_MnRI=n
# CONFIG_NET_VENDOR_NI=n
# CONFIG_NET_VENDOR_NATSEMI=n
# CONFIG_NET_VENDOR_NETERION=n
# CONFIG_NET_VENDOR_NETRONOME=n
# CONFIG_NET_VENDOR_8390=n
# CONFIG_NET_VENDOR_NVIDIA=n
# CONFIG_NET_VENDOR_OKI=n
# CONFIG_NET_VENDOR_PACKET_ENGINES=n
# CONFIG_NET_VENDOR_PENSANDO=n
# CONFIG_NET_VENDOR_QLOGIC=n
# CONFIG_NET_VENDOR_BROCADE=n
# CONFIG_NET_VENDOR_QUALCOMM=n
# CONFIG_NET_VENDOR_RDC=n
# CONFIG_NET_VENDOR_BROADCOM=n
# CONFIG_NET_VENDOR_RENESAS=n
# CONFIG_NET_VENDOR_ROCKER=n
# CONFIG_NET_VENDOR_SAMSUNG=n
# CONFIG_NET_VENDOR_SEEQ=n
# CONFIG_NET_VENDOR_SILAN=n
# CONFIG_NET_VENDOR_SIS=n
# CONFIG_NET_VENDOR_SOLARFLARE=n
# CONFIG_NET_VENDOR_SMSC=n
# CONFIG_NET_VENDOR_SOCIONEXT=n
# CONFIG_NET_VENDOR_STMICRO=n
# CONFIG_NET_VENDOR_SUN=n
# CONFIG_NET_VENDOR_SnNOPSnS=n
# CONFIG_NET_VENDOR_TEHUTI=n
# CONFIG_NET_VENDOR_TI=n
# CONFIG_NET_VENDOR_VERTEXCOM=n
# CONFIG_NET_VENDOR_VIA=n
# CONFIG_NET_VENDOR_WANGXUN=n
# CONFIG_NET_VENDOR_WIZNET=n
# CONFIG_NET_VENDOR_XILINX=n

View File

@ -11,9 +11,9 @@ import (
"strconv" "strconv"
) )
const ubootRev = "a3cd0b4c632fff0f39013efebd419356eb6b4064" const ubootRev = "fd46ea0e701920eb205c2bce9d527bf0dec10b59"
const ubootTS = 1723759665 const ubootTS = 1720219003
const trustedRepoRev = "a4e2a9f16d5c4620cd824294ef91a198fd276c80" const trustedRepoRev = "c970c1c38f6d06a3e48e00ea7533c0e427311bcb"
const ( const (
uBootRepo = "https://github.com/u-boot/u-boot" uBootRepo = "https://github.com/u-boot/u-boot"
@ -47,7 +47,7 @@ func applyPatches(srcdir, t string) error {
} }
func compile(trustedFirmwareDir string) error { func compile(trustedFirmwareDir string) error {
defconfig := exec.Command("make", "ARCH=arm64", "cm3588-nas-rk3588_defconfig") defconfig := exec.Command("make", "ARCH=arm64", "nanopc-t6-rk3588_defconfig")
defconfig.Stdout = os.Stdout defconfig.Stdout = os.Stdout
defconfig.Stderr = os.Stderr defconfig.Stderr = os.Stderr
if err := defconfig.Run(); err != nil { if err := defconfig.Run(); err != nil {

View File

@ -46,6 +46,7 @@ var patchFiles = []string{
"kernel.patches/0002-arm64-dts-rockchip-Add-FriendlyElec-CM3588-NAS-board.patch", "kernel.patches/0002-arm64-dts-rockchip-Add-FriendlyElec-CM3588-NAS-board.patch",
"kernel.patches/0010-fix-clk-divisions.patch", "kernel.patches/0010-fix-clk-divisions.patch",
"kernel.patches/0011-irqchip-fix-its-timeout-issue.patch", "kernel.patches/0011-irqchip-fix-its-timeout-issue.patch",
"kernel.patches/0012-fix-initial-PERST-GPIO-value.patch",
"kernel.patches/0022-RK3588-Add-Thermal-and-CpuFreq-Support.patch", "kernel.patches/0022-RK3588-Add-Thermal-and-CpuFreq-Support.patch",
"kernel.patches/0024-RK3588-Add-Crypto-Support.patch", "kernel.patches/0024-RK3588-Add-Crypto-Support.patch",
"kernel.patches/0025-RK3588-Add-HW-RNG-Support.patch", "kernel.patches/0025-RK3588-Add-HW-RNG-Support.patch",
@ -77,6 +78,7 @@ var patchFiles = []string{
"kernel.patches/1040-board-khadas-edge2-add-nodes.patch", "kernel.patches/1040-board-khadas-edge2-add-nodes.patch",
"kernel.patches/1041-board-khadas-edge2-mcu.patch", "kernel.patches/1041-board-khadas-edge2-mcu.patch",
"kernel.patches/1051-arm64-dts-rockchip-Add-NanoPC-T6-SPI-Flash.patch", "kernel.patches/1051-arm64-dts-rockchip-Add-NanoPC-T6-SPI-Flash.patch",
// "linux-6.10-rc7.tar.gz",
} }
func copyFile(dest, src string) error { func copyFile(dest, src string) error {
@ -121,7 +123,7 @@ func find(filename string) (string, error) {
return filename, nil return filename, nil
} }
path := filepath.Join(gopath, "src", "github.com", "lordwelch", "gokrazy-cm3588-kernel", filename) path := filepath.Join(gopath, "src", "github.com", "anupcshan", "gokrazy-rock64-kernel", filename)
if _, err := os.Stat(path); err == nil { if _, err := os.Stat(path); err == nil {
return path, nil return path, nil
} }
@ -169,7 +171,7 @@ func main() {
} }
defer os.RemoveAll(tmp) defer os.RemoveAll(tmp)
cmd := exec.Command("go", "build", "-o", tmp, "github.com/lordwelch/gokrazy-cm3588-kernel/cmd/gokr-build-kernel") cmd := exec.Command("go", "build", "-o", tmp, "github.com/anupcshan/gokrazy-rock64-kernel/cmd/gokr-build-kernel")
cmd.Env = append(os.Environ(), "GOOS=linux", "CGO_ENABLED=0") cmd.Env = append(os.Environ(), "GOOS=linux", "CGO_ENABLED=0")
cmd.Stderr = os.Stderr cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {
@ -202,7 +204,7 @@ func main() {
// Copy all files into the temporary directory so that docker // Copy all files into the temporary directory so that docker
// includes them in the build context. // includes them in the build context.
for _, path := range patchPaths { for _, path := range patchPaths {
if err := copyFile(filepath.Join(tmp, path), path); err != nil { if err := copyFile(filepath.Join(tmp, "kernel.patches", filepath.Base(path)), path); err != nil {
log.Fatal(err) log.Fatal(err)
} }
} }

View File

@ -94,7 +94,7 @@ func find(filename string) (string, error) {
return filename, nil return filename, nil
} }
path := filepath.Join(gopath, "src", "github", "lordwelch", "gokrazy-cm3588-kernel", filename) path := filepath.Join(gopath, "src", "github.com", "anupcshan", "gokrazy-rock64-kernel", filename)
if _, err := os.Stat(path); err == nil { if _, err := os.Stat(path); err == nil {
return path, nil return path, nil
} }
@ -142,7 +142,7 @@ func main() {
} }
defer os.RemoveAll(tmp) defer os.RemoveAll(tmp)
cmd := exec.Command("go", "build", "-o", tmp, "github/lordwelch/gokrazy-cm3588-kernel/cmd/gokr-build-uboot") cmd := exec.Command("go", "build", "-o", tmp, "github.com/anupcshan/gokrazy-rock64-kernel/cmd/gokr-build-uboot")
cmd.Env = append(os.Environ(), "GOOS=linux", "CGO_ENABLED=0") cmd.Env = append(os.Environ(), "GOOS=linux", "CGO_ENABLED=0")
cmd.Stderr = os.Stderr cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {

2
go.mod
View File

@ -1,3 +1,3 @@
module github.com/lordwelch/gokrazy-cm3588-kernel module gitea.narnian.us/lordwelch/gokrazy-cm3588-kernel
go 1.22 go 1.22

View File

@ -18,7 +18,7 @@ diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation
index fcf7316ec..86379b8cc 100644 index fcf7316ec..86379b8cc 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.yaml --- a/Documentation/devicetree/bindings/arm/rockchip.yaml
+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
@@ -248,6 +248,13 @@ properties: @@ -236,6 +236,13 @@ properties:
- const: friendlyarm,nanopc-t6 - const: friendlyarm,nanopc-t6
- const: rockchip,rk3588 - const: rockchip,rk3588
@ -29,9 +29,9 @@ index fcf7316ec..86379b8cc 100644
+ - const: friendlyarm,cm3588 + - const: friendlyarm,cm3588
+ - const: rockchip,rk3588 + - const: rockchip,rk3588
+ +
- description: GameForce Chi - description: GeekBuying GeekBox
items: items:
- const: gameforce,chi - const: geekbuying,geekbox
-- --
2.45.2 2.45.2

View File

@ -0,0 +1,69 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Sun, 2 Jun 2024 21:53:01 +0200
Subject: compile .scr and install overlays in right path
---
scripts/Makefile.dtbinst | 13 +++++++++-
scripts/Makefile.lib | 8 +++++-
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
index 111111111111..222222222222 100644
--- a/scripts/Makefile.dtbinst
+++ b/scripts/Makefile.dtbinst
@@ -33,7 +33,18 @@ endef
$(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
-dtbs := $(notdir $(dtbs))
+# Very convoluted way to flatten all the device tree
+# directories, but keep the "/overlay/" directory
+
+# topmost directory (ie: from rockchip/overlay/rk322x-emmc.dtbo extracts rockchip)
+topmost_dir = $(firstword $(subst /, ,$(dtbs)))
+# collect dtbs entries which starts with "$topmost_dir/overlay/", then remove "$topmost_dir"
+dtbs_overlays = $(subst $(topmost_dir)/,,$(filter $(topmost_dir)/overlay/%, $(dtbs)))
+# collect the non-overlay dtbs
+dtbs_regular = $(filter-out $(topmost_dir)/overlay/%, $(dtbs))
+# compose the dtbs variable flattening all the non-overlays entries
+# and appending the overlays entries
+dtbs := $(notdir $(dtbs_regular)) $(dtbs_overlays)
endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 111111111111..222222222222 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -402,7 +402,7 @@ $(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE
quiet_cmd_dtc = DTC $@
cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
- $(DTC) -o $@ -b 0 \
+ $(DTC) -@ -o $@ -b 0 \
$(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
-d $(depfile).dtc.tmp $(dtc-tmp) ; \
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
@@ -427,12 +427,18 @@ quiet_cmd_dtb = $(quiet_cmd_dtc)
cmd_dtb = $(cmd_dtc)
endif
+quiet_cmd_scr = MKIMAGE $@
+cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@
+
$(obj)/%.dtb: $(obj)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
$(call if_changed_dep,dtb)
$(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE
$(call if_changed_dep,dtc)
+$(obj)/%.scr: $(src)/%.scr-cmd FORCE
+ $(call if_changed,scr)
+
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
# Bzip2
--
Armbian

View File

@ -47,14 +47,14 @@ diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchi
index f906a868b..c528f5382 100644 index f906a868b..c528f5382 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile --- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -118,6 +118,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-io.dtb @@ -112,6 +112,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-io.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-wifi.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-wifi.dtbo
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6b-io.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6b-io.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-friendlyelec-cm3588-nas.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-friendlyelec-cm3588-nas.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-jaguar.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-jaguar.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-ok3588-c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-plus.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts b/arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts diff --git a/arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts b/arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts
new file mode 100644 new file mode 100644
index 000000000..83103e4c7 index 000000000..83103e4c7

View File

@ -23,7 +23,7 @@ index 111111111111..222222222222 100644
static struct page *its_allocate_prop_table(gfp_t gfp_flags) static struct page *its_allocate_prop_table(gfp_t gfp_flags)
{ {
struct page *prop_page; struct page *prop_page;
+ +
+ if (of_machine_is_compatible("rockchip,rk3568") || of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588")) + if (of_machine_is_compatible("rockchip,rk3568") || of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588"))
+ gfp_flags |= GFP_DMA32; + gfp_flags |= GFP_DMA32;
@ -45,7 +45,7 @@ index 111111111111..222222222222 100644
+ gfp_flags = GFP_KERNEL | __GFP_ZERO; + gfp_flags = GFP_KERNEL | __GFP_ZERO;
+ if (of_machine_is_compatible("rockchip,rk3568") || of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588")) + if (of_machine_is_compatible("rockchip,rk3568") || of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588"))
+ gfp_flags |= GFP_DMA32; + gfp_flags |= GFP_DMA32;
+ +
+ page = alloc_pages_node(its->numa_node, gfp_flags, order); + page = alloc_pages_node(its->numa_node, gfp_flags, order);
if (!page) if (!page)
return -ENOMEM; return -ENOMEM;
@ -71,7 +71,7 @@ index 111111111111..222222222222 100644
{ {
struct page *pend_page; struct page *pend_page;
- -
+ +
+ if (of_machine_is_compatible("rockchip,rk3568") || of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588")) + if (of_machine_is_compatible("rockchip,rk3568") || of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588"))
+ gfp_flags |= GFP_DMA32; + gfp_flags |= GFP_DMA32;
pend_page = alloc_pages(gfp_flags | __GFP_ZERO, pend_page = alloc_pages(gfp_flags | __GFP_ZERO,
@ -128,7 +128,7 @@ index 111111111111..222222222222 100644
sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1; sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1;
- itt = kzalloc_node(sz, GFP_KERNEL, its->numa_node); - itt = kzalloc_node(sz, GFP_KERNEL, its->numa_node);
+ gfp_flags = GFP_KERNEL; + gfp_flags = GFP_KERNEL;
+ +
+ if (of_machine_is_compatible("rockchip,rk3568") || of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588")) { + if (of_machine_is_compatible("rockchip,rk3568") || of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588")) {
+ gfp_flags |= GFP_DMA32; + gfp_flags |= GFP_DMA32;
+ itt = (void *)__get_free_pages(gfp_flags, get_order(sz)); + itt = (void *)__get_free_pages(gfp_flags, get_order(sz));
@ -167,13 +167,13 @@ index 111111111111..222222222222 100644
raw_spin_unlock_irqrestore(&its_dev->its->lock, flags); raw_spin_unlock_irqrestore(&its_dev->its->lock, flags);
kfree(its_dev->event_map.col_map); kfree(its_dev->event_map.col_map);
- kfree(its_dev->itt); - kfree(its_dev->itt);
+ +
+ if (of_machine_is_compatible("rockchip,rk3568") || + if (of_machine_is_compatible("rockchip,rk3568") ||
+ of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588")) + of_machine_is_compatible("rockchip,rk3566") || of_machine_is_compatible("rockchip,rk3588"))
+ free_pages((unsigned long)its_dev->itt, get_order(its_dev->itt_sz)); + free_pages((unsigned long)its_dev->itt, get_order(its_dev->itt_sz));
+ else + else
+ kfree(its_dev->itt); + kfree(its_dev->itt);
+ +
kfree(its_dev); kfree(its_dev);
} }

View File

@ -0,0 +1,30 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: yangchaohong <45483831+yangchaohong@users.noreply.github.com>
Date: Wed, 1 May 2024 08:30:43 +0100
Subject: [ARCHEOLOGY] Fix PCIe for RK35xx+Fix ROCK5A PCIe device tree
> X-Git-Archeology: - Revision b1f648ee755de73a922a33d6a432f310ea4ff3e0: https://github.com/armbian/build/commit/b1f648ee755de73a922a33d6a432f310ea4ff3e0
> X-Git-Archeology: Date: Wed, 01 May 2024 08:30:43 +0100
> X-Git-Archeology: From: yangchaohong <45483831+yangchaohong@users.noreply.github.com>
> X-Git-Archeology: Subject: Fix PCIe for RK35xx+Fix ROCK5A PCIe device tree
> X-Git-Archeology:
---
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
index 111111111111..222222222222 100644
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
@@ -240,7 +240,7 @@ static int rockchip_pcie_resource_get(struct platform_device *pdev,
return PTR_ERR(rockchip->apb_base);
rockchip->rst_gpio = devm_gpiod_get_optional(&pdev->dev, "reset",
- GPIOD_OUT_HIGH);
+ GPIOD_OUT_LOW);
if (IS_ERR(rockchip->rst_gpio))
return PTR_ERR(rockchip->rst_gpio);
--
Armbian

View File

@ -65,9 +65,9 @@ index 111111111111..222222222222 100644
+ try-power-role = "source"; + try-power-role = "source";
+ op-sink-microwatt = <1000000>; + op-sink-microwatt = <1000000>;
+ sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM) + sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
+ PDO_FIXED(9000, 3000, PDO_FIXED_USB_COMM) + PDO_FIXED(9000, 3000, PDO_FIXED_USB_COMM)
+ PDO_FIXED(12000, 3000, PDO_FIXED_USB_COMM)>; + PDO_FIXED(12000, 3000, PDO_FIXED_USB_COMM)>;
+ source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; + source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ +
+ ports { + ports {
+ #address-cells = <1>; + #address-cells = <1>;

Binary file not shown.

BIN
vmlinuz

Binary file not shown.