1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-03-09 15:40:20 +00:00

Try to support RPI4

This commit is contained in:
Ycarus (Yannick Chabanois) 2019-07-04 20:51:23 +02:00
parent d005750a48
commit fb31f0fe9a
16 changed files with 2920 additions and 118 deletions

View file

@ -0,0 +1,25 @@
From ca8a6a85b4753a386f519b8b2d8436f34badc543 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@gherzan.ro>
Date: Wed, 3 Jul 2019 16:15:21 +0100
Subject: [PATCH] brcmfmac43455-sdio.txt: Sync NVRAM configuration Raspbian
Fixes: https://github.com/RPi-Distro/firmware-nonfree/issues/3
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
brcm/brcmfmac43455-sdio.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/brcm/brcmfmac43455-sdio.txt b/brcm/brcmfmac43455-sdio.txt
index 54d9321..6801286 100644
--- a/brcm/brcmfmac43455-sdio.txt
+++ b/brcm/brcmfmac43455-sdio.txt
@@ -21,7 +21,7 @@ btc_mode=1
# bit1 for btcoex
boardflags=0x00480201
boardflags2=0x40800000
-boardflags3=0x48200100
+boardflags3=0x44200100
phycal_tempdelta=15
rxchain=1
txchain=1

View file

@ -1,13 +1,21 @@
# CONFIG_AIO is not set
CONFIG_ALIGNMENT_TRAP=y
CONFIG_ALTERA_MSGDMA=y
CONFIG_AMBA_PL08X=y
# CONFIG_ARCH_AXXIA is not set
CONFIG_ARCH_BCM=y
CONFIG_ARCH_BCM2835=y
CONFIG_ARCH_CRYPTO=y
# CONFIG_ARCH_BCM_HR2 is not set
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_ARCH_HAS_KCOV=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
@ -16,22 +24,17 @@ CONFIG_ARCH_HAS_TICK_BROADCAST=y
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_ARCH_MMAP_RND_BITS_MAX=15
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_MULTI_CPU_AUTO is not set
CONFIG_ARCH_MULTI_V6_V7=y
CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_NR_GPIO=0
CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
# CONFIG_ARCH_WANTS_THP_SWAP is not set
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_ARM=y
@ -40,6 +43,8 @@ CONFIG_ARM_ARCH_TIMER=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_BCM2835_CPUFREQ=y
CONFIG_ARM_CPU_SUSPEND=y
CONFIG_ARM_CRYPTO=y
CONFIG_ARM_GIC=y
CONFIG_ARM_HAS_SG_CHAIN=y
CONFIG_ARM_L1_CACHE_SHIFT=6
CONFIG_ARM_L1_CACHE_SHIFT_6=y
@ -53,35 +58,52 @@ CONFIG_ARM_THUMB=y
CONFIG_ARM_TIMER_SP804=y
CONFIG_ARM_UNWIND=y
CONFIG_ARM_VIRT_EXT=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_ASYNC_XOR=y
CONFIG_AUTO_ZRELADDR=y
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BCM2708_VCMEM=y
# CONFIG_BCM2835_DEVGPIOMEM is not set
CONFIG_BCM2835_MBOX=y
# CONFIG_BCM2835_POWER is not set
# CONFIG_BCM2835_SMI is not set
CONFIG_BCM2835_THERMAL=y
CONFIG_BCM2835_TIMER=y
CONFIG_BCM2835_VCHIQ=y
# CONFIG_BCM2835_VCHIQ_SUPPORT_MEMDUMP is not set
CONFIG_BCM2835_VCHIQ_MMAL=y
CONFIG_BCM2835_WDT=y
CONFIG_BCM7XXX_PHY=y
CONFIG_BCMGENET=y
CONFIG_BCM_NET_PHYLIB=y
CONFIG_BCM_VCIO=y
CONFIG_BCM_VC_SM=y
CONFIG_BCM_VC_SM_CMA=y
CONFIG_BCM_VIDEOCORE=y
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_DM_BUILTIN=y
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_BRCM_CHAR_DRIVERS=y
CONFIG_BRCMFMAC_USB=y
CONFIG_BOUNCE=y
CONFIG_BRCMSTB_THERMAL=y
CONFIG_BRCM_CHAR_DRIVERS=y
CONFIG_BROADCOM_PHY=y
CONFIG_BUILD_BIN2C=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_CB710_CORE=y
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_CLKSRC_MMIO=y
CONFIG_CLONE_BACKWARDS=y
@ -90,14 +112,13 @@ CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUG is not set
# CONFIG_CMA_DEBUGFS is not set
CONFIG_CMA_SIZE_MBYTES=16
CONFIG_CMA_SIZE_MBYTES=5
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_MIN is not set
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
CONFIG_COMMON_CLK=y
CONFIG_CONFIGFS_FS=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_TRANSLATIONS=y
# CONFIG_CPUFREQ_DT is not set
CONFIG_CPU_32v6K=y
@ -129,6 +150,7 @@ CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_CPU_PABRT_V7=y
CONFIG_CPU_PM=y
CONFIG_CPU_RMAP=y
CONFIG_CPU_SPECTRE=y
# CONFIG_CPU_THERMAL is not set
CONFIG_CPU_THUMB_CAPABLE=y
CONFIG_CPU_TLB_V7=y
@ -136,81 +158,79 @@ CONFIG_CPU_V7=y
CONFIG_CRC16=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CHACHA20_NEON is not set
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32_ARM_CE is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_GHASH_ARM_CE is not set
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_RNG2=y
# CONFIG_CRYPTO_SHA1_ARM_CE is not set
# CONFIG_CRYPTO_SHA1_ARM_NEON is not set
# CONFIG_CRYPTO_SHA256_ARM is not set
# CONFIG_CRYPTO_SHA2_ARM_CE is not set
# CONFIG_CRYPTO_SHA512_ARM is not set
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_DEBUG_ALIGN_RODATA=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
# CONFIG_DEBUG_UART_8250 is not set
# CONFIG_DEBUG_USER is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_DEFAULT_MPTCP_PM="fullmesh"
CONFIG_DMADEVICES=y
CONFIG_DMA_BCM2708=y
CONFIG_DMA_BCM2835=y
CONFIG_DMA_CMA=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_NOOP_OPS is not set
CONFIG_DMA_OF=y
CONFIG_DMA_SHARED_BUFFER=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
# CONFIG_DMA_VIRT_OPS is not set
CONFIG_DM_BIO_PRISON=y
CONFIG_DM_BUFIO=y
CONFIG_DM_CACHE=y
CONFIG_DM_CACHE_SMQ=y
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_DELAY=y
# CONFIG_DM_MIRROR is not set
CONFIG_DM_PERSISTENT_DATA=y
CONFIG_DM_RAID=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_ZERO=y
CONFIG_DNOTIFY=y
# CONFIG_DRM_LIB_RANDOM is not set
CONFIG_DRM_PANEL_LVDS=n
CONFIG_DRM_PANEL_INNOLUX_P079ZCA=n
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=n
CONFIG_DRM_PANEL_SITRONIX_ST7789V=n
CONFIG_DRM_VC4_HDMI_CEC=n
CONFIG_DTC=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DW_AXI_DMAC=y
CONFIG_DW_DMAC=y
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC_PCI=y
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_EXPORTFS=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FS is not set
# CONFIG_F2FS_FS_SECURITY is not set
# CONFIG_F2FS_FS_XATTR is not set
# CONFIG_F2FS_STAT_FS is not set
CONFIG_FB=y
CONFIG_FB_BCM2708=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_CMDLINE=y
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
# CONFIG_FB_RPISENSE is not set
CONFIG_FIQ=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_FIXED_PHY=y
CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x16=y
CONFIG_FONT_8x8=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FPE_FASTFPE is not set
# CONFIG_FPE_NWFPE is not set
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_FREEZER=y
CONFIG_FSL_EDMA=y
CONFIG_FS_IOMAP=y
CONFIG_FS_MBCACHE=y
CONFIG_FS_POSIX_ACL=y
CONFIG_FUTEX_PI=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_GENERIC_ARCH_TOPOLOGY=y
CONFIG_GENERIC_BUG=y
@ -219,9 +239,13 @@ CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_GENERIC_IDLE_POLL_SETUP=y
CONFIG_GENERIC_IO=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_PINCONF=y
CONFIG_GENERIC_PINCTRL_GROUPS=y
@ -232,33 +256,29 @@ CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_IRQCHIP=y
CONFIG_GPIO_ARIZONA=y
CONFIG_GPIO_BCM_EXP=y
CONFIG_GPIO_BCM_VIRT=y
# CONFIG_GPIO_RASPBERRYPI_EXP is not set
CONFIG_GPIO_SYSFS=y
# CONFIG_GRO_CELLS is not set
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_HAVE_ARCH_BITREVERSE=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_PFN_VALID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARM_ARCH_TIMER=y
CONFIG_HAVE_ARM_SMCCC=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
CONFIG_HAVE_CC_STACKPROTECTOR=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
@ -268,7 +288,10 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_HAVE_GENERIC_GUP=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_HAVE_NET_DSA=y
@ -278,12 +301,15 @@ CONFIG_HAVE_PERF_EVENTS=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_PROC_CPU=y
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_SMP=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_UID16=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_HUGETLBFS is not set
CONFIG_HW_CONSOLE=y
CONFIG_HZ_FIXED=0
CONFIG_IKCONFIG=y
@ -293,10 +319,11 @@ CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_IOMMU_HELPER=y
CONFIG_INTEL_IDMA64=y
CONFIG_IOSCHED_CFQ=y
CONFIG_IRQCHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_WORK=y
CONFIG_JBD2=y
@ -305,42 +332,75 @@ CONFIG_KERNEL_GZIP=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGER_INPUT=y
CONFIG_LIBCRC32C=y
CONFIG_LIBFDT=y
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_MAC_PARTITION=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAILBOX=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAX_RAW_DEVS=256
CONFIG_MD=y
# CONFIG_MDIO_BUS is not set
CONFIG_MDIO_BCM_UNIMAC=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVICE=y
CONFIG_MD_AUTODETECT=y
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_MULTIPATH is not set
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_MFD_ARIZONA=y
CONFIG_MFD_STMPE=y
CONFIG_MFD_WM5102=y
CONFIG_MFD_CORE=y
CONFIG_MFD_SYSCON=y
# CONFIG_MFD_RPISENSE_CORE is not set
CONFIG_MICROCHIP_PHY=y
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
CONFIG_MIGHT_HAVE_PCI=y
CONFIG_MIGRATION=y
CONFIG_MISC_RTSX=y
CONFIG_MISC_RTSX_PCI=y
CONFIG_MMC=y
# CONFIG_MMC_BCM2835 is not set
CONFIG_MMC_ARMMMCI=y
CONFIG_MMC_BCM2835=y
CONFIG_MMC_BCM2835_DMA=y
CONFIG_MMC_BCM2835_MMC=y
CONFIG_MMC_BCM2835_PIO_DMA_BARRIER=2
CONFIG_MMC_BCM2835_SDHOST=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=32
CONFIG_MMC_CB710=y
CONFIG_MMC_CQHCI=y
CONFIG_MMC_DEBUG=y
CONFIG_MMC_DW=y
# CONFIG_MMC_DW_BLUEFIELD is not set
# CONFIG_MMC_DW_EXYNOS is not set
# CONFIG_MMC_DW_HI3798CV200 is not set
# CONFIG_MMC_DW_K3 is not set
# CONFIG_MMC_DW_PCI is not set
CONFIG_MMC_DW_PLTFM=y
CONFIG_MMC_MTK=y
CONFIG_MMC_REALTEK_PCI=y
CONFIG_MMC_SDHCI=y
# CONFIG_MMC_SDHCI_IPROC us not set
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ARASAN=y
CONFIG_MMC_SDHCI_OF_AT91=y
CONFIG_MMC_SDHCI_OF_DWCMSHC=y
CONFIG_MMC_SDHCI_CADENCE=y
CONFIG_MMC_SDHCI_IPROC=y
CONFIG_MMC_SDHCI_PLTFM=y
# CONFIG_MMC_TIFM_SD is not set
CONFIG_MODULES_USE_ELF_REL=y
# CONFIG_MTD is not set
CONFIG_MULTI_IRQ_HANDLER=y
# CONFIG_MTK_AEE_KDUMP is not set
CONFIG_MTK_MMC=y
# CONFIG_MTK_MMC_CD_POLL is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_NBPFAXI_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEON=y
CONFIG_NET_FLOW_LIMIT=y
@ -352,6 +412,7 @@ CONFIG_NO_HZ=y
CONFIG_NO_HZ_COMMON=y
CONFIG_NO_HZ_IDLE=y
CONFIG_NR_CPUS=4
CONFIG_NVMEM=y
CONFIG_OABI_COMPAT=y
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
@ -361,6 +422,8 @@ CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
CONFIG_OF_IRQ=y
CONFIG_OF_KOBJ=y
CONFIG_OF_MDIO=y
CONFIG_OF_NET=y
CONFIG_OF_OVERLAY=y
CONFIG_OF_RESERVED_MEM=y
@ -368,16 +431,22 @@ CONFIG_OF_RESOLVE=y
CONFIG_OLD_SIGACTION=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_PADATA=y
CONFIG_PAGE_OFFSET=0x80000000
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_PCI=y
CONFIG_PCIE_BRCMSTB=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DOMAINS_GENERIC=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DOMAINS_GENERIC is not set
# CONFIG_PCI_SYSCALL is not set
CONFIG_PCI_MSI_IRQ_DOMAIN=y
# CONFIG_PCI_V3_SEMI is not set
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PGTABLE_LEVELS=2
CONFIG_PGTABLE_LEVELS=3
CONFIG_PHYLIB=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_BCM2835=y
CONFIG_PL330_DMA=y
CONFIG_PLUGIN_HOSTCC="g++"
CONFIG_PM=y
CONFIG_PM_CLK=y
# CONFIG_PM_DEBUG is not set
@ -387,27 +456,30 @@ CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_POWER_SUPPLY=y
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
CONFIG_PRINTK_TIME=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PWM=y
CONFIG_PWM_BCM2835=y
CONFIG_PWM_SYSFS=y
CONFIG_QCOM_HIDMA=y
CONFIG_QCOM_HIDMA_MGMT=y
CONFIG_RAID6_PQ=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
CONFIG_RATIONAL=y
CONFIG_RAW_DRIVER=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_RFS_ACCEL=y
CONFIG_RPS=y
CONFIG_RTS5208=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_SCHED_INFO is not set
CONFIG_SCSI=y
# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_PROC_FS is not set
@ -424,32 +496,26 @@ CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SG_POOL=y
CONFIG_SMP=y
CONFIG_SMP_ON_UP=y
CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=n
CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=n
CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=n
CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS=n
CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC=n
CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=n
CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=n
# CONFIG_SND_SOC_ICS43432 is not set
CONFIG_SPARSE_IRQ=y
CONFIG_SRCU=y
CONFIG_STREAM_PARSER=y
# CONFIG_STRIP_ASM_SYMS is not set
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_SWIOTLB=y
CONFIG_SWPHY=y
CONFIG_SWP_EMULATE=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
# CONFIG_TEE is not set
CONFIG_SYS_SUPPORTS_HUGETLBFS=y
# CONFIG_TEXTSEARCH is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_OF=y
CONFIG_THIN_ARCHIVES=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_TIFM_7XX1=y
CONFIG_TIFM_CORE=y
CONFIG_TIMER_OF=y
CONFIG_TIMER_PROBE=y
CONFIG_TMPFS_POSIX_ACL=y
@ -459,7 +525,6 @@ CONFIG_UEVENT_HELPER_PATH=""
# CONFIG_UID16 is not set
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
CONFIG_USB=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_COMMON=y
CONFIG_USB_DWCOTG=y
@ -471,46 +536,19 @@ CONFIG_USB_STORAGE=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_UAS=y
CONFIG_USB_USBNET=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USE_OF=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_VFP=y
CONFIG_VFPv3=y
CONFIG_VMSPLIT_2G=y
# CONFIG_VMSPLIT_3G is not set
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_WATCHDOG_CORE=y
CONFIG_XOR_BLOCKS=y
CONFIG_XPS=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_BCJ=y
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_MFD_RPISENSE_CORE=n
CONFIG_DRM_PANEL_LVDS=n
CONFIG_DRM_PANEL_INNOLUX_P079ZCA=n
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=n
CONFIG_DRM_PANEL_SITRONIX_ST7789V=n
CONFIG_DRM_VC4_HDMI_CEC=n
CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=n
CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=n
CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=n
CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS=n
CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC=n
CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=n
CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=n
CONFIG_SND_SOC_ICS43432=n
# CONFIG_TOUCHSCREEN_RPI_FT5406 is not set
# CONFIG_GPIO_RASPBERRYPI_EXP is not set
# CONFIG_SENSORS_RASPBERRYPI_HWMON is not set
# CONFIG_DRM_V3D is not set
# CONFIG_DRM_TVE200 is not set
# CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC is not set
# CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M is not set
# CONFIG_SND_AUDIOSENSE_PI is not set
# CONFIG_SND_RPI_SIMPLE_SOUNDCARD is not set
# CONFIG_SND_RPI_WM8804_SOUNDCARD is not set
# CONFIG_SND_SOC_AD193X_SPI is not set
CONFIG_BCM2835_VCHIQ_MMAL=y
# CONFIG_VIDEO_CODEC_BCM2835 is not set

View file

@ -160,7 +160,7 @@ CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUG is not set
# CONFIG_CMA_DEBUGFS is not set
CONFIG_CMA_SIZE_MBYTES=16
CONFIG_CMA_SIZE_MBYTES=5
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_MIN is not set
@ -420,8 +420,15 @@ CONFIG_MMC_BCM2835_SDHOST=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=32
CONFIG_MMC_SDHCI=y
# CONFIG_MMC_SDHCI_PCI is not set
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ARASAN=y
CONFIG_MMC_SDHCI_OF_AT91=y
CONFIG_MMC_SDHCI_OF_DWCMSHC=y
CONFIG_MMC_SDHCI_CADENCE=y
CONFIG_MMC_SDHCI_IPROC=y
# CONFIG_MMC_TIFM_SD is not set
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_MTD=y
@ -442,7 +449,6 @@ CONFIG_NO_BOOTMEM=y
CONFIG_NO_HZ=y
CONFIG_NO_HZ_COMMON=y
CONFIG_NO_HZ_IDLE=y
CONFIG_NO_IOPORT_MAP=y
CONFIG_NR_CPUS=4
# CONFIG_NUMA is not set
CONFIG_NVMEM=y

View file

@ -1,6 +1,7 @@
#
# Copyright (C) 2012-2015 OpenWrt.org
# Copyright (C) 2016-2017 LEDE project
# Copyright (C) 2019 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -41,6 +42,34 @@ define Build/boot-img
mcopy -i $@.boot $(KDIR)/fixup4x.dat ::
mcopy -i $@.boot cmdline.txt ::
mcopy -i $@.boot config.txt ::
#mcopy -i $@.boot armstub8-32-gic.bin ::
mcopy -i $@.boot $(IMAGE_KERNEL) ::$(KERNEL_IMG)
$(foreach dts,$(shell echo $(DEVICE_DTS)),mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb ::;)
mmd -i $@.boot ::/overlays
mcopy -i $@.boot $(DTS_DIR)/overlays/*.dtbo ::/overlays/
mcopy -i $@.boot $(DTS_DIR)/overlays/README ::/overlays/
endef
define Build/boot64-img
rm -f $@.boot
mkfs.fat -C $@.boot $(FAT32_BLOCKS)
mcopy -i $@.boot $(KDIR)/COPYING.linux ::
mcopy -i $@.boot $(KDIR)/bootcode.bin ::
mcopy -i $@.boot $(KDIR)/LICENCE.broadcom ::
mcopy -i $@.boot $(KDIR)/start.elf ::
mcopy -i $@.boot $(KDIR)/start_cd.elf ::
mcopy -i $@.boot $(KDIR)/start_x.elf ::
mcopy -i $@.boot $(KDIR)/fixup.dat ::
mcopy -i $@.boot $(KDIR)/fixup_cd.dat ::
mcopy -i $@.boot $(KDIR)/fixup_x.dat ::
mcopy -i $@.boot $(KDIR)/start4.elf ::
mcopy -i $@.boot $(KDIR)/start4cd.elf ::
mcopy -i $@.boot $(KDIR)/start4x.elf ::
mcopy -i $@.boot $(KDIR)/fixup4.dat ::
mcopy -i $@.boot $(KDIR)/fixup4cd.dat ::
mcopy -i $@.boot $(KDIR)/fixup4x.dat ::
mcopy -i $@.boot cmdline.txt ::
mcopy -i $@.boot config64.txt ::config.txt
mcopy -i $@.boot $(IMAGE_KERNEL) ::$(KERNEL_IMG)
$(foreach dts,$(shell echo $(DEVICE_DTS)),mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb ::;)
mmd -i $@.boot ::/overlays
@ -58,8 +87,6 @@ define Device/Default
KERNEL := kernel-bin | kernel-img
KERNEL_IMG := kernel.img
IMAGES := factory.img.gz sysupgrade.img.gz
IMAGE/sysupgrade.img.gz := boot-img | sdcard-img | gzip | append-metadata
IMAGE/factory.img.gz := boot-img | sdcard-img | gzip
endef
define Device/rpi
@ -71,6 +98,8 @@ define Device/rpi
raspberrypi,compute-module raspberrypi,compute-module-1 \
raspberrypi,model-zero raspberrypi,model-zero-w
DEVICE_PACKAGES := brcmfmac-firmware-43430-sdio brcmfmac-board-rpi2 kmod-brcmfmac wpad-basic
IMAGE/sysupgrade.img.gz := boot-img | sdcard-img | gzip | append-metadata
IMAGE/factory.img.gz := boot-img | sdcard-img | gzip
endef
ifeq ($(SUBTARGET),bcm2708)
TARGET_DEVICES += rpi
@ -86,6 +115,8 @@ define Device/rpi-2
raspberrypi,3-model-b raspberrypi,3-model-b-plus \
raspberrypi,3-compute-module raspberrypi,compute-module-3
DEVICE_PACKAGES := brcmfmac-firmware-43430-sdio brcmfmac-firmware-43455-sdio brcmfmac-board-rpi2 brcmfmac-board-rpi3 kmod-brcmfmac wpad-basic
IMAGE/sysupgrade.img.gz := boot-img | sdcard-img | gzip | append-metadata
IMAGE/factory.img.gz := boot-img | sdcard-img | gzip
endef
ifeq ($(SUBTARGET),bcm2709)
TARGET_DEVICES += rpi-2
@ -101,6 +132,8 @@ define Device/rpi-3
raspberrypi,3-model-b raspberrypi,3-model-b-plus \
raspberrypi,3-compute-module raspberrypi,compute-module-3
DEVICE_PACKAGES := brcmfmac-firmware-43430-sdio brcmfmac-board-rpi2 brcmfmac-firmware-43455-sdio brcmfmac-board-rpi3 kmod-brcmfmac wpad-basic
IMAGE/sysupgrade.img.gz := boot64-img | sdcard-img | gzip | append-metadata
IMAGE/factory.img.gz := boot64-img | sdcard-img | gzip
endef
ifeq ($(SUBTARGET),bcm2710)
TARGET_DEVICES += rpi-3
@ -116,6 +149,8 @@ define Device/rpi-4
raspberrypi,3-model-b raspberrypi,3-model-b-plus \
raspberrypi,3-compute-module raspberrypi,compute-module-3
DEVICE_PACKAGES := brcmfmac-firmware-43430-sdio brcmfmac-board-rpi2 brcmfmac-firmware-43455-sdio brcmfmac-board-rpi3 kmod-brcmfmac wpad-basic
IMAGE/sysupgrade.img.gz := boot64-img | sdcard-img | gzip | append-metadata
IMAGE/factory.img.gz := boot64-img | sdcard-img | gzip
endef
ifeq ($(SUBTARGET),bcm2711)

Binary file not shown.

View file

@ -0,0 +1,965 @@
################################################################################
## Raspberry Pi Configuration Settings
##
## Revision 14, 2012/10/22
##
## Details taken from the eLinux wiki
## For up-to-date information please refer to wiki page.
##
## Wiki Location : http://elinux.org/RPi_config.txt
##
##
## Description:
## Details of each setting are described with each section that begins with
## a double hashed comment ('##')
## It is up to the user to remove the single hashed comment ('#') from each
## option they want to enable, and to set the specific value of that option.
##
## WARNING: Setting the following combination of parameters will set a
## permanent bit within the SOC and your warranty is void.
## over_voltage>0, and at least one of the following:
## force_turbo=1
## current_limit_override=0x5A000020
## temp_limit>85
##
## Overclock settings will be disabled at runtime if the SoC reaches temp_limit
##
################################################################################
################################################################################
## Standard Definition Video Settings
################################################################################
## sdtv_mode
## defines the TV standard for composite output
##
## Value Description
## -------------------------------------------------------------------------
## 0 Normal NTSC (Default)
## 1 Japanese version of NTSC - no pedestal
## 2 Normal PAL
## 3 Brazilian version of PAL - 525/60 rather than 625/50, different
## subcarrier
##
#sdtv_mode=0
## sdtv_aspect
## defines the aspect ratio for composite output
##
## Value Description
## -------------------------------------------------------------------------
## 1 4:3 (Default)
## 2 14:9
## 3 16:9
##
#sdtv_aspect=1
## sdtv_disable_colourburst
## Disables colour burst on composite output. The picture will be
## monochrome, but possibly sharper
##
## Value Description
## -------------------------------------------------------------------------
## 0 Colour burst is enabled (Default)
## 1 Colour burst is disabled
##
#sdtv_disable_colourburst=1
################################################################################
## High Definition Video Settings
################################################################################
## hdmi_safe
## Use "safe mode" settings to try to boot with maximum hdmi compatibility.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disabled (Default)
## 1 Enabled (this does: hdmi_force_hotplug=1, config_hdmi_boost=4,
## hdmi_group=1, hdmi_mode=1,
## disable_overscan=0)
##
#hdmi_safe=1
## hdmi_force_hotplug
## Pretends HDMI hotplug signal is asserted so it appears a HDMI display
## is attached
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disabled (Default)
## 1 Use HDMI mode even if no HDMI monitor is detected
##
#hdmi_force_hotplug=1
## hdmi_ignore_hotplug
## Pretends HDMI hotplug signal is not asserted so it appears a HDMI
## display is not attached
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disabled (Default)
## 1 Use composite mode even if HDMI monitor is detected
##
#hdmi_ignore_hotplug=1
## hdmi_drive
## chooses between HDMI and DVI modes
##
## Value Description
## -------------------------------------------------------------------------
## 1 Normal DVI mode (No sound)
## 2 Normal HDMI mode (Sound will be sent if supported and enabled)
##
#hdmi_drive=2
## hdmi_ignore_edid
## Enables the ignoring of EDID/display data
##
#hdmi_ignore_edid=0xa5000080
## hdmi_edid_file
## Read the EDID data from the edid.dat file instead of from the attached
## device
##
## Value Description
## -------------------------------------------------------------------------
## 0 Read EDID data from attached device (Default)
## 1 Read EDID data from edid.txt file
##
#hdmi_edid_file=1
## hdmi_force_edid_audio
## Pretends all audio formats are supported by display, allowing
## passthrough of DTS/AC3 even when not reported as supported.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Use EDID provided values (Default)
## 1 Pretend all audio formats are supported
##
#hdmi_force_edid_audio=1
## avoid_edid_fuzzy_match
## Avoid fuzzy matching of modes described in edid.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Use fuzzy matching (Default)
## 1 Avoid fuzzy matching
##
#avoid_edid_fuzzy_match=1
## hdmi_group
## Defines the HDMI type
##
## Value Description
## -------------------------------------------------------------------------
## 0 Use the preferred group reported by the edid (Default)
## 1 CEA
## 2 DMT
##
#hdmi_group=1
## hdmi_mode
## defines screen resolution in CEA or DMT format
##
## H means 16:9 variant (of a normally 4:3 mode).
## 2x means pixel doubled (i.e. higher clock rate, with each pixel repeated
## twice)
## 4x means pixel quadrupled (i.e. higher clock rate, with each pixel
## repeated four times)
## reduced blanking means fewer bytes are used for blanking within the data
## stream (i.e. lower clock rate, with fewer wasted bytes)
##
## Value hdmi_group=CEA hdmi_group=DMT
## -------------------------------------------------------------------------
## 1 VGA 640x350 85Hz
## 2 480p 60Hz 640x400 85Hz
## 3 480p 60Hz H 720x400 85Hz
## 4 720p 60Hz 640x480 60Hz
## 5 1080i 60Hz 640x480 72Hz
## 6 480i 60Hz 640x480 75Hz
## 7 480i 60Hz H 640x480 85Hz
## 8 240p 60Hz 800x600 56Hz
## 9 240p 60Hz H 800x600 60Hz
## 10 480i 60Hz 4x 800x600 72Hz
## 11 480i 60Hz 4x H 800x600 75Hz
## 12 240p 60Hz 4x 800x600 85Hz
## 13 240p 60Hz 4x H 800x600 120Hz
## 14 480p 60Hz 2x 848x480 60Hz
## 15 480p 60Hz 2x H 1024x768 43Hz DO NOT USE
## 16 1080p 60Hz 1024x768 60Hz
## 17 576p 50Hz 1024x768 70Hz
## 18 576p 50Hz H 1024x768 75Hz
## 19 720p 50Hz 1024x768 85Hz
## 20 1080i 50Hz 1024x768 120Hz
## 21 576i 50Hz 1152x864 75Hz
## 22 576i 50Hz H 1280x768 reduced blanking
## 23 288p 50Hz 1280x768 60Hz
## 24 288p 50Hz H 1280x768 75Hz
## 25 576i 50Hz 4x 1280x768 85Hz
## 26 576i 50Hz 4x H 1280x768 120Hz reduced blanking
## 27 288p 50Hz 4x 1280x800 reduced blanking
## 28 288p 50Hz 4x H 1280x800 60Hz
## 29 576p 50Hz 2x 1280x800 75Hz
## 30 576p 50Hz 2x H 1280x800 85Hz
## 31 1080p 50Hz 1280x800 120Hz reduced blanking
## 32 1080p 24Hz 1280x960 60Hz
## 33 1080p 25Hz 1280x960 85Hz
## 34 1080p 30Hz 1280x960 120Hz reduced blanking
## 35 480p 60Hz 4x 1280x1024 60Hz
## 36 480p 60Hz 4x H 1280x1024 75Hz
## 37 576p 50Hz 4x 1280x1024 85Hz
## 38 576p 50Hz 4x H 1280x1024 120Hz reduced blanking
## 39 1080i 50Hz reduced blanking 1360x768 60Hz
## 40 1080i 100Hz 1360x768 120Hz reduced blanking
## 41 720p 100Hz 1400x1050 reduced blanking
## 42 576p 100Hz 1400x1050 60Hz
## 43 576p 100Hz H 1400x1050 75Hz
## 44 576i 100Hz 1400x1050 85Hz
## 45 576i 100Hz H 1400x1050 120Hz reduced blanking
## 46 1080i 120Hz 1440x900 reduced blanking
## 47 720p 120Hz 1440x900 60Hz
## 48 480p 120Hz 1440x900 75Hz
## 49 480p 120Hz H 1440x900 85Hz
## 50 480i 120Hz 1440x900 120Hz reduced blanking
## 51 480i 120Hz H 1600x1200 60Hz
## 52 576p 200Hz 1600x1200 65Hz
## 53 576p 200Hz H 1600x1200 70Hz
## 54 576i 200Hz 1600x1200 75Hz
## 55 576i 200Hz H 1600x1200 85Hz
## 56 480p 240Hz 1600x1200 120Hz reduced blanking
## 57 480p 240Hz H 1680x1050 reduced blanking
## 58 480i 240Hz 1680x1050 60Hz
## 59 480i 240Hz H 1680x1050 75Hz
## 60 1680x1050 85Hz
## 61 1680x1050 120Hz reduced blanking
## 62 1792x1344 60Hz
## 63 1792x1344 75Hz
## 64 1792x1344 120Hz reduced blanking
## 65 1856x1392 60Hz
## 66 1856x1392 75Hz
## 67 1856x1392 120Hz reduced blanking
## 68 1920x1200 reduced blanking
## 69 1920x1200 60Hz
## 70 1920x1200 75Hz
## 71 1920x1200 85Hz
## 72 1920x1200 120Hz reduced blanking
## 73 1920x1440 60Hz
## 74 1920x1440 75Hz
## 75 1920x1440 120Hz reduced blanking
## 76 2560x1600 reduced blanking
## 77 2560x1600 60Hz
## 78 2560x1600 75Hz
## 79 2560x1600 85Hz
## 80 2560x1600 120Hz reduced blanking
## 81 1366x768 60Hz
## 82 1080p 60Hz
## 83 1600x900 reduced blanking
## 84 2048x1152 reduced blanking
## 85 720p 60Hz
## 86 1366x768 reduced blanking
##
#hdmi_mode=1
## config_hdmi_boost
## configure the signal strength of the HDMI interface.
##
## Value Description
## -------------------------------------------------------------------------
## 0 (Default)
## 1
## 2
## 3
## 4 Try if you have interference issues with HDMI
## 5
## 6
## 7 Maximum
##
#config_hdmi_boost=0
## hdmi_ignore_cec_init
## Doesn't sent initial active source message. Avoids bringing
## (CEC enabled) TV out of standby and channel switch when rebooting.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Normal behaviour (Default)
## 1 Doesn't sent initial active source message
##
#hdmi_ignore_cec_init=1
## hdmi_ignore_cec
## Pretends CEC is not supported at all by TV.
## No CEC functions will be supported.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Normal behaviour (Default)
## 1 Pretend CEC is not supported by TV
##
#hdmi_ignore_cec=1
################################################################################
## Overscan Video Settings
################################################################################
## overscan_left
## Number of pixels to skip on left
##
#overscan_left=0
## overscan_right
## Number of pixels to skip on right
##
#overscan_right=0
## overscan_top
## Number of pixels to skip on top
##
#overscan_top=0
## overscan_bottom
## Number of pixels to skip on bottom
##
#overscan_bottom=0
## disable_overscan
## Set to 1 to disable overscan
##
## Value Description
## -------------------------------------------------------------------------
## 0 Overscan Enabled (Default)
## 1 Overscan Disabled
##
#disable_overscan=1
################################################################################
## Framebuffer Video Settings
################################################################################
## framebuffer_width
## Console framebuffer width in pixels. Default is display width minus
## overscan.
##
#framebuffer_width=0
## framebuffer_height
## Console framebuffer height in pixels. Default is display height minus
## overscan.
##
#framebuffer_height=0
## framebuffer_depth
## Console framebuffer depth in bits per pixel.
##
## Value Description
## -------------------------------------------------------------------------
## 8 Valid, but default RGB palette makes an unreadable screen
## 16 (Default)
## 24 Looks better but has corruption issues as of 2012/06/15
## 32 Has no corruption issues but needs framebuffer_ignore_alpha=1
## and shows the wrong colors as of 2012/06/15
##
#framebuffer_depth=16
## framebuffer_ignore_alpha
## Set to 1 to disable alpha channel. Helps with 32bit.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Enable Alpha Channel (Default)
## 1 Disable Alpha Channel
##
#framebuffer_ignore_alpha=0
################################################################################
## General Video Settings
################################################################################
## display_rotate
## Rotate the display clockwise or flip the display.
## The 90 and 270 degrees rotation options require additional memory on GPU,
## so won't work with the 16M GPU split.
##
## Value Description
## -------------------------------------------------------------------------
## 0 0 degrees (Default)
## 1 90 degrees
## 2 180 degrees
## 3 270 degrees
## 0x10000 Horizontal flip
## 0x20000 Vertical flip
##
#display_rotate=0
################################################################################
## Licensed Codecs
##
## Hardware decoding of additional codecs can be enabled by purchasing a
## license that is locked to the CPU serial number of your Raspberry Pi.
##
## Up to 8 licenses per CODEC can be specified as a comma seperated list.
##
################################################################################
## decode_MPG2
## License key to allow hardware MPEG-2 decoding.
##
#decode_MPG2=0x12345678
## decode_WVC1
## License key to allow hardware VC-1 decoding.
##
#decode_WVC1=0x12345678
################################################################################
## Test Settings
################################################################################
## test_mode
## Enable test sound/image during boot for manufacturing test.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disable Test Mod (Default)
## 1 Enable Test Mode
##
#test_mode=0
################################################################################
## Memory Settings
################################################################################
## disable_l2cache
## Disable arm access to GPU's L2 cache. Needs corresponding L2 disabled
## kernel.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Enable L2 Cache (Default)
## 1 Disable L2 cache
##
#disable_l2cache=0
## gpu_mem
## GPU memory allocation in MB for all board revisions.
##
## Default 64
##
#gpu_mem=128
## gpu_mem_256
## GPU memory allocation in MB for 256MB board revision.
## This option overrides gpu_mem.
##
#gpu_mem_256=128
## gpu_mem_512
## GPU memory allocation in MB for 512MB board revision.
## This option overrides gpu_mem.
##
#gpu_mem_512=128
## gpu_mem_1024
## GPU memory allocation in MB for 1024MB board revision.
## This option overrides gpu_mem.
##
#gpu_mem_1024=128
################################################################################
## Boot Option Settings
################################################################################
## disable_commandline_tags
## Stop start.elf from filling in ATAGS (memory from 0x100) before
## launching kernel
##
#disable_commandline_tags=2
## enable_uart
## Enables or disables uart pin multiplexing
## Raspberry Pi 1/2: if unset, uart is enabled by default
## Raspberry Pi 3: if unset uart is disabled by default
##
enable_uart=1
## cmdline (string)
## Command line parameters. Can be used instead of cmdline.txt file
##
#cmdline=""
## kernel (string)
## Alternative name to use when loading kernel.
##
#kernel=""
## kernel_address
## Address to load kernel.img file at
##
#kernel_address=0x8000
## ramfsfile (string)
## ramfs file to load
##
#ramfsfile=""
## ramfsaddr
## Address to load ramfs file at
##
#ramfsaddr=0x00000000
## initramfs (string address)
## ramfs file and address to load it at (it's like ramfsfile+ramfsaddr in
## one option).
##
## NOTE: this option uses different syntax than all other options - you
## should not use "=" character here.
##
#initramfs initramf.gz 0x00800000
## device_tree_address
## Address to load device_tree at
##
#device_tree_address=0x100
## init_uart_baud
## Initial uart baud rate.
##
## Default 115200
##
#init_uart_baud=115200
## init_uart_clock
## Initial uart clock.
##
## Default 3000000 (3MHz)
##
#init_uart_clock=3000000
## init_emmc_clock
## Initial emmc clock, increasing this can speedup your SD-card.
##
## Default 100000000 (100mhz)
##
#init_emmc_clock=100000000
## boot_delay
## Wait for a given number of seconds in start.elf before loading
## kernel.img.
##
## delay = (1000 * boot_delay) + boot_delay_ms
##
## Default 1
##
#boot_delay=0
## boot_delay_ms
## Wait for a given number of milliseconds in start.elf before loading
## kernel.img.
##
## delay = (1000 * boot_delay) + boot_delay_ms
##
## Default 0
##
#boot_delay_ms=0
## avoid_safe_mode
## Adding a jumper between pins 5 & 6 of P1 enables a recovery Safe Mode.
## If pins 5 & 6 are used for connecting to external devices (e.g. GPIO),
## then this setting can be used to ensure Safe Mode is not triggered.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Respect Safe Mode input (Default)
## 1 Ignore Safe Mode input
##
#avoid_safe_mode=1
################################################################################
## Overclocking Settings
##
## ARM, SDRAM and GPU each have their own PLLs and can have unrelated
## frequencies.
##
## The GPU core, h264, v3d and isp share a PLL, so need to have related
## frequencies.
## pll_freq = floor(2400 / (2 * core_freq)) * (2 * core_freq)
## gpu_freq = pll_freq / [even number]
##
## The effective gpu_freq is automatically rounded to nearest even integer, so
## asking for core_freq = 500 and gpu_freq = 300 will result in divisor of
## 2000/300 = 6.666 => 6 and so 333.33MHz.
##
##
## Standard Profiles:
## arm_freq core_freq sdram_freq over_voltage
## -------------------------------------------------------------------------
## None 700 250 400 0
## Modest 800 300 400 0
## Medium 900 333 450 2
## High 950 450 450 6
## Turbo 1000 500 500 6
##
################################################################################
## force_turbo
## Control the kernel "ondemand" governor. It has no effect if no overclock
## settings are specified.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Enable dynamic clocks and voltage for the ARM core, GPU core and
## SDRAM (Default).
## Overclocking of h264_freq, v3d_freq and isp_freq is ignored.
## 1 Disable dynamic clocks and voltage for the ARM core, GPU core
## and SDRAM.
## Overclocking of h264_freq, v3d_freq and isp_freq is allowed.
##
#force_turbo=0
## initial_turbo
## Enables turbo mode from boot for the given value in seconds (up to 60)
## or until cpufreq sets a frequency. Can help with sdcard corruption if
## overclocked.
##
## Default 0
##
#initial_turbo=0
## temp_limit
## Overheat protection. Sets clocks and voltages to default when the SoC
## reaches this Celsius value.
## Setting this higher than default voids warranty.
##
## Default 85
##
#temp_limit=85
## arm_freq
## Frequency of ARM in MHz.
##
## Default 700.
##
#arm_freq=700
## arm_freq_min
## Minimum frequency of ARM in MHz (used for dynamic clocking).
##
## Default 700.
##
#arm_freq_min=700
## gpu_freq
## Sets core_freq, h264_freq, isp_freq, v3d_freq together.
##
## Default 250.
##
#gpu_freq=250
## core_freq
## Frequency of GPU processor core in MHz. It has an impact on ARM
## performance since it drives L2 cache.
##
## Default 250.
##
#core_freq=250
## core_freq_min
## Minimum frequency of GPU processor core in MHz (used for dynamic
## clocking). It has an impact on ARM performance since it drives L2 cache.
##
## Default 250.
##
#core_freq_min=250
## h264_freq
## Frequency of hardware video block in MHz.
##
## Default 250.
##
#h264_freq=250
## isp_freq
## Frequency of image sensor pipeline block in MHz.
##
## Default 250.
##
#isp_freq=250
## v3d_freq
## Frequency of 3D block in MHz.
##
## Default 250.
##
#v3d_freq=250
## sdram_freq
## Frequency of SDRAM in MHz.
##
## Default 400.
##
#sdram_freq=400
## sdram_freq_min
## Minimum frequency of SDRAM in MHz (used for dynamic clocking).
##
## Default 400.
##
#sdram_freq_min=400
## avoid_pwm_pll
## Unlink core_freq from the rest of the gpu. Analog audio should still
## work, but from a fractional divider, so lower quality.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Linked core_freq (Default)
## 1 Unlinked core_freq
##
#avoid_pwm_pll=1
################################################################################
## Voltage Settings
################################################################################
## current_limit_override
## Disables SMPS current limit protection. Can help if you are currently
## hitting a reboot failure when overclocking too high.
##
#current_limit_override=0x5A000020
## over_voltage
## ARM/GPU core voltage adjust.
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V (requires force_turbo=1)
## 8 1.4 V (requires force_turbo=1)
##
#over_voltage=0
## over_voltage_min
## Minimum ARM/GPU core voltage adjust (used for dynamic clocking).
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V (requires force_turbo=1)
## 8 1.4 V (requires force_turbo=1)
##
#over_voltage_min=0
## over_voltage_sdram
## Sets over_voltage_sdram_c, over_voltage_sdram_i, over_voltage_sdram_p
## together
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V
## 8 1.4 V
##
#over_voltage_sdram=0
## over_voltage_sdram_c
## SDRAM controller voltage adjust.
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V
## 8 1.4 V
##
#over_voltage_sdram_c=0
## over_voltage_sdram_i
## SDRAM I/O voltage adjust.
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V
## 8 1.4 V
##
#over_voltage_sdram_i=0
## over_voltage_sdram_p
## SDRAM phy voltage adjust.
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V
## 8 1.4 V
##
#over_voltage_sdram_p=0
################################################################################
## Device Tree Settings
################################################################################
dtparam=random=on
dtparam=watchdog=on
dtparam=audio=on
dtparam=i2c0=on
dtparam=i2c1=on
dtparam=spi=on
#dtoverlay=adau1977-adc
#dtoverlay=allo-piano-dac-pcm512x-audio
#dtoverlay=audioinjector-wm8731-audio
#dtoverlay=dionaudio-loco
#dtoverlay=hifiberry-amp
#dtoverlay=hifiberry-dac
#dtoverlay=hifiberry-dacplus
#dtoverlay=hifiberry-digi
#dtoverlay=hifiberry-digi-pro
#dtoverlay=iqaudio-dac
#dtoverlay=iqaudio-dacplus
#dtoverlay=iqaudio-digi-wm8804-audio
#dtoverlay=justboom-dac
#dtoverlay=justboom-digi
#dtoverlay=pisound
#dtoverlay=raspidac3
#dtoverlay=rpi-dac
#dtoverlay=rpi-proto
#dtoverlay=rra-digidac1-wm8741-audio
[pi4]
total_mem=1024
#enable_gic=1
#armstub=armstub8-32-gic.bin

View file

@ -0,0 +1,966 @@
################################################################################
## Raspberry Pi Configuration Settings
##
## Revision 14, 2012/10/22
##
## Details taken from the eLinux wiki
## For up-to-date information please refer to wiki page.
##
## Wiki Location : http://elinux.org/RPi_config.txt
##
##
## Description:
## Details of each setting are described with each section that begins with
## a double hashed comment ('##')
## It is up to the user to remove the single hashed comment ('#') from each
## option they want to enable, and to set the specific value of that option.
##
## WARNING: Setting the following combination of parameters will set a
## permanent bit within the SOC and your warranty is void.
## over_voltage>0, and at least one of the following:
## force_turbo=1
## current_limit_override=0x5A000020
## temp_limit>85
##
## Overclock settings will be disabled at runtime if the SoC reaches temp_limit
##
################################################################################
################################################################################
## Standard Definition Video Settings
################################################################################
## sdtv_mode
## defines the TV standard for composite output
##
## Value Description
## -------------------------------------------------------------------------
## 0 Normal NTSC (Default)
## 1 Japanese version of NTSC - no pedestal
## 2 Normal PAL
## 3 Brazilian version of PAL - 525/60 rather than 625/50, different
## subcarrier
##
#sdtv_mode=0
## sdtv_aspect
## defines the aspect ratio for composite output
##
## Value Description
## -------------------------------------------------------------------------
## 1 4:3 (Default)
## 2 14:9
## 3 16:9
##
#sdtv_aspect=1
## sdtv_disable_colourburst
## Disables colour burst on composite output. The picture will be
## monochrome, but possibly sharper
##
## Value Description
## -------------------------------------------------------------------------
## 0 Colour burst is enabled (Default)
## 1 Colour burst is disabled
##
#sdtv_disable_colourburst=1
################################################################################
## High Definition Video Settings
################################################################################
## hdmi_safe
## Use "safe mode" settings to try to boot with maximum hdmi compatibility.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disabled (Default)
## 1 Enabled (this does: hdmi_force_hotplug=1, config_hdmi_boost=4,
## hdmi_group=1, hdmi_mode=1,
## disable_overscan=0)
##
#hdmi_safe=1
## hdmi_force_hotplug
## Pretends HDMI hotplug signal is asserted so it appears a HDMI display
## is attached
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disabled (Default)
## 1 Use HDMI mode even if no HDMI monitor is detected
##
#hdmi_force_hotplug=1
## hdmi_ignore_hotplug
## Pretends HDMI hotplug signal is not asserted so it appears a HDMI
## display is not attached
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disabled (Default)
## 1 Use composite mode even if HDMI monitor is detected
##
#hdmi_ignore_hotplug=1
## hdmi_drive
## chooses between HDMI and DVI modes
##
## Value Description
## -------------------------------------------------------------------------
## 1 Normal DVI mode (No sound)
## 2 Normal HDMI mode (Sound will be sent if supported and enabled)
##
#hdmi_drive=2
## hdmi_ignore_edid
## Enables the ignoring of EDID/display data
##
#hdmi_ignore_edid=0xa5000080
## hdmi_edid_file
## Read the EDID data from the edid.dat file instead of from the attached
## device
##
## Value Description
## -------------------------------------------------------------------------
## 0 Read EDID data from attached device (Default)
## 1 Read EDID data from edid.txt file
##
#hdmi_edid_file=1
## hdmi_force_edid_audio
## Pretends all audio formats are supported by display, allowing
## passthrough of DTS/AC3 even when not reported as supported.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Use EDID provided values (Default)
## 1 Pretend all audio formats are supported
##
#hdmi_force_edid_audio=1
## avoid_edid_fuzzy_match
## Avoid fuzzy matching of modes described in edid.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Use fuzzy matching (Default)
## 1 Avoid fuzzy matching
##
#avoid_edid_fuzzy_match=1
## hdmi_group
## Defines the HDMI type
##
## Value Description
## -------------------------------------------------------------------------
## 0 Use the preferred group reported by the edid (Default)
## 1 CEA
## 2 DMT
##
#hdmi_group=1
## hdmi_mode
## defines screen resolution in CEA or DMT format
##
## H means 16:9 variant (of a normally 4:3 mode).
## 2x means pixel doubled (i.e. higher clock rate, with each pixel repeated
## twice)
## 4x means pixel quadrupled (i.e. higher clock rate, with each pixel
## repeated four times)
## reduced blanking means fewer bytes are used for blanking within the data
## stream (i.e. lower clock rate, with fewer wasted bytes)
##
## Value hdmi_group=CEA hdmi_group=DMT
## -------------------------------------------------------------------------
## 1 VGA 640x350 85Hz
## 2 480p 60Hz 640x400 85Hz
## 3 480p 60Hz H 720x400 85Hz
## 4 720p 60Hz 640x480 60Hz
## 5 1080i 60Hz 640x480 72Hz
## 6 480i 60Hz 640x480 75Hz
## 7 480i 60Hz H 640x480 85Hz
## 8 240p 60Hz 800x600 56Hz
## 9 240p 60Hz H 800x600 60Hz
## 10 480i 60Hz 4x 800x600 72Hz
## 11 480i 60Hz 4x H 800x600 75Hz
## 12 240p 60Hz 4x 800x600 85Hz
## 13 240p 60Hz 4x H 800x600 120Hz
## 14 480p 60Hz 2x 848x480 60Hz
## 15 480p 60Hz 2x H 1024x768 43Hz DO NOT USE
## 16 1080p 60Hz 1024x768 60Hz
## 17 576p 50Hz 1024x768 70Hz
## 18 576p 50Hz H 1024x768 75Hz
## 19 720p 50Hz 1024x768 85Hz
## 20 1080i 50Hz 1024x768 120Hz
## 21 576i 50Hz 1152x864 75Hz
## 22 576i 50Hz H 1280x768 reduced blanking
## 23 288p 50Hz 1280x768 60Hz
## 24 288p 50Hz H 1280x768 75Hz
## 25 576i 50Hz 4x 1280x768 85Hz
## 26 576i 50Hz 4x H 1280x768 120Hz reduced blanking
## 27 288p 50Hz 4x 1280x800 reduced blanking
## 28 288p 50Hz 4x H 1280x800 60Hz
## 29 576p 50Hz 2x 1280x800 75Hz
## 30 576p 50Hz 2x H 1280x800 85Hz
## 31 1080p 50Hz 1280x800 120Hz reduced blanking
## 32 1080p 24Hz 1280x960 60Hz
## 33 1080p 25Hz 1280x960 85Hz
## 34 1080p 30Hz 1280x960 120Hz reduced blanking
## 35 480p 60Hz 4x 1280x1024 60Hz
## 36 480p 60Hz 4x H 1280x1024 75Hz
## 37 576p 50Hz 4x 1280x1024 85Hz
## 38 576p 50Hz 4x H 1280x1024 120Hz reduced blanking
## 39 1080i 50Hz reduced blanking 1360x768 60Hz
## 40 1080i 100Hz 1360x768 120Hz reduced blanking
## 41 720p 100Hz 1400x1050 reduced blanking
## 42 576p 100Hz 1400x1050 60Hz
## 43 576p 100Hz H 1400x1050 75Hz
## 44 576i 100Hz 1400x1050 85Hz
## 45 576i 100Hz H 1400x1050 120Hz reduced blanking
## 46 1080i 120Hz 1440x900 reduced blanking
## 47 720p 120Hz 1440x900 60Hz
## 48 480p 120Hz 1440x900 75Hz
## 49 480p 120Hz H 1440x900 85Hz
## 50 480i 120Hz 1440x900 120Hz reduced blanking
## 51 480i 120Hz H 1600x1200 60Hz
## 52 576p 200Hz 1600x1200 65Hz
## 53 576p 200Hz H 1600x1200 70Hz
## 54 576i 200Hz 1600x1200 75Hz
## 55 576i 200Hz H 1600x1200 85Hz
## 56 480p 240Hz 1600x1200 120Hz reduced blanking
## 57 480p 240Hz H 1680x1050 reduced blanking
## 58 480i 240Hz 1680x1050 60Hz
## 59 480i 240Hz H 1680x1050 75Hz
## 60 1680x1050 85Hz
## 61 1680x1050 120Hz reduced blanking
## 62 1792x1344 60Hz
## 63 1792x1344 75Hz
## 64 1792x1344 120Hz reduced blanking
## 65 1856x1392 60Hz
## 66 1856x1392 75Hz
## 67 1856x1392 120Hz reduced blanking
## 68 1920x1200 reduced blanking
## 69 1920x1200 60Hz
## 70 1920x1200 75Hz
## 71 1920x1200 85Hz
## 72 1920x1200 120Hz reduced blanking
## 73 1920x1440 60Hz
## 74 1920x1440 75Hz
## 75 1920x1440 120Hz reduced blanking
## 76 2560x1600 reduced blanking
## 77 2560x1600 60Hz
## 78 2560x1600 75Hz
## 79 2560x1600 85Hz
## 80 2560x1600 120Hz reduced blanking
## 81 1366x768 60Hz
## 82 1080p 60Hz
## 83 1600x900 reduced blanking
## 84 2048x1152 reduced blanking
## 85 720p 60Hz
## 86 1366x768 reduced blanking
##
#hdmi_mode=1
## config_hdmi_boost
## configure the signal strength of the HDMI interface.
##
## Value Description
## -------------------------------------------------------------------------
## 0 (Default)
## 1
## 2
## 3
## 4 Try if you have interference issues with HDMI
## 5
## 6
## 7 Maximum
##
#config_hdmi_boost=0
## hdmi_ignore_cec_init
## Doesn't sent initial active source message. Avoids bringing
## (CEC enabled) TV out of standby and channel switch when rebooting.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Normal behaviour (Default)
## 1 Doesn't sent initial active source message
##
#hdmi_ignore_cec_init=1
## hdmi_ignore_cec
## Pretends CEC is not supported at all by TV.
## No CEC functions will be supported.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Normal behaviour (Default)
## 1 Pretend CEC is not supported by TV
##
#hdmi_ignore_cec=1
################################################################################
## Overscan Video Settings
################################################################################
## overscan_left
## Number of pixels to skip on left
##
#overscan_left=0
## overscan_right
## Number of pixels to skip on right
##
#overscan_right=0
## overscan_top
## Number of pixels to skip on top
##
#overscan_top=0
## overscan_bottom
## Number of pixels to skip on bottom
##
#overscan_bottom=0
## disable_overscan
## Set to 1 to disable overscan
##
## Value Description
## -------------------------------------------------------------------------
## 0 Overscan Enabled (Default)
## 1 Overscan Disabled
##
#disable_overscan=1
################################################################################
## Framebuffer Video Settings
################################################################################
## framebuffer_width
## Console framebuffer width in pixels. Default is display width minus
## overscan.
##
#framebuffer_width=0
## framebuffer_height
## Console framebuffer height in pixels. Default is display height minus
## overscan.
##
#framebuffer_height=0
## framebuffer_depth
## Console framebuffer depth in bits per pixel.
##
## Value Description
## -------------------------------------------------------------------------
## 8 Valid, but default RGB palette makes an unreadable screen
## 16 (Default)
## 24 Looks better but has corruption issues as of 2012/06/15
## 32 Has no corruption issues but needs framebuffer_ignore_alpha=1
## and shows the wrong colors as of 2012/06/15
##
#framebuffer_depth=16
## framebuffer_ignore_alpha
## Set to 1 to disable alpha channel. Helps with 32bit.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Enable Alpha Channel (Default)
## 1 Disable Alpha Channel
##
#framebuffer_ignore_alpha=0
################################################################################
## General Video Settings
################################################################################
## display_rotate
## Rotate the display clockwise or flip the display.
## The 90 and 270 degrees rotation options require additional memory on GPU,
## so won't work with the 16M GPU split.
##
## Value Description
## -------------------------------------------------------------------------
## 0 0 degrees (Default)
## 1 90 degrees
## 2 180 degrees
## 3 270 degrees
## 0x10000 Horizontal flip
## 0x20000 Vertical flip
##
#display_rotate=0
################################################################################
## Licensed Codecs
##
## Hardware decoding of additional codecs can be enabled by purchasing a
## license that is locked to the CPU serial number of your Raspberry Pi.
##
## Up to 8 licenses per CODEC can be specified as a comma seperated list.
##
################################################################################
## decode_MPG2
## License key to allow hardware MPEG-2 decoding.
##
#decode_MPG2=0x12345678
## decode_WVC1
## License key to allow hardware VC-1 decoding.
##
#decode_WVC1=0x12345678
################################################################################
## Test Settings
################################################################################
## test_mode
## Enable test sound/image during boot for manufacturing test.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Disable Test Mod (Default)
## 1 Enable Test Mode
##
#test_mode=0
################################################################################
## Memory Settings
################################################################################
## disable_l2cache
## Disable arm access to GPU's L2 cache. Needs corresponding L2 disabled
## kernel.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Enable L2 Cache (Default)
## 1 Disable L2 cache
##
#disable_l2cache=0
## gpu_mem
## GPU memory allocation in MB for all board revisions.
##
## Default 64
##
#gpu_mem=128
## gpu_mem_256
## GPU memory allocation in MB for 256MB board revision.
## This option overrides gpu_mem.
##
#gpu_mem_256=128
## gpu_mem_512
## GPU memory allocation in MB for 512MB board revision.
## This option overrides gpu_mem.
##
#gpu_mem_512=128
## gpu_mem_1024
## GPU memory allocation in MB for 1024MB board revision.
## This option overrides gpu_mem.
##
#gpu_mem_1024=128
################################################################################
## Boot Option Settings
################################################################################
## disable_commandline_tags
## Stop start.elf from filling in ATAGS (memory from 0x100) before
## launching kernel
##
#disable_commandline_tags=2
## enable_uart
## Enables or disables uart pin multiplexing
## Raspberry Pi 1/2: if unset, uart is enabled by default
## Raspberry Pi 3: if unset uart is disabled by default
##
enable_uart=1
## cmdline (string)
## Command line parameters. Can be used instead of cmdline.txt file
##
#cmdline=""
## kernel (string)
## Alternative name to use when loading kernel.
##
#kernel=""
## kernel_address
## Address to load kernel.img file at
##
#kernel_address=0x8000
## ramfsfile (string)
## ramfs file to load
##
#ramfsfile=""
## ramfsaddr
## Address to load ramfs file at
##
#ramfsaddr=0x00000000
## initramfs (string address)
## ramfs file and address to load it at (it's like ramfsfile+ramfsaddr in
## one option).
##
## NOTE: this option uses different syntax than all other options - you
## should not use "=" character here.
##
#initramfs initramf.gz 0x00800000
## device_tree_address
## Address to load device_tree at
##
#device_tree_address=0x100
## init_uart_baud
## Initial uart baud rate.
##
## Default 115200
##
#init_uart_baud=115200
## init_uart_clock
## Initial uart clock.
##
## Default 3000000 (3MHz)
##
#init_uart_clock=3000000
## init_emmc_clock
## Initial emmc clock, increasing this can speedup your SD-card.
##
## Default 100000000 (100mhz)
##
#init_emmc_clock=100000000
## boot_delay
## Wait for a given number of seconds in start.elf before loading
## kernel.img.
##
## delay = (1000 * boot_delay) + boot_delay_ms
##
## Default 1
##
#boot_delay=0
## boot_delay_ms
## Wait for a given number of milliseconds in start.elf before loading
## kernel.img.
##
## delay = (1000 * boot_delay) + boot_delay_ms
##
## Default 0
##
#boot_delay_ms=0
## avoid_safe_mode
## Adding a jumper between pins 5 & 6 of P1 enables a recovery Safe Mode.
## If pins 5 & 6 are used for connecting to external devices (e.g. GPIO),
## then this setting can be used to ensure Safe Mode is not triggered.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Respect Safe Mode input (Default)
## 1 Ignore Safe Mode input
##
#avoid_safe_mode=1
################################################################################
## Overclocking Settings
##
## ARM, SDRAM and GPU each have their own PLLs and can have unrelated
## frequencies.
##
## The GPU core, h264, v3d and isp share a PLL, so need to have related
## frequencies.
## pll_freq = floor(2400 / (2 * core_freq)) * (2 * core_freq)
## gpu_freq = pll_freq / [even number]
##
## The effective gpu_freq is automatically rounded to nearest even integer, so
## asking for core_freq = 500 and gpu_freq = 300 will result in divisor of
## 2000/300 = 6.666 => 6 and so 333.33MHz.
##
##
## Standard Profiles:
## arm_freq core_freq sdram_freq over_voltage
## -------------------------------------------------------------------------
## None 700 250 400 0
## Modest 800 300 400 0
## Medium 900 333 450 2
## High 950 450 450 6
## Turbo 1000 500 500 6
##
################################################################################
## force_turbo
## Control the kernel "ondemand" governor. It has no effect if no overclock
## settings are specified.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Enable dynamic clocks and voltage for the ARM core, GPU core and
## SDRAM (Default).
## Overclocking of h264_freq, v3d_freq and isp_freq is ignored.
## 1 Disable dynamic clocks and voltage for the ARM core, GPU core
## and SDRAM.
## Overclocking of h264_freq, v3d_freq and isp_freq is allowed.
##
#force_turbo=0
## initial_turbo
## Enables turbo mode from boot for the given value in seconds (up to 60)
## or until cpufreq sets a frequency. Can help with sdcard corruption if
## overclocked.
##
## Default 0
##
#initial_turbo=0
## temp_limit
## Overheat protection. Sets clocks and voltages to default when the SoC
## reaches this Celsius value.
## Setting this higher than default voids warranty.
##
## Default 85
##
#temp_limit=85
## arm_freq
## Frequency of ARM in MHz.
##
## Default 700.
##
#arm_freq=700
## arm_freq_min
## Minimum frequency of ARM in MHz (used for dynamic clocking).
##
## Default 700.
##
#arm_freq_min=700
## gpu_freq
## Sets core_freq, h264_freq, isp_freq, v3d_freq together.
##
## Default 250.
##
#gpu_freq=250
## core_freq
## Frequency of GPU processor core in MHz. It has an impact on ARM
## performance since it drives L2 cache.
##
## Default 250.
##
#core_freq=250
## core_freq_min
## Minimum frequency of GPU processor core in MHz (used for dynamic
## clocking). It has an impact on ARM performance since it drives L2 cache.
##
## Default 250.
##
#core_freq_min=250
## h264_freq
## Frequency of hardware video block in MHz.
##
## Default 250.
##
#h264_freq=250
## isp_freq
## Frequency of image sensor pipeline block in MHz.
##
## Default 250.
##
#isp_freq=250
## v3d_freq
## Frequency of 3D block in MHz.
##
## Default 250.
##
#v3d_freq=250
## sdram_freq
## Frequency of SDRAM in MHz.
##
## Default 400.
##
#sdram_freq=400
## sdram_freq_min
## Minimum frequency of SDRAM in MHz (used for dynamic clocking).
##
## Default 400.
##
#sdram_freq_min=400
## avoid_pwm_pll
## Unlink core_freq from the rest of the gpu. Analog audio should still
## work, but from a fractional divider, so lower quality.
##
## Value Description
## -------------------------------------------------------------------------
## 0 Linked core_freq (Default)
## 1 Unlinked core_freq
##
#avoid_pwm_pll=1
################################################################################
## Voltage Settings
################################################################################
## current_limit_override
## Disables SMPS current limit protection. Can help if you are currently
## hitting a reboot failure when overclocking too high.
##
#current_limit_override=0x5A000020
## over_voltage
## ARM/GPU core voltage adjust.
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V (requires force_turbo=1)
## 8 1.4 V (requires force_turbo=1)
##
#over_voltage=0
## over_voltage_min
## Minimum ARM/GPU core voltage adjust (used for dynamic clocking).
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V (requires force_turbo=1)
## 8 1.4 V (requires force_turbo=1)
##
#over_voltage_min=0
## over_voltage_sdram
## Sets over_voltage_sdram_c, over_voltage_sdram_i, over_voltage_sdram_p
## together
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V
## 8 1.4 V
##
#over_voltage_sdram=0
## over_voltage_sdram_c
## SDRAM controller voltage adjust.
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V
## 8 1.4 V
##
#over_voltage_sdram_c=0
## over_voltage_sdram_i
## SDRAM I/O voltage adjust.
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V
## 8 1.4 V
##
#over_voltage_sdram_i=0
## over_voltage_sdram_p
## SDRAM phy voltage adjust.
##
## Value Description
## -------------------------------------------------------------------------
## -16 0.8 V
## -15 0.825 V
## -14 0.85 V
## -13 0.875 V
## -12 0.9 V
## -11 0.925 V
## -10 0.95 V
## -9 0.975 V
## -8 1.0 V
## -7 1.025 V
## -6 1.05 V
## -5 1.075 V
## -4 1.1 V
## -3 1.125 V
## -2 1.15 V
## -1 1.175 V
## 0 1.2 V (Default)
## 1 1.225 V
## 2 1.25 V
## 3 1.275 V
## 4 1.3 V
## 5 1.325 V
## 6 1.35 V
## 7 1.375 V
## 8 1.4 V
##
#over_voltage_sdram_p=0
################################################################################
## Device Tree Settings
################################################################################
dtparam=random=on
dtparam=watchdog=on
dtparam=audio=on
dtparam=i2c0=on
dtparam=i2c1=on
dtparam=spi=on
#dtoverlay=adau1977-adc
#dtoverlay=allo-piano-dac-pcm512x-audio
#dtoverlay=audioinjector-wm8731-audio
#dtoverlay=dionaudio-loco
#dtoverlay=hifiberry-amp
#dtoverlay=hifiberry-dac
#dtoverlay=hifiberry-dacplus
#dtoverlay=hifiberry-digi
#dtoverlay=hifiberry-digi-pro
#dtoverlay=iqaudio-dac
#dtoverlay=iqaudio-dacplus
#dtoverlay=iqaudio-digi-wm8804-audio
#dtoverlay=justboom-dac
#dtoverlay=justboom-digi
#dtoverlay=pisound
#dtoverlay=raspidac3
#dtoverlay=rpi-dac
#dtoverlay=rpi-proto
#dtoverlay=rra-digidac1-wm8741-audio
[pi4]
arm_64bit=1
total_mem=1024
enable_gic=1
armstub=armstub8-gic.bin

View file

@ -0,0 +1,49 @@
From 211785e0ac722faad9af7a8d2d95f5cd34d3dda2 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Sat, 25 May 2019 10:45:38 +0200
Subject: [PATCH 679/692] w1: ds2805: rename w1_family struct, fixing c-p typo
commit 0e3743d870711ae4daf1e7170c8d9381564e244d upstream.
The ds2805 has a structure named: w1_family_2d, which surely
comes from a w1_ds2431 module. This commit fixes this name to
prevent confusion and mark a correct family name.
Signed-off-by: Mariusz Bialonczyk <manio@skyboo.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/w1/slaves/w1_ds2805.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/w1/slaves/w1_ds2805.c b/drivers/w1/slaves/w1_ds2805.c
index 29348d283a65..ab349604531a 100644
--- a/drivers/w1/slaves/w1_ds2805.c
+++ b/drivers/w1/slaves/w1_ds2805.c
@@ -288,7 +288,7 @@ static struct w1_family_ops w1_f0d_fops = {
.remove_slave = w1_f0d_remove_slave,
};
-static struct w1_family w1_family_2d = {
+static struct w1_family w1_family_0d = {
.fid = W1_EEPROM_DS2805,
.fops = &w1_f0d_fops,
};
@@ -296,13 +296,13 @@ static struct w1_family w1_family_2d = {
static int __init w1_f0d_init(void)
{
pr_info("%s()\n", __func__);
- return w1_register_family(&w1_family_2d);
+ return w1_register_family(&w1_family_0d);
}
static void __exit w1_f0d_fini(void)
{
pr_info("%s()\n", __func__);
- w1_unregister_family(&w1_family_2d);
+ w1_unregister_family(&w1_family_0d);
}
module_init(w1_f0d_init);
--
2.19.1

View file

@ -0,0 +1,69 @@
From 73493781df0ef080465193443dcd77acd08c235b Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Mon, 20 May 2019 09:05:55 +0200
Subject: [PATCH 680/692] w1: ds2413: output_write() cosmetic fixes / simplify
commit ae2ee27aa985232f66421d7cd1c7f4b87c7dba7d upstream.
Make the output_write simpler.
Based on Jean-Francois Dagenais code from:
49695ac46861 ("w1: ds2408: reset on output_write retry with readback")
Signed-off-by: Mariusz Bialonczyk <manio@skyboo.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/w1/slaves/w1_ds2413.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/drivers/w1/slaves/w1_ds2413.c b/drivers/w1/slaves/w1_ds2413.c
index 492e3d010321..cd3763df69ac 100644
--- a/drivers/w1/slaves/w1_ds2413.c
+++ b/drivers/w1/slaves/w1_ds2413.c
@@ -69,6 +69,7 @@ static ssize_t output_write(struct file *filp, struct kobject *kobj,
struct w1_slave *sl = kobj_to_w1_slave(kobj);
u8 w1_buf[3];
unsigned int retries = W1_F3A_RETRIES;
+ ssize_t bytes_written = -EIO;
if (count != 1 || off != 0)
return -EFAULT;
@@ -78,7 +79,7 @@ static ssize_t output_write(struct file *filp, struct kobject *kobj,
dev_dbg(&sl->dev, "mutex locked");
if (w1_reset_select_slave(sl))
- goto error;
+ goto out;
/* according to the DS2413 datasheet the most significant 6 bits
should be set to "1"s, so do it now */
@@ -91,18 +92,20 @@ static ssize_t output_write(struct file *filp, struct kobject *kobj,
w1_write_block(sl->master, w1_buf, 3);
if (w1_read_8(sl->master) == W1_F3A_SUCCESS_CONFIRM_BYTE) {
- mutex_unlock(&sl->master->bus_mutex);
- dev_dbg(&sl->dev, "mutex unlocked, retries:%d", retries);
- return 1;
+ bytes_written = 1;
+ goto out;
}
if (w1_reset_resume_command(sl->master))
- goto error;
+ goto out; /* unrecoverable error */
+
+ dev_warn(&sl->dev, "PIO_ACCESS_WRITE error, retries left: %d\n", retries);
}
-error:
+out:
mutex_unlock(&sl->master->bus_mutex);
- dev_dbg(&sl->dev, "mutex unlocked in error, retries:%d", retries);
- return -EIO;
+ dev_dbg(&sl->dev, "%s, mutex unlocked, retries: %d\n",
+ (bytes_written > 0) ? "succeeded" : "error", retries);
+ return bytes_written;
}
static BIN_ATTR(output, S_IRUGO | S_IWUSR | S_IWGRP, NULL, output_write, 1);
--
2.19.1

View file

@ -0,0 +1,79 @@
From 55a3cf636741690dd12b9c57512a09ae999b5fc1 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Mon, 20 May 2019 09:05:56 +0200
Subject: [PATCH 681/692] w1: ds2413: add retry support to state_read()
commit c50d09a86172073f55ebac0b92ad5a75907d64e7 upstream.
The state_read() was calling PIO_ACCESS_READ once and bail out if it
failed for this first time.
This commit is improving this to trying more times before it give up,
similarly as the write call is currently doing.
Signed-off-by: Mariusz Bialonczyk <manio@skyboo.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/w1/slaves/w1_ds2413.c | 37 +++++++++++++++++++++++------------
1 file changed, 24 insertions(+), 13 deletions(-)
diff --git a/drivers/w1/slaves/w1_ds2413.c b/drivers/w1/slaves/w1_ds2413.c
index cd3763df69ac..d63778c70568 100644
--- a/drivers/w1/slaves/w1_ds2413.c
+++ b/drivers/w1/slaves/w1_ds2413.c
@@ -30,6 +30,9 @@ static ssize_t state_read(struct file *filp, struct kobject *kobj,
size_t count)
{
struct w1_slave *sl = kobj_to_w1_slave(kobj);
+ unsigned int retries = W1_F3A_RETRIES;
+ ssize_t bytes_read = -EIO;
+
dev_dbg(&sl->dev,
"Reading %s kobj: %p, off: %0#10x, count: %zu, buff addr: %p",
bin_attr->attr.name, kobj, (unsigned int)off, count, buf);
@@ -42,22 +45,30 @@ static ssize_t state_read(struct file *filp, struct kobject *kobj,
mutex_lock(&sl->master->bus_mutex);
dev_dbg(&sl->dev, "mutex locked");
- if (w1_reset_select_slave(sl)) {
- mutex_unlock(&sl->master->bus_mutex);
- return -EIO;
- }
+ if (w1_reset_select_slave(sl))
+ goto out;
- w1_write_8(sl->master, W1_F3A_FUNC_PIO_ACCESS_READ);
- *buf = w1_read_8(sl->master);
+ while (retries--) {
+ w1_write_8(sl->master, W1_F3A_FUNC_PIO_ACCESS_READ);
- mutex_unlock(&sl->master->bus_mutex);
- dev_dbg(&sl->dev, "mutex unlocked");
+ *buf = w1_read_8(sl->master);
+ /* check for correct complement */
+ if ((*buf & 0x0F) == ((~*buf >> 4) & 0x0F)) {
+ bytes_read = 1;
+ goto out;
+ }
- /* check for correct complement */
- if ((*buf & 0x0F) != ((~*buf >> 4) & 0x0F))
- return -EIO;
- else
- return 1;
+ if (w1_reset_resume_command(sl->master))
+ goto out; /* unrecoverable error */
+
+ dev_warn(&sl->dev, "PIO_ACCESS_READ error, retries left: %d\n", retries);
+ }
+
+out:
+ mutex_unlock(&sl->master->bus_mutex);
+ dev_dbg(&sl->dev, "%s, mutex unlocked, retries: %d\n",
+ (bytes_read > 0) ? "succeeded" : "error", retries);
+ return bytes_read;
}
static BIN_ATTR_RO(state, 1);
--
2.19.1

View file

@ -0,0 +1,61 @@
From eb7c93f1db6a1e2b83d197afe79ed35ed406e953 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Wed, 22 May 2019 12:40:53 +0200
Subject: [PATCH 682/692] w1: ds2413: when the slave is not responding during
read, select it again
commit 3856032a0628e6b94badb9131a706dda185e071d upstream.
The protocol is not allowing to obtain a byte of 0xff for PIO_ACCESS_READ
call. It is very likely that the slave was not addressed properly and
it is just not respoding (leaving the bus in logic high state) during
the read of sampled PIO value.
We cannot just call w1_reset_resume_command() because the problem will
persist, instead try selecting (addressing) the slave again.
Signed-off-by: Mariusz Bialonczyk <manio@skyboo.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/w1/slaves/w1_ds2413.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/w1/slaves/w1_ds2413.c b/drivers/w1/slaves/w1_ds2413.c
index d63778c70568..21f08ac8a4e0 100644
--- a/drivers/w1/slaves/w1_ds2413.c
+++ b/drivers/w1/slaves/w1_ds2413.c
@@ -24,6 +24,7 @@
#define W1_F3A_FUNC_PIO_ACCESS_READ 0xF5
#define W1_F3A_FUNC_PIO_ACCESS_WRITE 0x5A
#define W1_F3A_SUCCESS_CONFIRM_BYTE 0xAA
+#define W1_F3A_INVALID_PIO_STATE 0xFF
static ssize_t state_read(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, char *buf, loff_t off,
@@ -45,6 +46,7 @@ static ssize_t state_read(struct file *filp, struct kobject *kobj,
mutex_lock(&sl->master->bus_mutex);
dev_dbg(&sl->dev, "mutex locked");
+next:
if (w1_reset_select_slave(sl))
goto out;
@@ -52,10 +54,15 @@ static ssize_t state_read(struct file *filp, struct kobject *kobj,
w1_write_8(sl->master, W1_F3A_FUNC_PIO_ACCESS_READ);
*buf = w1_read_8(sl->master);
- /* check for correct complement */
if ((*buf & 0x0F) == ((~*buf >> 4) & 0x0F)) {
+ /* complement is correct */
bytes_read = 1;
goto out;
+ } else if (*buf == W1_F3A_INVALID_PIO_STATE) {
+ /* slave didn't respond, try to select it again */
+ dev_warn(&sl->dev, "slave device did not respond to PIO_ACCESS_READ, " \
+ "reselecting, retries left: %d\n", retries);
+ goto next;
}
if (w1_reset_resume_command(sl->master))
--
2.19.1

View file

@ -0,0 +1,53 @@
From 9590e9aa6b1bc7a5946d6dae8c217bbde806133c Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Thu, 30 May 2019 09:51:25 +0200
Subject: [PATCH 683/692] w1: ds2413: fix state byte comparision
commit aacd152ecd7b18af5d2d96dea9e7284c1c93abea upstream.
This commit is fixing a smatch warning:
drivers/w1/slaves/w1_ds2413.c:61 state_read() warn: impossible condition '(*buf == 255) => ((-128)-127 == 255)'
by creating additional u8 variable for the bus reading and comparision
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: 3856032a0628 ("w1: ds2413: when the slave is not responding during read, select it again")
Signed-off-by: Mariusz Bialonczyk <manio@skyboo.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/w1/slaves/w1_ds2413.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/w1/slaves/w1_ds2413.c b/drivers/w1/slaves/w1_ds2413.c
index 21f08ac8a4e0..3364ad276b15 100644
--- a/drivers/w1/slaves/w1_ds2413.c
+++ b/drivers/w1/slaves/w1_ds2413.c
@@ -33,6 +33,7 @@ static ssize_t state_read(struct file *filp, struct kobject *kobj,
struct w1_slave *sl = kobj_to_w1_slave(kobj);
unsigned int retries = W1_F3A_RETRIES;
ssize_t bytes_read = -EIO;
+ u8 state;
dev_dbg(&sl->dev,
"Reading %s kobj: %p, off: %0#10x, count: %zu, buff addr: %p",
@@ -53,12 +54,13 @@ static ssize_t state_read(struct file *filp, struct kobject *kobj,
while (retries--) {
w1_write_8(sl->master, W1_F3A_FUNC_PIO_ACCESS_READ);
- *buf = w1_read_8(sl->master);
- if ((*buf & 0x0F) == ((~*buf >> 4) & 0x0F)) {
+ state = w1_read_8(sl->master);
+ if ((state & 0x0F) == ((~state >> 4) & 0x0F)) {
/* complement is correct */
+ *buf = state;
bytes_read = 1;
goto out;
- } else if (*buf == W1_F3A_INVALID_PIO_STATE) {
+ } else if (state == W1_F3A_INVALID_PIO_STATE) {
/* slave didn't respond, try to select it again */
dev_warn(&sl->dev, "slave device did not respond to PIO_ACCESS_READ, " \
"reselecting, retries left: %d\n", retries);
--
2.19.1

View file

@ -0,0 +1,140 @@
From eb0360356344d8ba633e61936c794aa46a02397f Mon Sep 17 00:00:00 2001
From: Chris Miller <chris@mesl2.co.uk>
Date: Wed, 26 Jun 2019 10:40:30 +0100
Subject: [PATCH 684/692] drm: vc4_dsi: Fix DMA channel and memory leak in vc4
(#3012)
Signed-off-by: Chris G Miller <chris@creative-electronics.net>
---
drivers/gpu/drm/vc4/vc4_dsi.c | 35 ++++++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c
index 0c607eb33d7e..e79c436226e0 100644
--- a/drivers/gpu/drm/vc4/vc4_dsi.c
+++ b/drivers/gpu/drm/vc4/vc4_dsi.c
@@ -1536,9 +1536,11 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
/* DSI1 has a broken AXI slave that doesn't respond to writes
* from the ARM. It does handle writes from the DMA engine,
* so set up a channel for talking to it.
+ * Where possible managed resource providers are used, but the DMA channel
+ * must - if acquired - be explicitly released prior to taking an error exit path.
*/
if (dsi->port == 1) {
- dsi->reg_dma_mem = dma_alloc_coherent(dev, 4,
+ dsi->reg_dma_mem = dmam_alloc_coherent(dev, 4,
&dsi->reg_dma_paddr,
GFP_KERNEL);
if (!dsi->reg_dma_mem) {
@@ -1557,6 +1559,8 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
return ret;
}
+ /* From here on, any error exits must release the dma channel */
+
/* Get the physical address of the device's registers. The
* struct resource for the regs gives us the bus address
* instead.
@@ -1583,7 +1587,7 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
if (ret) {
if (ret != -EPROBE_DEFER)
dev_err(dev, "Failed to get interrupt: %d\n", ret);
- return ret;
+ goto rel_dma_exit;
}
dsi->escape_clock = devm_clk_get(dev, "escape");
@@ -1591,7 +1595,7 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
ret = PTR_ERR(dsi->escape_clock);
if (ret != -EPROBE_DEFER)
dev_err(dev, "Failed to get escape clock: %d\n", ret);
- return ret;
+ goto rel_dma_exit;
}
dsi->pll_phy_clock = devm_clk_get(dev, "phy");
@@ -1599,7 +1603,7 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
ret = PTR_ERR(dsi->pll_phy_clock);
if (ret != -EPROBE_DEFER)
dev_err(dev, "Failed to get phy clock: %d\n", ret);
- return ret;
+ goto rel_dma_exit;
}
dsi->pixel_clock = devm_clk_get(dev, "pixel");
@@ -1607,7 +1611,7 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
ret = PTR_ERR(dsi->pixel_clock);
if (ret != -EPROBE_DEFER)
dev_err(dev, "Failed to get pixel clock: %d\n", ret);
- return ret;
+ goto rel_dma_exit;
}
ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0,
@@ -1622,26 +1626,28 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
if (ret == -ENODEV)
return 0;
- return ret;
+ goto rel_dma_exit;
}
if (panel) {
dsi->bridge = devm_drm_panel_bridge_add(dev, panel,
DRM_MODE_CONNECTOR_DSI);
- if (IS_ERR(dsi->bridge))
- return PTR_ERR(dsi->bridge);
+ if (IS_ERR(dsi->bridge)){
+ ret = PTR_ERR(dsi->bridge);
+ goto rel_dma_exit;
+ }
}
/* The esc clock rate is supposed to always be 100Mhz. */
ret = clk_set_rate(dsi->escape_clock, 100 * 1000000);
if (ret) {
dev_err(dev, "Failed to set esc clock: %d\n", ret);
- return ret;
+ goto rel_dma_exit;
}
ret = vc4_dsi_init_phy_clocks(dsi);
if (ret)
- return ret;
+ goto rel_dma_exit;
if (dsi->port == 1)
vc4->dsi1 = dsi;
@@ -1653,7 +1659,7 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
ret = drm_bridge_attach(dsi->encoder, dsi->bridge, NULL);
if (ret) {
dev_err(dev, "bridge attach failed: %d\n", ret);
- return ret;
+ goto rel_dma_exit;
}
/* Disable the atomic helper calls into the bridge. We
* manually call the bridge pre_enable / enable / etc. calls
@@ -1665,6 +1671,11 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data)
pm_runtime_enable(dev);
return 0;
+
+rel_dma_exit:
+ dma_release_channel(dsi->reg_dma_chan);
+
+ return ret;
}
static void vc4_dsi_unbind(struct device *dev, struct device *master,
@@ -1679,6 +1690,8 @@ static void vc4_dsi_unbind(struct device *dev, struct device *master,
vc4_dsi_encoder_destroy(dsi->encoder);
+ dma_release_channel(dsi->reg_dma_chan);
+
if (dsi->port == 1)
vc4->dsi1 = NULL;
}
--
2.19.1

View file

@ -0,0 +1,166 @@
From a4750f850182ab7dbe25d519b385e592e1d5b353 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 19 Jun 2019 03:55:50 +0100
Subject: [PATCH 685/692] video/bcm2708_fb: Revert cma allocation attempt
"4600e91 Pulled in the multi frame buffer support from the Pi3 repo"
pulled back in the code for allocating the framebuffer from the CMA
heap.
Revert it again.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
---
drivers/video/fbdev/bcm2708_fb.c | 101 +++------------------
include/soc/bcm2835/raspberrypi-firmware.h | 1 -
2 files changed, 13 insertions(+), 89 deletions(-)
diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c
index 540567fe21a8..2b7d5ebc7611 100644
--- a/drivers/video/fbdev/bcm2708_fb.c
+++ b/drivers/video/fbdev/bcm2708_fb.c
@@ -112,9 +112,6 @@ struct bcm2708_fb {
struct vc4_display_settings_t display_settings;
struct debugfs_regset32 screeninfo_regset;
struct bcm2708_fb_dev *fbdev;
- unsigned int image_size;
- dma_addr_t dma_addr;
- void *cpuaddr;
};
#define MAX_FRAMEBUFFERS 3
@@ -377,12 +374,12 @@ static int bcm2708_fb_set_par(struct fb_info *info)
.xoffset = info->var.xoffset,
.yoffset = info->var.yoffset,
.tag5 = { RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE, 8, 0 },
- /* base and screen_size will be initialised later */
- .tag6 = { RPI_FIRMWARE_FRAMEBUFFER_SET_PITCH, 4, 0 },
- /* pitch will be initialised later */
+ .base = 0,
+ .screen_size = 0,
+ .tag6 = { RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH, 4, 0 },
+ .pitch = 0,
};
- int ret, image_size;
-
+ int ret;
print_debug("%s(%p) %dx%d (%dx%d), %d, %d (display %d)\n", __func__,
info,
@@ -397,76 +394,12 @@ static int bcm2708_fb_set_par(struct fb_info *info)
*/
set_display_num(fb);
- /* Try allocating our own buffer. We can specify all the parameters */
- image_size = ((info->var.xres * info->var.yres) *
- info->var.bits_per_pixel) >> 3;
-
- if (!fb->fbdev->disable_arm_alloc &&
- (image_size != fb->image_size || !fb->dma_addr)) {
- if (fb->dma_addr) {
- dma_free_coherent(info->device, fb->image_size,
- fb->cpuaddr, fb->dma_addr);
- fb->image_size = 0;
- fb->cpuaddr = NULL;
- fb->dma_addr = 0;
- }
-
- fb->cpuaddr = dma_alloc_coherent(info->device, image_size,
- &fb->dma_addr, GFP_KERNEL);
-
- if (!fb->cpuaddr) {
- fb->dma_addr = 0;
- fb->fbdev->disable_arm_alloc = true;
- } else {
- fb->image_size = image_size;
- }
- }
-
- if (fb->cpuaddr) {
- fbinfo.base = fb->dma_addr;
- fbinfo.screen_size = image_size;
- fbinfo.pitch = (info->var.xres * info->var.bits_per_pixel) >> 3;
-
- ret = rpi_firmware_property_list(fb->fbdev->fw, &fbinfo,
- sizeof(fbinfo));
- if (ret || fbinfo.base != fb->dma_addr) {
- /* Firmware either failed, or assigned a different base
- * address (ie it doesn't support being passed an FB
- * allocation).
- * Destroy the allocation, and don't try again.
- */
- dma_free_coherent(info->device, fb->image_size,
- fb->cpuaddr, fb->dma_addr);
- fb->image_size = 0;
- fb->cpuaddr = NULL;
- fb->dma_addr = 0;
- fb->fbdev->disable_arm_alloc = true;
- }
- } else {
- /* Our allocation failed - drop into the old scheme of
- * allocation by the VPU.
- */
- ret = -ENOMEM;
- }
-
+ ret = rpi_firmware_property_list(fb->fbdev->fw, &fbinfo,
+ sizeof(fbinfo));
if (ret) {
- /* Old scheme:
- * - FRAMEBUFFER_ALLOCATE passes 0 for base and screen_size.
- * - GET_PITCH instead of SET_PITCH.
- */
- fbinfo.base = 0;
- fbinfo.screen_size = 0;
- fbinfo.tag6.tag = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH;
- fbinfo.pitch = 0;
-
- ret = rpi_firmware_property_list(fb->fbdev->fw, &fbinfo,
- sizeof(fbinfo));
- if (ret) {
- dev_err(info->device,
- "Failed to allocate GPU framebuffer (%d)\n",
- ret);
- return ret;
- }
+ dev_err(info->device,
+ "Failed to allocate GPU framebuffer (%d)\n", ret);
+ return ret;
}
if (info->var.bits_per_pixel <= 8)
@@ -481,17 +414,9 @@ static int bcm2708_fb_set_par(struct fb_info *info)
fb->fb.fix.smem_start = fbinfo.base;
fb->fb.fix.smem_len = fbinfo.pitch * fbinfo.yres_virtual;
fb->fb.screen_size = fbinfo.screen_size;
-
- if (!fb->dma_addr) {
- if (fb->fb.screen_base)
- iounmap(fb->fb.screen_base);
-
- fb->fb.screen_base = ioremap_wc(fbinfo.base,
- fb->fb.screen_size);
- } else {
- fb->fb.screen_base = fb->cpuaddr;
- }
-
+ if (fb->fb.screen_base)
+ iounmap(fb->fb.screen_base);
+ fb->fb.screen_base = ioremap_wc(fbinfo.base, fb->fb.screen_size);
if (!fb->fb.screen_base) {
/* the console may currently be locked */
console_trylock();
diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
index 10252aa519d3..1ef454bd48b1 100644
--- a/include/soc/bcm2835/raspberrypi-firmware.h
+++ b/include/soc/bcm2835/raspberrypi-firmware.h
@@ -138,7 +138,6 @@ enum rpi_firmware_property_tag {
RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH = 0x00048005,
RPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER = 0x00048006,
RPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE = 0x00048007,
- RPI_FIRMWARE_FRAMEBUFFER_SET_PITCH = 0x00048008,
RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009,
RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a,
RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b,
--
2.19.1

View file

@ -0,0 +1,117 @@
From 56a097ef7a765fb35d50ff9a4fcd305fb6f6c5e0 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 24 Jun 2019 02:29:40 +0100
Subject: [PATCH 686/692] drm/vc4: Add support for color encoding on YUV planes
Adds signalling for BT601/709/2020, and limited/full range
(on BT601).
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
---
drivers/gpu/drm/vc4/vc4_firmware_kms.c | 32 +++++++++++++++++++++++++-
drivers/gpu/drm/vc4/vc_image_types.h | 28 ++++++++++++++++++++++
2 files changed, 59 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
index b5959abecf1a..074766fc076e 100644
--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
@@ -66,7 +66,7 @@ struct set_plane {
u8 alpha;
u8 num_planes;
u8 is_vu;
- u8 padding;
+ u8 color_encoding;
u32 planes[4]; /* DMA address of each plane */
@@ -454,6 +454,28 @@ static void vc4_plane_atomic_update(struct drm_plane *plane,
if (num_planes == 3 &&
(fb->offsets[2] - fb->offsets[1]) == fb->pitches[1])
mb->plane.vc_image_type = VC_IMAGE_YUV420_S;
+
+ switch (state->color_encoding) {
+ default:
+ case DRM_COLOR_YCBCR_BT601:
+ if (state->color_range == DRM_COLOR_YCBCR_LIMITED_RANGE)
+ mb->plane.color_encoding =
+ VC_IMAGE_YUVINFO_CSC_ITUR_BT601;
+ else
+ mb->plane.color_encoding =
+ VC_IMAGE_YUVINFO_CSC_JPEG_JFIF;
+ break;
+ case DRM_COLOR_YCBCR_BT709:
+ /* Currently no support for a full range BT709 */
+ mb->plane.color_encoding =
+ VC_IMAGE_YUVINFO_CSC_ITUR_BT709;
+ break;
+ case DRM_COLOR_YCBCR_BT2020:
+ /* Currently no support for a full range BT2020 */
+ mb->plane.color_encoding =
+ VC_IMAGE_YUVINFO_CSC_REC_2020;
+ break;
+ }
} else {
mb->plane.planes[1] = 0;
mb->plane.planes[2] = 0;
@@ -643,6 +665,14 @@ static struct drm_plane *vc4_fkms_plane_init(struct drm_device *dev,
drm_plane_create_alpha_property(plane);
drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0,
SUPPORTED_ROTATIONS);
+ drm_plane_create_color_properties(plane,
+ BIT(DRM_COLOR_YCBCR_BT601) |
+ BIT(DRM_COLOR_YCBCR_BT709) |
+ BIT(DRM_COLOR_YCBCR_BT2020),
+ BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
+ BIT(DRM_COLOR_YCBCR_FULL_RANGE),
+ DRM_COLOR_YCBCR_BT709,
+ DRM_COLOR_YCBCR_LIMITED_RANGE);
/*
* Default frame buffer setup is with FB on -127, and raspistill etc
diff --git a/drivers/gpu/drm/vc4/vc_image_types.h b/drivers/gpu/drm/vc4/vc_image_types.h
index 669a70fdb891..0bdffe5dd1e9 100644
--- a/drivers/gpu/drm/vc4/vc_image_types.h
+++ b/drivers/gpu/drm/vc4/vc_image_types.h
@@ -4,6 +4,8 @@
*
* Values taken from vc_image_types.h released by Broadcom at
* https://github.com/raspberrypi/userland/blob/master/interface/vctypes/vc_image_types.h
+ * and vc_image_structs.h at
+ * https://github.com/raspberrypi/userland/blob/master/interface/vctypes/vc_image_structs.h
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@ -141,3 +143,29 @@ enum {
VC_IMAGE_MAX, /* bounds for error checking */
VC_IMAGE_FORCE_ENUM_16BIT = 0xffff,
};
+
+enum {
+ /* Unknown or unset - defaults to BT601 interstitial */
+ VC_IMAGE_YUVINFO_UNSPECIFIED = 0,
+
+ /* colour-space conversions data [4 bits] */
+
+ /* ITU-R BT.601-5 [SDTV] (compatible with VideoCore-II) */
+ VC_IMAGE_YUVINFO_CSC_ITUR_BT601 = 1,
+ /* ITU-R BT.709-3 [HDTV] */
+ VC_IMAGE_YUVINFO_CSC_ITUR_BT709 = 2,
+ /* JPEG JFIF */
+ VC_IMAGE_YUVINFO_CSC_JPEG_JFIF = 3,
+ /* Title 47 Code of Federal Regulations (2003) 73.682 (a) (20) */
+ VC_IMAGE_YUVINFO_CSC_FCC = 4,
+ /* Society of Motion Picture and Television Engineers 240M (1999) */
+ VC_IMAGE_YUVINFO_CSC_SMPTE_240M = 5,
+ /* ITU-R BT.470-2 System M */
+ VC_IMAGE_YUVINFO_CSC_ITUR_BT470_2_M = 6,
+ /* ITU-R BT.470-2 System B,G */
+ VC_IMAGE_YUVINFO_CSC_ITUR_BT470_2_BG = 7,
+ /* JPEG JFIF, but with 16..255 luma */
+ VC_IMAGE_YUVINFO_CSC_JPEG_JFIF_Y16_255 = 8,
+ /* Rec 2020 */
+ VC_IMAGE_YUVINFO_CSC_REC_2020 = 9,
+};
--
2.19.1

View file

@ -0,0 +1,33 @@
From dbb5d678f6a7c50d4026facf98b46c36555da084 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 2 Jul 2019 17:13:05 +0100
Subject: [PATCH 689/692] arm: dts: Add coherent_pool=1M to Pi 4 bootargs
Downstream Raspberry Pi dts files add "coherent_pool=1M" to the kernel
command line to aid the dwc_otg driver, but this excluded Pi 4 which
uses a new XCHI interface instead. UAS also benefits from a larger
coherent_pool value, so replicate the addition in bcm2711-rpi-4-b.dts.
See: https://github.com/raspberrypi/linux/pull/3040
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
index 5addb6130fa7..9b5c4f8a4d17 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
@@ -14,7 +14,7 @@
};
chosen {
- bootargs = "8250.nr_uarts=1 cma=64M";
+ bootargs = "coherent_pool=1M 8250.nr_uarts=1 cma=64M";
};
aliases {
--
2.19.1