mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-16 11:51:36 +00:00
Merge branch 'master' into desktop
This commit is contained in:
commit
a27cc56a13
93 changed files with 6968 additions and 10076 deletions
|
@ -4,6 +4,9 @@
|
|||
| BOARD_NAME | welcome text and hostname |
|
||||
| BOARDFAMILY | [sun8i, sun7i, rockchip64](../sources) |
|
||||
| BOOTCONFIG | name of u-boot config |
|
||||
| BOOTCONFIG_LEGACY | name of u-boot config for legacy branch |
|
||||
| BOOTCONFIG_CURRENT | name of u-boot config for current branch |
|
||||
| BOOTCONFIG_DEV | name of u-boot config for dev branch |
|
||||
| BOOTSIZE | size of a separate boot partition in Mib |
|
||||
| BOOT_LOGO | yes/desktop enable armbian boot logo during booting |
|
||||
| IMAGE_PARTITION_TABLE | "msdos" (default) or "gpt" (boot loader must supports it) |
|
||||
|
@ -27,6 +30,11 @@
|
|||
| PACKAGE_LIST_BOARD_REMOVE | space delimited packages to be removed |
|
||||
| PACKAGE_LIST_DESKTOP_BOARD | space delimited packages to be installed on this boards desktop build |
|
||||
| PACKAGE_LIST_DESKTOP_BOARD_REMOVE | space delimited packages to be removed |
|
||||
| BOOT_FDT_FILE | Forcing loading specific device tree configuration - if its different than the one defined by u-boot |
|
||||
| CPUMIN | Minimum CPU frequency to scale (Hz) |
|
||||
| CPUMAX | Maximum CPU frequency to scale (Hz) |
|
||||
| FORCE_BOOTSCRIPT_UPDATE | install bootscripts if they are not present |
|
||||
| OVERLAY_PREFIX | prefix for DT and overlay file paths which will be set while creating image |
|
||||
|
||||
|
||||
Statuses displayed at the login prompt:
|
||||
|
|
8
config/boards/nanopi-r4s.wip
Normal file
8
config/boards/nanopi-r4s.wip
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Rockchip RK3399 hexa core 1GB/4GB RAM SoC 2 x GBE USB3 USB-C
|
||||
BOARD_NAME="NanoPi R4S"
|
||||
BOARDFAMILY="rk3399"
|
||||
BOOTCONFIG="nanopi-r4s-rk3399_defconfig"
|
||||
KERNEL_TARGET="current,dev"
|
||||
DEFAULT_CONSOLE="serial"
|
||||
MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima hantro_vpu"
|
||||
BUILD_DESKTOP="no"
|
6
config/boards/recore.csc
Normal file
6
config/boards/recore.csc
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Allwinner A64 quad core 1GB RAM SoC GBE
|
||||
BOARD_NAME="Recore"
|
||||
BOARDFAMILY="sun50iw1"
|
||||
BOOTCONFIG="pine64_plus_defconfig"
|
||||
KERNEL_TARGET="current,dev"
|
||||
FULL_DESKTOP="no"
|
|
@ -1072,16 +1072,16 @@ CONFIG_CMA_DEBUGFS=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
|
|
|
@ -913,17 +913,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
|
|
@ -925,17 +925,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
|
|
@ -824,17 +824,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
@ -2206,7 +2206,7 @@ CONFIG_HABANA_AI=m
|
|||
CONFIG_UACCE=m
|
||||
|
||||
#
|
||||
# Mediatek Peripherals
|
||||
# Mediatek Peripherals
|
||||
#
|
||||
CONFIG_MTK_PLATFORM="mt7623"
|
||||
CONFIG_MTK_BTIF=y
|
||||
|
@ -2245,7 +2245,7 @@ CONFIG_GPS=m
|
|||
CONFIG_MTK_GPS=m
|
||||
CONFIG_MTK_GPS_SUPPORT=m
|
||||
# end of Modem & Connectivity related configs
|
||||
# end of Mediatek Peripherals
|
||||
# end of Mediatek Peripherals
|
||||
# end of Misc devices
|
||||
|
||||
CONFIG_HAVE_IDE=y
|
||||
|
|
|
@ -807,17 +807,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=m
|
||||
|
|
|
@ -818,17 +818,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=m
|
||||
|
|
|
@ -805,17 +805,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
|
|
@ -812,17 +812,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
|
|
@ -284,7 +284,7 @@ CONFIG_MODULES_TREE_LOOKUP=y
|
|||
CONFIG_BLOCK=y
|
||||
CONFIG_BLK_DEV_BSG=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
# CONFIG_BLK_DEV_INTEGRITY is not set
|
||||
CONFIG_BLK_DEV_INTEGRITY=y
|
||||
CONFIG_BLK_DEV_THROTTLING=y
|
||||
# CONFIG_BLK_CMDLINE_PARSER is not set
|
||||
|
||||
|
@ -432,7 +432,6 @@ CONFIG_HZ_250=y
|
|||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=250
|
||||
CONFIG_SCHED_HRTICK=y
|
||||
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
|
||||
CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
|
@ -1916,6 +1915,13 @@ CONFIG_DM_SWITCH=m
|
|||
CONFIG_DM_LOG_WRITES=m
|
||||
# CONFIG_DM_VERITY_AVB is not set
|
||||
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
||||
CONFIG_TARGET_CORE=m
|
||||
CONFIG_TCM_IBLOCK=m
|
||||
CONFIG_TCM_FILEIO=m
|
||||
CONFIG_TCM_PSCSI=m
|
||||
CONFIG_TCM_USER2=m
|
||||
# CONFIG_LOOPBACK_TARGET is not set
|
||||
CONFIG_ISCSI_TARGET=m
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
|
@ -2393,6 +2399,7 @@ CONFIG_RTL8822BU=m
|
|||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTL8821CU=m
|
||||
CONFIG_88XXAU=m
|
||||
CONFIG_RTL8192EU=m
|
||||
# CONFIG_ZD1211RW is not set
|
||||
CONFIG_MWIFIEX=y
|
||||
CONFIG_MWIFIEX_SDIO=y
|
||||
|
@ -3431,7 +3438,8 @@ CONFIG_REGULATOR_RK818=y
|
|||
# CONFIG_REGULATOR_TPS6524X is not set
|
||||
CONFIG_REGULATOR_TPS6586X=y
|
||||
CONFIG_REGULATOR_XZ3216=y
|
||||
CONFIG_CEC_CORE=m
|
||||
CONFIG_CEC_CORE=y
|
||||
CONFIG_CEC_NOTIFIER=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
|
||||
#
|
||||
|
@ -3444,7 +3452,7 @@ CONFIG_MEDIA_RADIO_SUPPORT=y
|
|||
CONFIG_MEDIA_SDR_SUPPORT=y
|
||||
CONFIG_MEDIA_RC_SUPPORT=y
|
||||
CONFIG_MEDIA_CEC_SUPPORT=y
|
||||
# CONFIG_MEDIA_CEC_RC is not set
|
||||
CONFIG_MEDIA_CEC_RC=y
|
||||
CONFIG_MEDIA_CONTROLLER=y
|
||||
CONFIG_VIDEO_DEV=y
|
||||
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||
|
@ -3733,7 +3741,7 @@ CONFIG_VIDEO_CX25840=m
|
|||
#
|
||||
# Camera sensor devices
|
||||
#
|
||||
# CONFIG_VIDEO_IMX219 is not set
|
||||
CONFIG_VIDEO_IMX219=y
|
||||
# CONFIG_VIDEO_IMX258 is not set
|
||||
# CONFIG_VIDEO_IMX317 is not set
|
||||
# CONFIG_VIDEO_IMX323 is not set
|
||||
|
@ -3745,7 +3753,7 @@ CONFIG_VIDEO_CX25840=m
|
|||
# CONFIG_VIDEO_OV2718 is not set
|
||||
# CONFIG_VIDEO_OV2735 is not set
|
||||
CONFIG_VIDEO_OV4689=y
|
||||
# CONFIG_VIDEO_OV5647 is not set
|
||||
CONFIG_VIDEO_OV5647=y
|
||||
# CONFIG_VIDEO_OV5648 is not set
|
||||
# CONFIG_VIDEO_OV5695 is not set
|
||||
# CONFIG_VIDEO_OV7251 is not set
|
||||
|
@ -4131,7 +4139,7 @@ CONFIG_DRM_ANALOGIX_DP=y
|
|||
CONFIG_DRM_DW_HDMI=y
|
||||
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
|
||||
CONFIG_DRM_DW_HDMI_I2S_AUDIO=y
|
||||
# CONFIG_DRM_DW_HDMI_CEC is not set
|
||||
CONFIG_DRM_DW_HDMI_CEC=y
|
||||
# CONFIG_POWERVR_ROGUE_M is not set
|
||||
# CONFIG_MALI400 is not set
|
||||
CONFIG_MALI_DEVFREQ=y
|
||||
|
@ -4992,6 +5000,7 @@ CONFIG_USB_FUNCTIONFS_ETH=y
|
|||
CONFIG_USB_FUNCTIONFS_RNDIS=y
|
||||
CONFIG_USB_FUNCTIONFS_GENERIC=y
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
# CONFIG_USB_GADGET_TARGET is not set
|
||||
CONFIG_USB_G_SERIAL=m
|
||||
CONFIG_USB_MIDI_GADGET=m
|
||||
CONFIG_USB_G_PRINTER=m
|
||||
|
@ -6183,6 +6192,7 @@ CONFIG_KVM_ARM_VGIC_V3=y
|
|||
CONFIG_KVM=y
|
||||
CONFIG_KVM_ARM_HOST=y
|
||||
CONFIG_VHOST_NET=m
|
||||
# CONFIG_VHOST_SCSI is not set
|
||||
# CONFIG_VHOST_VSOCK is not set
|
||||
CONFIG_VHOST=m
|
||||
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
|
||||
|
@ -6225,7 +6235,6 @@ CONFIG_DEBUG_KERNEL=y
|
|||
# Memory Debugging
|
||||
#
|
||||
# CONFIG_PAGE_EXTENSION is not set
|
||||
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
# CONFIG_SLUB_DEBUG_ON is not set
|
||||
# CONFIG_SLUB_STATS is not set
|
||||
|
@ -6674,12 +6683,3 @@ CONFIG_FONT_8x8=y
|
|||
CONFIG_FONT_8x16=y
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||
|
||||
## LinuxIO - iSCSI Target modules
|
||||
CONFIG_TARGET_CORE=m
|
||||
CONFIG_ISCSI_TARGET=m
|
||||
CONFIG_TCM_IBLOCK=m
|
||||
CONFIG_TCM_FILEIO=m
|
||||
CONFIG_TCM_PSCSI=m
|
||||
CONFIG_TCM_USER2=m
|
||||
|
||||
|
|
|
@ -795,17 +795,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
|
|
@ -801,17 +801,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 5.9.8 Kernel Configuration
|
||||
# Linux/arm64 5.9.12 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025"
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=90201
|
||||
CONFIG_LD_VERSION=233010000
|
||||
CONFIG_GCC_VERSION=80300
|
||||
CONFIG_LD_VERSION=232000000
|
||||
CONFIG_CLANG_VERSION=0
|
||||
CONFIG_CC_CAN_LINK=y
|
||||
CONFIG_CC_CAN_LINK_STATIC=y
|
||||
|
@ -444,10 +444,8 @@ CONFIG_ARM64_CNP=y
|
|||
# ARMv8.3 architectural features
|
||||
#
|
||||
CONFIG_ARM64_PTR_AUTH=y
|
||||
CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
|
||||
CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
|
||||
CONFIG_AS_HAS_PAC=y
|
||||
CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
|
||||
# end of ARMv8.3 architectural features
|
||||
|
||||
#
|
||||
|
@ -462,7 +460,6 @@ CONFIG_ARM64_TLB_RANGE=y
|
|||
# ARMv8.5 architectural features
|
||||
#
|
||||
CONFIG_ARM64_BTI=y
|
||||
CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
|
||||
CONFIG_ARM64_E0PD=y
|
||||
CONFIG_ARCH_RANDOM=y
|
||||
# end of ARMv8.5 architectural features
|
||||
|
@ -472,8 +469,6 @@ CONFIG_ARM64_MODULE_PLTS=y
|
|||
# CONFIG_ARM64_PSEUDO_NMI is not set
|
||||
CONFIG_RELOCATABLE=y
|
||||
# CONFIG_RANDOMIZE_BASE is not set
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||
CONFIG_STACKPROTECTOR_PER_TASK=y
|
||||
# end of Kernel Features
|
||||
|
||||
#
|
||||
|
@ -872,17 +867,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
@ -2800,7 +2795,7 @@ CONFIG_NET_VENDOR_RDC=y
|
|||
CONFIG_NET_VENDOR_REALTEK=y
|
||||
# CONFIG_8139CP is not set
|
||||
# CONFIG_8139TOO is not set
|
||||
# CONFIG_R8169 is not set
|
||||
CONFIG_R8169=m
|
||||
CONFIG_NET_VENDOR_RENESAS=y
|
||||
CONFIG_NET_VENDOR_ROCKER=y
|
||||
CONFIG_ROCKER=m
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 5.10.1 Kernel Configuration
|
||||
# Linux/arm64 5.10.4 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
|
@ -879,17 +879,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
@ -2813,7 +2813,7 @@ CONFIG_NET_VENDOR_RDC=y
|
|||
CONFIG_NET_VENDOR_REALTEK=y
|
||||
# CONFIG_8139CP is not set
|
||||
# CONFIG_8139TOO is not set
|
||||
# CONFIG_R8169 is not set
|
||||
CONFIG_R8169=m
|
||||
CONFIG_NET_VENDOR_RENESAS=y
|
||||
CONFIG_NET_VENDOR_ROCKER=y
|
||||
CONFIG_ROCKER=m
|
||||
|
@ -3234,7 +3234,6 @@ CONFIG_WILINK_PLATFORM_DATA=y
|
|||
CONFIG_RTL8723DU=m
|
||||
CONFIG_RTL8723DS=m
|
||||
CONFIG_RTL8822BU=m
|
||||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTL8821CU=m
|
||||
CONFIG_88XXAU=m
|
||||
# CONFIG_RTL8192EU is not set
|
||||
|
@ -4451,7 +4450,6 @@ CONFIG_MFD_RK808=y
|
|||
CONFIG_MFD_RN5T618=m
|
||||
CONFIG_MFD_SEC_CORE=y
|
||||
# CONFIG_MFD_SI476X_CORE is not set
|
||||
# CONFIG_MFD_SL28CPLD is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_MFD_SKY81452 is not set
|
||||
# CONFIG_ABX500_CORE is not set
|
||||
|
@ -5819,7 +5817,6 @@ CONFIG_SND_SOC_FSL_MICFIL=m
|
|||
|
||||
# CONFIG_SND_I2S_HI6210_I2S is not set
|
||||
# CONFIG_SND_SOC_IMG is not set
|
||||
# CONFIG_SND_SOC_INTEL_KEEMBAY is not set
|
||||
# CONFIG_SND_SOC_MTK_BTCVSD is not set
|
||||
|
||||
#
|
||||
|
@ -6409,7 +6406,6 @@ CONFIG_USB_FTDI_ELAN=m
|
|||
CONFIG_USB_APPLEDISPLAY=m
|
||||
CONFIG_APPLE_MFI_FASTCHARGE=m
|
||||
CONFIG_USB_SISUSBVGA=m
|
||||
# CONFIG_USB_SISUSBVGA_CON is not set
|
||||
CONFIG_USB_LD=m
|
||||
CONFIG_USB_TRANCEVIBRATOR=m
|
||||
CONFIG_USB_IOWARRIOR=m
|
||||
|
@ -8646,7 +8642,7 @@ CONFIG_CRYPTO_LZO=y
|
|||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_LZ4=m
|
||||
CONFIG_CRYPTO_LZ4HC=m
|
||||
CONFIG_CRYPTO_ZSTD=m
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
|
||||
#
|
||||
# Random Number Generation
|
||||
|
|
|
@ -3433,8 +3433,8 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
|
|||
CONFIG_SOC_CAMERA=y
|
||||
# CONFIG_SOC_CAMERA_PLATFORM is not set
|
||||
# CONFIG_VIDEO_XILINX is not set
|
||||
# CONFIG_VIDEO_RK_CIF_ISP10 is not set
|
||||
# CONFIG_VIDEO_ROCKCHIP_CIF is not set
|
||||
CONFIG_VIDEO_RK_CIF_ISP10=y
|
||||
CONFIG_VIDEO_ROCKCHIP_CIF=y
|
||||
CONFIG_VIDEO_ROCKCHIP_ISP1=y
|
||||
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
|
||||
|
@ -3544,7 +3544,7 @@ CONFIG_VIDEO_CX25840=m
|
|||
#
|
||||
# Camera sensor devices
|
||||
#
|
||||
# CONFIG_VIDEO_IMX219 is not set
|
||||
CONFIG_VIDEO_IMX219=y
|
||||
# CONFIG_VIDEO_IMX323 is not set
|
||||
# CONFIG_VIDEO_VIRT_CAMERA is not set
|
||||
# CONFIG_VIDEO_OV2659 is not set
|
||||
|
@ -3552,7 +3552,7 @@ CONFIG_VIDEO_CX25840=m
|
|||
# CONFIG_VIDEO_OV2718 is not set
|
||||
# CONFIG_VIDEO_OV2735 is not set
|
||||
CONFIG_VIDEO_OV4689=y
|
||||
# CONFIG_VIDEO_OV5647 is not set
|
||||
CONFIG_VIDEO_OV5647=y
|
||||
# CONFIG_VIDEO_OV5695 is not set
|
||||
# CONFIG_VIDEO_OV7251 is not set
|
||||
# CONFIG_VIDEO_OV7640 is not set
|
||||
|
@ -3635,6 +3635,16 @@ CONFIG_VIDEO_SC031GS=y
|
|||
# CONFIG_SOC_CAMERA_OV9740 is not set
|
||||
# CONFIG_SOC_CAMERA_RJ54N1 is not set
|
||||
# CONFIG_SOC_CAMERA_TW9910 is not set
|
||||
# CONFIG_VIDEO_OV8858 is not set
|
||||
# CONFIG_VIDEO_OV2710 is not set
|
||||
# CONFIG_VIDEO_TC358749XBG is not set
|
||||
# CONFIG_VIDEO_ADV7181 is not set
|
||||
# CONFIG_VIDEO_OV7675 is not set
|
||||
# CONFIG_VIDEO_NT99230 is not set
|
||||
# CONFIG_VIDEO_OV9281 is not set
|
||||
# CONFIG_VIDEO_OV9750 is not set
|
||||
# CONFIG_VIDEO_ov5640 is not set
|
||||
# CONFIG_VIDEO_SC2232 is not set
|
||||
|
||||
#
|
||||
# SPI helper chips
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 5.9.15 Kernel Configuration
|
||||
# Linux/arm 5.10.4 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="arm-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=80300
|
||||
CONFIG_LD_VERSION=232000000
|
||||
CONFIG_CLANG_VERSION=0
|
||||
CONFIG_LLD_VERSION=0
|
||||
CONFIG_CC_CAN_LINK=y
|
||||
CONFIG_CC_CAN_LINK_STATIC=y
|
||||
CONFIG_CC_HAS_ASM_GOTO=y
|
||||
|
@ -59,6 +60,7 @@ CONFIG_GENERIC_IRQ_CHIP=y
|
|||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||
CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y
|
||||
CONFIG_GENERIC_IRQ_IPI=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
|
@ -114,6 +116,7 @@ CONFIG_SRCU=y
|
|||
CONFIG_TREE_SRCU=y
|
||||
CONFIG_TASKS_RCU_GENERIC=y
|
||||
CONFIG_TASKS_RUDE_RCU=y
|
||||
CONFIG_TASKS_TRACE_RCU=y
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
# end of RCU Subsystem
|
||||
|
@ -177,6 +180,7 @@ CONFIG_RD_ZSTD=y
|
|||
# CONFIG_BOOT_CONFIG is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_LD_ORPHAN_WARN=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_HAVE_UID16=y
|
||||
CONFIG_BPF=y
|
||||
|
@ -207,6 +211,7 @@ CONFIG_KALLSYMS=y
|
|||
# CONFIG_KALLSYMS_ALL is not set
|
||||
CONFIG_KALLSYMS_BASE_RELATIVE=y
|
||||
CONFIG_BPF_SYSCALL=y
|
||||
# CONFIG_BPF_PRELOAD is not set
|
||||
# CONFIG_USERFAULTFD is not set
|
||||
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
|
||||
CONFIG_RSEQ=y
|
||||
|
@ -467,7 +472,6 @@ CONFIG_ARM_MODULE_PLTS=y
|
|||
CONFIG_FORCE_MAX_ZONEORDER=11
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
# CONFIG_UACCESS_WITH_MEMCPY is not set
|
||||
CONFIG_SECCOMP=y
|
||||
# CONFIG_PARAVIRT is not set
|
||||
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
||||
# CONFIG_XEN is not set
|
||||
|
@ -619,6 +623,7 @@ CONFIG_AS_VFP_VMRS_FPINST=y
|
|||
#
|
||||
# General architecture-dependent options
|
||||
#
|
||||
CONFIG_SET_FS=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
# CONFIG_KPROBES is not set
|
||||
CONFIG_JUMP_LABEL=y
|
||||
|
@ -644,7 +649,9 @@ CONFIG_HAVE_PERF_REGS=y
|
|||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_STACKPROTECTOR=y
|
||||
CONFIG_STACKPROTECTOR=y
|
||||
|
@ -671,6 +678,7 @@ CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
|||
CONFIG_STRICT_MODULE_RWX=y
|
||||
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
|
||||
# CONFIG_LOCK_EVENT_COUNTS is not set
|
||||
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
|
@ -804,17 +812,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
@ -1570,6 +1578,7 @@ CONFIG_CAN_RAW=m
|
|||
CONFIG_CAN_BCM=m
|
||||
CONFIG_CAN_GW=m
|
||||
CONFIG_CAN_J1939=m
|
||||
# CONFIG_CAN_ISOTP is not set
|
||||
|
||||
#
|
||||
# CAN Device Drivers
|
||||
|
@ -1604,6 +1613,7 @@ CONFIG_CAN_SOFTING=m
|
|||
#
|
||||
CONFIG_CAN_HI311X=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
# CONFIG_CAN_MCP251XFD is not set
|
||||
# end of CAN SPI interfaces
|
||||
|
||||
#
|
||||
|
@ -1836,6 +1846,7 @@ CONFIG_SUN50I_DE2_BUS=y
|
|||
CONFIG_SUNXI_RSB=y
|
||||
# CONFIG_VEXPRESS_CONFIG is not set
|
||||
CONFIG_MHI_BUS=m
|
||||
# CONFIG_MHI_BUS_DEBUG is not set
|
||||
# end of Bus devices
|
||||
|
||||
CONFIG_CONNECTOR=m
|
||||
|
@ -1940,6 +1951,12 @@ CONFIG_MTD_NAND_CADENCE=m
|
|||
# CONFIG_MTD_NAND_NANDSIM is not set
|
||||
# CONFIG_MTD_NAND_DISKONCHIP is not set
|
||||
CONFIG_MTD_SPI_NAND=m
|
||||
|
||||
#
|
||||
# ECC engine support
|
||||
#
|
||||
CONFIG_MTD_NAND_ECC=y
|
||||
# end of ECC engine support
|
||||
# end of NAND
|
||||
|
||||
#
|
||||
|
@ -1968,7 +1985,6 @@ CONFIG_OF_DYNAMIC=y
|
|||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_OF_RESOLVE=y
|
||||
CONFIG_OF_OVERLAY=y
|
||||
|
@ -2034,6 +2050,7 @@ CONFIG_NVME_TARGET_TCP=m
|
|||
# CONFIG_XILINX_SDFEC is not set
|
||||
CONFIG_MISC_RTSX=m
|
||||
CONFIG_PVPANIC=m
|
||||
# CONFIG_HISI_HIKEY_USB is not set
|
||||
# CONFIG_MODEM_POWER is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
|
||||
|
@ -2059,13 +2076,6 @@ CONFIG_EEPROM_EE1004=m
|
|||
# CONFIG_SENSORS_LIS3_SPI is not set
|
||||
# CONFIG_SENSORS_LIS3_I2C is not set
|
||||
# CONFIG_ALTERA_STAPL is not set
|
||||
|
||||
#
|
||||
# Intel MIC & related support
|
||||
#
|
||||
# CONFIG_VOP_BUS is not set
|
||||
# end of Intel MIC & related support
|
||||
|
||||
# CONFIG_ECHO is not set
|
||||
CONFIG_MISC_RTSX_USB=m
|
||||
CONFIG_UACCE=m
|
||||
|
@ -2260,6 +2270,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m
|
|||
CONFIG_NET_DSA_MV88E6XXX=m
|
||||
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
|
||||
CONFIG_NET_DSA_MV88E6XXX_PTP=y
|
||||
# CONFIG_NET_DSA_MSCC_SEVILLE is not set
|
||||
CONFIG_NET_DSA_AR9331=m
|
||||
CONFIG_NET_DSA_SJA1105=m
|
||||
# CONFIG_NET_DSA_SJA1105_PTP is not set
|
||||
|
@ -2341,6 +2352,7 @@ CONFIG_DWMAC_DWC_QOS_ETH=m
|
|||
CONFIG_DWMAC_GENERIC=y
|
||||
CONFIG_DWMAC_SUNXI=y
|
||||
CONFIG_DWMAC_SUN8I=y
|
||||
# CONFIG_DWMAC_INTEL_PLAT is not set
|
||||
CONFIG_NET_VENDOR_SYNOPSYS=y
|
||||
# CONFIG_DWC_XLGMAC is not set
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
|
@ -2348,55 +2360,34 @@ CONFIG_NET_VENDOR_SYNOPSYS=y
|
|||
CONFIG_NET_VENDOR_XILINX=y
|
||||
# CONFIG_XILINX_AXI_EMAC is not set
|
||||
CONFIG_XILINX_LL_TEMAC=m
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
CONFIG_MDIO_BCM_UNIMAC=m
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
CONFIG_MDIO_BUS_MUX=y
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
|
||||
# CONFIG_MDIO_HISI_FEMAC is not set
|
||||
# CONFIG_MDIO_IPQ4019 is not set
|
||||
CONFIG_MDIO_IPQ8064=m
|
||||
# CONFIG_MDIO_MSCC_MIIM is not set
|
||||
CONFIG_MDIO_MVUSB=m
|
||||
CONFIG_MDIO_SUN4I=y
|
||||
CONFIG_MDIO_XPCS=y
|
||||
CONFIG_PHYLINK=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_SWPHY=y
|
||||
CONFIG_LED_TRIGGER_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
# CONFIG_SFP is not set
|
||||
|
||||
#
|
||||
# MII PHY device drivers
|
||||
#
|
||||
# CONFIG_SFP is not set
|
||||
CONFIG_ADIN_PHY=m
|
||||
CONFIG_AC200_PHY=m
|
||||
CONFIG_AMD_PHY=m
|
||||
CONFIG_ADIN_PHY=m
|
||||
CONFIG_AQUANTIA_PHY=m
|
||||
CONFIG_AX88796B_PHY=m
|
||||
CONFIG_BCM7XXX_PHY=m
|
||||
CONFIG_BCM87XX_PHY=m
|
||||
CONFIG_BCM_NET_PHYLIB=m
|
||||
CONFIG_BROADCOM_PHY=m
|
||||
# CONFIG_BCM54140_PHY is not set
|
||||
CONFIG_BCM7XXX_PHY=m
|
||||
# CONFIG_BCM84881_PHY is not set
|
||||
CONFIG_BCM87XX_PHY=m
|
||||
CONFIG_BCM_NET_PHYLIB=m
|
||||
CONFIG_CICADA_PHY=m
|
||||
# CONFIG_CORTINA_PHY is not set
|
||||
CONFIG_DAVICOM_PHY=m
|
||||
# CONFIG_DP83822_PHY is not set
|
||||
CONFIG_DP83TC811_PHY=m
|
||||
CONFIG_DP83848_PHY=m
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
CONFIG_DP83869_PHY=m
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_ICPLUS_PHY=m
|
||||
CONFIG_LXT_PHY=m
|
||||
# CONFIG_INTEL_XWAY_PHY is not set
|
||||
CONFIG_LSI_ET1011C_PHY=m
|
||||
CONFIG_LXT_PHY=m
|
||||
CONFIG_MARVELL_PHY=m
|
||||
# CONFIG_MARVELL_10G_PHY is not set
|
||||
CONFIG_MICREL_PHY=m
|
||||
|
@ -2413,9 +2404,41 @@ CONFIG_REALTEK_PHY=m
|
|||
CONFIG_SMSC_PHY=m
|
||||
CONFIG_STE10XP=m
|
||||
CONFIG_TERANETICS_PHY=m
|
||||
# CONFIG_DP83822_PHY is not set
|
||||
CONFIG_DP83TC811_PHY=m
|
||||
CONFIG_DP83848_PHY=m
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
CONFIG_DP83869_PHY=m
|
||||
CONFIG_VITESSE_PHY=m
|
||||
# CONFIG_XILINX_GMII2RGMII is not set
|
||||
# CONFIG_MICREL_KS8995MA is not set
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
CONFIG_MDIO_SUN4I=y
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
CONFIG_MDIO_BCM_UNIMAC=m
|
||||
# CONFIG_MDIO_HISI_FEMAC is not set
|
||||
CONFIG_MDIO_MVUSB=m
|
||||
# CONFIG_MDIO_MSCC_MIIM is not set
|
||||
# CONFIG_MDIO_IPQ4019 is not set
|
||||
CONFIG_MDIO_IPQ8064=m
|
||||
|
||||
#
|
||||
# MDIO Multiplexers
|
||||
#
|
||||
CONFIG_MDIO_BUS_MUX=y
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
|
||||
#
|
||||
# PCS device drivers
|
||||
#
|
||||
CONFIG_PCS_XPCS=y
|
||||
# end of PCS device drivers
|
||||
|
||||
CONFIG_PLIP=m
|
||||
CONFIG_PPP=m
|
||||
CONFIG_PPP_BSDCOMP=m
|
||||
|
@ -2516,6 +2539,7 @@ CONFIG_ATH10K_CE=y
|
|||
# CONFIG_ATH10K_DEBUGFS is not set
|
||||
# CONFIG_ATH10K_TRACING is not set
|
||||
# CONFIG_WCN36XX is not set
|
||||
# CONFIG_ATH11K is not set
|
||||
CONFIG_WLAN_VENDOR_ATMEL=y
|
||||
CONFIG_AT76C50X_USB=m
|
||||
CONFIG_WLAN_VENDOR_BROADCOM=y
|
||||
|
@ -2616,7 +2640,6 @@ CONFIG_WLAN_VENDOR_TI=y
|
|||
CONFIG_RTL8723DU=m
|
||||
CONFIG_RTL8723DS=m
|
||||
CONFIG_RTL8822BU=m
|
||||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTL8821CU=m
|
||||
CONFIG_WLAN_VENDOR_XRADIO=m
|
||||
CONFIG_XRADIO_NON_POWER_OF_TWO_BLOCKSIZES=y
|
||||
|
@ -2726,6 +2749,7 @@ CONFIG_MOUSE_SERIAL=m
|
|||
CONFIG_INPUT_JOYSTICK=y
|
||||
# CONFIG_JOYSTICK_ANALOG is not set
|
||||
# CONFIG_JOYSTICK_A3D is not set
|
||||
CONFIG_JOYSTICK_ADC=m
|
||||
# CONFIG_JOYSTICK_ADI is not set
|
||||
# CONFIG_JOYSTICK_COBRA is not set
|
||||
# CONFIG_JOYSTICK_GF2K is not set
|
||||
|
@ -2826,6 +2850,7 @@ CONFIG_TOUCHSCREEN_ZET6223=m
|
|||
# CONFIG_TOUCHSCREEN_ZFORCE is not set
|
||||
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
|
||||
CONFIG_TOUCHSCREEN_IQS5XX=m
|
||||
# CONFIG_TOUCHSCREEN_ZINITIX is not set
|
||||
CONFIG_INPUT_MISC=y
|
||||
# CONFIG_INPUT_AD714X is not set
|
||||
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
|
||||
|
@ -2869,6 +2894,7 @@ CONFIG_RMI4_F11=y
|
|||
CONFIG_RMI4_F12=y
|
||||
CONFIG_RMI4_F30=y
|
||||
# CONFIG_RMI4_F34 is not set
|
||||
# CONFIG_RMI4_F3A is not set
|
||||
# CONFIG_RMI4_F54 is not set
|
||||
# CONFIG_RMI4_F55 is not set
|
||||
|
||||
|
@ -2976,6 +3002,7 @@ CONFIG_HW_RANDOM=m
|
|||
CONFIG_HW_RANDOM_VIRTIO=m
|
||||
CONFIG_HW_RANDOM_OPTEE=m
|
||||
# CONFIG_HW_RANDOM_CCTRNG is not set
|
||||
# CONFIG_HW_RANDOM_XIPHERA is not set
|
||||
CONFIG_DEVMEM=y
|
||||
CONFIG_DEVKMEM=y
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
@ -3049,6 +3076,7 @@ CONFIG_I2C_FSI=m
|
|||
CONFIG_I2C_STUB=m
|
||||
CONFIG_I2C_SLAVE=y
|
||||
CONFIG_I2C_SLAVE_EEPROM=m
|
||||
# CONFIG_I2C_SLAVE_TESTUNIT is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -3140,6 +3168,12 @@ CONFIG_PINCTRL_AXP209=m
|
|||
# CONFIG_PINCTRL_SX150X is not set
|
||||
CONFIG_PINCTRL_STMFX=m
|
||||
# CONFIG_PINCTRL_OCELOT is not set
|
||||
|
||||
#
|
||||
# Renesas pinctrl drivers
|
||||
#
|
||||
# end of Renesas pinctrl drivers
|
||||
|
||||
CONFIG_PINCTRL_SUNXI=y
|
||||
CONFIG_PINCTRL_SUN4I_A10=y
|
||||
CONFIG_PINCTRL_SUN5I=y
|
||||
|
@ -3157,9 +3191,13 @@ CONFIG_PINCTRL_SUN9I_A80=y
|
|||
CONFIG_PINCTRL_SUN9I_A80_R=y
|
||||
CONFIG_PINCTRL_SUN50I_A64=y
|
||||
CONFIG_PINCTRL_SUN50I_A64_R=y
|
||||
CONFIG_PINCTRL_SUN50I_A100=y
|
||||
CONFIG_PINCTRL_SUN50I_A100_R=y
|
||||
CONFIG_PINCTRL_SUN50I_H5=y
|
||||
CONFIG_PINCTRL_SUN50I_H6=y
|
||||
CONFIG_PINCTRL_SUN50I_H6_R=y
|
||||
# CONFIG_PINCTRL_SUN50I_H616 is not set
|
||||
# CONFIG_PINCTRL_SUN50I_H616_R is not set
|
||||
CONFIG_PINCTRL_MADERA=m
|
||||
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
|
||||
CONFIG_GPIOLIB=y
|
||||
|
@ -3168,6 +3206,8 @@ CONFIG_OF_GPIO=y
|
|||
CONFIG_GPIOLIB_IRQCHIP=y
|
||||
# CONFIG_DEBUG_GPIO is not set
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_CDEV=y
|
||||
CONFIG_GPIO_CDEV_V1=y
|
||||
CONFIG_GPIO_GENERIC=m
|
||||
|
||||
#
|
||||
|
@ -3270,8 +3310,6 @@ CONFIG_W1_SLAVE_DS250X=m
|
|||
# CONFIG_W1_SLAVE_DS28E17 is not set
|
||||
# end of 1-wire Slaves
|
||||
|
||||
CONFIG_POWER_AVS=y
|
||||
CONFIG_QCOM_CPR=m
|
||||
CONFIG_POWER_RESET=y
|
||||
# CONFIG_POWER_RESET_BRCMKONA is not set
|
||||
# CONFIG_POWER_RESET_BRCMSTB is not set
|
||||
|
@ -3298,7 +3336,6 @@ CONFIG_BATTERY_DS2760=m
|
|||
# CONFIG_BATTERY_DS2780 is not set
|
||||
# CONFIG_BATTERY_DS2781 is not set
|
||||
# CONFIG_BATTERY_DS2782 is not set
|
||||
# CONFIG_BATTERY_LEGO_EV3 is not set
|
||||
# CONFIG_BATTERY_SBS is not set
|
||||
CONFIG_CHARGER_SBS=m
|
||||
# CONFIG_MANAGER_SBS is not set
|
||||
|
@ -3324,6 +3361,7 @@ CONFIG_CHARGER_MAX77650=m
|
|||
# CONFIG_CHARGER_BQ24735 is not set
|
||||
# CONFIG_CHARGER_BQ2515X is not set
|
||||
# CONFIG_CHARGER_BQ25890 is not set
|
||||
# CONFIG_CHARGER_BQ25980 is not set
|
||||
# CONFIG_CHARGER_SMB347 is not set
|
||||
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
||||
# CONFIG_CHARGER_RT9455 is not set
|
||||
|
@ -3403,6 +3441,7 @@ CONFIG_SENSORS_MAX6697=m
|
|||
CONFIG_SENSORS_MAX31790=m
|
||||
CONFIG_SENSORS_MCP3021=m
|
||||
# CONFIG_SENSORS_TC654 is not set
|
||||
# CONFIG_SENSORS_MR75203 is not set
|
||||
CONFIG_SENSORS_ADCXX=m
|
||||
CONFIG_SENSORS_LM63=m
|
||||
CONFIG_SENSORS_LM70=m
|
||||
|
@ -3665,6 +3704,7 @@ CONFIG_MFD_ROHM_BD71828=m
|
|||
CONFIG_MFD_STPMIC1=m
|
||||
CONFIG_MFD_STMFX=m
|
||||
# CONFIG_RAVE_SP_CORE is not set
|
||||
# CONFIG_MFD_INTEL_M10_BMC is not set
|
||||
# end of Multifunction device drivers
|
||||
|
||||
CONFIG_REGULATOR=y
|
||||
|
@ -3714,7 +3754,10 @@ CONFIG_REGULATOR_MPQ7920=m
|
|||
# CONFIG_REGULATOR_PV88080 is not set
|
||||
# CONFIG_REGULATOR_PV88090 is not set
|
||||
CONFIG_REGULATOR_PWM=m
|
||||
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
|
||||
CONFIG_REGULATOR_ROHM=m
|
||||
# CONFIG_REGULATOR_RT4801 is not set
|
||||
# CONFIG_REGULATOR_RTMV20 is not set
|
||||
# CONFIG_REGULATOR_SLG51000 is not set
|
||||
CONFIG_REGULATOR_STPMIC1=m
|
||||
CONFIG_REGULATOR_SY8106A=m
|
||||
|
@ -4549,6 +4592,7 @@ CONFIG_DRM_PANEL_LG_LB035Q02=m
|
|||
CONFIG_DRM_PANEL_NEC_NL8048HL11=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT35510=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT39016=m
|
||||
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
|
||||
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
|
||||
# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
|
||||
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
|
||||
|
@ -4589,6 +4633,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
|
|||
# CONFIG_DRM_CDNS_DSI is not set
|
||||
# CONFIG_DRM_CHRONTEL_CH7033 is not set
|
||||
CONFIG_DRM_DISPLAY_CONNECTOR=m
|
||||
# CONFIG_DRM_LONTIUM_LT9611 is not set
|
||||
CONFIG_DRM_LVDS_CODEC=m
|
||||
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
|
||||
# CONFIG_DRM_NWL_MIPI_DSI is not set
|
||||
|
@ -4600,9 +4645,11 @@ CONFIG_DRM_PARADE_PS8640=m
|
|||
# CONFIG_DRM_SII9234 is not set
|
||||
CONFIG_DRM_SIMPLE_BRIDGE=m
|
||||
# CONFIG_DRM_THINE_THC63LVD1024 is not set
|
||||
# CONFIG_DRM_TOSHIBA_TC358762 is not set
|
||||
CONFIG_DRM_TOSHIBA_TC358764=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358767 is not set
|
||||
CONFIG_DRM_TOSHIBA_TC358768=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358775 is not set
|
||||
# CONFIG_DRM_TI_TFP410 is not set
|
||||
CONFIG_DRM_TI_SN65DSI86=m
|
||||
CONFIG_DRM_TI_TPD12S015=m
|
||||
|
@ -4610,6 +4657,7 @@ CONFIG_DRM_ANALOGIX_ANX6345=m
|
|||
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
|
||||
CONFIG_DRM_ANALOGIX_DP=m
|
||||
# CONFIG_DRM_I2C_ADV7511 is not set
|
||||
# CONFIG_DRM_CDNS_MHDP8546 is not set
|
||||
CONFIG_DRM_DW_HDMI=y
|
||||
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
|
||||
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
|
||||
|
@ -4693,6 +4741,7 @@ CONFIG_LCD_CLASS_DEVICE=m
|
|||
# CONFIG_LCD_HX8357 is not set
|
||||
# CONFIG_LCD_OTM3225A is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_KTD253 is not set
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
CONFIG_BACKLIGHT_QCOM_WLED=m
|
||||
# CONFIG_BACKLIGHT_ADP8860 is not set
|
||||
|
@ -4919,6 +4968,7 @@ CONFIG_SND_SOC_CS42L51_I2C=m
|
|||
CONFIG_SND_SOC_CS42L52=m
|
||||
CONFIG_SND_SOC_CS42L56=m
|
||||
CONFIG_SND_SOC_CS42L73=m
|
||||
CONFIG_SND_SOC_CS4234=m
|
||||
CONFIG_SND_SOC_CS4265=m
|
||||
CONFIG_SND_SOC_CS4270=m
|
||||
CONFIG_SND_SOC_CS4271=m
|
||||
|
@ -4994,6 +5044,7 @@ CONFIG_SND_SOC_STA350=m
|
|||
CONFIG_SND_SOC_STI_SAS=m
|
||||
CONFIG_SND_SOC_TAS2552=m
|
||||
CONFIG_SND_SOC_TAS2562=m
|
||||
CONFIG_SND_SOC_TAS2764=m
|
||||
CONFIG_SND_SOC_TAS2770=m
|
||||
CONFIG_SND_SOC_TAS5086=m
|
||||
CONFIG_SND_SOC_TAS571X=m
|
||||
|
@ -5101,6 +5152,7 @@ CONFIG_HID_GFRM=m
|
|||
CONFIG_HID_GLORIOUS=m
|
||||
CONFIG_HID_HOLTEK=m
|
||||
CONFIG_HOLTEK_FF=y
|
||||
CONFIG_HID_VIVALDI=m
|
||||
CONFIG_HID_GT683R=m
|
||||
CONFIG_HID_KEYTOUCH=m
|
||||
CONFIG_HID_KYE=m
|
||||
|
@ -5208,6 +5260,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
|||
# Miscellaneous USB options
|
||||
#
|
||||
CONFIG_USB_DEFAULT_PERSIST=y
|
||||
# CONFIG_USB_FEW_INIT_RETRIES is not set
|
||||
CONFIG_USB_DYNAMIC_MINORS=y
|
||||
CONFIG_USB_OTG=y
|
||||
# CONFIG_USB_OTG_PRODUCTLIST is not set
|
||||
|
@ -5403,7 +5456,6 @@ CONFIG_USB_FTDI_ELAN=m
|
|||
CONFIG_USB_APPLEDISPLAY=m
|
||||
CONFIG_APPLE_MFI_FASTCHARGE=m
|
||||
CONFIG_USB_SISUSBVGA=m
|
||||
CONFIG_USB_SISUSBVGA_CON=y
|
||||
CONFIG_USB_LD=m
|
||||
CONFIG_USB_TRANCEVIBRATOR=m
|
||||
CONFIG_USB_IOWARRIOR=m
|
||||
|
@ -5540,12 +5592,14 @@ CONFIG_TYPEC=m
|
|||
CONFIG_TYPEC_TCPM=m
|
||||
CONFIG_TYPEC_TCPCI=m
|
||||
CONFIG_TYPEC_RT1711H=m
|
||||
# CONFIG_TYPEC_TCPCI_MAXIM is not set
|
||||
CONFIG_TYPEC_FUSB302=m
|
||||
CONFIG_TYPEC_UCSI=m
|
||||
CONFIG_UCSI_CCG=m
|
||||
CONFIG_TYPEC_ANX7688=m
|
||||
CONFIG_TYPEC_HD3SS3220=m
|
||||
CONFIG_TYPEC_TPS6598X=m
|
||||
# CONFIG_TYPEC_STUSB160X is not set
|
||||
|
||||
#
|
||||
# USB Type-C Multiplexer/DeMultiplexer Switch support
|
||||
|
@ -5615,6 +5669,7 @@ CONFIG_LEDS_PCA9532=m
|
|||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_LP3944=m
|
||||
CONFIG_LEDS_LP3952=m
|
||||
# CONFIG_LEDS_LP50XX is not set
|
||||
CONFIG_LEDS_LP55XX_COMMON=m
|
||||
CONFIG_LEDS_LP5521=m
|
||||
CONFIG_LEDS_LP5523=m
|
||||
|
@ -5731,6 +5786,7 @@ CONFIG_RTC_DRV_FM3130=m
|
|||
# CONFIG_RTC_DRV_RX8025 is not set
|
||||
# CONFIG_RTC_DRV_EM3027 is not set
|
||||
CONFIG_RTC_DRV_RV3028=m
|
||||
# CONFIG_RTC_DRV_RV3032 is not set
|
||||
# CONFIG_RTC_DRV_RV8803 is not set
|
||||
CONFIG_RTC_DRV_SD3078=m
|
||||
|
||||
|
@ -5857,6 +5913,7 @@ CONFIG_VIRTIO_MENU=y
|
|||
CONFIG_VIRTIO_BALLOON=m
|
||||
CONFIG_VIRTIO_INPUT=m
|
||||
# CONFIG_VIRTIO_MMIO is not set
|
||||
CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
|
||||
# CONFIG_VDPA is not set
|
||||
CONFIG_VHOST_MENU=y
|
||||
# CONFIG_VHOST_NET is not set
|
||||
|
@ -5938,7 +5995,6 @@ CONFIG_AD9834=m
|
|||
CONFIG_STAGING_MEDIA=y
|
||||
CONFIG_VIDEO_SUNXI=y
|
||||
CONFIG_VIDEO_SUNXI_CEDRUS=m
|
||||
CONFIG_VIDEO_USBVISION=m
|
||||
|
||||
#
|
||||
# Android
|
||||
|
@ -5983,7 +6039,6 @@ CONFIG_FB_TFT_UC1701=m
|
|||
CONFIG_FB_TFT_UPD161704=m
|
||||
CONFIG_FB_TFT_WATTEROTT=m
|
||||
CONFIG_MOST_COMPONENTS=m
|
||||
# CONFIG_MOST_CDEV is not set
|
||||
# CONFIG_MOST_NET is not set
|
||||
# CONFIG_MOST_SOUND is not set
|
||||
# CONFIG_MOST_VIDEO is not set
|
||||
|
@ -6003,16 +6058,13 @@ CONFIG_HMS_ANYBUSS_BUS=m
|
|||
CONFIG_ARCX_ANYBUS_CONTROLLER=m
|
||||
CONFIG_HMS_PROFINET=m
|
||||
CONFIG_WFX=m
|
||||
CONFIG_RTL8723CS_NEW=m
|
||||
# CONFIG_GOLDFISH is not set
|
||||
# CONFIG_MFD_CROS_EC is not set
|
||||
# CONFIG_CHROME_PLATFORMS is not set
|
||||
# CONFIG_MELLANOX_PLATFORM is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_CLK_HSDK is not set
|
||||
CONFIG_COMMON_CLK_MAX9485=m
|
||||
# CONFIG_COMMON_CLK_SI5341 is not set
|
||||
# CONFIG_COMMON_CLK_SI5351 is not set
|
||||
|
@ -6175,6 +6227,8 @@ CONFIG_EXTCON_USB_GPIO=m
|
|||
CONFIG_IIO=m
|
||||
CONFIG_IIO_BUFFER=y
|
||||
CONFIG_IIO_BUFFER_CB=m
|
||||
# CONFIG_IIO_BUFFER_DMA is not set
|
||||
# CONFIG_IIO_BUFFER_DMAENGINE is not set
|
||||
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
|
||||
CONFIG_IIO_KFIFO_BUF=m
|
||||
CONFIG_IIO_TRIGGERED_BUFFER=m
|
||||
|
@ -6183,6 +6237,7 @@ CONFIG_IIO_TRIGGER=y
|
|||
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
|
||||
# CONFIG_IIO_SW_DEVICE is not set
|
||||
# CONFIG_IIO_SW_TRIGGER is not set
|
||||
# CONFIG_IIO_TRIGGERED_EVENT is not set
|
||||
|
||||
#
|
||||
# Accelerometers
|
||||
|
@ -6403,6 +6458,7 @@ CONFIG_TI_DAC7612=m
|
|||
# CONFIG_ADIS16130 is not set
|
||||
# CONFIG_ADIS16136 is not set
|
||||
# CONFIG_ADIS16260 is not set
|
||||
# CONFIG_ADXRS290 is not set
|
||||
# CONFIG_ADXRS450 is not set
|
||||
# CONFIG_BMG160 is not set
|
||||
CONFIG_FXAS21002C=m
|
||||
|
@ -6434,6 +6490,7 @@ CONFIG_MAX30102=m
|
|||
# CONFIG_AM2315 is not set
|
||||
# CONFIG_DHT11 is not set
|
||||
# CONFIG_HDC100X is not set
|
||||
# CONFIG_HDC2010 is not set
|
||||
CONFIG_HID_SENSOR_HUMIDITY=m
|
||||
# CONFIG_HTS221 is not set
|
||||
# CONFIG_HTU21 is not set
|
||||
|
@ -6476,6 +6533,7 @@ CONFIG_AL3010=m
|
|||
# CONFIG_AL3320A is not set
|
||||
# CONFIG_APDS9300 is not set
|
||||
# CONFIG_APDS9960 is not set
|
||||
# CONFIG_AS73211 is not set
|
||||
# CONFIG_BH1750 is not set
|
||||
# CONFIG_BH1780 is not set
|
||||
# CONFIG_CM32181 is not set
|
||||
|
@ -6685,6 +6743,7 @@ CONFIG_RESET_SUNXI=y
|
|||
#
|
||||
CONFIG_GENERIC_PHY=y
|
||||
CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
||||
# CONFIG_USB_LGM_PHY is not set
|
||||
CONFIG_PHY_SUN4I_USB=y
|
||||
CONFIG_PHY_SUN6I_MIPI_DPHY=y
|
||||
CONFIG_PHY_SUN9I_USB=y
|
||||
|
@ -6783,6 +6842,7 @@ CONFIG_FTM_QUADDEC=m
|
|||
# CONFIG_MICROCHIP_TCB_CAPTURE is not set
|
||||
CONFIG_MOST=m
|
||||
# CONFIG_MOST_USB_HDM is not set
|
||||
# CONFIG_MOST_CDEV is not set
|
||||
# end of Device Drivers
|
||||
|
||||
#
|
||||
|
@ -6813,6 +6873,7 @@ CONFIG_JFS_SECURITY=y
|
|||
# CONFIG_JFS_DEBUG is not set
|
||||
CONFIG_JFS_STATISTICS=y
|
||||
CONFIG_XFS_FS=m
|
||||
CONFIG_XFS_SUPPORT_V4=y
|
||||
CONFIG_XFS_QUOTA=y
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
CONFIG_XFS_RT=y
|
||||
|
@ -7048,6 +7109,7 @@ CONFIG_NFS_FSCACHE=y
|
|||
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||
CONFIG_NFS_DEBUG=y
|
||||
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
|
||||
# CONFIG_NFS_V4_2_READ_PLUS is not set
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_NFSD_V2_ACL=y
|
||||
CONFIG_NFSD_V3=y
|
||||
|
@ -7281,6 +7343,7 @@ CONFIG_CRYPTO_DH=y
|
|||
CONFIG_CRYPTO_ECC=m
|
||||
CONFIG_CRYPTO_ECDH=m
|
||||
CONFIG_CRYPTO_ECRDSA=m
|
||||
# CONFIG_CRYPTO_SM2 is not set
|
||||
CONFIG_CRYPTO_CURVE25519=m
|
||||
|
||||
#
|
||||
|
@ -7395,7 +7458,9 @@ CONFIG_CRYPTO_USER_API=m
|
|||
CONFIG_CRYPTO_USER_API_HASH=m
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||
CONFIG_CRYPTO_USER_API_RNG=m
|
||||
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
|
||||
CONFIG_CRYPTO_USER_API_AEAD=m
|
||||
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
|
||||
CONFIG_CRYPTO_STATS=y
|
||||
CONFIG_CRYPTO_HASH_INFO=y
|
||||
|
||||
|
@ -7425,8 +7490,13 @@ CONFIG_CRYPTO_DEV_SUN4I_SS=m
|
|||
# CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_CE=m
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_HASH is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG=y
|
||||
CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG=y
|
||||
CONFIG_CRYPTO_DEV_SUN8I_SS=m
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG=y
|
||||
CONFIG_CRYPTO_DEV_SUN8I_SS_HASH=y
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=m
|
||||
|
@ -7540,6 +7610,7 @@ CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
|
|||
CONFIG_DMA_NONCOHERENT_MMAP=y
|
||||
CONFIG_DMA_REMAP=y
|
||||
CONFIG_DMA_CMA=y
|
||||
# CONFIG_DMA_PERNUMA_CMA is not set
|
||||
|
||||
#
|
||||
# Default contiguous memory area size:
|
||||
|
@ -7582,6 +7653,7 @@ CONFIG_FONT_6x10=y
|
|||
# CONFIG_FONT_SUN8x16 is not set
|
||||
# CONFIG_FONT_SUN12x22 is not set
|
||||
CONFIG_FONT_TER16x32=y
|
||||
# CONFIG_FONT_6x8 is not set
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_SBITMAP=y
|
||||
# CONFIG_STRING_SELFTEST is not set
|
||||
|
@ -7707,6 +7779,7 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
|||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
CONFIG_WW_MUTEX_SELFTEST=m
|
||||
# CONFIG_SCF_TORTURE_TEST is not set
|
||||
# end of Lock Debugging (spinlocks, mutexes, etc...)
|
||||
|
||||
CONFIG_STACKTRACE=y
|
||||
|
@ -7728,7 +7801,7 @@ CONFIG_STACKTRACE=y
|
|||
#
|
||||
# RCU Debugging
|
||||
#
|
||||
# CONFIG_RCU_PERF_TEST is not set
|
||||
# CONFIG_RCU_SCALE_TEST is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_REF_SCALE_TEST is not set
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=21
|
||||
|
@ -7824,7 +7897,6 @@ CONFIG_TEST_STRSCPY=m
|
|||
# CONFIG_TEST_KSTRTOX is not set
|
||||
# CONFIG_TEST_PRINTF is not set
|
||||
# CONFIG_TEST_BITMAP is not set
|
||||
# CONFIG_TEST_BITFIELD is not set
|
||||
# CONFIG_TEST_UUID is not set
|
||||
CONFIG_TEST_XARRAY=m
|
||||
CONFIG_TEST_OVERFLOW=m
|
||||
|
|
|
@ -812,17 +812,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 5.9.15 Kernel Configuration
|
||||
# Linux/arm64 5.10.4 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=80300
|
||||
CONFIG_LD_VERSION=232000000
|
||||
CONFIG_CLANG_VERSION=0
|
||||
CONFIG_LLD_VERSION=0
|
||||
CONFIG_CC_CAN_LINK=y
|
||||
CONFIG_CC_CAN_LINK_STATIC=y
|
||||
CONFIG_CC_HAS_ASM_GOTO=y
|
||||
|
@ -51,6 +52,7 @@ CONFIG_IRQ_DOMAIN=y
|
|||
CONFIG_IRQ_SIM=y
|
||||
CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||
CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y
|
||||
CONFIG_GENERIC_IRQ_IPI=y
|
||||
CONFIG_GENERIC_MSI_IRQ=y
|
||||
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_MSI_IOMMU=y
|
||||
|
@ -107,6 +109,8 @@ CONFIG_TREE_RCU=y
|
|||
# CONFIG_RCU_EXPERT is not set
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_TREE_SRCU=y
|
||||
CONFIG_TASKS_RCU_GENERIC=y
|
||||
CONFIG_TASKS_TRACE_RCU=y
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
# end of RCU Subsystem
|
||||
|
@ -175,6 +179,7 @@ CONFIG_RD_ZSTD=y
|
|||
# CONFIG_BOOT_CONFIG is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_LD_ORPHAN_WARN=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_HAVE_UID16=y
|
||||
CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
||||
|
@ -208,6 +213,8 @@ CONFIG_BPF_SYSCALL=y
|
|||
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
|
||||
# CONFIG_BPF_JIT_ALWAYS_ON is not set
|
||||
CONFIG_BPF_JIT_DEFAULT_ON=y
|
||||
CONFIG_USERMODE_DRIVER=y
|
||||
# CONFIG_BPF_PRELOAD is not set
|
||||
# CONFIG_USERFAULTFD is not set
|
||||
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
|
||||
CONFIG_RSEQ=y
|
||||
|
@ -238,7 +245,8 @@ CONFIG_ARM64=y
|
|||
CONFIG_64BIT=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_ARM64_PAGE_SHIFT=12
|
||||
CONFIG_ARM64_CONT_SHIFT=4
|
||||
CONFIG_ARM64_CONT_PTE_SHIFT=4
|
||||
CONFIG_ARM64_CONT_PMD_SHIFT=4
|
||||
CONFIG_ARCH_MMAP_RND_BITS_MIN=18
|
||||
CONFIG_ARCH_MMAP_RND_BITS_MAX=33
|
||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
|
||||
|
@ -301,6 +309,7 @@ CONFIG_ARCH_SUNXI=y
|
|||
# CONFIG_ARCH_THUNDER2 is not set
|
||||
# CONFIG_ARCH_UNIPHIER is not set
|
||||
# CONFIG_ARCH_VEXPRESS is not set
|
||||
# CONFIG_ARCH_VISCONTI is not set
|
||||
# CONFIG_ARCH_XGENE is not set
|
||||
# CONFIG_ARCH_ZX is not set
|
||||
# CONFIG_ARCH_ZYNQMP is not set
|
||||
|
@ -331,6 +340,7 @@ CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
|
|||
CONFIG_ARM64_ERRATUM_1286807=y
|
||||
CONFIG_ARM64_ERRATUM_1463225=y
|
||||
CONFIG_ARM64_ERRATUM_1542419=y
|
||||
CONFIG_ARM64_ERRATUM_1508412=y
|
||||
# CONFIG_CAVIUM_ERRATUM_22375 is not set
|
||||
CONFIG_CAVIUM_ERRATUM_23144=y
|
||||
# CONFIG_CAVIUM_ERRATUM_23154 is not set
|
||||
|
@ -382,7 +392,6 @@ CONFIG_SYS_SUPPORTS_HUGETLBFS=y
|
|||
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
|
||||
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
|
||||
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_PARAVIRT=y
|
||||
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
||||
# CONFIG_KEXEC is not set
|
||||
|
@ -391,8 +400,6 @@ CONFIG_PARAVIRT=y
|
|||
# CONFIG_XEN is not set
|
||||
CONFIG_FORCE_MAX_ZONEORDER=11
|
||||
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_ARM64_SSBD=y
|
||||
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
|
||||
# CONFIG_ARM64_SW_TTBR0_PAN is not set
|
||||
CONFIG_ARM64_TAGGED_ADDR_ABI=y
|
||||
|
@ -462,6 +469,7 @@ CONFIG_CMDLINE=""
|
|||
|
||||
CONFIG_SYSVIPC_COMPAT=y
|
||||
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
|
||||
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
|
||||
|
||||
#
|
||||
# Power management options
|
||||
|
@ -587,6 +595,7 @@ CONFIG_CRYPTO_AES_ARM64_BS=y
|
|||
# General architecture-dependent options
|
||||
#
|
||||
CONFIG_CRASH_CORE=y
|
||||
CONFIG_SET_FS=y
|
||||
# CONFIG_KPROBES is not set
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_STATIC_KEYS_SELFTEST is not set
|
||||
|
@ -620,7 +629,9 @@ CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
|
|||
CONFIG_HAVE_CMPXCHG_LOCAL=y
|
||||
CONFIG_HAVE_CMPXCHG_DOUBLE=y
|
||||
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_ARCH_STACKLEAK=y
|
||||
CONFIG_HAVE_STACKPROTECTOR=y
|
||||
|
@ -629,6 +640,7 @@ CONFIG_STACKPROTECTOR_STRONG=y
|
|||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_HAVE_MOVE_PMD=y
|
||||
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_HAVE_ARCH_HUGE_VMAP=y
|
||||
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
|
||||
|
@ -653,6 +665,7 @@ CONFIG_HAVE_ARCH_COMPILER_H=y
|
|||
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
|
||||
# CONFIG_LOCK_EVENT_COUNTS is not set
|
||||
CONFIG_ARCH_HAS_RELR=y
|
||||
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
|
@ -845,17 +858,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
@ -1570,7 +1583,6 @@ CONFIG_NET_FLOW_LIMIT=y
|
|||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NET_DROP_MONITOR is not set
|
||||
# end of Network testing
|
||||
# end of Networking options
|
||||
|
||||
|
@ -1600,6 +1612,7 @@ CONFIG_CAN_RAW=m
|
|||
CONFIG_CAN_BCM=m
|
||||
CONFIG_CAN_GW=m
|
||||
CONFIG_CAN_J1939=m
|
||||
# CONFIG_CAN_ISOTP is not set
|
||||
|
||||
#
|
||||
# CAN Device Drivers
|
||||
|
@ -1624,6 +1637,7 @@ CONFIG_CAN_CALC_BITTIMING=y
|
|||
#
|
||||
CONFIG_CAN_HI311X=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
# CONFIG_CAN_MCP251XFD is not set
|
||||
# end of CAN SPI interfaces
|
||||
|
||||
#
|
||||
|
@ -1852,6 +1866,7 @@ CONFIG_SUN50I_DE2_BUS=y
|
|||
CONFIG_SUNXI_RSB=y
|
||||
# CONFIG_VEXPRESS_CONFIG is not set
|
||||
CONFIG_MHI_BUS=m
|
||||
# CONFIG_MHI_BUS_DEBUG is not set
|
||||
# end of Bus devices
|
||||
|
||||
CONFIG_CONNECTOR=m
|
||||
|
@ -1966,6 +1981,12 @@ CONFIG_MTD_NAND_DISKONCHIP=m
|
|||
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
|
||||
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
|
||||
CONFIG_MTD_SPI_NAND=m
|
||||
|
||||
#
|
||||
# ECC engine support
|
||||
#
|
||||
CONFIG_MTD_NAND_ECC=y
|
||||
# end of ECC engine support
|
||||
# end of NAND
|
||||
|
||||
#
|
||||
|
@ -1988,7 +2009,6 @@ CONFIG_OF_DYNAMIC=y
|
|||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_OF_RESOLVE=y
|
||||
CONFIG_OF_OVERLAY=y
|
||||
|
@ -2041,6 +2061,7 @@ CONFIG_BLK_DEV_RBD=m
|
|||
# CONFIG_SRAM is not set
|
||||
# CONFIG_XILINX_SDFEC is not set
|
||||
CONFIG_PVPANIC=m
|
||||
# CONFIG_HISI_HIKEY_USB is not set
|
||||
# CONFIG_MODEM_POWER is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
|
||||
|
@ -2066,13 +2087,6 @@ CONFIG_EEPROM_EE1004=m
|
|||
# CONFIG_SENSORS_LIS3_SPI is not set
|
||||
# CONFIG_SENSORS_LIS3_I2C is not set
|
||||
# CONFIG_ALTERA_STAPL is not set
|
||||
|
||||
#
|
||||
# Intel MIC & related support
|
||||
#
|
||||
# CONFIG_VOP_BUS is not set
|
||||
# end of Intel MIC & related support
|
||||
|
||||
# CONFIG_ECHO is not set
|
||||
# CONFIG_MISC_RTSX_USB is not set
|
||||
CONFIG_UACCE=m
|
||||
|
@ -2243,6 +2257,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
|
|||
CONFIG_NET_DSA_MICROCHIP_KSZ8795=m
|
||||
CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m
|
||||
# CONFIG_NET_DSA_MV88E6XXX is not set
|
||||
# CONFIG_NET_DSA_MSCC_SEVILLE is not set
|
||||
CONFIG_NET_DSA_AR9331=m
|
||||
CONFIG_NET_DSA_SJA1105=m
|
||||
# CONFIG_NET_DSA_SJA1105_PTP is not set
|
||||
|
@ -2324,6 +2339,7 @@ CONFIG_DWMAC_DWC_QOS_ETH=m
|
|||
CONFIG_DWMAC_GENERIC=y
|
||||
CONFIG_DWMAC_SUNXI=m
|
||||
CONFIG_DWMAC_SUN8I=m
|
||||
# CONFIG_DWMAC_INTEL_PLAT is not set
|
||||
CONFIG_NET_VENDOR_SYNOPSYS=y
|
||||
# CONFIG_DWC_XLGMAC is not set
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
|
@ -2331,57 +2347,34 @@ CONFIG_NET_VENDOR_SYNOPSYS=y
|
|||
CONFIG_NET_VENDOR_XILINX=y
|
||||
CONFIG_XILINX_AXI_EMAC=m
|
||||
CONFIG_XILINX_LL_TEMAC=m
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
# CONFIG_MDIO_BCM_UNIMAC is not set
|
||||
CONFIG_MDIO_BITBANG=y
|
||||
CONFIG_MDIO_BUS_MUX=m
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
|
||||
# CONFIG_MDIO_GPIO is not set
|
||||
# CONFIG_MDIO_HISI_FEMAC is not set
|
||||
# CONFIG_MDIO_IPQ4019 is not set
|
||||
CONFIG_MDIO_IPQ8064=m
|
||||
CONFIG_MDIO_MSCC_MIIM=m
|
||||
CONFIG_MDIO_MVUSB=m
|
||||
# CONFIG_MDIO_OCTEON is not set
|
||||
CONFIG_MDIO_SUN4I=y
|
||||
CONFIG_MDIO_XPCS=y
|
||||
CONFIG_PHYLINK=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_SWPHY=y
|
||||
CONFIG_LED_TRIGGER_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
# CONFIG_SFP is not set
|
||||
|
||||
#
|
||||
# MII PHY device drivers
|
||||
#
|
||||
# CONFIG_SFP is not set
|
||||
CONFIG_ADIN_PHY=m
|
||||
CONFIG_AC200_PHY=m
|
||||
CONFIG_AMD_PHY=m
|
||||
CONFIG_ADIN_PHY=m
|
||||
CONFIG_AQUANTIA_PHY=m
|
||||
CONFIG_AX88796B_PHY=m
|
||||
# CONFIG_BCM7XXX_PHY is not set
|
||||
CONFIG_BCM87XX_PHY=m
|
||||
CONFIG_BCM_NET_PHYLIB=m
|
||||
CONFIG_BROADCOM_PHY=m
|
||||
# CONFIG_BCM54140_PHY is not set
|
||||
# CONFIG_BCM7XXX_PHY is not set
|
||||
# CONFIG_BCM84881_PHY is not set
|
||||
CONFIG_BCM87XX_PHY=m
|
||||
CONFIG_BCM_NET_PHYLIB=m
|
||||
CONFIG_CICADA_PHY=m
|
||||
# CONFIG_CORTINA_PHY is not set
|
||||
CONFIG_DAVICOM_PHY=m
|
||||
# CONFIG_DP83822_PHY is not set
|
||||
CONFIG_DP83TC811_PHY=m
|
||||
CONFIG_DP83848_PHY=m
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
CONFIG_DP83869_PHY=m
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_ICPLUS_PHY=m
|
||||
CONFIG_LXT_PHY=m
|
||||
# CONFIG_INTEL_XWAY_PHY is not set
|
||||
CONFIG_LSI_ET1011C_PHY=m
|
||||
CONFIG_LXT_PHY=m
|
||||
CONFIG_MARVELL_PHY=m
|
||||
# CONFIG_MARVELL_10G_PHY is not set
|
||||
CONFIG_MICREL_PHY=m
|
||||
|
@ -2398,9 +2391,43 @@ CONFIG_REALTEK_PHY=m
|
|||
CONFIG_SMSC_PHY=m
|
||||
CONFIG_STE10XP=m
|
||||
CONFIG_TERANETICS_PHY=m
|
||||
# CONFIG_DP83822_PHY is not set
|
||||
CONFIG_DP83TC811_PHY=m
|
||||
CONFIG_DP83848_PHY=m
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
CONFIG_DP83869_PHY=m
|
||||
CONFIG_VITESSE_PHY=m
|
||||
# CONFIG_XILINX_GMII2RGMII is not set
|
||||
# CONFIG_MICREL_KS8995MA is not set
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
CONFIG_MDIO_SUN4I=y
|
||||
CONFIG_MDIO_BITBANG=y
|
||||
# CONFIG_MDIO_BCM_UNIMAC is not set
|
||||
# CONFIG_MDIO_GPIO is not set
|
||||
# CONFIG_MDIO_HISI_FEMAC is not set
|
||||
CONFIG_MDIO_MVUSB=m
|
||||
CONFIG_MDIO_MSCC_MIIM=m
|
||||
# CONFIG_MDIO_OCTEON is not set
|
||||
# CONFIG_MDIO_IPQ4019 is not set
|
||||
CONFIG_MDIO_IPQ8064=m
|
||||
|
||||
#
|
||||
# MDIO Multiplexers
|
||||
#
|
||||
CONFIG_MDIO_BUS_MUX=m
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
|
||||
#
|
||||
# PCS device drivers
|
||||
#
|
||||
CONFIG_PCS_XPCS=y
|
||||
# end of PCS device drivers
|
||||
|
||||
CONFIG_PPP=m
|
||||
CONFIG_PPP_BSDCOMP=m
|
||||
CONFIG_PPP_DEFLATE=m
|
||||
|
@ -2488,6 +2515,7 @@ CONFIG_ATH10K_USB=m
|
|||
# CONFIG_ATH10K_DEBUG is not set
|
||||
# CONFIG_ATH10K_DEBUGFS is not set
|
||||
# CONFIG_WCN36XX is not set
|
||||
# CONFIG_ATH11K is not set
|
||||
# CONFIG_WLAN_VENDOR_ATMEL is not set
|
||||
CONFIG_WLAN_VENDOR_BROADCOM=y
|
||||
CONFIG_B43=m
|
||||
|
@ -2580,7 +2608,6 @@ CONFIG_RTW88=m
|
|||
CONFIG_RTL8723DU=m
|
||||
CONFIG_RTL8723DS=m
|
||||
CONFIG_RTL8822BU=m
|
||||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTL8821CU=m
|
||||
# CONFIG_WLAN_VENDOR_XRADIO is not set
|
||||
CONFIG_88XXAU=m
|
||||
|
@ -2685,6 +2712,7 @@ CONFIG_MOUSE_PS2_SMBUS=y
|
|||
CONFIG_INPUT_JOYSTICK=y
|
||||
# CONFIG_JOYSTICK_ANALOG is not set
|
||||
# CONFIG_JOYSTICK_A3D is not set
|
||||
# CONFIG_JOYSTICK_ADC is not set
|
||||
# CONFIG_JOYSTICK_ADI is not set
|
||||
# CONFIG_JOYSTICK_COBRA is not set
|
||||
# CONFIG_JOYSTICK_GF2K is not set
|
||||
|
@ -2801,6 +2829,7 @@ CONFIG_TOUCHSCREEN_SILEAD=m
|
|||
# CONFIG_TOUCHSCREEN_ZFORCE is not set
|
||||
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
|
||||
CONFIG_TOUCHSCREEN_IQS5XX=m
|
||||
# CONFIG_TOUCHSCREEN_ZINITIX is not set
|
||||
CONFIG_INPUT_MISC=y
|
||||
# CONFIG_INPUT_AD714X is not set
|
||||
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
|
||||
|
@ -2843,6 +2872,7 @@ CONFIG_RMI4_F11=y
|
|||
CONFIG_RMI4_F12=y
|
||||
CONFIG_RMI4_F30=y
|
||||
# CONFIG_RMI4_F34 is not set
|
||||
# CONFIG_RMI4_F3A is not set
|
||||
# CONFIG_RMI4_F54 is not set
|
||||
# CONFIG_RMI4_F55 is not set
|
||||
|
||||
|
@ -3030,6 +3060,7 @@ CONFIG_I2C_TINY_USB=m
|
|||
CONFIG_I2C_STUB=m
|
||||
CONFIG_I2C_SLAVE=y
|
||||
CONFIG_I2C_SLAVE_EEPROM=m
|
||||
# CONFIG_I2C_SLAVE_TESTUNIT is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -3123,6 +3154,12 @@ CONFIG_PINCTRL_SINGLE=y
|
|||
# CONFIG_PINCTRL_SX150X is not set
|
||||
CONFIG_PINCTRL_STMFX=m
|
||||
# CONFIG_PINCTRL_OCELOT is not set
|
||||
|
||||
#
|
||||
# Renesas pinctrl drivers
|
||||
#
|
||||
# end of Renesas pinctrl drivers
|
||||
|
||||
CONFIG_PINCTRL_SUNXI=y
|
||||
# CONFIG_PINCTRL_SUN4I_A10 is not set
|
||||
# CONFIG_PINCTRL_SUN5I is not set
|
||||
|
@ -3140,15 +3177,21 @@ CONFIG_PINCTRL_SUN8I_H3_R=y
|
|||
# CONFIG_PINCTRL_SUN9I_A80_R is not set
|
||||
CONFIG_PINCTRL_SUN50I_A64=y
|
||||
CONFIG_PINCTRL_SUN50I_A64_R=y
|
||||
CONFIG_PINCTRL_SUN50I_A100=y
|
||||
CONFIG_PINCTRL_SUN50I_A100_R=y
|
||||
CONFIG_PINCTRL_SUN50I_H5=y
|
||||
CONFIG_PINCTRL_SUN50I_H6=y
|
||||
CONFIG_PINCTRL_SUN50I_H6_R=y
|
||||
CONFIG_PINCTRL_SUN50I_H616=y
|
||||
CONFIG_PINCTRL_SUN50I_H616_R=y
|
||||
CONFIG_PINCTRL_MADERA=m
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_GPIOLIB_IRQCHIP=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_CDEV=y
|
||||
CONFIG_GPIO_CDEV_V1=y
|
||||
CONFIG_GPIO_GENERIC=y
|
||||
CONFIG_GPIO_MAX730X=m
|
||||
|
||||
|
@ -3254,7 +3297,6 @@ CONFIG_W1_SLAVE_DS28E04=m
|
|||
CONFIG_W1_SLAVE_DS28E17=m
|
||||
# end of 1-wire Slaves
|
||||
|
||||
# CONFIG_POWER_AVS is not set
|
||||
CONFIG_POWER_RESET=y
|
||||
# CONFIG_POWER_RESET_BRCMSTB is not set
|
||||
# CONFIG_POWER_RESET_GPIO is not set
|
||||
|
@ -3278,7 +3320,6 @@ CONFIG_BATTERY_DS2760=m
|
|||
CONFIG_BATTERY_DS2780=m
|
||||
CONFIG_BATTERY_DS2781=m
|
||||
CONFIG_BATTERY_DS2782=m
|
||||
CONFIG_BATTERY_LEGO_EV3=m
|
||||
CONFIG_BATTERY_SBS=m
|
||||
CONFIG_CHARGER_SBS=m
|
||||
CONFIG_MANAGER_SBS=m
|
||||
|
@ -3307,6 +3348,7 @@ CONFIG_CHARGER_MAX77650=m
|
|||
# CONFIG_CHARGER_BQ24735 is not set
|
||||
# CONFIG_CHARGER_BQ2515X is not set
|
||||
# CONFIG_CHARGER_BQ25890 is not set
|
||||
# CONFIG_CHARGER_BQ25980 is not set
|
||||
# CONFIG_CHARGER_SMB347 is not set
|
||||
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
||||
# CONFIG_CHARGER_RT9455 is not set
|
||||
|
@ -3388,6 +3430,7 @@ CONFIG_SENSORS_MAX6697=m
|
|||
CONFIG_SENSORS_MAX31790=m
|
||||
CONFIG_SENSORS_MCP3021=m
|
||||
CONFIG_SENSORS_TC654=m
|
||||
# CONFIG_SENSORS_MR75203 is not set
|
||||
CONFIG_SENSORS_ADCXX=m
|
||||
CONFIG_SENSORS_LM63=m
|
||||
CONFIG_SENSORS_LM70=m
|
||||
|
@ -3418,6 +3461,7 @@ CONFIG_SENSORS_OCC=m
|
|||
CONFIG_SENSORS_PCF8591=m
|
||||
CONFIG_PMBUS=m
|
||||
CONFIG_SENSORS_PMBUS=m
|
||||
# CONFIG_SENSORS_ADM1266 is not set
|
||||
CONFIG_SENSORS_ADM1275=m
|
||||
CONFIG_SENSORS_BEL_PFE=m
|
||||
CONFIG_SENSORS_IBM_CFFPS=m
|
||||
|
@ -3436,6 +3480,7 @@ CONFIG_SENSORS_MAX20751=m
|
|||
CONFIG_SENSORS_MAX31785=m
|
||||
CONFIG_SENSORS_MAX34440=m
|
||||
CONFIG_SENSORS_MAX8688=m
|
||||
# CONFIG_SENSORS_MP2975 is not set
|
||||
# CONFIG_SENSORS_PXE1610 is not set
|
||||
CONFIG_SENSORS_TPS40422=m
|
||||
CONFIG_SENSORS_TPS53679=m
|
||||
|
@ -3671,6 +3716,7 @@ CONFIG_MFD_ROHM_BD71828=m
|
|||
# CONFIG_MFD_STPMIC1 is not set
|
||||
CONFIG_MFD_STMFX=m
|
||||
CONFIG_RAVE_SP_CORE=m
|
||||
# CONFIG_MFD_INTEL_M10_BMC is not set
|
||||
# end of Multifunction device drivers
|
||||
|
||||
CONFIG_REGULATOR=y
|
||||
|
@ -3722,7 +3768,10 @@ CONFIG_REGULATOR_MPQ7920=m
|
|||
# CONFIG_REGULATOR_PWM is not set
|
||||
CONFIG_REGULATOR_QCOM_SPMI=y
|
||||
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
|
||||
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
|
||||
CONFIG_REGULATOR_ROHM=m
|
||||
# CONFIG_REGULATOR_RT4801 is not set
|
||||
# CONFIG_REGULATOR_RTMV20 is not set
|
||||
# CONFIG_REGULATOR_S2MPA01 is not set
|
||||
CONFIG_REGULATOR_S2MPS11=y
|
||||
# CONFIG_REGULATOR_S5M8767 is not set
|
||||
|
@ -4109,7 +4158,7 @@ CONFIG_VIDEO_MT9V011=m
|
|||
# CONFIG_VIDEO_RJ54N1 is not set
|
||||
# CONFIG_VIDEO_S5K6AA is not set
|
||||
# CONFIG_VIDEO_S5K6A3 is not set
|
||||
CONFIG_VIDEO_S5K4ECGX=m
|
||||
# CONFIG_VIDEO_S5K4ECGX is not set
|
||||
# CONFIG_VIDEO_S5K5BAF is not set
|
||||
# CONFIG_VIDEO_SMIAPP is not set
|
||||
# CONFIG_VIDEO_ET8EK8 is not set
|
||||
|
@ -4358,7 +4407,6 @@ CONFIG_DRM_VKMS=m
|
|||
# CONFIG_DRM_UDL is not set
|
||||
# CONFIG_DRM_RCAR_DW_HDMI is not set
|
||||
CONFIG_DRM_RCAR_LVDS=m
|
||||
CONFIG_DRM_RCAR_WRITEBACK=y
|
||||
CONFIG_DRM_SUN4I=y
|
||||
CONFIG_DRM_SUN4I_HDMI=y
|
||||
CONFIG_DRM_SUN4I_HDMI_AUDIO=y
|
||||
|
@ -4396,6 +4444,7 @@ CONFIG_DRM_PANEL_LG_LB035Q02=m
|
|||
CONFIG_DRM_PANEL_NEC_NL8048HL11=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT35510=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT39016=m
|
||||
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
|
||||
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
|
||||
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
|
||||
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
|
||||
|
@ -4436,6 +4485,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
|
|||
CONFIG_DRM_CDNS_DSI=m
|
||||
# CONFIG_DRM_CHRONTEL_CH7033 is not set
|
||||
CONFIG_DRM_DISPLAY_CONNECTOR=m
|
||||
# CONFIG_DRM_LONTIUM_LT9611 is not set
|
||||
CONFIG_DRM_LVDS_CODEC=m
|
||||
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
|
||||
# CONFIG_DRM_NWL_MIPI_DSI is not set
|
||||
|
@ -4447,9 +4497,11 @@ CONFIG_DRM_PARADE_PS8640=m
|
|||
CONFIG_DRM_SII9234=m
|
||||
CONFIG_DRM_SIMPLE_BRIDGE=m
|
||||
CONFIG_DRM_THINE_THC63LVD1024=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358762 is not set
|
||||
CONFIG_DRM_TOSHIBA_TC358764=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358767 is not set
|
||||
CONFIG_DRM_TOSHIBA_TC358768=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358775 is not set
|
||||
# CONFIG_DRM_TI_TFP410 is not set
|
||||
CONFIG_DRM_TI_SN65DSI86=m
|
||||
CONFIG_DRM_TI_TPD12S015=m
|
||||
|
@ -4457,6 +4509,7 @@ CONFIG_DRM_ANALOGIX_ANX6345=m
|
|||
CONFIG_DRM_ANALOGIX_ANX78XX=m
|
||||
CONFIG_DRM_ANALOGIX_DP=m
|
||||
# CONFIG_DRM_I2C_ADV7511 is not set
|
||||
# CONFIG_DRM_CDNS_MHDP8546 is not set
|
||||
CONFIG_DRM_DW_HDMI=y
|
||||
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
|
||||
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
|
||||
|
@ -4538,6 +4591,7 @@ CONFIG_LCD_CLASS_DEVICE=m
|
|||
# CONFIG_LCD_HX8357 is not set
|
||||
CONFIG_LCD_OTM3225A=m
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_KTD253 is not set
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
CONFIG_BACKLIGHT_QCOM_WLED=m
|
||||
# CONFIG_BACKLIGHT_ADP8860 is not set
|
||||
|
@ -4655,7 +4709,6 @@ CONFIG_SND_SOC_FSL_MICFIL=m
|
|||
|
||||
# CONFIG_SND_I2S_HI6210_I2S is not set
|
||||
# CONFIG_SND_SOC_IMG is not set
|
||||
# CONFIG_SND_SOC_INTEL_KEEMBAY is not set
|
||||
CONFIG_SND_SOC_MTK_BTCVSD=m
|
||||
# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
|
||||
|
||||
|
@ -4715,6 +4768,7 @@ CONFIG_SND_SOC_CS35L36=m
|
|||
# CONFIG_SND_SOC_CS42L52 is not set
|
||||
# CONFIG_SND_SOC_CS42L56 is not set
|
||||
# CONFIG_SND_SOC_CS42L73 is not set
|
||||
# CONFIG_SND_SOC_CS4234 is not set
|
||||
# CONFIG_SND_SOC_CS4265 is not set
|
||||
# CONFIG_SND_SOC_CS4270 is not set
|
||||
# CONFIG_SND_SOC_CS4271_I2C is not set
|
||||
|
@ -4778,6 +4832,7 @@ CONFIG_SND_SOC_SSM2305=m
|
|||
# CONFIG_SND_SOC_STI_SAS is not set
|
||||
# CONFIG_SND_SOC_TAS2552 is not set
|
||||
CONFIG_SND_SOC_TAS2562=m
|
||||
# CONFIG_SND_SOC_TAS2764 is not set
|
||||
CONFIG_SND_SOC_TAS2770=m
|
||||
# CONFIG_SND_SOC_TAS5086 is not set
|
||||
# CONFIG_SND_SOC_TAS571X is not set
|
||||
|
@ -4882,6 +4937,7 @@ CONFIG_HID_GFRM=m
|
|||
CONFIG_HID_GLORIOUS=m
|
||||
CONFIG_HID_HOLTEK=m
|
||||
CONFIG_HOLTEK_FF=y
|
||||
# CONFIG_HID_VIVALDI is not set
|
||||
CONFIG_HID_GT683R=m
|
||||
CONFIG_HID_KEYTOUCH=m
|
||||
CONFIG_HID_KYE=m
|
||||
|
@ -4988,6 +5044,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
|||
# Miscellaneous USB options
|
||||
#
|
||||
CONFIG_USB_DEFAULT_PERSIST=y
|
||||
# CONFIG_USB_FEW_INIT_RETRIES is not set
|
||||
# CONFIG_USB_DYNAMIC_MINORS is not set
|
||||
CONFIG_USB_OTG=y
|
||||
# CONFIG_USB_OTG_PRODUCTLIST is not set
|
||||
|
@ -5269,7 +5326,7 @@ CONFIG_USB_CONFIGFS_F_MIDI=y
|
|||
CONFIG_USB_CONFIGFS_F_HID=y
|
||||
CONFIG_USB_CONFIGFS_F_UVC=y
|
||||
CONFIG_USB_CONFIGFS_F_PRINTER=y
|
||||
CONFIG_USB_CONFIGFS_F_TCM=y
|
||||
# CONFIG_USB_CONFIGFS_F_TCM is not set
|
||||
|
||||
#
|
||||
# USB Gadget precomposed configurations
|
||||
|
@ -5309,6 +5366,7 @@ CONFIG_TYPEC=m
|
|||
CONFIG_TYPEC_ANX7688=m
|
||||
CONFIG_TYPEC_HD3SS3220=m
|
||||
CONFIG_TYPEC_TPS6598X=m
|
||||
# CONFIG_TYPEC_STUSB160X is not set
|
||||
|
||||
#
|
||||
# USB Type-C Multiplexer/DeMultiplexer Switch support
|
||||
|
@ -5390,6 +5448,7 @@ CONFIG_LEDS_LM3692X=m
|
|||
CONFIG_LEDS_GPIO=y
|
||||
# CONFIG_LEDS_LP3944 is not set
|
||||
# CONFIG_LEDS_LP3952 is not set
|
||||
# CONFIG_LEDS_LP50XX is not set
|
||||
# CONFIG_LEDS_LP55XX_COMMON is not set
|
||||
# CONFIG_LEDS_LP8860 is not set
|
||||
# CONFIG_LEDS_PCA955X is not set
|
||||
|
@ -5501,6 +5560,7 @@ CONFIG_RTC_DRV_RX8581=m
|
|||
CONFIG_RTC_DRV_RX8025=m
|
||||
CONFIG_RTC_DRV_EM3027=m
|
||||
CONFIG_RTC_DRV_RV3028=m
|
||||
# CONFIG_RTC_DRV_RV3032 is not set
|
||||
CONFIG_RTC_DRV_RV8803=m
|
||||
CONFIG_RTC_DRV_S5M=m
|
||||
CONFIG_RTC_DRV_SD3078=m
|
||||
|
@ -5707,7 +5767,6 @@ CONFIG_AD9834=m
|
|||
CONFIG_STAGING_MEDIA=y
|
||||
CONFIG_VIDEO_SUNXI=y
|
||||
CONFIG_VIDEO_SUNXI_CEDRUS=m
|
||||
CONFIG_VIDEO_USBVISION=m
|
||||
|
||||
#
|
||||
# Android
|
||||
|
@ -5752,7 +5811,6 @@ CONFIG_FB_TFT_UC1701=m
|
|||
CONFIG_FB_TFT_UPD161704=m
|
||||
CONFIG_FB_TFT_WATTEROTT=m
|
||||
CONFIG_MOST_COMPONENTS=m
|
||||
# CONFIG_MOST_CDEV is not set
|
||||
# CONFIG_MOST_NET is not set
|
||||
# CONFIG_MOST_SOUND is not set
|
||||
# CONFIG_MOST_VIDEO is not set
|
||||
|
@ -5769,16 +5827,15 @@ CONFIG_MOST_COMPONENTS=m
|
|||
CONFIG_XIL_AXIS_FIFO=m
|
||||
# CONFIG_FIELDBUS_DEV is not set
|
||||
CONFIG_WFX=m
|
||||
CONFIG_RTL8723CS_NEW=m
|
||||
# CONFIG_SPMI_HISI3670 is not set
|
||||
# CONFIG_MFD_HI6421_SPMI is not set
|
||||
# CONFIG_GOLDFISH is not set
|
||||
# CONFIG_MFD_CROS_EC is not set
|
||||
# CONFIG_CHROME_PLATFORMS is not set
|
||||
# CONFIG_MELLANOX_PLATFORM is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_CLK_HSDK is not set
|
||||
CONFIG_COMMON_CLK_MAX9485=m
|
||||
# CONFIG_COMMON_CLK_SCMI is not set
|
||||
CONFIG_COMMON_CLK_SCPI=y
|
||||
|
@ -5804,7 +5861,10 @@ CONFIG_CLK_SUNXI_PRCM_SUN8I=y
|
|||
CONFIG_CLK_SUNXI_PRCM_SUN9I=y
|
||||
CONFIG_SUNXI_CCU=y
|
||||
CONFIG_SUN50I_A64_CCU=y
|
||||
CONFIG_SUN50I_A100_CCU=y
|
||||
CONFIG_SUN50I_A100_R_CCU=y
|
||||
CONFIG_SUN50I_H6_CCU=y
|
||||
CONFIG_SUN50I_H616_CCU=y
|
||||
CONFIG_SUN50I_H6_R_CCU=y
|
||||
CONFIG_SUN8I_A83T_CCU=y
|
||||
CONFIG_SUN8I_H3_CCU=y
|
||||
|
@ -5952,6 +6012,8 @@ CONFIG_EXTCON_USB_GPIO=y
|
|||
CONFIG_IIO=m
|
||||
CONFIG_IIO_BUFFER=y
|
||||
CONFIG_IIO_BUFFER_CB=m
|
||||
# CONFIG_IIO_BUFFER_DMA is not set
|
||||
# CONFIG_IIO_BUFFER_DMAENGINE is not set
|
||||
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
|
||||
CONFIG_IIO_KFIFO_BUF=m
|
||||
CONFIG_IIO_TRIGGERED_BUFFER=m
|
||||
|
@ -6202,6 +6264,7 @@ CONFIG_ADIS16080=m
|
|||
CONFIG_ADIS16130=m
|
||||
CONFIG_ADIS16136=m
|
||||
CONFIG_ADIS16260=m
|
||||
# CONFIG_ADXRS290 is not set
|
||||
CONFIG_ADXRS450=m
|
||||
CONFIG_BMG160=m
|
||||
CONFIG_BMG160_I2C=m
|
||||
|
@ -6238,6 +6301,7 @@ CONFIG_ITG3200=m
|
|||
CONFIG_AM2315=m
|
||||
CONFIG_DHT11=m
|
||||
CONFIG_HDC100X=m
|
||||
# CONFIG_HDC2010 is not set
|
||||
CONFIG_HID_SENSOR_HUMIDITY=m
|
||||
CONFIG_HTS221=m
|
||||
CONFIG_HTS221_I2C=m
|
||||
|
@ -6279,6 +6343,7 @@ CONFIG_AL3010=m
|
|||
CONFIG_AL3320A=m
|
||||
CONFIG_APDS9300=m
|
||||
CONFIG_APDS9960=m
|
||||
# CONFIG_AS73211 is not set
|
||||
CONFIG_BH1750=m
|
||||
CONFIG_BH1780=m
|
||||
CONFIG_CM32181=m
|
||||
|
@ -6500,6 +6565,7 @@ CONFIG_RESET_SUNXI=y
|
|||
CONFIG_GENERIC_PHY=y
|
||||
CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
||||
# CONFIG_PHY_XGENE is not set
|
||||
# CONFIG_USB_LGM_PHY is not set
|
||||
CONFIG_PHY_SUN4I_USB=y
|
||||
CONFIG_PHY_SUN6I_MIPI_DPHY=y
|
||||
CONFIG_PHY_SUN9I_USB=y
|
||||
|
@ -6529,6 +6595,7 @@ CONFIG_ARM_CCI_PMU=m
|
|||
# CONFIG_ARM_CCI400_PMU is not set
|
||||
# CONFIG_ARM_CCI5xx_PMU is not set
|
||||
# CONFIG_ARM_CCN is not set
|
||||
# CONFIG_ARM_CMN is not set
|
||||
CONFIG_ARM_PMU=y
|
||||
CONFIG_ARM_DSU_PMU=m
|
||||
CONFIG_ARM_SPE_PMU=m
|
||||
|
@ -6580,6 +6647,7 @@ CONFIG_FTM_QUADDEC=m
|
|||
# CONFIG_MICROCHIP_TCB_CAPTURE is not set
|
||||
CONFIG_MOST=m
|
||||
# CONFIG_MOST_USB_HDM is not set
|
||||
# CONFIG_MOST_CDEV is not set
|
||||
# end of Device Drivers
|
||||
|
||||
#
|
||||
|
@ -6605,6 +6673,7 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_XFS_FS=m
|
||||
CONFIG_XFS_SUPPORT_V4=y
|
||||
# CONFIG_XFS_QUOTA is not set
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
CONFIG_XFS_RT=y
|
||||
|
@ -6831,6 +6900,7 @@ CONFIG_NFS_FSCACHE=y
|
|||
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||
CONFIG_NFS_DEBUG=y
|
||||
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
|
||||
# CONFIG_NFS_V4_2_READ_PLUS is not set
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_NFSD_V2_ACL=y
|
||||
CONFIG_NFSD_V3=y
|
||||
|
@ -7094,6 +7164,7 @@ CONFIG_CRYPTO_DH=y
|
|||
CONFIG_CRYPTO_ECC=m
|
||||
CONFIG_CRYPTO_ECDH=m
|
||||
CONFIG_CRYPTO_ECRDSA=m
|
||||
# CONFIG_CRYPTO_SM2 is not set
|
||||
CONFIG_CRYPTO_CURVE25519=m
|
||||
|
||||
#
|
||||
|
@ -7192,7 +7263,7 @@ CONFIG_CRYPTO_LZO=y
|
|||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_LZ4=m
|
||||
CONFIG_CRYPTO_LZ4HC=m
|
||||
CONFIG_CRYPTO_ZSTD=m
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
|
||||
#
|
||||
# Random Number Generation
|
||||
|
@ -7208,7 +7279,9 @@ CONFIG_CRYPTO_USER_API=m
|
|||
CONFIG_CRYPTO_USER_API_HASH=m
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||
CONFIG_CRYPTO_USER_API_RNG=m
|
||||
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
|
||||
CONFIG_CRYPTO_USER_API_AEAD=m
|
||||
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
|
||||
# CONFIG_CRYPTO_STATS is not set
|
||||
CONFIG_CRYPTO_HASH_INFO=y
|
||||
|
||||
|
@ -7237,8 +7310,13 @@ CONFIG_CRYPTO_DEV_SUN4I_SS=m
|
|||
# CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_CE=m
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_HASH is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_SS=m
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_SS_HASH is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
|
||||
# CONFIG_CRYPTO_DEV_CCP is not set
|
||||
|
@ -7367,6 +7445,7 @@ CONFIG_DMA_COHERENT_POOL=y
|
|||
CONFIG_DMA_REMAP=y
|
||||
CONFIG_DMA_DIRECT_REMAP=y
|
||||
CONFIG_DMA_CMA=y
|
||||
CONFIG_DMA_PERNUMA_CMA=y
|
||||
|
||||
#
|
||||
# Default contiguous memory area size:
|
||||
|
@ -7408,7 +7487,9 @@ CONFIG_FONT_6x10=y
|
|||
# CONFIG_FONT_SUN8x16 is not set
|
||||
# CONFIG_FONT_SUN12x22 is not set
|
||||
CONFIG_FONT_TER16x32=y
|
||||
# CONFIG_FONT_6x8 is not set
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_ARCH_STACKWALK=y
|
||||
CONFIG_SBITMAP=y
|
||||
# CONFIG_STRING_SELFTEST is not set
|
||||
# end of Library routines
|
||||
|
@ -7567,7 +7648,6 @@ CONFIG_TEST_STRSCPY=m
|
|||
# CONFIG_TEST_KSTRTOX is not set
|
||||
# CONFIG_TEST_PRINTF is not set
|
||||
# CONFIG_TEST_BITMAP is not set
|
||||
# CONFIG_TEST_BITFIELD is not set
|
||||
# CONFIG_TEST_UUID is not set
|
||||
CONFIG_TEST_XARRAY=m
|
||||
# CONFIG_TEST_OVERFLOW is not set
|
||||
|
|
|
@ -858,17 +858,17 @@ CONFIG_CMA=y
|
|||
CONFIG_CMA_AREAS=7
|
||||
CONFIG_ZSWAP=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
|
||||
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
|
||||
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y
|
||||
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
|
||||
# CONFIG_ZSWAP_DEFAULT_ON is not set
|
||||
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
|
||||
CONFIG_ZSWAP_DEFAULT_ON=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
CONFIG_Z3FOLD=y
|
||||
|
|
|
@ -5,6 +5,7 @@ LINUXFAMILY=meson64
|
|||
ARCH=arm64
|
||||
SERIALCON=ttyAML0
|
||||
SRC_LOADADDR='LOADADDR=0x1080000'
|
||||
BOOTBRANCH="tag:v2020.10"
|
||||
OVERLAY_PREFIX='meson'
|
||||
|
||||
# this family does not need it
|
||||
|
|
|
@ -9,6 +9,7 @@ OVERLAY_PREFIX='rockchip'
|
|||
SERIALCON=${SERIALCON:=$([ $BRANCH == "legacy" ] && echo "ttyFIQ0:1500000" || echo "ttyS2:1500000")}
|
||||
GOVERNOR="ondemand"
|
||||
BOOTBRANCH="tag:v2020.07"
|
||||
[[ $BOARD == nanopi-r4s ]] && BOOTBRANCH="tag:v2020.10"
|
||||
PACKAGE_LIST_FAMILY="ethtool"
|
||||
|
||||
RKBIN_DIR="$SRC/cache/sources/rkbin-tools"
|
||||
|
|
|
@ -20,7 +20,7 @@ case $BRANCH in
|
|||
current)
|
||||
|
||||
KERNELSOURCE="https://github.com/megous/linux"
|
||||
KERNELBRANCH="branch:orange-pi-5.9"
|
||||
KERNELBRANCH="branch:orange-pi-5.10"
|
||||
KERNELPATCHDIR='sunxi-'$BRANCH
|
||||
|
||||
;;
|
||||
|
|
|
@ -22,7 +22,7 @@ case $BRANCH in
|
|||
current)
|
||||
|
||||
KERNELSOURCE="https://github.com/megous/linux"
|
||||
KERNELBRANCH="branch:orange-pi-5.9"
|
||||
KERNELBRANCH="branch:orange-pi-5.10"
|
||||
KERNELPATCHDIR='sunxi-'$BRANCH
|
||||
|
||||
;;
|
||||
|
|
|
@ -9,7 +9,7 @@ ASOUND_STATE='asound.state.sun50iw2-dev'
|
|||
if [[ $BOARD == orangepizero2 ]]; then
|
||||
|
||||
ATFSOURCE='https://github.com/apritzel/arm-trusted-firmware'
|
||||
ATFBRANCH='branch:h616-WIP'
|
||||
ATFBRANCH='branch:h616-beta'
|
||||
|
||||
ATF_PLAT="sun50i_h616";
|
||||
ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
|
||||
|
|
|
@ -270,6 +270,11 @@ nanopi-r2s current bullseye minimal stable yes
|
|||
nanopi-r2s current focal minimal stable yes
|
||||
nanopi-r2s current focal cli beta yes
|
||||
|
||||
# nanopi-r4s
|
||||
|
||||
nanopi-r4s current buster cli stable yes
|
||||
nanopi-r4s current focal cli stable yes
|
||||
|
||||
# nanopiair
|
||||
|
||||
nanopiair current buster cli stable yes
|
||||
|
|
|
@ -322,7 +322,7 @@ compilation_prepare()
|
|||
if linux-version compare "${version}" ge 3.14 && [ "$EXTRAWIFI" == yes ]; then
|
||||
|
||||
# attach to specifics tag or branch
|
||||
local rtl8812auver="branch:v5.6.4.2"
|
||||
local rtl8812auver="commit:ad351bd0afeb47d2fb197aff8cde4d7fb5fead9e"
|
||||
|
||||
display_alert "Adding" "Wireless drivers for Realtek 8811, 8812, 8814 and 8821 chipsets ${rtl8812auver}" "info"
|
||||
|
||||
|
|
|
@ -212,6 +212,9 @@ install_common()
|
|||
|
||||
cd $SRC
|
||||
|
||||
# remove cached index file prior to update.
|
||||
# To mitigate sum mismatch problem https://askubuntu.com/questions/41605/trouble-downloading-packages-list-due-to-a-hash-sum-mismatch-error
|
||||
chroot "${SDCARD}" /bin/bash -c "sudo rm -rf /var/lib/apt/lists/*" >> "${DEST}"/debug/install.log 2>&1
|
||||
display_alert "Updating" "package lists"
|
||||
chroot "${SDCARD}" /bin/bash -c "apt-get update" >> "${DEST}"/debug/install.log 2>&1
|
||||
|
||||
|
|
|
@ -9,6 +9,11 @@ SHOW_IP_PATTERN="^bond.*|^[ewr].*|^br.*|^lt.*|^umts.*|^lan.*"
|
|||
PRIMARY_INTERFACE="$(ls -1 /sys/class/net/ | grep -v lo | sed -n -e 'H;${x;s/\n/+/g;s/^+//;p;}')"
|
||||
PRIMARY_DIRECTION="rx"
|
||||
STORAGE=/dev/sda1
|
||||
|
||||
# Temperature offset in Celcius degrees
|
||||
CPU_TEMP_OFFSET=0
|
||||
|
||||
# Define where red color is used
|
||||
CPU_TEMP_LIMIT=60
|
||||
HDD_TEMP_LIMIT=60
|
||||
AMB_TEMP_LIMIT=40
|
||||
|
|
|
@ -21,6 +21,8 @@ PRIMARY_DIRECTION="rx"
|
|||
STORAGE=/dev/sda1
|
||||
SHOW_IP_PATTERN="^bond.*|^[ewr].*|^br.*|^lt.*|^umts.*|^lan.*"
|
||||
CPU_TEMP_LIMIT=60
|
||||
# Temperature offset in Celcius degrees
|
||||
CPU_TEMP_OFFSET=0
|
||||
HDD_TEMP_LIMIT=60
|
||||
AMB_TEMP_LIMIT=40
|
||||
|
||||
|
@ -58,6 +60,8 @@ function getboardtemp() {
|
|||
# fallback to PMIC temperature
|
||||
board_temp=$(awk '{printf("%d",$1/1000)}' </etc/armbianmonitor/datasources/pmictemp)
|
||||
fi
|
||||
# Some boards, such as the Orange Pi Zero LTS, report shifted CPU temperatures
|
||||
board_temp=$((board_temp + CPU_TEMP_OFFSET))
|
||||
} # getboardtemp
|
||||
|
||||
function batteryinfo() {
|
||||
|
|
|
@ -289,6 +289,10 @@ if [[ -f /root/.not_logged_in_yet && -n $(tty) ]]; then
|
|||
done
|
||||
trap - INT TERM EXIT
|
||||
|
||||
if [[ ${USER_SHELL} == zsh ]]; then
|
||||
printf "\nYou selected \e[0;91mZSH\x1B[0m as your default shell. If you want to use it right away, please logout and login! \n\n"
|
||||
fi
|
||||
|
||||
# check whether desktop environment has to be considered
|
||||
if [ -n "$desktop_lightdm" ] && [ -n "$RealName" ] ; then
|
||||
|
||||
|
@ -368,7 +372,4 @@ EOF
|
|||
|
||||
fi
|
||||
|
||||
# Change root user to ZSH in case selected
|
||||
[[ ${USER_SHELL} == zsh ]] && exec zsh
|
||||
|
||||
fi
|
||||
|
|
|
@ -19,14 +19,14 @@
|
|||
# and script configuration
|
||||
. /usr/lib/armbian/armbian-common
|
||||
|
||||
# It's possible to override ZRAM_PERCENTAGE, ZRAM_MAX_DEVICES, SWAP_ALGORITHM,
|
||||
# RAMLOG_ALGORITHM and TMP_ALGORITHM here:
|
||||
# It's possible to override SWAP, ZRAM_PERCENTAGE, MEM_LIMIT_PERCENTAGE, ZRAM_MAX_DEVICES,
|
||||
# SWAP_ALGORITHM, RAMLOG_ALGORITHM, TMP_ALGORITHM and TMP_SIZE here:
|
||||
ENABLED=false
|
||||
[ -f /etc/default/armbian-zram-config ] && . /etc/default/armbian-zram-config
|
||||
# Exit if not Enabled
|
||||
[[ "$ENABLED" != "true" ]] && exit 0
|
||||
|
||||
# Do not interfere with already present config-zram package
|
||||
# Do not interfere with already present zram-config package
|
||||
dpkg -l | grep -q 'zram-config' && exit 0
|
||||
|
||||
activate_zram() {
|
||||
|
@ -56,12 +56,18 @@ activate_zram_swap() {
|
|||
# Return is SWAP is disabled (enabled by default)
|
||||
[[ -n "$SWAP" && "$SWAP" != "true" ]] && return;
|
||||
|
||||
# Disable zswap if zram should be used. To make use of zswap instead a
|
||||
# swap file or partition on *capable* storage needs to be chosen and
|
||||
# defined as swap and also in /etc/default/armbian-zram-config SWAP=false
|
||||
# needs to be set.
|
||||
echo 0 >/sys/module/zswap/parameters/enabled 2>/dev/null
|
||||
|
||||
# Limit Journal size to 20Mb
|
||||
sed -i "s/.*SystemMaxUse=$/SystemMaxUse=20M/" /etc/systemd/journald.conf
|
||||
|
||||
for (( i=1; i<=zram_devices; i++ )); do
|
||||
swap_device=$(zramctl -f |sed 's/\/dev\///')
|
||||
[[ ! ${swap_device} =~ ^zram ]] && echo -e "\n### No more available zram devices (${swap_device})\n" >>${Log} && exit 1;
|
||||
[[ ! ${swap_device} =~ ^zram ]] && echo -e "\n### No more available zram devices (${swap_device})\n" >>${Log} && exit 1;
|
||||
if [ -f /sys/block/${swap_device}/comp_algorithm ]; then
|
||||
# set compression algorithm, if defined as lzo choose lzo-rle if available
|
||||
# https://www.phoronix.com/scan.php?page=news_item&px=ZRAM-Linux-5.1-Better-Perform
|
||||
|
@ -91,8 +97,8 @@ activate_ramlog_partition() {
|
|||
ENABLED=$(awk -F"=" '/^ENABLED/ {print $2}' /etc/default/armbian-ramlog)
|
||||
[[ "$ENABLED" != "true" ]] && return
|
||||
log_device=$(zramctl -f |sed 's/\/dev\///')
|
||||
[[ ! ${log_device} =~ ^zram ]] && echo -e "\n### No more available zram devices (${log_device})\n" >>${Log} && exit 1;
|
||||
|
||||
[[ ! ${log_device} =~ ^zram ]] && echo -e "\n### No more available zram devices (${log_device})\n" >>${Log} && exit 1;
|
||||
|
||||
# read size also from /etc/default/armbian-ramlog
|
||||
ramlogsize=$(awk -F"=" '/^SIZE/ {print $2}' /etc/default/armbian-ramlog)
|
||||
disksize=$(sed -e 's/M$/*1048576/' -e 's/K$/*1024/' <<<${ramlogsize:=50M} | bc)
|
||||
|
@ -124,7 +130,7 @@ activate_compressed_tmp() {
|
|||
# create /tmp not as tmpfs but zram compressed if no fstab entry exists
|
||||
grep -q '^tmpfs /tmp' /etc/mtab && return
|
||||
tmp_device=$(zramctl -f |sed 's/\/dev\///')
|
||||
[[ ! ${tmp_device} =~ ^zram ]] && echo -e "\n### No more available zram devices (${tmp_device})\n" >>${Log} && exit 1;
|
||||
[[ ! ${tmp_device} =~ ^zram ]] && echo -e "\n### No more available zram devices (${tmp_device})\n" >>${Log} && exit 1;
|
||||
|
||||
if [[ -f /sys/block/${tmp_device}/comp_algorithm ]]; then
|
||||
if [ "X${TMP_ALGORITHM}" = "X" ]; then
|
||||
|
|
|
@ -5,7 +5,7 @@ index a12dc0498..2e7e97966 100644
|
|||
@@ -226,8 +226,7 @@
|
||||
|
||||
reset-assert-us = <10000>;
|
||||
reset-deassert-us = <30000>;
|
||||
reset-deassert-us = <80000>;
|
||||
- reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
|
||||
-
|
||||
+ max-speed = <1000>;
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/drivers/of/property.c b/drivers/of/property.c
|
||||
index 2c201e2c..ae79a6f8 100644
|
||||
--- a/drivers/of/property.c
|
||||
+++ b/drivers/of/property.c
|
||||
@@ -900,7 +900,7 @@ of_fwnode_graph_get_port_parent(struct fwnode_handle *fwnode)
|
||||
struct device_node *np;
|
||||
|
||||
/* Get the parent of the port */
|
||||
- np = of_get_next_parent(to_of_node(fwnode));
|
||||
+ np = of_get_parent(to_of_node(fwnode));
|
||||
if (!np)
|
||||
return NULL;
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
|
||||
index 82514d1b..fddf3d7f 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
|
||||
@@ -121,6 +121,15 @@
|
||||
opp-microvolt-L3 = <1050000 1050000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
+ opp-1512000000 {
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt = <1200000 1200000 1200000>;
|
||||
+ opp-microvolt-L0 = <1200000 1200000 1200000>;
|
||||
+ opp-microvolt-L1 = <1175000 1175000 1175000>;
|
||||
+ opp-microvolt-L2 = <1150000 1150000 1150000>;
|
||||
+ opp-microvolt-L3 = <1125000 1125000 1125000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
};
|
||||
|
||||
cluster1_opp: opp-table1 {
|
||||
@@ -219,6 +237,15 @@
|
||||
opp-microvolt-L3 = <1125000 1125000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
+ opp-1992000000 {
|
||||
+ opp-hz = /bits/ 64 <1992000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ opp-microvolt-L0 = <1300000 1300000 1300000>;
|
||||
+ opp-microvolt-L1 = <1275000 1275000 1275000>;
|
||||
+ opp-microvolt-L2 = <1250000 1250000 1250000>;
|
||||
+ opp-microvolt-L3 = <1225000 1225000 1225000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
};
|
||||
|
||||
gpu_opp_table: opp-table2 {
|
|
@ -1,54 +0,0 @@
|
|||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
|
||||
index 82514d1b..fddf3d7f 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
|
||||
@@ -121,6 +121,24 @@
|
||||
opp-microvolt-L3 = <1050000 1050000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
+ opp-1512000000 {
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt = <1200000>;
|
||||
+ opp-microvolt-L0 = <1200000>;
|
||||
+ opp-microvolt-L1 = <1175000>;
|
||||
+ opp-microvolt-L2 = <1150000>;
|
||||
+ opp-microvolt-L3 = <1125000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-18000000000 {
|
||||
+ opp-hz = /bits/ 64 <1800000000>;
|
||||
+ opp-microvolt = <1350000>;
|
||||
+ opp-microvolt-L0 = <1350000>;
|
||||
+ opp-microvolt-L1 = <1325000>;
|
||||
+ opp-microvolt-L2 = <1300000>;
|
||||
+ opp-microvolt-L3 = <1275000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
};
|
||||
|
||||
cluster1_opp: opp-table1 {
|
||||
@@ -219,6 +237,24 @@
|
||||
opp-microvolt-L3 = <1125000 1125000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
+ opp-1992000000 {
|
||||
+ opp-hz = /bits/ 64 <1992000000>;
|
||||
+ opp-microvolt = <1300000>;
|
||||
+ opp-microvolt-L0 = <1300000>;
|
||||
+ opp-microvolt-L1 = <1275000>;
|
||||
+ opp-microvolt-L2 = <1250000>;
|
||||
+ opp-microvolt-L3 = <1225000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-2208000000 {
|
||||
+ opp-hz = /bits/ 64 <2208000000>;
|
||||
+ opp-microvolt = <1400000>;
|
||||
+ opp-microvolt-L0 = <1400000>;
|
||||
+ opp-microvolt-L1 = <1375000>;
|
||||
+ opp-microvolt-L2 = <1350000>;
|
||||
+ opp-microvolt-L3 = <1325000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
};
|
||||
|
||||
gpu_opp_table: opp-table2 {
|
166
patch/kernel/rk3399-legacy/zz-001-overlay-oc-opp-rk3399.patch
Normal file
166
patch/kernel/rk3399-legacy/zz-001-overlay-oc-opp-rk3399.patch
Normal file
|
@ -0,0 +1,166 @@
|
|||
From 440c2ac99c32cfdf9556a041e5da4489fb3eaa77 Mon Sep 17 00:00:00 2001
|
||||
From: JMCC <JMCC@localhost>
|
||||
Date: Sun, 27 Dec 2020 02:58:41 +0100
|
||||
Subject: [PATCH] add-oc-opp-rk3399
|
||||
|
||||
Signed-off-by: JMCC <JMCC@localhost>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/overlay/Makefile | 4 +-
|
||||
.../rockchip/overlay/README.rockchip-overlays | 11 ++++
|
||||
.../overlay/rockchip-rk3399-oc-20.dts | 38 ++++++++++++
|
||||
.../overlay/rockchip-rk3399-oc-22.dts | 58 +++++++++++++++++++
|
||||
4 files changed, 110 insertions(+), 1 deletion(-)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
index c5f52da3..9d39fce0 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
@@ -3,10 +3,12 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rockchip-i2c7.dtbo \
|
||||
rockchip-i2c8.dtbo \
|
||||
rockchip-pcie-gen2.dtbo \
|
||||
+ rockchip-rk3399-oc-20.dtbo \
|
||||
+ rockchip-rk3399-oc-22.dtbo \
|
||||
rockchip-spi-jedec-nor.dtbo \
|
||||
rockchip-spi-spidev.dtbo \
|
||||
rockchip-uart4.dtbo \
|
||||
- rockchip-w1-gpio.dtbo
|
||||
+ rockchip-w1-gpio.dtbo
|
||||
|
||||
scr-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rockchip-fixup.scr
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
index ba6d51f6..13b55335 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
@@ -29,6 +29,17 @@ I2C8 pins (SCL, SDA): GPIO1-C5, GPIO1-C4
|
||||
Enables PCIe Gen2 link speed on RK3399.
|
||||
WARNING! Not officially supported by Rockchip!!!
|
||||
|
||||
+### rk3399-oc-20
|
||||
+
|
||||
+Enables Overclocking frequencies 2.0/1.5 Ghz.
|
||||
+This one should be stable in almost any individual chip
|
||||
+
|
||||
+### rk3399-oc-22
|
||||
+
|
||||
+Enables Overclocking frequencies 2.2/1.7 Ghz.
|
||||
+This one should also be stable in most cases, but make
|
||||
+sure you have very good cooling
|
||||
+
|
||||
### spi-jedec-nor
|
||||
|
||||
Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts
|
||||
new file mode 100644
|
||||
index 00000000..32f70cfe
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts
|
||||
@@ -0,0 +1,38 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&cluster0_opp>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,bin-scaling-sel = <
|
||||
+ 0 12
|
||||
+ 1 12
|
||||
+ >;
|
||||
+ opp-1512000000 {
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt = <1150000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&cluster1_opp>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,bin-scaling-sel = <
|
||||
+ 0 1
|
||||
+ 1 1
|
||||
+ >;
|
||||
+ opp-1992000000 {
|
||||
+ opp-hz = /bits/ 64 <1992000000>;
|
||||
+ opp-microvolt = <1250000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts
|
||||
new file mode 100644
|
||||
index 00000000..04b23b57
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts
|
||||
@@ -0,0 +1,58 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&cluster0_opp>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,bin-scaling-sel = <
|
||||
+ 0 12
|
||||
+ 1 12
|
||||
+ >;
|
||||
+ opp-1512000000 {
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt = <1150000 1150000 1200000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-1608000000 {
|
||||
+ opp-hz = /bits/ 64 <1608000000>;
|
||||
+ opp-microvolt = <1175000 1175000 1200000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-1704000000 {
|
||||
+ opp-hz = /bits/ 64 <1704000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&cluster1_opp>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,bin-scaling-sel = <
|
||||
+ 0 1
|
||||
+ 1 1
|
||||
+ >;
|
||||
+ opp-1992000000 {
|
||||
+ opp-hz = /bits/ 64 <1992000000>;
|
||||
+ opp-microvolt = <1250000 1250000 1250000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-2088000000 {
|
||||
+ opp-hz = /bits/ 64 <2088000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ cloc-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-2184000000 {
|
||||
+ opp-hz = /bits/ 64 <2184000000>;
|
||||
+ opp-microvolt = <1350000 1350000 1350000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
|
@ -0,0 +1,176 @@
|
|||
From 42543b9b492731d72547987f84bd64477a3ce992 Mon Sep 17 00:00:00 2001
|
||||
From: JMCC <JMCC@localhost>
|
||||
Date: Sun, 27 Dec 2020 01:44:20 +0100
|
||||
Subject: [PATCH] zz-53-add-rpi-camera-and-screen
|
||||
|
||||
Signed-off-by: JMCC <JMCC@localhost>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/overlay/Makefile | 3 ++
|
||||
.../rockchip/overlay/README.rockchip-overlays | 16 +++++++
|
||||
.../overlay/rockchip-rpi-7inch-lcd.dts | 45 +++++++++++++++++++
|
||||
.../overlay/rockchip-rpi-cam-imx219.dts | 22 +++++++++
|
||||
.../overlay/rockchip-rpi-cam-ov5647.dts | 30 +++++++++++++
|
||||
5 files changed, 116 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
index 9d39fce0..6443999d 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
@@ -5,6 +5,9 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rockchip-pcie-gen2.dtbo \
|
||||
rockchip-rk3399-oc-20.dtbo \
|
||||
rockchip-rk3399-oc-22.dtbo \
|
||||
+ rockchip-rpi-7inch-lcd.dtbo \
|
||||
+ rockchip-rpi-cam-imx219.dtbo \
|
||||
+ rockchip-rpi-cam-ov5647.dtbo \
|
||||
rockchip-spi-jedec-nor.dtbo \
|
||||
rockchip-spi-spidev.dtbo \
|
||||
rockchip-uart4.dtbo \
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
index 13b55335..ba34d596 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
@@ -40,6 +40,22 @@ Enables Overclocking frequencies 2.2/1.7 Ghz.
|
||||
This one should also be stable in most cases, but make
|
||||
sure you have very good cooling
|
||||
|
||||
+### rpi-7inch-lcd
|
||||
+
|
||||
+Enables the Raspberry Pi MIPI-DSI 7-inch LCD touch screen,
|
||||
+and compatible hardware.
|
||||
+
|
||||
+### rpi-cam-imx219
|
||||
+
|
||||
+Enables the Raspberry Pi CSI camera v2 (IMX219),
|
||||
+and compatible hardware
|
||||
+
|
||||
+### rpi-cam-ov5647
|
||||
+
|
||||
+Enables the Raspberry Pi CSI camera v1 (OV5647),
|
||||
+and compatible hardware
|
||||
+
|
||||
+
|
||||
### spi-jedec-nor
|
||||
|
||||
Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts
|
||||
new file mode 100644
|
||||
index 00000000..77fe1438
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts
|
||||
@@ -0,0 +1,45 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&dsi>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&dsi1>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,dual-channel = <&dsi>;
|
||||
+ status = "okay";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ panel: panel@0 {
|
||||
+ compatible ="rockpi,tc358762";
|
||||
+ reg = <0>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@2 {
|
||||
+ target = <&i2c1>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockpi_mcu: rockpi_mcu@45 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ rockpi_ft5406: rockpi_ft5406@38 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts
|
||||
new file mode 100644
|
||||
index 00000000..2cd419b6
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts
|
||||
@@ -0,0 +1,22 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&i2c4>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&camera1>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts
|
||||
new file mode 100644
|
||||
index 00000000..61c8b88b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts
|
||||
@@ -0,0 +1,30 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&i2c4>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&camera2>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@2 {
|
||||
+ target = <&mipi_in_ucam0>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ remote-endpoint = <&ucam_out1>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
Sound node recovered from Pull Request #408
|
||||
Node name changed in line with tinkerboard & xt-q8l, cf. issue #1367
|
||||
Also added missing i2s node, cf. http://rockchip.wikidot.com/hdmi-audio
|
||||
|
||||
From b5d066aba887ebd5963da588d0229d356f1ae79a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian <nitroshift@yahoo.com>
|
||||
Date: Wed, 14 Mar 2018 12:49:45 +0200
|
||||
Subject: [PATCH] MIQI-DTS-enable-sound-node
|
||||
|
||||
Add missing sound node in rk3288-miqi.dts. Compile and run-tested on miqi device with kernel 4.16.0-rc5.
|
||||
|
||||
---
|
||||
diff --git a/arch/arm/boot/dts/rk3288-miqi.dts b/arch/arm/boot/dts/rk3288-miqi.dts
|
||||
index dd785c7..5824ee7 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-miqi.dts
|
||||
+++ b/arch/arm/boot/dts/rk3288-miqi.dts
|
||||
@@ -57,6 +57,23 @@
|
||||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
+ sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,name = "DW-I2S-HDMI";
|
||||
+ simple-audio-card,mclk-fs = <512>;
|
||||
+
|
||||
+ simple-audio-card,dai-link@0 { /* I2S - S/PDIF */
|
||||
+ format = "i2s";
|
||||
+ cpu {
|
||||
+ sound-dai = <&i2s>;
|
||||
+ };
|
||||
+ codec {
|
||||
+ sound-dai = <&hdmi>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
ext_gmac: external-gmac-clock {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
@@ -136,10 +153,18 @@
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
ddc-i2c-bus = <&i2c5>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&i2s {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c0 {
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
--
|
||||
2.14.1
|
164
patch/kernel/rockchip64-current/add-board-nanopi-r4s.patch
Normal file
164
patch/kernel/rockchip64-current/add-board-nanopi-r4s.patch
Normal file
|
@ -0,0 +1,164 @@
|
|||
From 7117f55d19dc3b902b8ce7e28b944d30105069a5 Mon Sep 17 00:00:00 2001
|
||||
From: jensen <jensenhuang@friendlyarm.com>
|
||||
Date: Fri, 6 Nov 2020 10:40:23 +0800
|
||||
Subject: [PATCH] arm64: dts: rk3399: Add dts file for nanopi-r4s
|
||||
|
||||
Change-Id: I95cc83e6c4f7234d6ef7bb9ba98e1c65eebd8e73
|
||||
Signed-off-by: jensen <jensenhuang@friendlyarm.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/Makefile | 2 +
|
||||
.../dts/rockchip/rk3399-nanopi-r4s1.dts | 170 +++++++++++++++
|
||||
.../dts/rockchip/rk3399-nanopi-r4s2.dts | 203 ++++++++++++++++++
|
||||
3 files changed, 375 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s1.dts
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s2.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
index 71e33037e..eabf39e71 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
@@ -34,6 +34,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge-captain.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge-v.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-leez-p710.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-r4s.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4v2.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
new file mode 100644
|
||||
index 000000000000..b932e3bb6396
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
@@ -0,0 +1,131 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "rk3399-nanopi4.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyElec NanoPi R4S";
|
||||
+ compatible = "friendlyelec,nanopi-r4s", "rockchip,rk3399";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet1 = &r8169;
|
||||
+ };
|
||||
+ vdd_5v: vdd-5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vdd_5v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_core: vcc5v0-core {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_core";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb1: vcc5v0-usb1 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb1";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb2: vcc5v0-usb2 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb2";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&emmc_phy {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdio0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdmmc {
|
||||
+ host-index-min = <1>;
|
||||
+};
|
||||
+
|
||||
+&i2s0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&pcie0 {
|
||||
+ max-link-speed = <1>;
|
||||
+ num-lanes = <1>;
|
||||
+ vpcie3v3-supply = <&vcc3v3_sys>;
|
||||
+
|
||||
+ pcie@0 {
|
||||
+ reg = <0x00000000 0 0 0 0>;
|
||||
+ #address-cells = <3>;
|
||||
+ #size-cells = <2>;
|
||||
+
|
||||
+ r8169: pcie@0,0 {
|
||||
+ reg = <0x000000 0 0 0 0>;
|
||||
+ local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&fusb0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&cdn_dp {
|
||||
+ /delete-property/ extcon;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&tcphy0 {
|
||||
+ /delete-property/ extcon;
|
||||
+};
|
||||
+
|
||||
+&u2phy0 {
|
||||
+ /delete-property/ extcon;
|
||||
+};
|
||||
+
|
||||
+&usbdrd_dwc3_0 {
|
||||
+ /delete-property/ extcon;
|
||||
+ extcon = <&u2phy0>;
|
||||
+};
|
||||
+
|
||||
+&isp0_mmu {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&isp1_mmu {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&vcc3v3_sys {
|
||||
+ vin-supply = <&vcc5v0_core>;
|
||||
+};
|
||||
+
|
||||
+&u2phy0_host {
|
||||
+ phy-supply = <&vcc5v0_usb1>;
|
||||
+};
|
||||
+
|
||||
+&u2phy1_host {
|
||||
+ phy-supply = <&vcc5v0_usb2>;
|
||||
+};
|
||||
+
|
||||
+&vbus_typec {
|
||||
+ regulator-always-on;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+};
|
|
@ -0,0 +1,22 @@
|
|||
From d1fb54e1292f2896fc7e485ee13ef2a8a7e87bb5 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
Date: Sat, 14 Nov 2020 18:47:08 +0100
|
||||
Subject: [PATCH] Add Z28 PRO as link to Rock64
|
||||
|
||||
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 120000 arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts b/arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts
|
||||
new file mode 120000
|
||||
index 000000000..69752a370
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts
|
||||
@@ -0,0 +1 @@
|
||||
+rk3328-rock64.dts
|
||||
\ No newline at end of file
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
164
patch/kernel/rockchip64-dev/add-board-nanopi-r4s.patch
Normal file
164
patch/kernel/rockchip64-dev/add-board-nanopi-r4s.patch
Normal file
|
@ -0,0 +1,164 @@
|
|||
From 7117f55d19dc3b902b8ce7e28b944d30105069a5 Mon Sep 17 00:00:00 2001
|
||||
From: jensen <jensenhuang@friendlyarm.com>
|
||||
Date: Fri, 6 Nov 2020 10:40:23 +0800
|
||||
Subject: [PATCH] arm64: dts: rk3399: Add dts file for nanopi-r4s
|
||||
|
||||
Change-Id: I95cc83e6c4f7234d6ef7bb9ba98e1c65eebd8e73
|
||||
Signed-off-by: jensen <jensenhuang@friendlyarm.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/Makefile | 2 +
|
||||
.../dts/rockchip/rk3399-nanopi-r4s1.dts | 170 +++++++++++++++
|
||||
.../dts/rockchip/rk3399-nanopi-r4s2.dts | 203 ++++++++++++++++++
|
||||
3 files changed, 375 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s1.dts
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s2.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
index 71e33037e..eabf39e71 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
@@ -34,6 +34,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge-captain.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge-v.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-leez-p710.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-r4s.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4v2.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
new file mode 100644
|
||||
index 000000000000..b932e3bb6396
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
@@ -0,0 +1,131 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "rk3399-nanopi4.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyElec NanoPi R4S";
|
||||
+ compatible = "friendlyelec,nanopi-r4s", "rockchip,rk3399";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet1 = &r8169;
|
||||
+ };
|
||||
+ vdd_5v: vdd-5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vdd_5v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_core: vcc5v0-core {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_core";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb1: vcc5v0-usb1 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb1";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb2: vcc5v0-usb2 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb2";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&emmc_phy {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdio0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdmmc {
|
||||
+ host-index-min = <1>;
|
||||
+};
|
||||
+
|
||||
+&i2s0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&pcie0 {
|
||||
+ max-link-speed = <1>;
|
||||
+ num-lanes = <1>;
|
||||
+ vpcie3v3-supply = <&vcc3v3_sys>;
|
||||
+
|
||||
+ pcie@0 {
|
||||
+ reg = <0x00000000 0 0 0 0>;
|
||||
+ #address-cells = <3>;
|
||||
+ #size-cells = <2>;
|
||||
+
|
||||
+ r8169: pcie@0,0 {
|
||||
+ reg = <0x000000 0 0 0 0>;
|
||||
+ local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&fusb0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&cdn_dp {
|
||||
+ /delete-property/ extcon;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&tcphy0 {
|
||||
+ /delete-property/ extcon;
|
||||
+};
|
||||
+
|
||||
+&u2phy0 {
|
||||
+ /delete-property/ extcon;
|
||||
+};
|
||||
+
|
||||
+&usbdrd_dwc3_0 {
|
||||
+ /delete-property/ extcon;
|
||||
+ extcon = <&u2phy0>;
|
||||
+};
|
||||
+
|
||||
+&isp0_mmu {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&isp1_mmu {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&vcc3v3_sys {
|
||||
+ vin-supply = <&vcc5v0_core>;
|
||||
+};
|
||||
+
|
||||
+&u2phy0_host {
|
||||
+ phy-supply = <&vcc5v0_usb1>;
|
||||
+};
|
||||
+
|
||||
+&u2phy1_host {
|
||||
+ phy-supply = <&vcc5v0_usb2>;
|
||||
+};
|
||||
+
|
||||
+&vbus_typec {
|
||||
+ regulator-always-on;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+};
|
|
@ -0,0 +1,216 @@
|
|||
From 3d8e4be5ff1783dffc6cad7d69f06366e0eb5d6c Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
Date: Mon, 7 Sep 2020 21:21:55 +0200
|
||||
Subject: [PATCH] Add Nanopi Neo3 with enabled I2S and spdif
|
||||
|
||||
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/Makefile | 1 +
|
||||
.../dts/rockchip/rk3328-nanopi-neo3-rev02.dts | 195 ++++++++++++++++++
|
||||
2 files changed, 196 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3-rev02.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3-rev02.dts b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3-rev02.dts
|
||||
new file mode 100644
|
||||
index 000000000..bf0a625fe
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3-rev02.dts
|
||||
@@ -0,0 +1,195 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 FriendlyElec Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include <dt-bindings/input/linux-event-codes.h>
|
||||
+#include "rk3328-nanopi-r2-common.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyElec NanoPi NEO3";
|
||||
+ compatible = "friendlyelec,nanopi-neo3", "rockchip,rk3328";
|
||||
+
|
||||
+ gpio-keys {
|
||||
+ compatible = "gpio-keys";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ autorepeat;
|
||||
+
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&gpio_key1>;
|
||||
+
|
||||
+ button@0 {
|
||||
+ gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
+ label = "reset";
|
||||
+ linux,code = <BTN_1>;
|
||||
+ linux,input-type = <1>;
|
||||
+ gpio-key,wakeup = <1>;
|
||||
+ debounce-interval = <100>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ i2s-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ simple-audio-card,name = "I2S Out";
|
||||
+ status = "okay";
|
||||
+
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s1>;
|
||||
+ };
|
||||
+
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&pcm5102>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pcm5102: pcm510x {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ compatible = "ti,pcm5102a";
|
||||
+ pcm510x,format = "i2s";
|
||||
+ };
|
||||
+
|
||||
+ sound-spdif {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,name = "SPDIF";
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&spdif>;
|
||||
+ };
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&spdif_out>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ spdif_out: spdif-out {
|
||||
+ compatible = "linux,spdif-dit";
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ vcc_rtl8153: vcc-rtl8153-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&usb30_en_drv>;
|
||||
+ regulator-always-on;
|
||||
+ regulator-name = "vcc_rtl8153";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ off-on-delay-us = <5000>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mach {
|
||||
+ hwrev = <2>;
|
||||
+ model = "NanoPi NEO3";
|
||||
+};
|
||||
+
|
||||
+&i2s1 {
|
||||
+ rockchip,playback-channels = <2>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2s1_mclk
|
||||
+ &i2s1_sclk
|
||||
+ &i2s1_lrcktx
|
||||
+ &i2s1_lrckrx
|
||||
+ &i2s1_sdo
|
||||
+ &i2s1_sdi>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&spdif {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&spdifm0_tx>;
|
||||
+};
|
||||
+
|
||||
+&emmc {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&leds {
|
||||
+ status = "okay";
|
||||
+
|
||||
+};
|
||||
+
|
||||
+&leds_gpio {
|
||||
+ rockchip,pins =
|
||||
+ <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+};
|
||||
+
|
||||
+&pwm2 {
|
||||
+ pinctrl-names = "default", "sleep";
|
||||
+ pinctrl-1 = <&pwm2_sleep_pin>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&rk805 {
|
||||
+ interrupt-parent = <&gpio1>;
|
||||
+ interrupts = <RK_PD0 IRQ_TYPE_LEVEL_LOW>;
|
||||
+};
|
||||
+
|
||||
+&vccio_sd {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&io_domains {
|
||||
+ vccio3-supply = <&vccio_sd>;
|
||||
+};
|
||||
+
|
||||
+&sdmmc {
|
||||
+ vqmmc-supply = <&vccio_sd>;
|
||||
+ max-frequency = <150000000>;
|
||||
+ sd-uhs-sdr50;
|
||||
+ sd-uhs-sdr104;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdmmc_ext {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdio_pwrseq {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&pinctrl {
|
||||
+ pmic {
|
||||
+ pmic_int_l: pmic-int-l {
|
||||
+ rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pwm {
|
||||
+ pwm2_sleep_pin: pwm2-sleep-pin {
|
||||
+ rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_output_low>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rockchip-key {
|
||||
+ gpio_key1: gpio-key1 {
|
||||
+ rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb {
|
||||
+ otg_vbus_drv: otg-vbus-drv {
|
||||
+ rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ usb30_en_drv: usb30-en-drv {
|
||||
+ rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart1{
|
||||
+ status = "okay";
|
||||
+ pinctl-0 = <&uart1_xfer>;
|
||||
+};
|
||||
+
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
|
@ -2,13 +2,15 @@ diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchi
|
|||
index 26661c7b7..1462ed38b 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
@@ -1,4 +1,13 @@
|
||||
@@ -1,4 +1,15 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-rock-pi-s.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2-rev00.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2-rev20.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-neo3-rev02.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-pc.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock-pi-e.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-z28pro.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-kobol-helios64.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4v2.dtb
|
||||
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi-4.dtb
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
|
||||
index f300f3d0f..f4b6799a8 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
|
||||
@@ -345,6 +345,7 @@
|
||||
};
|
||||
|
||||
&usb20_otg {
|
||||
+ dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/drivers/of/property.c b/drivers/of/property.c
|
||||
index 2c201e2c..ae79a6f8 100644
|
||||
--- a/drivers/of/property.c
|
||||
+++ b/drivers/of/property.c
|
||||
@@ -900,7 +900,7 @@ of_fwnode_graph_get_port_parent(struct fwnode_handle *fwnode)
|
||||
struct device_node *np;
|
||||
|
||||
/* Get the parent of the port */
|
||||
- np = of_get_next_parent(to_of_node(fwnode));
|
||||
+ np = of_get_parent(to_of_node(fwnode));
|
||||
if (!np)
|
||||
return NULL;
|
||||
|
105
patch/kernel/rockchip64-legacy/rockpi4b-add-isp-camera.patch
Normal file
105
patch/kernel/rockchip64-legacy/rockpi4b-add-isp-camera.patch
Normal file
|
@ -0,0 +1,105 @@
|
|||
From cc28806a79956cfa531bfa56554c0cd90a382e97 Mon Sep 17 00:00:00 2001
|
||||
From: JMCC <JMCC@localhost>
|
||||
Date: Tue, 29 Dec 2020 19:26:31 +0100
|
||||
Subject: [PATCH] rockpi4b-add-isp-camera
|
||||
|
||||
Signed-off-by: JMCC <JMCC@localhost>
|
||||
---
|
||||
.../boot/dts/rockchip/rk3399-rockpi4b.dts | 35 +++++++++++++------
|
||||
1 file changed, 25 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
|
||||
index 5cc57e16b..09ac9eb89 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
|
||||
@@ -633,10 +633,8 @@
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
- status = "okay";
|
||||
-
|
||||
camera1: camera-module@10 {
|
||||
- status = "okay";
|
||||
+ status = "disabled";
|
||||
compatible = "sony,imx219";
|
||||
reg = <0x10>;
|
||||
|
||||
@@ -644,7 +642,7 @@
|
||||
clock-names = "clk_cif_out";
|
||||
pinctrl-names = "rockchip,camera_default";
|
||||
pwdn-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
|
||||
-
|
||||
+
|
||||
port {
|
||||
ucam_out0: endpoint {
|
||||
remote-endpoint = <&mipi_in_ucam0>;
|
||||
@@ -652,6 +650,23 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
+
|
||||
+ camera2: camera-module@36 {
|
||||
+ status = "disabled";
|
||||
+ compatible = "ovti,ov5647";
|
||||
+ reg = <0x36>;
|
||||
+
|
||||
+ clocks = <&cru SCLK_CIF_OUT>;
|
||||
+ clock-names = "clk_cif_out";
|
||||
+ pinctrl-names = "rockchip,camera_default";
|
||||
+
|
||||
+ port {
|
||||
+ ucam_out1: endpoint {
|
||||
+ remote-endpoint = <&mipi_in_ucam0>;
|
||||
+ data-lanes = <1 2>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
@@ -1089,11 +1104,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
- i2c4 {
|
||||
+ i2c4 {
|
||||
i2c4_xfer: i2c4-xfer {
|
||||
rockchip,pins =
|
||||
<1 12 RK_FUNC_1 &pcfg_pull_up>,
|
||||
- <1 11 RK_FUNC_1 &pcfg_pull_up>;
|
||||
+ <1 11 RK_FUNC_1 &pcfg_pull_up>,
|
||||
+ <1 13 RK_FUNC_GPIO &pcfg_pull_up>; //camera module enable pin
|
||||
};
|
||||
};
|
||||
i2s0 {
|
||||
@@ -1172,8 +1188,7 @@
|
||||
};
|
||||
|
||||
&rkisp1_0 {
|
||||
- // TODO: this crashes kernel
|
||||
- status = "disabled";
|
||||
+ status = "okay";
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -1186,8 +1201,7 @@
|
||||
};
|
||||
|
||||
&mipi_dphy_rx0 {
|
||||
- // TODO: this crashes kernel
|
||||
- status = "disabled";
|
||||
+ status = "okay";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
@@ -1218,6 +1232,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
+
|
||||
&isp0_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
From 440c2ac99c32cfdf9556a041e5da4489fb3eaa77 Mon Sep 17 00:00:00 2001
|
||||
From: JMCC <JMCC@localhost>
|
||||
Date: Sun, 27 Dec 2020 02:58:41 +0100
|
||||
Subject: [PATCH] add-oc-opp-rk3399
|
||||
|
||||
Signed-off-by: JMCC <JMCC@localhost>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/overlay/Makefile | 4 +-
|
||||
.../rockchip/overlay/README.rockchip-overlays | 11 ++++
|
||||
.../overlay/rockchip-rk3399-oc-20.dts | 38 ++++++++++++
|
||||
.../overlay/rockchip-rk3399-oc-22.dts | 58 +++++++++++++++++++
|
||||
4 files changed, 110 insertions(+), 1 deletion(-)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
index c5f52da3..9d39fce0 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
@@ -3,10 +3,12 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rockchip-i2c7.dtbo \
|
||||
rockchip-i2c8.dtbo \
|
||||
rockchip-pcie-gen2.dtbo \
|
||||
+ rockchip-rk3399-oc-20.dtbo \
|
||||
+ rockchip-rk3399-oc-22.dtbo \
|
||||
rockchip-spi-jedec-nor.dtbo \
|
||||
rockchip-spi-spidev.dtbo \
|
||||
rockchip-uart4.dtbo \
|
||||
- rockchip-w1-gpio.dtbo
|
||||
+ rockchip-w1-gpio.dtbo
|
||||
|
||||
scr-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rockchip-fixup.scr
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
index ba6d51f6..13b55335 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
@@ -29,6 +29,17 @@ I2C8 pins (SCL, SDA): GPIO1-C5, GPIO1-C4
|
||||
Enables PCIe Gen2 link speed on RK3399.
|
||||
WARNING! Not officially supported by Rockchip!!!
|
||||
|
||||
+### rk3399-oc-20
|
||||
+
|
||||
+Enables Overclocking frequencies 2.0/1.5 Ghz.
|
||||
+This one should be stable in almost any individual chip
|
||||
+
|
||||
+### rk3399-oc-22
|
||||
+
|
||||
+Enables Overclocking frequencies 2.2/1.7 Ghz.
|
||||
+This one should also be stable in most cases, but make
|
||||
+sure you have very good cooling
|
||||
+
|
||||
### spi-jedec-nor
|
||||
|
||||
Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts
|
||||
new file mode 100644
|
||||
index 00000000..32f70cfe
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts
|
||||
@@ -0,0 +1,38 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&cluster0_opp>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,bin-scaling-sel = <
|
||||
+ 0 12
|
||||
+ 1 12
|
||||
+ >;
|
||||
+ opp-1512000000 {
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt = <1150000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&cluster1_opp>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,bin-scaling-sel = <
|
||||
+ 0 1
|
||||
+ 1 1
|
||||
+ >;
|
||||
+ opp-1992000000 {
|
||||
+ opp-hz = /bits/ 64 <1992000000>;
|
||||
+ opp-microvolt = <1250000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts
|
||||
new file mode 100644
|
||||
index 00000000..04b23b57
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts
|
||||
@@ -0,0 +1,58 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&cluster0_opp>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,bin-scaling-sel = <
|
||||
+ 0 12
|
||||
+ 1 12
|
||||
+ >;
|
||||
+ opp-1512000000 {
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt = <1150000 1150000 1200000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-1608000000 {
|
||||
+ opp-hz = /bits/ 64 <1608000000>;
|
||||
+ opp-microvolt = <1175000 1175000 1200000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-1704000000 {
|
||||
+ opp-hz = /bits/ 64 <1704000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&cluster1_opp>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,bin-scaling-sel = <
|
||||
+ 0 1
|
||||
+ 1 1
|
||||
+ >;
|
||||
+ opp-1992000000 {
|
||||
+ opp-hz = /bits/ 64 <1992000000>;
|
||||
+ opp-microvolt = <1250000 1250000 1250000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-2088000000 {
|
||||
+ opp-hz = /bits/ 64 <2088000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ cloc-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp-2184000000 {
|
||||
+ opp-hz = /bits/ 64 <2184000000>;
|
||||
+ opp-microvolt = <1350000 1350000 1350000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
|
@ -0,0 +1,176 @@
|
|||
From 42543b9b492731d72547987f84bd64477a3ce992 Mon Sep 17 00:00:00 2001
|
||||
From: JMCC <JMCC@localhost>
|
||||
Date: Sun, 27 Dec 2020 01:44:20 +0100
|
||||
Subject: [PATCH] zz-53-add-rpi-camera-and-screen
|
||||
|
||||
Signed-off-by: JMCC <JMCC@localhost>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/overlay/Makefile | 3 ++
|
||||
.../rockchip/overlay/README.rockchip-overlays | 16 +++++++
|
||||
.../overlay/rockchip-rpi-7inch-lcd.dts | 45 +++++++++++++++++++
|
||||
.../overlay/rockchip-rpi-cam-imx219.dts | 22 +++++++++
|
||||
.../overlay/rockchip-rpi-cam-ov5647.dts | 30 +++++++++++++
|
||||
5 files changed, 116 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
index 9d39fce0..6443999d 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
|
||||
@@ -5,6 +5,9 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rockchip-pcie-gen2.dtbo \
|
||||
rockchip-rk3399-oc-20.dtbo \
|
||||
rockchip-rk3399-oc-22.dtbo \
|
||||
+ rockchip-rpi-7inch-lcd.dtbo \
|
||||
+ rockchip-rpi-cam-imx219.dtbo \
|
||||
+ rockchip-rpi-cam-ov5647.dtbo \
|
||||
rockchip-spi-jedec-nor.dtbo \
|
||||
rockchip-spi-spidev.dtbo \
|
||||
rockchip-uart4.dtbo \
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
index 13b55335..ba34d596 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
|
||||
@@ -40,6 +40,22 @@ Enables Overclocking frequencies 2.2/1.7 Ghz.
|
||||
This one should also be stable in most cases, but make
|
||||
sure you have very good cooling
|
||||
|
||||
+### rpi-7inch-lcd
|
||||
+
|
||||
+Enables the Raspberry Pi MIPI-DSI 7-inch LCD touch screen,
|
||||
+and compatible hardware.
|
||||
+
|
||||
+### rpi-cam-imx219
|
||||
+
|
||||
+Enables the Raspberry Pi CSI camera v2 (IMX219),
|
||||
+and compatible hardware
|
||||
+
|
||||
+### rpi-cam-ov5647
|
||||
+
|
||||
+Enables the Raspberry Pi CSI camera v1 (OV5647),
|
||||
+and compatible hardware
|
||||
+
|
||||
+
|
||||
### spi-jedec-nor
|
||||
|
||||
Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts
|
||||
new file mode 100644
|
||||
index 00000000..77fe1438
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts
|
||||
@@ -0,0 +1,45 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&dsi>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&dsi1>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockchip,dual-channel = <&dsi>;
|
||||
+ status = "okay";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ panel: panel@0 {
|
||||
+ compatible ="rockpi,tc358762";
|
||||
+ reg = <0>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@2 {
|
||||
+ target = <&i2c1>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ rockpi_mcu: rockpi_mcu@45 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ rockpi_ft5406: rockpi_ft5406@38 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts
|
||||
new file mode 100644
|
||||
index 00000000..2cd419b6
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts
|
||||
@@ -0,0 +1,22 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&i2c4>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&camera1>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts
|
||||
new file mode 100644
|
||||
index 00000000..61c8b88b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts
|
||||
@@ -0,0 +1,30 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rockpi","rockchip,rk3399";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&i2c4>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&camera2>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@2 {
|
||||
+ target = <&mipi_in_ucam0>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ remote-endpoint = <&ucam_out1>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
From eca91d4d36d78c3176480742532b247fd3d72fe0 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Shields <simon@lineageos.org>
|
||||
Date: Sat, 13 Jan 2018 14:17:26 +1100
|
||||
Subject: [PATCH 038/146] ARM: dts: add gpu node to exynos4
|
||||
|
||||
v2 (Qiang Yu):
|
||||
add vender string to exynos4 mali gpu
|
||||
|
||||
Based off a similar commit for the Samsung Mali driver by
|
||||
Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
|
||||
|
||||
Signed-off-by: Simon Shields <simon@lineageos.org>
|
||||
Signed-off-by: Qiang Yu <yuq825@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/exynos4.dtsi | 33 +++++++++++++++++++++++++++++++++
|
||||
1 file changed, 33 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
|
||||
index 6085e92ac2d7..362461657136 100644
|
||||
--- a/arch/arm/boot/dts/exynos4.dtsi
|
||||
+++ b/arch/arm/boot/dts/exynos4.dtsi
|
||||
@@ -730,6 +730,39 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ gpu: gpu@13000000 {
|
||||
+ compatible = "samsung,exynos4-mali", "arm,mali-400";
|
||||
+ reg = <0x13000000 0x30000>;
|
||||
+ power-domains = <&pd_g3d>;
|
||||
+
|
||||
+ /*
|
||||
+ * Propagate VPLL output clock to SCLK_G3D and
|
||||
+ * ensure that the DIV_G3D divider is 1.
|
||||
+ */
|
||||
+ assigned-clocks = <&clock CLK_MOUT_G3D1>, <&clock CLK_MOUT_G3D>,
|
||||
+ <&clock CLK_FOUT_VPLL>, <&clock CLK_SCLK_G3D>;
|
||||
+ assigned-clock-parents = <&clock CLK_SCLK_VPLL>,
|
||||
+ <&clock CLK_MOUT_G3D1>;
|
||||
+ assigned-clock-rates = <0>, <0>, <160000000>, <160000000>;
|
||||
+
|
||||
+ clocks = <&clock CLK_SCLK_G3D>, <&clock CLK_G3D>;
|
||||
+ clock-names = "bus", "core";
|
||||
+
|
||||
+ interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "ppmmu0", "ppmmu1", "ppmmu2", "ppmmu3",
|
||||
+ "gpmmu", "pp0", "pp1", "pp2", "pp3", "gp";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
tmu: tmu@100c0000 {
|
||||
interrupt-parent = <&combiner>;
|
||||
reg = <0x100C0000 0x100>;
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -152,7 +152,7 @@ index 000000000..731c705a4
|
|||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+
|
||||
+ status = "okay";
|
||||
+};
|
||||
|
|
13
patch/kernel/sunxi-current/board-h3-zeropi-phymode.patch
Normal file
13
patch/kernel/sunxi-current/board-h3-zeropi-phymode.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/arch/arm/boot/dts/sun8i-h3-zeropi.dts b/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
index c8be3a7a1..9b14e930a 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
@@ -88,7 +88,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
|
||||
allwinner,leds-active-low;
|
||||
status = "okay";
|
|
@ -146,7 +146,7 @@ index 000000000..b3035ddd7
|
|||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
|
|
|
@ -153,7 +153,7 @@ index 00000000..cab3c73b
|
|||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
index cc268a697..c839b4c0b 100644
|
||||
index ea417eb01..fcf5a1a04 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
@@ -64,12 +64,13 @@
|
||||
@@ -26,12 +26,13 @@ leds {
|
||||
pwr {
|
||||
label = "nanopi:green:pwr";
|
||||
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
|
@ -17,7 +17,7 @@ index cc268a697..c839b4c0b 100644
|
|||
};
|
||||
};
|
||||
|
||||
@@ -90,6 +91,21 @@
|
||||
@@ -52,6 +53,22 @@ reg_vcc3v3: vcc3v3 {
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
|
@ -36,10 +36,11 @@ index cc268a697..c839b4c0b 100644
|
|||
+ states = <1100000 0x0
|
||||
+ 1100000 0x1>;
|
||||
+ };
|
||||
+
|
||||
reg_usb0_vbus: usb0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb0-vbus";
|
||||
@@ -101,6 +117,10 @@
|
||||
@@ -63,6 +80,10 @@ reg_usb0_vbus: usb0-vbus {
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -50,3 +51,12 @@ index cc268a697..c839b4c0b 100644
|
|||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -76,7 +97,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
index ef5ca6444..17ca885b4 100644
|
||||
index ef5ca6444..a3359924f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
@@ -4,6 +4,7 @@
|
||||
|
@ -53,3 +53,12 @@ index ef5ca6444..17ca885b4 100644
|
|||
};
|
||||
|
||||
&ehci0 {
|
||||
@@ -69,7 +92,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,594 +0,0 @@
|
|||
From 423a3b5419f573f8a27cedb9767c7a1dbc5ca9eb Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Fri, 18 Jan 2019 20:46:40 +0800
|
||||
Subject: [PATCH 1/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add Ethernet support
|
||||
|
||||
The Allwinner V3/V3s/S3L/SoChip S3 Ethernet MAC and internal PHY is quite
|
||||
similar to the ones on Allwinner H3, except for V3s the external MII is
|
||||
not wired out.
|
||||
|
||||
Add ethernet support to V3/V3s/S3/S3L.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3.dtsi | 13 ++++++++
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 52 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 65 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3.dtsi b/arch/arm/boot/dts/sun8i-v3.dtsi
|
||||
index 6ae8645ade50..ca4672ed2e02 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3.dtsi
|
||||
@@ -9,6 +9,19 @@ &ccu {
|
||||
compatible = "allwinner,sun8i-v3-ccu";
|
||||
};
|
||||
|
||||
+&emac {
|
||||
+ /delete-property/ phy-handle;
|
||||
+ /delete-property/ phy-mode;
|
||||
+};
|
||||
+
|
||||
+&mdio_mux {
|
||||
+ external_mdio: mdio@2 {
|
||||
+ reg = <2>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&pio {
|
||||
compatible = "allwinner,sun8i-v3-pinctrl";
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 6eb9c39aa93f..7d40897dab09 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -138,6 +138,15 @@ mixer0_out_tcon0: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
+ syscon: system-control@1c00000 {
|
||||
+ compatible = "allwinner,sun8i-v3s-system-control",
|
||||
+ "allwinner,sun8i-h3-system-control";
|
||||
+ reg = <0x01c00000 0x1000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges;
|
||||
+ };
|
||||
+
|
||||
tcon0: lcd-controller@1c0c000 {
|
||||
compatible = "allwinner,sun8i-v3s-tcon";
|
||||
reg = <0x01c0c000 0x1000>;
|
||||
@@ -415,6 +424,49 @@ i2c1: i2c@1c2b000 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ emac: ethernet@1c30000 {
|
||||
+ compatible = "allwinner,sun8i-v3s-emac";
|
||||
+ syscon = <&syscon>;
|
||||
+ reg = <0x01c30000 0x10000>;
|
||||
+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "macirq";
|
||||
+ resets = <&ccu RST_BUS_EMAC>;
|
||||
+ reset-names = "stmmaceth";
|
||||
+ clocks = <&ccu CLK_BUS_EMAC>;
|
||||
+ clock-names = "stmmaceth";
|
||||
+ phy-handle = <&int_mii_phy>;
|
||||
+ phy-mode = "mii";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ mdio: mdio {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ compatible = "snps,dwmac-mdio";
|
||||
+ };
|
||||
+
|
||||
+ mdio_mux: mdio-mux {
|
||||
+ compatible = "allwinner,sun8i-h3-mdio-mux";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ mdio-parent-bus = <&mdio>;
|
||||
+ /* Only one MDIO is usable at the time */
|
||||
+ internal_mdio: mdio@1 {
|
||||
+ compatible = "allwinner,sun8i-h3-mdio-internal";
|
||||
+ reg = <1>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ int_mii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ clocks = <&ccu CLK_BUS_EPHY>;
|
||||
+ resets = <&ccu RST_BUS_EPHY>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
spi0: spi@1c68000 {
|
||||
compatible = "allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c68000 0x1000>;
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 9df0135e2d7acc8797583de05a9879233a892557 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Fri, 18 Jan 2019 20:08:35 +0800
|
||||
Subject: [PATCH 2/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for UART2
|
||||
RX/TX
|
||||
|
||||
The UART2 RX/TX pins on Allwinner V3 series is at PB0/1, which is used
|
||||
as debugging UART on some boards.
|
||||
|
||||
Add pinctrl node for them.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 7d40897dab09..4cfdf193cf88 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -322,6 +322,11 @@ uart0_pb_pins: uart0-pb-pins {
|
||||
function = "uart0";
|
||||
};
|
||||
|
||||
+ uart2_pins: uart2-pins {
|
||||
+ pins = "PB0", "PB1";
|
||||
+ function = "uart2";
|
||||
+ };
|
||||
+
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1", "PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
@@ -397,6 +402,8 @@ uart2: serial@1c28800 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART2>;
|
||||
resets = <&ccu RST_BUS_UART2>;
|
||||
+ pinctrl-0 = <&uart2_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 1267d38cfc295c8222d60f53e05e61f594a2309a Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 21 Aug 2019 11:01:58 +0800
|
||||
Subject: [PATCH 3/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add CSI1 device node
|
||||
|
||||
The CSI1 controller of V3/V3s/S3/S3L chips is used for parallel CSI.
|
||||
|
||||
Add the device tree node of it.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 4cfdf193cf88..3e079973672d 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -488,6 +488,18 @@ spi0: spi@1c68000 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ csi1: camera@1cb4000 {
|
||||
+ compatible = "allwinner,sun8i-v3s-csi";
|
||||
+ reg = <0x01cb4000 0x3000>;
|
||||
+ interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_CSI>,
|
||||
+ <&ccu CLK_CSI1_SCLK>,
|
||||
+ <&ccu CLK_DRAM_CSI>;
|
||||
+ clock-names = "bus", "mod", "ram";
|
||||
+ resets = <&ccu RST_BUS_CSI>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
gic: interrupt-controller@1c81000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x01c81000 0x1000>,
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 6e7f7ff8369e7b514906fcb2c04990bd91b2152e Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 21 Aug 2019 11:02:46 +0800
|
||||
Subject: [PATCH 4/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for 8-bit
|
||||
parallel CSI
|
||||
|
||||
The CSI1 controller of V3/V3s/S3/S3L SoCs is used for parallel CSI.
|
||||
|
||||
As we're going to add support for Pine64 SCC board, which uses 8-bit
|
||||
parallel CSI (and the MCLK output), add the pinctrl node of 8-bit
|
||||
CSI and MCLK to the DTSI file.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 3e079973672d..19fba1a9115b 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -312,6 +312,20 @@ pio: pinctrl@1c20800 {
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
+ csi1_8bit_pins: csi1-8bit-pins {
|
||||
+ pins = "PE0", "PE2", "PE3", "PE8", "PE9",
|
||||
+ "PE10", "PE11", "PE12", "PE13", "PE14",
|
||||
+ "PE15";
|
||||
+ function = "csi";
|
||||
+ };
|
||||
+
|
||||
+ /omit-if-no-ref/
|
||||
+ csi1_mclk_pin: csi1-mclk-pin {
|
||||
+ pins = "PE1";
|
||||
+ function = "csi";
|
||||
+ };
|
||||
+
|
||||
i2c0_pins: i2c0-pins {
|
||||
pins = "PB6", "PB7";
|
||||
function = "i2c0";
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 3856f5d0e56af789ef891cfce53ca13cd695fdb6 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 23 Sep 2020 03:01:26 +0800
|
||||
Subject: [PATCH 5/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for I2C1 at
|
||||
PE bank
|
||||
|
||||
I2C1 controller is available at PE bank, usually used for
|
||||
connecting an I2C-controlled camera sensor.
|
||||
|
||||
Add pinctrl node for it.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 19fba1a9115b..bae8fa9e356a 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -331,6 +331,12 @@ i2c0_pins: i2c0-pins {
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
+ i2c1_pe_pins: i2c1-pe-pins {
|
||||
+ pins = "PE21", "PE22";
|
||||
+ function = "i2c1";
|
||||
+ };
|
||||
+
|
||||
uart0_pb_pins: uart0-pb-pins {
|
||||
pins = "PB8", "PB9";
|
||||
function = "uart0";
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 32902be6608b71e466cc24914b8c808f4db0f5a6 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 23 Sep 2020 08:44:29 +0800
|
||||
Subject: [PATCH 6/7] dt-bindings: arm: sunxi: add Pine64 PineCube binding
|
||||
|
||||
Document board compatible names for Pine64 PineCube IP camera.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
index 5957a22c2e95..584b3fbf6e08 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
@@ -631,6 +631,11 @@ properties:
|
||||
- const: pine64,pine64-plus
|
||||
- const: allwinner,sun50i-a64
|
||||
|
||||
+ - description: Pine64 PineCube
|
||||
+ items:
|
||||
+ - const: pine64,pinecube
|
||||
+ - const: allwinner,sun8i-v3
|
||||
+
|
||||
- description: Pine64 PineH64 model A
|
||||
items:
|
||||
- const: pine64,pine-h64
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From c7fe26176bde4cc07dc07ac02c799d23026f4752 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Fri, 18 Jan 2019 21:21:48 +0800
|
||||
Subject: [PATCH 7/7] ARM: dts: sun8i: s3l: add support for Pine64 PineCube IP
|
||||
camera
|
||||
|
||||
The Pine64 PineCube IP camera is an IP camera with SoChip S3 SoC.
|
||||
|
||||
It comes with a main board, an expansion board and a camera.
|
||||
|
||||
The main board features a Micro-USB power-only jack, a USB Type-A port,
|
||||
an Ethernet port connected to the internal PHY of the SoC and a Realtek
|
||||
RTL8189ES SDIO Wi-Fi module. A RGB LCD connector is reserved on the
|
||||
board.
|
||||
|
||||
The expansion board features a TF slot, a microphone, a speaker
|
||||
connector with on-board amplifier and a few IR LEDs.
|
||||
|
||||
Add support for the kit, with features on the main board and the
|
||||
expansion board now.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
arch/arm/boot/dts/sun8i-s3-pinecube.dts | 235 ++++++++++++++++++++++++
|
||||
2 files changed, 236 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index e7c59d0c8598..b163c8f1cefc 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -1198,6 +1198,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-r16-parrot.dtb \
|
||||
sun8i-r40-bananapi-m2-ultra.dtb \
|
||||
sun8i-s3-lichee-zero-plus.dtb \
|
||||
+ sun8i-s3-pinecube.dtb \
|
||||
sun8i-t3-cqa3t-bv3.dtb \
|
||||
sun8i-v3s-licheepi-zero.dtb \
|
||||
sun8i-v3s-licheepi-zero-dock.dtb \
|
||||
diff --git a/arch/arm/boot/dts/sun8i-s3-pinecube.dts b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
new file mode 100644
|
||||
index 000000000000..9bab6b7f4014
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
@@ -0,0 +1,235 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
||||
+/*
|
||||
+ * Copyright 2019 Icenowy Zheng <icenowy@aosc.io>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "sun8i-v3.dtsi"
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "PineCube IP Camera";
|
||||
+ compatible = "pine64,pinecube", "allwinner,sun8i-s3";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart2;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led1 {
|
||||
+ label = "pine64:ir:led1";
|
||||
+ gpios = <&pio 1 10 GPIO_ACTIVE_LOW>; /* PB10 */
|
||||
+ };
|
||||
+
|
||||
+ led2 {
|
||||
+ label = "pine64:ir:led2";
|
||||
+ gpios = <&pio 1 12 GPIO_ACTIVE_LOW>; /* PB12 */
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc5v0: vcc5v0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc_wifi: vcc-wifi {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-wifi";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ gpio = <&pio 1 2 GPIO_ACTIVE_LOW>; /* PB2 WIFI-EN */
|
||||
+ vin-supply = <®_dcdc3>;
|
||||
+ startup-delay-us = <200000>;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 WIFI-RST */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&csi1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&csi1_8bit_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ csi1_ep: endpoint {
|
||||
+ remote-endpoint = <&ov5640_ep>;
|
||||
+ bus-width = <8>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ phy-handle = <&int_mii_phy>;
|
||||
+ phy-mode = "mii";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp209: pmic@34 {
|
||||
+ compatible = "x-powers,axp203",
|
||||
+ "x-powers,axp209";
|
||||
+ reg = <0x34>;
|
||||
+ interrupt-parent = <&gic>;
|
||||
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c1_pe_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ ov5640: camera@3c {
|
||||
+ compatible = "ovti,ov5640";
|
||||
+ reg = <0x3c>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&csi1_mclk_pin>;
|
||||
+ clocks = <&ccu CLK_CSI1_MCLK>;
|
||||
+ clock-names = "xclk";
|
||||
+
|
||||
+ AVDD-supply = <®_ldo3>;
|
||||
+ DOVDD-supply = <®_ldo3>;
|
||||
+ DVDD-supply = <®_ldo4>;
|
||||
+ reset-gpios = <&pio 4 23 GPIO_ACTIVE_LOW>; /* PE23 */
|
||||
+ powerdown-gpios = <&pio 4 24 GPIO_ACTIVE_HIGH>; /* PE24 */
|
||||
+
|
||||
+ port {
|
||||
+ ov5640_ep: endpoint {
|
||||
+ remote-endpoint = <&csi1_ep>;
|
||||
+ bus-width = <8>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&lradc {
|
||||
+ vref-supply = <®_ldo2>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ button-200 {
|
||||
+ label = "Setup";
|
||||
+ linux,code = <KEY_SETUP>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <190000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_dcdc3>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ vmmc-supply = <®_vcc_wifi>;
|
||||
+ vqmmc-supply = <®_dcdc3>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ vcc-pd-supply = <®_dcdc3>;
|
||||
+ vcc-pe-supply = <®_ldo3>;
|
||||
+};
|
||||
+
|
||||
+#include "axp209.dtsi"
|
||||
+
|
||||
+&ac_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1250000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
+ regulator-name = "vdd-sys-cpu-ephy";
|
||||
+};
|
||||
+
|
||||
+®_dcdc3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
+};
|
||||
+
|
||||
+®_ldo1 {
|
||||
+ regulator-name = "vdd-rtc";
|
||||
+};
|
||||
+
|
||||
+®_ldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-name = "avcc";
|
||||
+};
|
||||
+
|
||||
+®_ldo3 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "avdd-dovdd-2v8-csi";
|
||||
+ regulator-soft-start;
|
||||
+ regulator-ramp-delay = <1600>;
|
||||
+};
|
||||
+
|
||||
+®_ldo4 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "dvdd-1v8-csi";
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "winbond,w25q128", "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <40000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ usb0_vbus-supply = <®_vcc5v0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.28.0
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
vfp: force non-conditional encoding for external Thumb2
|
||||
|
||||
Nick reports that the following error is produced in some cases when
|
||||
using GCC+ld.bfd to build the ARM defconfig with Thumb2 enabled:
|
||||
|
||||
arch/arm/vfp/vfphw.o: in function `vfp_support_entry':
|
||||
(.text+0xa): relocation truncated to fit: R_ARM_THM_JUMP19 against
|
||||
symbol `vfp_kmode_exception' defined in .text.unlikely section in
|
||||
arch/arm/vfp/vfpmodule.o
|
||||
|
||||
$ arm-linux-gnueabihf-ld --version
|
||||
GNU ld (GNU Binutils for Debian) 2.34
|
||||
|
||||
Generally, the linker should be able to fix up out of range branches by
|
||||
emitting veneers, but apparently, it fails to do so in this particular
|
||||
case, i.e., a conditional 'tail call' to vfp_kmode_exception(), which
|
||||
is not defined in the same object file.
|
||||
|
||||
So let's force the use of a non-conditional encoding of the B instruction,
|
||||
which has more space for an immediate offset. To compensate for the
|
||||
additional 2 byte IT opcode, switch the preceding TEQ to CMP, which can
|
||||
be emitted in 2 bytes instead of 4 bytes as well.
|
||||
|
||||
Fixes: eff8728fe698 ("vmlinux.lds.h: Add PGO and AutoFDO input sections")
|
||||
Reported-by: Nick Desaulniers <(address hidden)>
|
||||
Tested-by: Nick Desaulniers <(address hidden)>
|
||||
Signed-off-by: Ard Biesheuvel <(address hidden)>
|
||||
---
|
||||
|
||||
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
|
||||
index 4fcff9f59947..06ff091c0932 100644
|
||||
--- a/arch/arm/vfp/vfphw.S
|
||||
+++ b/arch/arm/vfp/vfphw.S
|
||||
@@ -81,7 +81,8 @@ ENTRY(vfp_support_entry)
|
||||
.fpu vfpv2
|
||||
ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions
|
||||
and r3, r3, #MODE_MASK @ are supported in kernel mode
|
||||
- teq r3, #USR_MODE
|
||||
+ cmp r3, #USR_MODE
|
||||
+THUMB( it ne )
|
||||
bne vfp_kmode_exception @ Returns through lr
|
||||
|
||||
VFPFMRX r1, FPEXC @ Is the VFP enabled?
|
|
@ -0,0 +1,36 @@
|
|||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c
|
||||
index f2497d0a4683..d0565d378ea2 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c
|
||||
@@ -237,7 +237,7 @@ static const char * const psi_ahb1_ahb2_parents[] = { "osc24M", "osc32k",
|
||||
static SUNXI_CCU_MP_WITH_MUX(psi_ahb1_ahb2_clk, "psi-ahb1-ahb2",
|
||||
psi_ahb1_ahb2_parents,
|
||||
0x510,
|
||||
- 0, 5, /* M */
|
||||
+ 0, 2, /* M */
|
||||
8, 2, /* P */
|
||||
24, 2, /* mux */
|
||||
0);
|
||||
@@ -246,19 +246,19 @@ static const char * const ahb3_apb1_apb2_parents[] = { "osc24M", "osc32k",
|
||||
"psi-ahb1-ahb2",
|
||||
"pll-periph0" };
|
||||
static SUNXI_CCU_MP_WITH_MUX(ahb3_clk, "ahb3", ahb3_apb1_apb2_parents, 0x51c,
|
||||
- 0, 5, /* M */
|
||||
+ 0, 2, /* M */
|
||||
8, 2, /* P */
|
||||
24, 2, /* mux */
|
||||
0);
|
||||
|
||||
static SUNXI_CCU_MP_WITH_MUX(apb1_clk, "apb1", ahb3_apb1_apb2_parents, 0x520,
|
||||
- 0, 5, /* M */
|
||||
+ 0, 2, /* M */
|
||||
8, 2, /* P */
|
||||
24, 2, /* mux */
|
||||
0);
|
||||
|
||||
static SUNXI_CCU_MP_WITH_MUX(apb2_clk, "apb2", ahb3_apb1_apb2_parents, 0x524,
|
||||
- 0, 5, /* M */
|
||||
+ 0, 2, /* M */
|
||||
8, 2, /* P */
|
||||
24, 2, /* mux */
|
||||
0);
|
|
@ -0,0 +1,580 @@
|
|||
diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
|
||||
index 593293584ecc..73e88ce71a48 100644
|
||||
--- a/drivers/pinctrl/sunxi/Kconfig
|
||||
+++ b/drivers/pinctrl/sunxi/Kconfig
|
||||
@@ -119,4 +119,9 @@ config PINCTRL_SUN50I_H6_R
|
||||
default ARM64 && ARCH_SUNXI
|
||||
select PINCTRL_SUNXI
|
||||
|
||||
+config PINCTRL_SUN50I_H616
|
||||
+ bool "Support for the Allwinner H616 PIO"
|
||||
+ default ARM64 && ARCH_SUNXI
|
||||
+ select PINCTRL_SUNXI
|
||||
+
|
||||
endif
|
||||
diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile
|
||||
index 8b7ff0dc3bdf..5359327a3c8f 100644
|
||||
--- a/drivers/pinctrl/sunxi/Makefile
|
||||
+++ b/drivers/pinctrl/sunxi/Makefile
|
||||
@@ -23,5 +23,6 @@ obj-$(CONFIG_PINCTRL_SUN8I_V3S) += pinctrl-sun8i-v3s.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H5) += pinctrl-sun50i-h5.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H6) += pinctrl-sun50i-h6.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H6_R) += pinctrl-sun50i-h6-r.o
|
||||
+obj-$(CONFIG_PINCTRL_SUN50I_H616) += pinctrl-sun50i-h616.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80_R) += pinctrl-sun9i-a80-r.o
|
||||
diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-h616.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616.c
|
||||
new file mode 100644
|
||||
index 000000000000..734f63eb08dd
|
||||
--- /dev/null
|
||||
+++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616.c
|
||||
@@ -0,0 +1,549 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * Allwinner H616 SoC pinctrl driver.
|
||||
+ *
|
||||
+ * Copyright (C) 2020 Arm Ltd.
|
||||
+ * based on the H6 pinctrl driver
|
||||
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/of.h>
|
||||
+#include <linux/of_device.h>
|
||||
+#include <linux/pinctrl/pinctrl.h>
|
||||
+
|
||||
+#include "pinctrl-sunxi.h"
|
||||
+
|
||||
+static const struct sunxi_desc_pin h616_pins[] = {
|
||||
+ /* Internal connection to the AC200 part */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 0),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ERXD1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 1),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ERXD0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 2),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ECRS_DV */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 3),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ERXERR */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 4),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ETXD1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 5),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ETXD0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 6),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ETXCK */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 7),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ETXEN */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 8),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* EMDC */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 9),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* EMDIO */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 10),
|
||||
+ SUNXI_FUNCTION(0x2, "i2c3")), /* SCK */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 11),
|
||||
+ SUNXI_FUNCTION(0x2, "i2c3")), /* SDA */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 12),
|
||||
+ SUNXI_FUNCTION(0x2, "pwm5")),
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* WE */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* DS */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* CLK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 0)), /* PC_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* ALE */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* RST */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 1)), /* PC_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* CLE */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* MOSI */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 2)), /* PC_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* CE1 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* CS0 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 3)), /* PC_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* CE0 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* MISO */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 4)), /* PC_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* RE */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* CLK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 5)), /* PC_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* RB0 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* CMD */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 6)), /* PC_EINT6 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 7),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* RB1 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* CS1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 7)), /* PC_EINT7 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 8),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ7 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D3 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 8)), /* PC_EINT8 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 9),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ6 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D4 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 9)), /* PC_EINT9 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 10),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ5 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D0 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 10)), /* PC_EINT10 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 11),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ4 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D5 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 11)), /* PC_EINT11 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 12),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQS */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 12)), /* PC_EINT12 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 13),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ3 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 13)), /* PC_EINT13 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 14),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ2 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D6 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 14)), /* PC_EINT14 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 15),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ1 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D2 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* WP */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 15)), /* PC_EINT15 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 16),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ0 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D7 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* HOLD */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 16)), /* PC_EINT16 */
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* D1 */
|
||||
+ SUNXI_FUNCTION(0x3, "jtag"), /* MS */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 0)), /* PF_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* D0 */
|
||||
+ SUNXI_FUNCTION(0x3, "jtag"), /* DI */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 1)), /* PF_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* CLK */
|
||||
+ SUNXI_FUNCTION(0x3, "uart0"), /* TX */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 2)), /* PF_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* CMD */
|
||||
+ SUNXI_FUNCTION(0x3, "jtag"), /* DO */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 3)), /* PF_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* D3 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart0"), /* RX */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 4)), /* PF_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* D2 */
|
||||
+ SUNXI_FUNCTION(0x3, "jtag"), /* CK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 5)), /* PF_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 6)), /* PF_EINT6 */
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* CLK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 0)), /* PG_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* CMD */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 1)), /* PG_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* D0 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 2)), /* PG_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* D1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 3)), /* PG_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* D2 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 4)), /* PG_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* D3 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 5)), /* PG_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart1"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "jtag"), /* MS */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 6)), /* PG_EINT6 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 7),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart1"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "jtag"), /* CK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 7)), /* PG_EINT7 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 8),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart1"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x3, "clock"), /* PLL_LOCK_DEBUG */
|
||||
+ SUNXI_FUNCTION(0x4, "jtag"), /* DO */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 8)), /* PG_EINT8 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 9),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart1"), /* CTS */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 9)), /* PG_EINT9 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 10),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* MCLK */
|
||||
+ SUNXI_FUNCTION(0x3, "clock"), /* X32KFOUT */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 10)), /* PG_EINT10 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 11),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* BCLK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 11)), /* PG_EINT11 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 12),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* SYNC */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 12)), /* PG_EINT12 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 13),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* DOUT */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 13)), /* PG_EINT13 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 14),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* DIN */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 14)), /* PG_EINT14 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 15),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c4"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 15)), /* PG_EINT15 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 16),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c4"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 16)), /* PG_EINT16 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 17),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c3"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 17)), /* PG_EINT17 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 18),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c3"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 18)), /* PG_EINT18 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 19),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x4, "pwm1"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 19)), /* PG_EINT19 */
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart0"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "pwm3"),
|
||||
+ SUNXI_FUNCTION(0x5, "i2c1"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 0)), /* PH_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart0"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "pwm4"),
|
||||
+ SUNXI_FUNCTION(0x5, "i2c1"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 1)), /* PH_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart5"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x3, "spdif"), /* MCLK */
|
||||
+ SUNXI_FUNCTION(0x4, "pwm2"),
|
||||
+ SUNXI_FUNCTION(0x5, "i2c2"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 2)), /* PH_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart5"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "pwm1"),
|
||||
+ SUNXI_FUNCTION(0x5, "i2c2"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 3)), /* PH_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "spdif"), /* OUT */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c3"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 4)), /* PH_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* MCLK */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* CS0 */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c3"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 5)), /* PH_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* BCLK */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* CLK */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c4"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 6)), /* PH_EINT6 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 7),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* SYNC */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* MOSI */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c4"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 7)), /* PH_EINT7 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 8),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* DO0 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* MISO */
|
||||
+ SUNXI_FUNCTION(0x5, "h_i2s3"), /* DI1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 8)), /* PH_EINT8 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 9),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* DI0 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* CS1 */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* DO1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 9)), /* PH_EINT9 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 10),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "ir_rx"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 10)), /* PH_EINT10 */
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXD3 */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* CLK */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* MCLK */
|
||||
+ SUNXI_FUNCTION(0x5, "hdmi"), /* HSCL */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 0)), /* PI_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXD2 */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* DATA0 */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* BCLK */
|
||||
+ SUNXI_FUNCTION(0x5, "hdmi"), /* HSDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 1)), /* PI_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXD1 */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* DATA1 */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* SYNC */
|
||||
+ SUNXI_FUNCTION(0x5, "hdmi"), /* HCEC */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 2)), /* PI_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXD0 */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* DATA2 */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* DO0 */
|
||||
+ SUNXI_FUNCTION(0x5, "h_i2s0"), /* DI1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 3)), /* PI_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXCK */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* DATA3 */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* DI0 */
|
||||
+ SUNXI_FUNCTION(0x5, "h_i2s0"), /* DO1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 4)), /* PI_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXCTL */
|
||||
+ SUNXI_FUNCTION(0x3, "uart2"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* CLK */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c0"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 5)), /* PI_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ENULL */
|
||||
+ SUNXI_FUNCTION(0x3, "uart2"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* ERR */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c0"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 6)), /* PI_EINT6 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 7),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXD3 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart2"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* SYNC */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c1"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 7)), /* PI_EINT7 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 8),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXD2 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart2"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* DVLD */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c1"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 8)), /* PI_EINT8 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 9),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXD1 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart3"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D0 */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c2"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 9)), /* PI_EINT9 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 10),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXD0 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart3"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D1 */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c2"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 10)), /* PI_EINT10 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 11),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXCK */
|
||||
+ SUNXI_FUNCTION(0x3, "uart3"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D2 */
|
||||
+ SUNXI_FUNCTION(0x5, "pwm1"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 11)), /* PI_EINT11 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 12),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXCTL */
|
||||
+ SUNXI_FUNCTION(0x3, "uart3"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D3 */
|
||||
+ SUNXI_FUNCTION(0x5, "pwm2"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 12)), /* PI_EINT12 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 13),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ECLKIN */
|
||||
+ SUNXI_FUNCTION(0x3, "uart4"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D4 */
|
||||
+ SUNXI_FUNCTION(0x5, "pwm3"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 13)), /* PI_EINT13 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 14),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* MDC */
|
||||
+ SUNXI_FUNCTION(0x3, "uart4"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D5 */
|
||||
+ SUNXI_FUNCTION(0x5, "pwm4"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 14)), /* PI_EINT14 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 15),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* MDIO */
|
||||
+ SUNXI_FUNCTION(0x3, "uart4"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D6 */
|
||||
+ SUNXI_FUNCTION(0x5, "clock"), /* CLK_FANOUT0 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 15)), /* PI_EINT15 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 16),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* EPHY_CLK */
|
||||
+ SUNXI_FUNCTION(0x3, "uart4"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D7 */
|
||||
+ SUNXI_FUNCTION(0x5, "clock"), /* CLK_FANOUT1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 16)), /* PI_EINT16 */
|
||||
+};
|
||||
+static const unsigned int h616_irq_bank_map[] = { 2, 5, 6, 7, 8 };
|
||||
+
|
||||
+static const struct sunxi_pinctrl_desc h616_pinctrl_data = {
|
||||
+ .pins = h616_pins,
|
||||
+ .npins = ARRAY_SIZE(h616_pins),
|
||||
+ .irq_banks = 5,
|
||||
+ .irq_bank_map = h616_irq_bank_map,
|
||||
+ .irq_read_needs_mux = true,
|
||||
+ .io_bias_cfg_variant = BIAS_VOLTAGE_PIO_POW_MODE_SEL,
|
||||
+};
|
||||
+
|
||||
+static int h616_pinctrl_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ return sunxi_pinctrl_init(pdev,
|
||||
+ &h616_pinctrl_data);
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id h616_pinctrl_match[] = {
|
||||
+ { .compatible = "allwinner,sun50i-h616-pinctrl", },
|
||||
+ {}
|
||||
+};
|
||||
+
|
||||
+static struct platform_driver h616_pinctrl_driver = {
|
||||
+ .probe = h616_pinctrl_probe,
|
||||
+ .driver = {
|
||||
+ .name = "sun50i-h616-pinctrl",
|
||||
+ .of_match_table = h616_pinctrl_match,
|
||||
+ },
|
||||
+};
|
||||
+builtin_platform_driver(h616_pinctrl_driver);
|
|
@ -0,0 +1,89 @@
|
|||
diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
|
||||
index 73e88ce71a48..33751a6a0757 100644
|
||||
--- a/drivers/pinctrl/sunxi/Kconfig
|
||||
+++ b/drivers/pinctrl/sunxi/Kconfig
|
||||
@@ -124,4 +124,9 @@ config PINCTRL_SUN50I_H616
|
||||
default ARM64 && ARCH_SUNXI
|
||||
select PINCTRL_SUNXI
|
||||
|
||||
+config PINCTRL_SUN50I_H616_R
|
||||
+ bool "Support for the Allwinner H616 R-PIO"
|
||||
+ default ARM64 && ARCH_SUNXI
|
||||
+ select PINCTRL_SUNXI
|
||||
+
|
||||
endif
|
||||
diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile
|
||||
index 5359327a3c8f..d3440c42b9d6 100644
|
||||
--- a/drivers/pinctrl/sunxi/Makefile
|
||||
+++ b/drivers/pinctrl/sunxi/Makefile
|
||||
@@ -24,5 +24,6 @@ obj-$(CONFIG_PINCTRL_SUN50I_H5) += pinctrl-sun50i-h5.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H6) += pinctrl-sun50i-h6.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H6_R) += pinctrl-sun50i-h6-r.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H616) += pinctrl-sun50i-h616.o
|
||||
+obj-$(CONFIG_PINCTRL_SUN50I_H616_R) += pinctrl-sun50i-h616-r.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80_R) += pinctrl-sun9i-a80-r.o
|
||||
diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
|
||||
new file mode 100644
|
||||
index 000000000000..eb76c009bf24
|
||||
--- /dev/null
|
||||
+++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
|
||||
@@ -0,0 +1,58 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * Allwinner H616 R_PIO pin controller driver
|
||||
+ *
|
||||
+ * Copyright (C) 2020 Arm Ltd.
|
||||
+ * Based on former work, which is:
|
||||
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+ * Copyright (C) 2014 Boris Brezillon
|
||||
+ * Boris Brezillon <boris.brezillon@free-electrons.com>
|
||||
+ * Copyright (C) 2014 Maxime Ripard
|
||||
+ * Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/of.h>
|
||||
+#include <linux/of_device.h>
|
||||
+#include <linux/pinctrl/pinctrl.h>
|
||||
+#include <linux/reset.h>
|
||||
+
|
||||
+#include "pinctrl-sunxi.h"
|
||||
+
|
||||
+static const struct sunxi_desc_pin sun50i_h616_r_pins[] = {
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(L, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "s_i2c")), /* SCK */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(L, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "s_i2c")), /* SDA */
|
||||
+};
|
||||
+
|
||||
+static const struct sunxi_pinctrl_desc sun50i_h616_r_pinctrl_data = {
|
||||
+ .pins = sun50i_h616_r_pins,
|
||||
+ .npins = ARRAY_SIZE(sun50i_h616_r_pins),
|
||||
+ .pin_base = PL_BASE,
|
||||
+};
|
||||
+
|
||||
+static int sun50i_h616_r_pinctrl_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ return sunxi_pinctrl_init(pdev,
|
||||
+ &sun50i_h616_r_pinctrl_data);
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id sun50i_h616_r_pinctrl_match[] = {
|
||||
+ { .compatible = "allwinner,sun50i-h616-r-pinctrl", },
|
||||
+ {}
|
||||
+};
|
||||
+
|
||||
+static struct platform_driver sun50i_h616_r_pinctrl_driver = {
|
||||
+ .probe = sun50i_h616_r_pinctrl_probe,
|
||||
+ .driver = {
|
||||
+ .name = "sun50i-h616-r-pinctrl",
|
||||
+ .of_match_table = sun50i_h616_r_pinctrl_match,
|
||||
+ },
|
||||
+};
|
||||
+builtin_platform_driver(sun50i_h616_r_pinctrl_driver);
|
|
@ -0,0 +1,96 @@
|
|||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
|
||||
index 50f8d1bc7046..119d1797f501 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
|
||||
@@ -136,6 +136,15 @@ static struct ccu_common *sun50i_h6_r_ccu_clks[] = {
|
||||
&w1_clk.common,
|
||||
};
|
||||
|
||||
+static struct ccu_common *sun50i_h616_r_ccu_clks[] = {
|
||||
+ &r_apb1_clk.common,
|
||||
+ &r_apb2_clk.common,
|
||||
+ &r_apb1_twd_clk.common,
|
||||
+ &r_apb2_i2c_clk.common,
|
||||
+ &r_apb1_ir_clk.common,
|
||||
+ &ir_clk.common,
|
||||
+};
|
||||
+
|
||||
static struct clk_hw_onecell_data sun50i_h6_r_hw_clks = {
|
||||
.hws = {
|
||||
[CLK_AR100] = &ar100_clk.common.hw,
|
||||
@@ -152,7 +161,20 @@ static struct clk_hw_onecell_data sun50i_h6_r_hw_clks = {
|
||||
[CLK_IR] = &ir_clk.common.hw,
|
||||
[CLK_W1] = &w1_clk.common.hw,
|
||||
},
|
||||
- .num = CLK_NUMBER,
|
||||
+ .num = CLK_NUMBER_H616,
|
||||
+};
|
||||
+
|
||||
+static struct clk_hw_onecell_data sun50i_h616_r_hw_clks = {
|
||||
+ .hws = {
|
||||
+ [CLK_R_AHB] = &r_ahb_clk.hw,
|
||||
+ [CLK_R_APB1] = &r_apb1_clk.common.hw,
|
||||
+ [CLK_R_APB2] = &r_apb2_clk.common.hw,
|
||||
+ [CLK_R_APB1_TWD] = &r_apb1_twd_clk.common.hw,
|
||||
+ [CLK_R_APB2_I2C] = &r_apb2_i2c_clk.common.hw,
|
||||
+ [CLK_R_APB1_IR] = &r_apb1_ir_clk.common.hw,
|
||||
+ [CLK_IR] = &ir_clk.common.hw,
|
||||
+ },
|
||||
+ .num = CLK_NUMBER_H616,
|
||||
};
|
||||
|
||||
static struct ccu_reset_map sun50i_h6_r_ccu_resets[] = {
|
||||
@@ -165,6 +187,12 @@ static struct ccu_reset_map sun50i_h6_r_ccu_resets[] = {
|
||||
[RST_R_APB1_W1] = { 0x1ec, BIT(16) },
|
||||
};
|
||||
|
||||
+static struct ccu_reset_map sun50i_h616_r_ccu_resets[] = {
|
||||
+ [RST_R_APB1_TWD] = { 0x12c, BIT(16) },
|
||||
+ [RST_R_APB2_I2C] = { 0x19c, BIT(16) },
|
||||
+ [RST_R_APB1_IR] = { 0x1cc, BIT(16) },
|
||||
+};
|
||||
+
|
||||
static const struct sunxi_ccu_desc sun50i_h6_r_ccu_desc = {
|
||||
.ccu_clks = sun50i_h6_r_ccu_clks,
|
||||
.num_ccu_clks = ARRAY_SIZE(sun50i_h6_r_ccu_clks),
|
||||
@@ -175,6 +203,16 @@ static const struct sunxi_ccu_desc sun50i_h6_r_ccu_desc = {
|
||||
.num_resets = ARRAY_SIZE(sun50i_h6_r_ccu_resets),
|
||||
};
|
||||
|
||||
+static const struct sunxi_ccu_desc sun50i_h616_r_ccu_desc = {
|
||||
+ .ccu_clks = sun50i_h616_r_ccu_clks,
|
||||
+ .num_ccu_clks = ARRAY_SIZE(sun50i_h616_r_ccu_clks),
|
||||
+
|
||||
+ .hw_clks = &sun50i_h616_r_hw_clks,
|
||||
+
|
||||
+ .resets = sun50i_h616_r_ccu_resets,
|
||||
+ .num_resets = ARRAY_SIZE(sun50i_h616_r_ccu_resets),
|
||||
+};
|
||||
+
|
||||
static void __init sunxi_r_ccu_init(struct device_node *node,
|
||||
const struct sunxi_ccu_desc *desc)
|
||||
{
|
||||
@@ -195,3 +233,10 @@ static void __init sun50i_h6_r_ccu_setup(struct device_node *node)
|
||||
}
|
||||
CLK_OF_DECLARE(sun50i_h6_r_ccu, "allwinner,sun50i-h6-r-ccu",
|
||||
sun50i_h6_r_ccu_setup);
|
||||
+
|
||||
+static void __init sun50i_h616_r_ccu_setup(struct device_node *node)
|
||||
+{
|
||||
+ sunxi_r_ccu_init(node, &sun50i_h616_r_ccu_desc);
|
||||
+}
|
||||
+CLK_OF_DECLARE(sun50i_h616_r_ccu, "allwinner,sun50i-h616-r-ccu",
|
||||
+ sun50i_h616_r_ccu_setup);
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.h b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.h
|
||||
index 782117dc0b28..128302696ca1 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.h
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.h
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#define CLK_R_APB2 3
|
||||
|
||||
-#define CLK_NUMBER (CLK_W1 + 1)
|
||||
+#define CLK_NUMBER_H6 (CLK_W1 + 1)
|
||||
+#define CLK_NUMBER_H616 (CLK_IR + 1)
|
||||
|
||||
#endif /* _CCU_SUN50I_H6_R_H */
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,74 @@
|
|||
diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
|
||||
index fc62773602ec..1518b64112b7 100644
|
||||
--- a/drivers/mmc/host/sunxi-mmc.c
|
||||
+++ b/drivers/mmc/host/sunxi-mmc.c
|
||||
@@ -244,6 +244,7 @@ struct sunxi_idma_des {
|
||||
|
||||
struct sunxi_mmc_cfg {
|
||||
u32 idma_des_size_bits;
|
||||
+ u32 idma_des_shift;
|
||||
const struct sunxi_mmc_clk_delay *clk_delays;
|
||||
|
||||
/* does the IP block support autocalibration? */
|
||||
@@ -343,7 +344,7 @@ static int sunxi_mmc_init_host(struct sunxi_mmc_host *host)
|
||||
/* Enable CEATA support */
|
||||
mmc_writel(host, REG_FUNS, SDXC_CEATA_ON);
|
||||
/* Set DMA descriptor list base address */
|
||||
- mmc_writel(host, REG_DLBA, host->sg_dma);
|
||||
+ mmc_writel(host, REG_DLBA, host->sg_dma >> host->cfg->idma_des_shift);
|
||||
|
||||
rval = mmc_readl(host, REG_GCTRL);
|
||||
rval |= SDXC_INTERRUPT_ENABLE_BIT;
|
||||
@@ -373,8 +374,10 @@ static void sunxi_mmc_init_idma_des(struct sunxi_mmc_host *host,
|
||||
|
||||
next_desc += sizeof(struct sunxi_idma_des);
|
||||
pdes[i].buf_addr_ptr1 =
|
||||
- cpu_to_le32(sg_dma_address(&data->sg[i]));
|
||||
- pdes[i].buf_addr_ptr2 = cpu_to_le32((u32)next_desc);
|
||||
+ cpu_to_le32(sg_dma_address(&data->sg[i]) >>
|
||||
+ host->cfg->idma_des_shift);
|
||||
+ pdes[i].buf_addr_ptr2 = cpu_to_le32((u32)next_desc >>
|
||||
+ host->cfg->idma_des_shift);
|
||||
}
|
||||
|
||||
pdes[0].config |= cpu_to_le32(SDXC_IDMAC_DES0_FD);
|
||||
@@ -1178,6 +1181,23 @@ static const struct sunxi_mmc_cfg sun50i_a64_emmc_cfg = {
|
||||
.needs_new_timings = true,
|
||||
};
|
||||
|
||||
+static const struct sunxi_mmc_cfg sun50i_a100_cfg = {
|
||||
+ .idma_des_size_bits = 16,
|
||||
+ .idma_des_shift = 2,
|
||||
+ .clk_delays = NULL,
|
||||
+ .can_calibrate = true,
|
||||
+ .mask_data0 = true,
|
||||
+ .needs_new_timings = true,
|
||||
+};
|
||||
+
|
||||
+static const struct sunxi_mmc_cfg sun50i_a100_emmc_cfg = {
|
||||
+ .idma_des_size_bits = 13,
|
||||
+ .idma_des_shift = 2,
|
||||
+ .clk_delays = NULL,
|
||||
+ .can_calibrate = true,
|
||||
+ .needs_new_timings = true,
|
||||
+};
|
||||
+
|
||||
static const struct of_device_id sunxi_mmc_of_match[] = {
|
||||
{ .compatible = "allwinner,sun4i-a10-mmc", .data = &sun4i_a10_cfg },
|
||||
{ .compatible = "allwinner,sun5i-a13-mmc", .data = &sun5i_a13_cfg },
|
||||
@@ -1186,6 +1207,8 @@ static const struct of_device_id sunxi_mmc_of_match[] = {
|
||||
{ .compatible = "allwinner,sun9i-a80-mmc", .data = &sun9i_a80_cfg },
|
||||
{ .compatible = "allwinner,sun50i-a64-mmc", .data = &sun50i_a64_cfg },
|
||||
{ .compatible = "allwinner,sun50i-a64-emmc", .data = &sun50i_a64_emmc_cfg },
|
||||
{ .compatible = "allwinner,sun50i-h5-emmc", .data = &sun50i_h5_emmc_cfg },
|
||||
+ { .compatible = "allwinner,sun50i-a100-mmc", .data = &sun50i_a100_cfg },
|
||||
+ { .compatible = "allwinner,sun50i-a100-emmc", .data = &sun50i_a100_emmc_cfg },
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
--
|
||||
|
||||
# Note
|
||||
# This patch has been modified to allow proper applying.
|
||||
# The line
|
||||
# { .compatible = "allwinner,sun50i-h5-emmc", .data = &sun50i_h5_emmc_cfg },
|
||||
# as been added to compensate for another patch applied before this one.
|
|
@ -0,0 +1,710 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..dcffbfdcd26b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -0,0 +1,704 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2020 Arm Ltd.
|
||||
+// based on the H6 dtsi, which is:
|
||||
+// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+#include <dt-bindings/clock/sun50i-h616-ccu.h>
|
||||
+#include <dt-bindings/clock/sun50i-h6-r-ccu.h>
|
||||
+#include <dt-bindings/reset/sun50i-h616-ccu.h>
|
||||
+#include <dt-bindings/reset/sun50i-h6-r-ccu.h>
|
||||
+
|
||||
+/ {
|
||||
+ interrupt-parent = <&gic>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+
|
||||
+ cpus {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ cpu0: cpu@0 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <0>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu1: cpu@1 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <1>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu2: cpu@2 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <2>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu3: cpu@3 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <3>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reserved-memory {
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ /* 512KiB reserved for ARM Trusted Firmware (BL31) */
|
||||
+ secmon_reserved: secmon@40000000 {
|
||||
+ reg = <0x0 0x40000000 0x0 0x80000>;
|
||||
+ no-map;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ osc24M: osc24M_clk {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <24000000>;
|
||||
+ clock-output-names = "osc24M";
|
||||
+ };
|
||||
+
|
||||
+ pmu {
|
||||
+ compatible = "arm,cortex-a53-pmu";
|
||||
+ interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
||||
+ };
|
||||
+
|
||||
+ psci {
|
||||
+ compatible = "arm,psci-0.2";
|
||||
+ method = "smc";
|
||||
+ };
|
||||
+
|
||||
+ timer {
|
||||
+ compatible = "arm,armv8-timer";
|
||||
+ arm,no-tick-in-suspend;
|
||||
+ interrupts = <GIC_PPI 13
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 14
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 11
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 10
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ };
|
||||
+
|
||||
+ soc {
|
||||
+ compatible = "simple-bus";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0x0 0x0 0x0 0x40000000>;
|
||||
+
|
||||
+ syscon: syscon@3000000 {
|
||||
+ compatible = "allwinner,sun50i-h616-system-control",
|
||||
+ "allwinner,sun50i-a64-system-control";
|
||||
+ reg = <0x03000000 0x1000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges;
|
||||
+
|
||||
+ sram_c: sram@28000 {
|
||||
+ compatible = "mmio-sram";
|
||||
+ reg = <0x00028000 0x30000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0 0x00028000 0x30000>;
|
||||
+ };
|
||||
+
|
||||
+ sram_c1: sram@1a00000 {
|
||||
+ compatible = "mmio-sram";
|
||||
+ reg = <0x01a00000 0x200000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0 0x01a00000 0x200000>;
|
||||
+
|
||||
+ ve_sram: sram-section@0 {
|
||||
+ compatible = "allwinner,sun50i-h616-sram-c1",
|
||||
+ "allwinner,sun4i-a10-sram-c1";
|
||||
+ reg = <0x000000 0x200000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ccu: clock@3001000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ccu";
|
||||
+ reg = <0x03001000 0x1000>;
|
||||
+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>;
|
||||
+ clock-names = "hosc", "losc", "iosc";
|
||||
+ #clock-cells = <1>;
|
||||
+ #reset-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ watchdog: watchdog@30090a0 {
|
||||
+ compatible = "allwinner,sun50i-h616-wdt",
|
||||
+ "allwinner,sun6i-a31-wdt";
|
||||
+ reg = <0x030090a0 0x20>;
|
||||
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&osc24M>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ pio: pinctrl@300b000 {
|
||||
+ compatible = "allwinner,sun50i-h616-pinctrl";
|
||||
+ reg = <0x0300b000 0x400>;
|
||||
+ interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc 0>;
|
||||
+ clock-names = "apb", "hosc", "losc";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <3>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+
|
||||
+ ext_rgmii_pins: rgmii-pins {
|
||||
+ pins = "PI0", "PI1", "PI2", "PI3", "PI4",
|
||||
+ "PI5", "PI7", "PI8", "PI9", "PI10",
|
||||
+ "PI11", "PI12", "PI13", "PI14", "PI15",
|
||||
+ "PI16";
|
||||
+ function = "emac0";
|
||||
+ drive-strength = <40>;
|
||||
+ };
|
||||
+
|
||||
+ i2c0_pins: i2c0-pins {
|
||||
+ pins = "PI6", "PI7";
|
||||
+ function = "i2c0";
|
||||
+ };
|
||||
+
|
||||
+ i2c3_pins_a: i2c1-pins-a {
|
||||
+ pins = "PH4", "PH5";
|
||||
+ function = "i2c3";
|
||||
+ };
|
||||
+
|
||||
+ ir_rx_pin: ir_rx_pin {
|
||||
+ pins = "PH10";
|
||||
+ function = "ir_rx";
|
||||
+ };
|
||||
+
|
||||
+ mmc0_pins: mmc0-pins {
|
||||
+ pins = "PF0", "PF1", "PF2", "PF3",
|
||||
+ "PF4", "PF5";
|
||||
+ function = "mmc0";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ mmc1_pins: mmc1-pins {
|
||||
+ pins = "PG0", "PG1", "PG2", "PG3",
|
||||
+ "PG4", "PG5";
|
||||
+ function = "mmc1";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ mmc2_pins: mmc2-pins {
|
||||
+ pins = "PC0", "PC1", "PC5", "PC6",
|
||||
+ "PC8", "PC9", "PC10", "PC11",
|
||||
+ "PC13", "PC14", "PC15", "PC16";
|
||||
+ function = "mmc2";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ spi0_pins: spi0-pins {
|
||||
+ pins = "PC0", "PC2", "PC3", "PC4";
|
||||
+ function = "spi0";
|
||||
+ };
|
||||
+
|
||||
+ spi1_pins: spi1-pins {
|
||||
+ pins = "PH6", "PH7", "PH8";
|
||||
+ function = "spi1";
|
||||
+ };
|
||||
+
|
||||
+ spi1_cs_pin: spi1-cs-pin {
|
||||
+ pins = "PH5";
|
||||
+ function = "spi1";
|
||||
+ };
|
||||
+
|
||||
+ uart0_ph_pins: uart0-ph-pins {
|
||||
+ pins = "PH0", "PH1";
|
||||
+ function = "uart0";
|
||||
+ };
|
||||
+
|
||||
+ uart1_pins: uart1-pins {
|
||||
+ pins = "PG6", "PG7";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+
|
||||
+ uart1_rts_cts_pins: uart1-rts-cts-pins {
|
||||
+ pins = "PG8", "PG9";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gic: interrupt-controller@3021000 {
|
||||
+ compatible = "arm,gic-400";
|
||||
+ reg = <0x03021000 0x1000>,
|
||||
+ <0x03022000 0x2000>,
|
||||
+ <0x03024000 0x2000>,
|
||||
+ <0x03026000 0x2000>;
|
||||
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+ };
|
||||
+
|
||||
+ mmc0: mmc@4020000 {
|
||||
+ compatible = "allwinner,sun50i-h616-mmc",
|
||||
+ "allwinner,sun50i-a100-mmc";
|
||||
+ reg = <0x04020000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC0>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc1: mmc@4021000 {
|
||||
+ compatible = "allwinner,sun50i-h616-mmc",
|
||||
+ "allwinner,sun50i-a100-mmc";
|
||||
+ reg = <0x04021000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC1>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc2: mmc@4022000 {
|
||||
+ compatible = "allwinner,sun50i-h616-emmc",
|
||||
+ "allwinner,sun50i-a64-emmc";
|
||||
+ reg = <0x04022000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC2>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ uart0: serial@5000000 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000000 0x400>;
|
||||
+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART0>;
|
||||
+ resets = <&ccu RST_BUS_UART0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart1: serial@5000400 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000400 0x400>;
|
||||
+ interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART1>;
|
||||
+ resets = <&ccu RST_BUS_UART1>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart2: serial@5000800 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000800 0x400>;
|
||||
+ interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART2>;
|
||||
+ resets = <&ccu RST_BUS_UART2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart3: serial@5000c00 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000c00 0x400>;
|
||||
+ interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART3>;
|
||||
+ resets = <&ccu RST_BUS_UART3>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart4: serial@5001000 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05001000 0x400>;
|
||||
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART4>;
|
||||
+ resets = <&ccu RST_BUS_UART4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart5: serial@5001400 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05001400 0x400>;
|
||||
+ interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART5>;
|
||||
+ resets = <&ccu RST_BUS_UART5>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2c0: i2c@5002000 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002000 0x400>;
|
||||
+ interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C0>;
|
||||
+ resets = <&ccu RST_BUS_I2C0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c0_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c1: i2c@5002400 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002400 0x400>;
|
||||
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C1>;
|
||||
+ resets = <&ccu RST_BUS_I2C1>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c2: i2c@5002800 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002800 0x400>;
|
||||
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C2>;
|
||||
+ resets = <&ccu RST_BUS_I2C2>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c3: i2c@5002c00 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002c00 0x400>;
|
||||
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C3>;
|
||||
+ resets = <&ccu RST_BUS_I2C3>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c4: i2c@5003000 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05003000 0x400>;
|
||||
+ interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C4>;
|
||||
+ resets = <&ccu RST_BUS_I2C4>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ spi0: spi@5010000 {
|
||||
+ compatible = "allwinner,sun50i-h616-spi",
|
||||
+ "allwinner,sun8i-h3-spi";
|
||||
+ reg = <0x05010000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
|
||||
+ clock-names = "ahb", "mod";
|
||||
+ resets = <&ccu RST_BUS_SPI0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ spi1: spi@5011000 {
|
||||
+ compatible = "allwinner,sun50i-h616-spi",
|
||||
+ "allwinner,sun8i-h3-spi";
|
||||
+ reg = <0x05011000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
|
||||
+ clock-names = "ahb", "mod";
|
||||
+ resets = <&ccu RST_BUS_SPI1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi1_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ emac0: ethernet@5020000 {
|
||||
+ compatible = "allwinner,sun50i-h616-emac",
|
||||
+ "allwinner,sun50i-a64-emac";
|
||||
+ syscon = <&syscon>;
|
||||
+ reg = <0x05020000 0x10000>;
|
||||
+ interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "macirq";
|
||||
+ resets = <&ccu RST_BUS_EMAC0>;
|
||||
+ reset-names = "stmmaceth";
|
||||
+ clocks = <&ccu CLK_BUS_EMAC0>;
|
||||
+ clock-names = "stmmaceth";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ mdio: mdio {
|
||||
+ compatible = "snps,dwmac-mdio";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usbotg: usb@5100000 {
|
||||
+ compatible = "allwinner,sun50i-h616-musb",
|
||||
+ "allwinner,sun8i-a33-musb";
|
||||
+ reg = <0x05100000 0x0400>;
|
||||
+ clocks = <&ccu CLK_BUS_OTG>;
|
||||
+ resets = <&ccu RST_BUS_OTG>;
|
||||
+ interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "mc";
|
||||
+ phys = <&usbphy 0>;
|
||||
+ phy-names = "usb";
|
||||
+ extcon = <&usbphy 0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ usbphy: phy@5100400 {
|
||||
+ compatible = "allwinner,sun50i-h616-usb-phy";
|
||||
+ reg = <0x05100400 0x24>,
|
||||
+ <0x05101800 0x4>,
|
||||
+ <0x05200800 0x4>,
|
||||
+ <0x05310800 0x4>,
|
||||
+ <0x05311800 0x4>;
|
||||
+ reg-names = "phy_ctrl",
|
||||
+ "pmu0",
|
||||
+ "pmu1",
|
||||
+ "pmu2",
|
||||
+ "pmu3";
|
||||
+ clocks = <&ccu CLK_USB_PHY0>,
|
||||
+ <&ccu CLK_USB_PHY1>,
|
||||
+ <&ccu CLK_USB_PHY2>,
|
||||
+ <&ccu CLK_USB_PHY3>;
|
||||
+ clock-names = "usb0_phy",
|
||||
+ "usb1_phy",
|
||||
+ "usb2_phy",
|
||||
+ "usb3_phy";
|
||||
+ resets = <&ccu RST_USB_PHY0>,
|
||||
+ <&ccu RST_USB_PHY1>,
|
||||
+ <&ccu RST_USB_PHY2>,
|
||||
+ <&ccu RST_USB_PHY3>;
|
||||
+ reset-names = "usb0_reset",
|
||||
+ "usb1_reset",
|
||||
+ "usb2_reset",
|
||||
+ "usb3_reset";
|
||||
+ status = "disabled";
|
||||
+ #phy-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ ehci0: usb@5101000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05101000 0x100>;
|
||||
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
+ <&ccu CLK_BUS_EHCI0>,
|
||||
+ <&ccu CLK_USB_OHCI0>;
|
||||
+ resets = <&ccu RST_BUS_OHCI0>,
|
||||
+ <&ccu RST_BUS_EHCI0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci0: usb@5101400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05101400 0x100>;
|
||||
+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
+ <&ccu CLK_USB_OHCI0>;
|
||||
+ resets = <&ccu RST_BUS_OHCI0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci1: usb@5200000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05200000 0x100>;
|
||||
+ interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
+ <&ccu CLK_BUS_EHCI1>,
|
||||
+ <&ccu CLK_USB_OHCI1>;
|
||||
+ resets = <&ccu RST_BUS_OHCI1>,
|
||||
+ <&ccu RST_BUS_EHCI1>;
|
||||
+ phys = <&usbphy 1>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci1: usb@5200400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05200400 0x100>;
|
||||
+ interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
+ <&ccu CLK_USB_OHCI1>;
|
||||
+ resets = <&ccu RST_BUS_OHCI1>;
|
||||
+ phys = <&usbphy 1>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci2: usb@5310000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05310000 0x100>;
|
||||
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI2>,
|
||||
+ <&ccu CLK_BUS_EHCI2>,
|
||||
+ <&ccu CLK_USB_OHCI2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI2>,
|
||||
+ <&ccu RST_BUS_EHCI2>;
|
||||
+ phys = <&usbphy 2>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci2: usb@5310400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05310400 0x100>;
|
||||
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI2>,
|
||||
+ <&ccu CLK_USB_OHCI2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI2>;
|
||||
+ phys = <&usbphy 2>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci3: usb@5311000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05311000 0x100>;
|
||||
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI3>,
|
||||
+ <&ccu CLK_BUS_EHCI3>,
|
||||
+ <&ccu CLK_USB_OHCI3>;
|
||||
+ resets = <&ccu RST_BUS_OHCI3>,
|
||||
+ <&ccu RST_BUS_EHCI3>;
|
||||
+ phys = <&usbphy 3>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci3: usb@5311400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05311400 0x100>;
|
||||
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI3>,
|
||||
+ <&ccu CLK_USB_OHCI3>;
|
||||
+ resets = <&ccu RST_BUS_OHCI3>;
|
||||
+ phys = <&usbphy 3>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ rtc: rtc@7000000 {
|
||||
+ compatible = "allwinner,sun50i-h616-rtc",
|
||||
+ "allwinner,sun50i-h6-rtc";
|
||||
+ reg = <0x07000000 0x400>;
|
||||
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clock-output-names = "osc32k", "osc32k-out", "iosc";
|
||||
+ #clock-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ r_ccu: clock@7010000 {
|
||||
+ compatible = "allwinner,sun50i-h616-r-ccu";
|
||||
+ reg = <0x07010000 0x400>;
|
||||
+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>,
|
||||
+ <&ccu CLK_PLL_PERIPH0>;
|
||||
+ clock-names = "hosc", "losc", "iosc", "pll-periph";
|
||||
+ #clock-cells = <1>;
|
||||
+ #reset-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ r_pio: pinctrl@7022000 {
|
||||
+ compatible = "allwinner,sun50i-h616-r-pinctrl";
|
||||
+ reg = <0x07022000 0x400>;
|
||||
+ interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>;
|
||||
+ clock-names = "apb", "hosc", "losc";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <3>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+
|
||||
+ r_i2c_pins: r-i2c-pins {
|
||||
+ pins = "PL0", "PL1";
|
||||
+ function = "s_i2c";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ir: ir@7040000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ir",
|
||||
+ "allwinner,sun6i-a31-ir";
|
||||
+ reg = <0x07040000 0x400>;
|
||||
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_R_APB1_IR>,
|
||||
+ <&ccu CLK_IR>;
|
||||
+ clock-names = "apb", "ir";
|
||||
+ resets = <&ccu RST_R_APB1_IR>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ir_rx_pin>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ r_i2c: i2c@7081400 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x07081400 0x400>;
|
||||
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&r_ccu CLK_R_APB2_I2C>;
|
||||
+ resets = <&r_ccu RST_R_APB2_I2C>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
|
@ -0,0 +1,246 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index 211d1e9d4701..0cf8299b1ce7 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -35,6 +35,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-beelink-gs1.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-3.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-lite2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
new file mode 100644
|
||||
index 000000000000..814f5b4fec7c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
@@ -0,0 +1,228 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2020 Arm Ltd.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-h616.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "OrangePi Zero2";
|
||||
+ compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac0;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ power {
|
||||
+ label = "orangepi:red:power";
|
||||
+ gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+
|
||||
+ status {
|
||||
+ label = "orangepi:green:status";
|
||||
+ gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 */
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc5v: vcc5v {
|
||||
+ /* board wide 5V supply directly from the USB-C socket */
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-5v";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb1_vbus: usb1-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* USB 2 & 3 are on headers only. */
|
||||
+
|
||||
+&emac0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ext_rgmii_pins>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-supply = <®_dcdce>;
|
||||
+ allwinner,rx-delay-ps = <3100>;
|
||||
+ allwinner,tx-delay-ps = <700>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_dcdce>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp305: pmic@36 {
|
||||
+ compatible = "x-powers,axp305", "x-powers,axp805",
|
||||
+ "x-powers,axp806";
|
||||
+ reg = <0x36>;
|
||||
+
|
||||
+ /* dummy interrupt to appease the driver for now */
|
||||
+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+
|
||||
+ x-powers,self-working-mode;
|
||||
+ vina-supply = <®_vcc5v>;
|
||||
+ vinb-supply = <®_vcc5v>;
|
||||
+ vinc-supply = <®_vcc5v>;
|
||||
+ vind-supply = <®_vcc5v>;
|
||||
+ vine-supply = <®_vcc5v>;
|
||||
+ aldoin-supply = <®_vcc5v>;
|
||||
+ bldoin-supply = <®_vcc5v>;
|
||||
+ cldoin-supply = <®_vcc5v>;
|
||||
+
|
||||
+ regulators {
|
||||
+ reg_aldo1: aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_aldo2: aldo2 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3-ext";
|
||||
+ };
|
||||
+
|
||||
+ reg_aldo3: aldo3 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3-ext2";
|
||||
+ };
|
||||
+
|
||||
+ reg_bldo1: bldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc1v8";
|
||||
+ };
|
||||
+
|
||||
+ bldo2 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ bldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ bldo4 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo1 {
|
||||
+ /* reserved */
|
||||
+ };
|
||||
+
|
||||
+ cldo2 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdca: dcdca {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-name = "vdd-cpu";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcc: dcdcc {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-name = "vdd-gpu-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcd: dcdcd {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-name = "vdd-dram";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdce: dcdce {
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-eth-mmc";
|
||||
+ };
|
||||
+
|
||||
+ sw {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_ph_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbotg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ usb0_vbus-supply = <®_vcc5v>;
|
||||
+ usb1_vbus-supply = <®_usb1_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
24
patch/kernel/sunxi-current/h616_999_fix-broken-hunks.patch
Normal file
24
patch/kernel/sunxi-current/h616_999_fix-broken-hunks.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
From 7977d7caf7136da4254b9affb6c7a96ee5f4597d Mon Sep 17 00:00:00 2001
|
||||
From: EvilOlaf <werner@armbian.de>
|
||||
Date: Sun, 6 Dec 2020 08:17:30 +0100
|
||||
Subject: [PATCH] fix broken patches from H616 series
|
||||
|
||||
Signed-off-by: EvilOlaf <werner@armbian.de>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
drivers/mmc/host/sunxi-mmc.c | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index d3eab3b57..e71c04a80 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -44,5 +44,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
|
||||
|
||||
subdir-y := $(dts-dirs) overlay
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,74 +0,0 @@
|
|||
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
|
||||
index 0f0960971..c7229d022 100644
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
-/* drivers/net/phy/realtek.c
|
||||
+/*
|
||||
+ * drivers/net/phy/realtek.c
|
||||
*
|
||||
* Driver for Realtek PHYs
|
||||
*
|
||||
@@ -31,9 +32,9 @@
|
||||
#define RTL8211F_TX_DELAY BIT(8)
|
||||
#define RTL8211F_RX_DELAY BIT(3)
|
||||
|
||||
-#define RTL8211E_CTRL_DELAY BIT(13)
|
||||
-#define RTL8211E_TX_DELAY BIT(12)
|
||||
-#define RTL8211E_RX_DELAY BIT(11)
|
||||
+#define RTL8211E_TX_DELAY BIT(1)
|
||||
+#define RTL8211E_RX_DELAY BIT(2)
|
||||
+#define RTL8211E_MODE_MII_GMII BIT(3)
|
||||
|
||||
#define RTL8201F_ISR 0x1e
|
||||
#define RTL8201F_IER 0x13
|
||||
@@ -245,16 +246,16 @@ static int rtl8211e_config_init(struct phy_device *phydev)
|
||||
/* enable TX/RX delay for rgmii-* modes, and disable them for rgmii. */
|
||||
switch (phydev->interface) {
|
||||
case PHY_INTERFACE_MODE_RGMII:
|
||||
- val = RTL8211E_CTRL_DELAY | 0;
|
||||
+ val = 0;
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_RGMII_ID:
|
||||
- val = RTL8211E_CTRL_DELAY | RTL8211E_TX_DELAY | RTL8211E_RX_DELAY;
|
||||
+ val = RTL8211E_TX_DELAY | RTL8211E_RX_DELAY;
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_RGMII_RXID:
|
||||
- val = RTL8211E_CTRL_DELAY | RTL8211E_RX_DELAY;
|
||||
+ val = RTL8211E_RX_DELAY;
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_RGMII_TXID:
|
||||
- val = RTL8211E_CTRL_DELAY | RTL8211E_TX_DELAY;
|
||||
+ val = RTL8211E_TX_DELAY;
|
||||
break;
|
||||
default: /* the rest of the modes imply leaving delays as is. */
|
||||
return 0;
|
||||
@@ -262,12 +263,11 @@ static int rtl8211e_config_init(struct phy_device *phydev)
|
||||
|
||||
/* According to a sample driver there is a 0x1c config register on the
|
||||
* 0xa4 extension page (0x7) layout. It can be used to disable/enable
|
||||
- * the RX/TX delays otherwise controlled by RXDLY/TXDLY pins.
|
||||
- * The configuration register definition:
|
||||
- * 14 = reserved
|
||||
- * 13 = Force Tx RX Delay controlled by bit12 bit11,
|
||||
- * 12 = RX Delay, 11 = TX Delay
|
||||
- * 10:0 = Test && debug settings reserved by realtek
|
||||
+ * the RX/TX delays otherwise controlled by RXDLY/TXDLY pins. It can
|
||||
+ * also be used to customize the whole configuration register:
|
||||
+ * 8:6 = PHY Address, 5:4 = Auto-Negotiation, 3 = Interface Mode Select,
|
||||
+ * 2 = RX Delay, 1 = TX Delay, 0 = SELRGV (see original PHY datasheet
|
||||
+ * for details).
|
||||
*/
|
||||
oldpage = phy_select_page(phydev, 0x7);
|
||||
if (oldpage < 0)
|
||||
@@ -277,8 +277,7 @@ static int rtl8211e_config_init(struct phy_device *phydev)
|
||||
if (ret)
|
||||
goto err_restore_page;
|
||||
|
||||
- ret = __phy_modify(phydev, 0x1c, RTL8211E_CTRL_DELAY
|
||||
- | RTL8211E_TX_DELAY | RTL8211E_RX_DELAY,
|
||||
+ ret = __phy_modify(phydev, 0x1c, RTL8211E_TX_DELAY | RTL8211E_RX_DELAY,
|
||||
val);
|
||||
|
||||
err_restore_page:
|
|
@ -1,141 +0,0 @@
|
|||
From 227b7b8d1fad466fc8ef9ec16d35a935bac39325 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Wed, 25 Nov 2020 20:28:40 +0100
|
||||
Subject: [PATCH 1/2] Revert "drm/sun4i: Fix mipi-dsi panel framerate being 2/3
|
||||
of the expected value"
|
||||
|
||||
This reverts commit ad763c88b662f9d5da50cc86db387f6ee01311f2.
|
||||
---
|
||||
drivers/gpu/drm/sun4i/sun4i_tcon.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index 1c56b4fb9ac8..ab06f5e1fc95 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -398,8 +398,8 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
u32 block_space, start_delay;
|
||||
u32 tcon_div;
|
||||
|
||||
- tcon->dclk_min_div = 6;
|
||||
- tcon->dclk_max_div = 6;
|
||||
+ tcon->dclk_min_div = SUN6I_DSI_TCON_DIV;
|
||||
+ tcon->dclk_max_div = SUN6I_DSI_TCON_DIV;
|
||||
|
||||
sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 57fc64d7504dba9eb323b490e762d17fc0d15ffb Mon Sep 17 00:00:00 2001
|
||||
From: Roman Beranek <roman.beranek@prusa3d.com>
|
||||
Date: Wed, 25 Nov 2020 13:07:35 +0100
|
||||
Subject: [PATCH 2/2] drm: sun4i: decouple TCON_DCLK_DIV value from
|
||||
pll_mipi/dotclock ratio
|
||||
|
||||
Observations showed that an actual refresh rate differs from the intended.
|
||||
Specifically, in case of 4-lane panels it was reduced by 1/3, and in case of
|
||||
2-lane panels by 2/3.
|
||||
|
||||
BSP code apparently distinguishes between a `dsi_div` and a 'tcon inner div'.
|
||||
While this 'inner' divider is under DSI always 4, the `dsi_div` is defined
|
||||
as a number of bits per pixel over a number of DSI lanes. This value is then
|
||||
involved in setting the rate of PLL_MIPI.
|
||||
|
||||
I couldn't really figure out how to fit this into the dotclock driver,
|
||||
so I opted for this hack where the requested rate is adjusted in such a way
|
||||
that the sun4i_dotclock driver can remain untouched.
|
||||
---
|
||||
drivers/gpu/drm/sun4i/sun4i_tcon.c | 44 +++++++++++++++++-------------
|
||||
1 file changed, 25 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index ab06f5e1fc95..958734ab5007 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -322,18 +322,6 @@ static int sun4i_tcon_get_clk_delay(const struct drm_display_mode *mode,
|
||||
return delay;
|
||||
}
|
||||
|
||||
-static void sun4i_tcon0_mode_set_common(struct sun4i_tcon *tcon,
|
||||
- const struct drm_display_mode *mode)
|
||||
-{
|
||||
- /* Configure the dot clock */
|
||||
- clk_set_rate(tcon->dclk, mode->crtc_clock * 1000);
|
||||
-
|
||||
- /* Set the resolution */
|
||||
- regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
- SUN4I_TCON0_BASIC0_X(mode->crtc_hdisplay) |
|
||||
- SUN4I_TCON0_BASIC0_Y(mode->crtc_vdisplay));
|
||||
-}
|
||||
-
|
||||
static void sun4i_tcon0_mode_set_dithering(struct sun4i_tcon *tcon,
|
||||
const struct drm_connector *connector)
|
||||
{
|
||||
@@ -396,12 +384,18 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
u8 bpp = mipi_dsi_pixel_format_to_bpp(device->format);
|
||||
u8 lanes = device->lanes;
|
||||
u32 block_space, start_delay;
|
||||
- u32 tcon_div;
|
||||
|
||||
tcon->dclk_min_div = SUN6I_DSI_TCON_DIV;
|
||||
tcon->dclk_max_div = SUN6I_DSI_TCON_DIV;
|
||||
|
||||
- sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
+ /* Configure the dot clock */
|
||||
+ clk_set_rate(tcon->dclk, mode->crtc_clock * 1000
|
||||
+ * bpp / (lanes * SUN6I_DSI_TCON_DIV));
|
||||
+
|
||||
+ /* Set the resolution */
|
||||
+ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
+ SUN4I_TCON0_BASIC0_X(mode->crtc_hdisplay) |
|
||||
+ SUN4I_TCON0_BASIC0_Y(mode->crtc_vdisplay));
|
||||
|
||||
/* Set dithering if needed */
|
||||
sun4i_tcon0_mode_set_dithering(tcon, sun4i_tcon_get_connector(encoder));
|
||||
@@ -425,9 +419,7 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
* The datasheet says that this should be set higher than 20 *
|
||||
* pixel cycle, but it's not clear what a pixel cycle is.
|
||||
*/
|
||||
- regmap_read(tcon->regs, SUN4I_TCON0_DCLK_REG, &tcon_div);
|
||||
- tcon_div &= GENMASK(6, 0);
|
||||
- block_space = mode->htotal * bpp / (tcon_div * lanes);
|
||||
+ block_space = mode->htotal * bpp / (SUN6I_DSI_TCON_DIV * lanes);
|
||||
block_space -= mode->hdisplay + 40;
|
||||
|
||||
regmap_write(tcon->regs, SUN4I_TCON0_CPU_TRI0_REG,
|
||||
@@ -469,7 +461,14 @@ static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon,
|
||||
|
||||
tcon->dclk_min_div = 7;
|
||||
tcon->dclk_max_div = 7;
|
||||
- sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
+
|
||||
+ /* Configure the dot clock */
|
||||
+ clk_set_rate(tcon->dclk, mode->crtc_clock * 1000);
|
||||
+
|
||||
+ /* Set the resolution */
|
||||
+ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
+ SUN4I_TCON0_BASIC0_X(mode->crtc_hdisplay) |
|
||||
+ SUN4I_TCON0_BASIC0_Y(mode->crtc_vdisplay));
|
||||
|
||||
/* Set dithering if needed */
|
||||
sun4i_tcon0_mode_set_dithering(tcon, sun4i_tcon_get_connector(encoder));
|
||||
@@ -546,7 +545,14 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
|
||||
|
||||
tcon->dclk_min_div = tcon->quirks->dclk_min_div;
|
||||
tcon->dclk_max_div = 127;
|
||||
- sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
+
|
||||
+ /* Configure the dot clock */
|
||||
+ clk_set_rate(tcon->dclk, mode->crtc_clock * 1000);
|
||||
+
|
||||
+ /* Set the resolution */
|
||||
+ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
+ SUN4I_TCON0_BASIC0_X(mode->crtc_hdisplay) |
|
||||
+ SUN4I_TCON0_BASIC0_Y(mode->crtc_vdisplay));
|
||||
|
||||
/* Set dithering if needed */
|
||||
sun4i_tcon0_mode_set_dithering(tcon, connector);
|
||||
--
|
||||
2.28.0
|
||||
|
|
@ -152,7 +152,7 @@ index 000000000..731c705a4
|
|||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+
|
||||
+ status = "okay";
|
||||
+};
|
||||
|
|
13
patch/kernel/sunxi-dev/board-h3-zeropi-phymode.patch
Normal file
13
patch/kernel/sunxi-dev/board-h3-zeropi-phymode.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/arch/arm/boot/dts/sun8i-h3-zeropi.dts b/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
index c8be3a7a1..9b14e930a 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
@@ -88,7 +88,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
|
||||
allwinner,leds-active-low;
|
||||
status = "okay";
|
|
@ -146,7 +146,7 @@ index 000000000..b3035ddd7
|
|||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
|
|
|
@ -153,7 +153,7 @@ index 00000000..cab3c73b
|
|||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
index cc268a697..c839b4c0b 100644
|
||||
index ea417eb01..fcf5a1a04 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
@@ -64,12 +64,13 @@
|
||||
@@ -26,12 +26,13 @@ leds {
|
||||
pwr {
|
||||
label = "nanopi:green:pwr";
|
||||
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
|
@ -17,7 +17,7 @@ index cc268a697..c839b4c0b 100644
|
|||
};
|
||||
};
|
||||
|
||||
@@ -90,6 +91,21 @@
|
||||
@@ -52,6 +53,22 @@ reg_vcc3v3: vcc3v3 {
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
|
@ -36,10 +36,11 @@ index cc268a697..c839b4c0b 100644
|
|||
+ states = <1100000 0x0
|
||||
+ 1100000 0x1>;
|
||||
+ };
|
||||
+
|
||||
reg_usb0_vbus: usb0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb0-vbus";
|
||||
@@ -101,6 +117,10 @@
|
||||
@@ -63,6 +80,10 @@ reg_usb0_vbus: usb0-vbus {
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -50,3 +51,12 @@ index cc268a697..c839b4c0b 100644
|
|||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -76,7 +97,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
index ef5ca6444..17ca885b4 100644
|
||||
index ef5ca6444..a3359924f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
@@ -4,6 +4,7 @@
|
||||
|
@ -53,3 +53,12 @@ index ef5ca6444..17ca885b4 100644
|
|||
};
|
||||
|
||||
&ehci0 {
|
||||
@@ -69,7 +92,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
vfp: force non-conditional encoding for external Thumb2
|
||||
|
||||
Nick reports that the following error is produced in some cases when
|
||||
using GCC+ld.bfd to build the ARM defconfig with Thumb2 enabled:
|
||||
|
||||
arch/arm/vfp/vfphw.o: in function `vfp_support_entry':
|
||||
(.text+0xa): relocation truncated to fit: R_ARM_THM_JUMP19 against
|
||||
symbol `vfp_kmode_exception' defined in .text.unlikely section in
|
||||
arch/arm/vfp/vfpmodule.o
|
||||
|
||||
$ arm-linux-gnueabihf-ld --version
|
||||
GNU ld (GNU Binutils for Debian) 2.34
|
||||
|
||||
Generally, the linker should be able to fix up out of range branches by
|
||||
emitting veneers, but apparently, it fails to do so in this particular
|
||||
case, i.e., a conditional 'tail call' to vfp_kmode_exception(), which
|
||||
is not defined in the same object file.
|
||||
|
||||
So let's force the use of a non-conditional encoding of the B instruction,
|
||||
which has more space for an immediate offset. To compensate for the
|
||||
additional 2 byte IT opcode, switch the preceding TEQ to CMP, which can
|
||||
be emitted in 2 bytes instead of 4 bytes as well.
|
||||
|
||||
Fixes: eff8728fe698 ("vmlinux.lds.h: Add PGO and AutoFDO input sections")
|
||||
Reported-by: Nick Desaulniers <(address hidden)>
|
||||
Tested-by: Nick Desaulniers <(address hidden)>
|
||||
Signed-off-by: Ard Biesheuvel <(address hidden)>
|
||||
---
|
||||
|
||||
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
|
||||
index 4fcff9f59947..06ff091c0932 100644
|
||||
--- a/arch/arm/vfp/vfphw.S
|
||||
+++ b/arch/arm/vfp/vfphw.S
|
||||
@@ -81,7 +81,8 @@ ENTRY(vfp_support_entry)
|
||||
.fpu vfpv2
|
||||
ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions
|
||||
and r3, r3, #MODE_MASK @ are supported in kernel mode
|
||||
- teq r3, #USR_MODE
|
||||
+ cmp r3, #USR_MODE
|
||||
+THUMB( it ne )
|
||||
bne vfp_kmode_exception @ Returns through lr
|
||||
|
||||
VFPFMRX r1, FPEXC @ Is the VFP enabled?
|
|
@ -89,7 +89,7 @@ index 000000000000..814f5b4fec7c
|
|||
+&emac0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ext_rgmii_pins>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-supply = <®_dcdce>;
|
||||
+ allwinner,rx-delay-ps = <3100>;
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
From 841fca5a32cccd7d0123c0271f4350161ada5507 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Date: Mon, 14 Dec 2020 19:33:01 +0100
|
||||
Subject: Linux 5.10.1
|
||||
|
||||
Link: https://lore.kernel.org/r/20201214170452.563016590@linuxfoundation.org
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e30cf02da8b89..076d4e6b9ccc2 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 5
|
||||
PATCHLEVEL = 10
|
||||
-SUBLEVEL = 0
|
||||
+SUBLEVEL = 1
|
||||
EXTRAVERSION =
|
||||
NAME = Kleptomaniac Octopus
|
||||
|
||||
--
|
||||
cgit 1.2.3-1.el7
|
||||
|
|
@ -1,349 +0,0 @@
|
|||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 44fde25bb221e..f6a1513dfb76c 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -5663,6 +5663,7 @@
|
||||
device);
|
||||
j = NO_REPORT_LUNS (don't use report luns
|
||||
command, uas only);
|
||||
+ k = NO_SAME (do not use WRITE_SAME, uas only)
|
||||
l = NOT_LOCKABLE (don't try to lock and
|
||||
unlock ejectable media, not on uas);
|
||||
m = MAX_SECTORS_64 (don't transfer more
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 076d4e6b9ccc2..44f4cd2e58a80 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 5
|
||||
PATCHLEVEL = 10
|
||||
-SUBLEVEL = 1
|
||||
+SUBLEVEL = 2
|
||||
EXTRAVERSION =
|
||||
NAME = Kleptomaniac Octopus
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c
|
||||
index 562087df7d334..0cc6d35a08156 100644
|
||||
--- a/drivers/tty/serial/8250/8250_omap.c
|
||||
+++ b/drivers/tty/serial/8250/8250_omap.c
|
||||
@@ -184,11 +184,6 @@ static void omap_8250_mdr1_errataset(struct uart_8250_port *up,
|
||||
struct omap8250_priv *priv)
|
||||
{
|
||||
u8 timeout = 255;
|
||||
- u8 old_mdr1;
|
||||
-
|
||||
- old_mdr1 = serial_in(up, UART_OMAP_MDR1);
|
||||
- if (old_mdr1 == priv->mdr1)
|
||||
- return;
|
||||
|
||||
serial_out(up, UART_OMAP_MDR1, priv->mdr1);
|
||||
udelay(2);
|
||||
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
||||
index fad31ccd1fa83..1b4eb7046b078 100644
|
||||
--- a/drivers/usb/core/quirks.c
|
||||
+++ b/drivers/usb/core/quirks.c
|
||||
@@ -342,6 +342,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
||||
{ USB_DEVICE(0x06a3, 0x0006), .driver_info =
|
||||
USB_QUIRK_CONFIG_INTF_STRINGS },
|
||||
|
||||
+ /* Agfa SNAPSCAN 1212U */
|
||||
+ { USB_DEVICE(0x06bd, 0x0001), .driver_info = USB_QUIRK_RESET_RESUME },
|
||||
+
|
||||
/* Guillemot Webcam Hercules Dualpix Exchange (2nd ID) */
|
||||
{ USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
|
||||
|
||||
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c
|
||||
index 53a227217f1cb..99c1ebe86f6a2 100644
|
||||
--- a/drivers/usb/gadget/udc/dummy_hcd.c
|
||||
+++ b/drivers/usb/gadget/udc/dummy_hcd.c
|
||||
@@ -2734,7 +2734,7 @@ static int __init init(void)
|
||||
{
|
||||
int retval = -ENOMEM;
|
||||
int i;
|
||||
- struct dummy *dum[MAX_NUM_UDC];
|
||||
+ struct dummy *dum[MAX_NUM_UDC] = {};
|
||||
|
||||
if (usb_disabled())
|
||||
return -ENODEV;
|
||||
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
|
||||
index c799ca5361d4d..74c497fd34762 100644
|
||||
--- a/drivers/usb/host/xhci-hub.c
|
||||
+++ b/drivers/usb/host/xhci-hub.c
|
||||
@@ -1712,6 +1712,10 @@ retry:
|
||||
hcd->state = HC_STATE_SUSPENDED;
|
||||
bus_state->next_statechange = jiffies + msecs_to_jiffies(10);
|
||||
spin_unlock_irqrestore(&xhci->lock, flags);
|
||||
+
|
||||
+ if (bus_state->bus_suspended)
|
||||
+ usleep_range(5000, 10000);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
|
||||
index bf89172c43cac..84da8406d5b42 100644
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -47,6 +47,7 @@
|
||||
#define PCI_DEVICE_ID_INTEL_DNV_XHCI 0x19d0
|
||||
#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_2C_XHCI 0x15b5
|
||||
#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_XHCI 0x15b6
|
||||
+#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_XHCI 0x15c1
|
||||
#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_2C_XHCI 0x15db
|
||||
#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI 0x15d4
|
||||
#define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI 0x15e9
|
||||
@@ -55,6 +56,7 @@
|
||||
#define PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI 0x8a13
|
||||
#define PCI_DEVICE_ID_INTEL_CML_XHCI 0xa3af
|
||||
#define PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI 0x9a13
|
||||
+#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI 0x1138
|
||||
|
||||
#define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9
|
||||
#define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba
|
||||
@@ -232,13 +234,15 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
|
||||
(pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_2C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_XHCI ||
|
||||
+ pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_2C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI ||
|
||||
- pdev->device == PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI))
|
||||
+ pdev->device == PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI ||
|
||||
+ pdev->device == PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI))
|
||||
xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
|
||||
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
|
||||
index aa2d35f982002..4d34f6005381e 100644
|
||||
--- a/drivers/usb/host/xhci-plat.c
|
||||
+++ b/drivers/usb/host/xhci-plat.c
|
||||
@@ -333,6 +333,9 @@ static int xhci_plat_probe(struct platform_device *pdev)
|
||||
if (priv && (priv->quirks & XHCI_SKIP_PHY_INIT))
|
||||
hcd->skip_phy_initialization = 1;
|
||||
|
||||
+ if (priv && (priv->quirks & XHCI_SG_TRB_CACHE_SIZE_QUIRK))
|
||||
+ xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK;
|
||||
+
|
||||
ret = usb_add_hcd(hcd, irq, IRQF_SHARED);
|
||||
if (ret)
|
||||
goto disable_usb_phy;
|
||||
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
|
||||
index ebb359ebb261c..d90c0d5df3b37 100644
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1878,6 +1878,7 @@ struct xhci_hcd {
|
||||
#define XHCI_RENESAS_FW_QUIRK BIT_ULL(36)
|
||||
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
+#define XHCI_SG_TRB_CACHE_SIZE_QUIRK BIT_ULL(39)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c
|
||||
index ba655b4af4fc2..1c9e09138c109 100644
|
||||
--- a/drivers/usb/misc/legousbtower.c
|
||||
+++ b/drivers/usb/misc/legousbtower.c
|
||||
@@ -797,7 +797,7 @@ static int tower_probe(struct usb_interface *interface, const struct usb_device_
|
||||
&get_version_reply,
|
||||
sizeof(get_version_reply),
|
||||
1000, GFP_KERNEL);
|
||||
- if (!result) {
|
||||
+ if (result) {
|
||||
dev_err(idev, "get version request failed: %d\n", result);
|
||||
retval = result;
|
||||
goto error;
|
||||
diff --git a/drivers/usb/misc/sisusbvga/Kconfig b/drivers/usb/misc/sisusbvga/Kconfig
|
||||
index 655d9cb0651a7..c12cdd0154102 100644
|
||||
--- a/drivers/usb/misc/sisusbvga/Kconfig
|
||||
+++ b/drivers/usb/misc/sisusbvga/Kconfig
|
||||
@@ -16,7 +16,7 @@ config USB_SISUSBVGA
|
||||
|
||||
config USB_SISUSBVGA_CON
|
||||
bool "Text console and mode switching support" if USB_SISUSBVGA
|
||||
- depends on VT
|
||||
+ depends on VT && BROKEN
|
||||
select FONT_8x16
|
||||
help
|
||||
Say Y here if you want a VGA text console via the USB dongle or
|
||||
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
|
||||
index 652d6d6f1f365..ff6f41e7e0683 100644
|
||||
--- a/drivers/usb/storage/uas.c
|
||||
+++ b/drivers/usb/storage/uas.c
|
||||
@@ -867,6 +867,9 @@ static int uas_slave_configure(struct scsi_device *sdev)
|
||||
if (devinfo->flags & US_FL_NO_READ_CAPACITY_16)
|
||||
sdev->no_read_capacity_16 = 1;
|
||||
|
||||
+ /* Some disks cannot handle WRITE_SAME */
|
||||
+ if (devinfo->flags & US_FL_NO_SAME)
|
||||
+ sdev->no_write_same = 1;
|
||||
/*
|
||||
* Some disks return the total number of blocks in response
|
||||
* to READ CAPACITY rather than the highest block number.
|
||||
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
|
||||
index 711ab240058c7..870e9cf3d5dc4 100644
|
||||
--- a/drivers/usb/storage/unusual_uas.h
|
||||
+++ b/drivers/usb/storage/unusual_uas.h
|
||||
@@ -35,12 +35,15 @@ UNUSUAL_DEV(0x054c, 0x087d, 0x0000, 0x9999,
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
US_FL_NO_REPORT_OPCODES),
|
||||
|
||||
-/* Reported-by: Julian Groß <julian.g@posteo.de> */
|
||||
+/*
|
||||
+ * Initially Reported-by: Julian Groß <julian.g@posteo.de>
|
||||
+ * Further reports David C. Partridge <david.partridge@perdrix.co.uk>
|
||||
+ */
|
||||
UNUSUAL_DEV(0x059f, 0x105f, 0x0000, 0x9999,
|
||||
"LaCie",
|
||||
"2Big Quadra USB3",
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
- US_FL_NO_REPORT_OPCODES),
|
||||
+ US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME),
|
||||
|
||||
/*
|
||||
* Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI
|
||||
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
|
||||
index 94a64729dc27d..90aa9c12ffac5 100644
|
||||
--- a/drivers/usb/storage/usb.c
|
||||
+++ b/drivers/usb/storage/usb.c
|
||||
@@ -541,6 +541,9 @@ void usb_stor_adjust_quirks(struct usb_device *udev, unsigned long *fflags)
|
||||
case 'j':
|
||||
f |= US_FL_NO_REPORT_LUNS;
|
||||
break;
|
||||
+ case 'k':
|
||||
+ f |= US_FL_NO_SAME;
|
||||
+ break;
|
||||
case 'l':
|
||||
f |= US_FL_NOT_LOCKABLE;
|
||||
break;
|
||||
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h
|
||||
index 4a19ac3f24d06..6b03fdd69d274 100644
|
||||
--- a/include/linux/usb_usual.h
|
||||
+++ b/include/linux/usb_usual.h
|
||||
@@ -84,6 +84,8 @@
|
||||
/* Cannot handle REPORT_LUNS */ \
|
||||
US_FLAG(ALWAYS_SYNC, 0x20000000) \
|
||||
/* lies about caching, so always sync */ \
|
||||
+ US_FLAG(NO_SAME, 0x40000000) \
|
||||
+ /* Cannot handle WRITE_SAME */ \
|
||||
|
||||
#define US_FLAG(name, value) US_FL_##name = value ,
|
||||
enum { US_DO_ALL_FLAGS };
|
||||
diff --git a/include/uapi/linux/ptrace.h b/include/uapi/linux/ptrace.h
|
||||
index a71b6e3b03ebc..83ee45fa634b9 100644
|
||||
--- a/include/uapi/linux/ptrace.h
|
||||
+++ b/include/uapi/linux/ptrace.h
|
||||
@@ -81,7 +81,8 @@ struct seccomp_metadata {
|
||||
|
||||
struct ptrace_syscall_info {
|
||||
__u8 op; /* PTRACE_SYSCALL_INFO_* */
|
||||
- __u32 arch __attribute__((__aligned__(sizeof(__u32))));
|
||||
+ __u8 pad[3];
|
||||
+ __u32 arch;
|
||||
__u64 instruction_pointer;
|
||||
__u64 stack_pointer;
|
||||
union {
|
||||
diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
|
||||
index 327ec42a36b09..de1917484647e 100644
|
||||
--- a/sound/core/oss/pcm_oss.c
|
||||
+++ b/sound/core/oss/pcm_oss.c
|
||||
@@ -1935,11 +1935,15 @@ static int snd_pcm_oss_set_subdivide(struct snd_pcm_oss_file *pcm_oss_file, int
|
||||
static int snd_pcm_oss_set_fragment1(struct snd_pcm_substream *substream, unsigned int val)
|
||||
{
|
||||
struct snd_pcm_runtime *runtime;
|
||||
+ int fragshift;
|
||||
|
||||
runtime = substream->runtime;
|
||||
if (runtime->oss.subdivision || runtime->oss.fragshift)
|
||||
return -EINVAL;
|
||||
- runtime->oss.fragshift = val & 0xffff;
|
||||
+ fragshift = val & 0xffff;
|
||||
+ if (fragshift >= 31)
|
||||
+ return -EINVAL;
|
||||
+ runtime->oss.fragshift = fragshift;
|
||||
runtime->oss.maxfrags = (val >> 16) & 0xffff;
|
||||
if (runtime->oss.fragshift < 4) /* < 16 */
|
||||
runtime->oss.fragshift = 4;
|
||||
diff --git a/sound/usb/format.c b/sound/usb/format.c
|
||||
index 3bfead393aa34..91f0ed4a2e7eb 100644
|
||||
--- a/sound/usb/format.c
|
||||
+++ b/sound/usb/format.c
|
||||
@@ -40,6 +40,8 @@ static u64 parse_audio_format_i_type(struct snd_usb_audio *chip,
|
||||
case UAC_VERSION_1:
|
||||
default: {
|
||||
struct uac_format_type_i_discrete_descriptor *fmt = _fmt;
|
||||
+ if (format >= 64)
|
||||
+ return 0; /* invalid format */
|
||||
sample_width = fmt->bBitResolution;
|
||||
sample_bytes = fmt->bSubframeSize;
|
||||
format = 1ULL << format;
|
||||
diff --git a/sound/usb/stream.c b/sound/usb/stream.c
|
||||
index ca76ba5b5c0b2..2f6d39c2ba7c8 100644
|
||||
--- a/sound/usb/stream.c
|
||||
+++ b/sound/usb/stream.c
|
||||
@@ -193,16 +193,16 @@ static int usb_chmap_ctl_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_pcm_chmap *info = snd_kcontrol_chip(kcontrol);
|
||||
struct snd_usb_substream *subs = info->private_data;
|
||||
struct snd_pcm_chmap_elem *chmap = NULL;
|
||||
- int i;
|
||||
+ int i = 0;
|
||||
|
||||
- memset(ucontrol->value.integer.value, 0,
|
||||
- sizeof(ucontrol->value.integer.value));
|
||||
if (subs->cur_audiofmt)
|
||||
chmap = subs->cur_audiofmt->chmap;
|
||||
if (chmap) {
|
||||
for (i = 0; i < chmap->channels; i++)
|
||||
ucontrol->value.integer.value[i] = chmap->map[i];
|
||||
}
|
||||
+ for (; i < subs->channels_max; i++)
|
||||
+ ucontrol->value.integer.value[i] = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
|
||||
index 54188ee16c486..4e24509645173 100755
|
||||
--- a/tools/testing/ktest/ktest.pl
|
||||
+++ b/tools/testing/ktest/ktest.pl
|
||||
@@ -1499,17 +1499,16 @@ sub dodie {
|
||||
my $log_file;
|
||||
|
||||
if (defined($opt{"LOG_FILE"})) {
|
||||
- my $whence = 0; # beginning of file
|
||||
- my $pos = $test_log_start;
|
||||
+ my $whence = 2; # End of file
|
||||
+ my $log_size = tell LOG;
|
||||
+ my $size = $log_size - $test_log_start;
|
||||
|
||||
if (defined($mail_max_size)) {
|
||||
- my $log_size = tell LOG;
|
||||
- $log_size -= $test_log_start;
|
||||
- if ($log_size > $mail_max_size) {
|
||||
- $whence = 2; # end of file
|
||||
- $pos = - $mail_max_size;
|
||||
+ if ($size > $mail_max_size) {
|
||||
+ $size = $mail_max_size;
|
||||
}
|
||||
}
|
||||
+ my $pos = - $size;
|
||||
$log_file = "$tmpdir/log";
|
||||
open (L, "$opt{LOG_FILE}") or die "Can't open $opt{LOG_FILE} to read)";
|
||||
open (O, "> $tmpdir/log") or die "Can't open $tmpdir/log\n";
|
||||
@@ -4253,7 +4252,12 @@ sub do_send_mail {
|
||||
$mail_command =~ s/\$SUBJECT/$subject/g;
|
||||
$mail_command =~ s/\$MESSAGE/$message/g;
|
||||
|
||||
- run_command $mail_command;
|
||||
+ my $ret = run_command $mail_command;
|
||||
+ if (!$ret && defined($file)) {
|
||||
+ # try again without the file
|
||||
+ $message .= "\n\n*** FAILED TO SEND LOG ***\n\n";
|
||||
+ do_send_email($subject, $message);
|
||||
+ }
|
||||
}
|
||||
|
||||
sub send_email {
|
File diff suppressed because it is too large
Load diff
|
@ -1,74 +0,0 @@
|
|||
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
|
||||
index 0f0960971..c7229d022 100644
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
-/* drivers/net/phy/realtek.c
|
||||
+/*
|
||||
+ * drivers/net/phy/realtek.c
|
||||
*
|
||||
* Driver for Realtek PHYs
|
||||
*
|
||||
@@ -31,9 +32,9 @@
|
||||
#define RTL8211F_TX_DELAY BIT(8)
|
||||
#define RTL8211F_RX_DELAY BIT(3)
|
||||
|
||||
-#define RTL8211E_CTRL_DELAY BIT(13)
|
||||
-#define RTL8211E_TX_DELAY BIT(12)
|
||||
-#define RTL8211E_RX_DELAY BIT(11)
|
||||
+#define RTL8211E_TX_DELAY BIT(1)
|
||||
+#define RTL8211E_RX_DELAY BIT(2)
|
||||
+#define RTL8211E_MODE_MII_GMII BIT(3)
|
||||
|
||||
#define RTL8201F_ISR 0x1e
|
||||
#define RTL8201F_IER 0x13
|
||||
@@ -245,16 +246,16 @@ static int rtl8211e_config_init(struct phy_device *phydev)
|
||||
/* enable TX/RX delay for rgmii-* modes, and disable them for rgmii. */
|
||||
switch (phydev->interface) {
|
||||
case PHY_INTERFACE_MODE_RGMII:
|
||||
- val = RTL8211E_CTRL_DELAY | 0;
|
||||
+ val = 0;
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_RGMII_ID:
|
||||
- val = RTL8211E_CTRL_DELAY | RTL8211E_TX_DELAY | RTL8211E_RX_DELAY;
|
||||
+ val = RTL8211E_TX_DELAY | RTL8211E_RX_DELAY;
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_RGMII_RXID:
|
||||
- val = RTL8211E_CTRL_DELAY | RTL8211E_RX_DELAY;
|
||||
+ val = RTL8211E_RX_DELAY;
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_RGMII_TXID:
|
||||
- val = RTL8211E_CTRL_DELAY | RTL8211E_TX_DELAY;
|
||||
+ val = RTL8211E_TX_DELAY;
|
||||
break;
|
||||
default: /* the rest of the modes imply leaving delays as is. */
|
||||
return 0;
|
||||
@@ -262,12 +263,11 @@ static int rtl8211e_config_init(struct phy_device *phydev)
|
||||
|
||||
/* According to a sample driver there is a 0x1c config register on the
|
||||
* 0xa4 extension page (0x7) layout. It can be used to disable/enable
|
||||
- * the RX/TX delays otherwise controlled by RXDLY/TXDLY pins.
|
||||
- * The configuration register definition:
|
||||
- * 14 = reserved
|
||||
- * 13 = Force Tx RX Delay controlled by bit12 bit11,
|
||||
- * 12 = RX Delay, 11 = TX Delay
|
||||
- * 10:0 = Test && debug settings reserved by realtek
|
||||
+ * the RX/TX delays otherwise controlled by RXDLY/TXDLY pins. It can
|
||||
+ * also be used to customize the whole configuration register:
|
||||
+ * 8:6 = PHY Address, 5:4 = Auto-Negotiation, 3 = Interface Mode Select,
|
||||
+ * 2 = RX Delay, 1 = TX Delay, 0 = SELRGV (see original PHY datasheet
|
||||
+ * for details).
|
||||
*/
|
||||
oldpage = phy_select_page(phydev, 0x7);
|
||||
if (oldpage < 0)
|
||||
@@ -277,8 +277,7 @@ static int rtl8211e_config_init(struct phy_device *phydev)
|
||||
if (ret)
|
||||
goto err_restore_page;
|
||||
|
||||
- ret = __phy_modify(phydev, 0x1c, RTL8211E_CTRL_DELAY
|
||||
- | RTL8211E_TX_DELAY | RTL8211E_RX_DELAY,
|
||||
+ ret = __phy_modify(phydev, 0x1c, RTL8211E_TX_DELAY | RTL8211E_RX_DELAY,
|
||||
val);
|
||||
|
||||
err_restore_page:
|
|
@ -1,419 +0,0 @@
|
|||
From e59c5fca47c82b85f232fc9e182df387d6c34dfd Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 24 Apr 2020 02:58:30 +0000
|
||||
Subject: [PATCH 1/3] ARM: dts: Import Odroid C4 DT from Linux 5.X
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
arch/arm/dts/Makefile | 1 +
|
||||
arch/arm/dts/meson-sm1-odroid-c4.dts | 386 +++++++++++++++++++++++++++
|
||||
2 files changed, 387 insertions(+)
|
||||
create mode 100755 arch/arm/dts/meson-sm1-odroid-c4.dts
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index 820ee973..7dee4c51 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -154,6 +154,7 @@ dtb-$(CONFIG_ARCH_MESON) += \
|
||||
meson-g12b-odroid-n2.dtb \
|
||||
meson-g12b-a311d-khadas-vim3.dtb \
|
||||
meson-sm1-khadas-vim3l.dtb \
|
||||
+ meson-sm1-odroid-c4.dtb \
|
||||
meson-sm1-sei610.dtb
|
||||
dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
|
||||
tegra20-medcom-wide.dtb \
|
||||
diff --git a/arch/arm/dts/meson-sm1-odroid-c4.dts b/arch/arm/dts/meson-sm1-odroid-c4.dts
|
||||
new file mode 100755
|
||||
index 00000000..f4e19710
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/meson-sm1-odroid-c4.dts
|
||||
@@ -0,0 +1,386 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2020 Dongjin Kim <tobetter@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "meson-sm1.dtsi"
|
||||
+#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "hardkernel,odroid-c4", "amlogic,sm1";
|
||||
+ model = "Hardkernel ODROID-C4";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart_AO;
|
||||
+ ethernet0 = ðmac;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ emmc_pwrseq: emmc-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-emmc";
|
||||
+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ tflash_vdd: regulator-tflash_vdd {
|
||||
+ compatible = "regulator-fixed";
|
||||
+
|
||||
+ regulator-name = "TFLASH_VDD";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+
|
||||
+ gpio = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-active-high;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ tf_io: gpio-regulator-tf_io {
|
||||
+ compatible = "regulator-gpio";
|
||||
+
|
||||
+ regulator-name = "TF_IO";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+
|
||||
+ gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
|
||||
+ gpios-states = <0>;
|
||||
+
|
||||
+ states = <3300000 0>,
|
||||
+ <1800000 1>;
|
||||
+ };
|
||||
+
|
||||
+ flash_1v8: regulator-flash_1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "FLASH_1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <&vcc_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ main_12v: regulator-main_12v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "12V";
|
||||
+ regulator-min-microvolt = <12000000>;
|
||||
+ regulator-max-microvolt = <12000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc_5v: regulator-vcc_5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "5V";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ vin-supply = <&main_12v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v8: regulator-vcc_1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <&vcc_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc_3v3: regulator-vcc_3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&vddao_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ /* FIXME: actually controlled by VDDCPU_B_EN */
|
||||
+ };
|
||||
+
|
||||
+ vddcpu: regulator-vddcpu {
|
||||
+ /*
|
||||
+ * MP8756GD Regulator.
|
||||
+ */
|
||||
+ compatible = "pwm-regulator";
|
||||
+
|
||||
+ regulator-name = "VDDCPU";
|
||||
+ regulator-min-microvolt = <721000>;
|
||||
+ regulator-max-microvolt = <1022000>;
|
||||
+
|
||||
+ vin-supply = <&main_12v>;
|
||||
+
|
||||
+ pwms = <&pwm_AO_cd 1 1250 0>;
|
||||
+ pwm-dutycycle-range = <100 0>;
|
||||
+
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ hub_5v: regulator-hub_5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "HUB_5V";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc_5v>;
|
||||
+
|
||||
+ /* Connected to the Hub CHIPENABLE, LOW sets low power state */
|
||||
+ gpio = <&gpio GPIOH_4 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ usb_pwr_en: regulator-usb_pwr_en {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "USB_PWR_EN";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&vcc_5v>;
|
||||
+
|
||||
+ /* Connected to the microUSB port power enable */
|
||||
+ gpio = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ vddao_1v8: regulator-vddao_1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDAO_1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <&vddao_3v3>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddao_3v3: regulator-vddao_3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDAO_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&main_12v>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_connector_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_tx_tmds_out>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU1_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu2 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU2_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu3 {
|
||||
+ cpu-supply = <&vddcpu>;
|
||||
+ operating-points-v2 = <&cpu_opp_table>;
|
||||
+ clocks = <&clkc CLKID_CPU3_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&ext_mdio {
|
||||
+ external_phy: ethernet-phy@0 {
|
||||
+ /* Realtek RTL8211F (0x001cc916) */
|
||||
+ reg = <0>;
|
||||
+ max-speed = <1000>;
|
||||
+
|
||||
+ reset-assert-us = <10000>;
|
||||
+ reset-deassert-us = <30000>;
|
||||
+ reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
|
||||
+
|
||||
+ interrupt-parent = <&gpio_intc>;
|
||||
+ /* MAC_INTR on GPIOZ_14 */
|
||||
+ interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+ðmac {
|
||||
+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-handle = <&external_phy>;
|
||||
+ amlogic,tx-delay-ns = <2>;
|
||||
+};
|
||||
+
|
||||
+&gpio {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIOZ */
|
||||
+ "", "", "", "", "", "", "", "",
|
||||
+ "", "", "", "", "", "", "", "",
|
||||
+ /* GPIOH */
|
||||
+ "", "", "", "", "",
|
||||
+ "PIN_36", /* GPIOH_5 */
|
||||
+ "PIN_26", /* GPIOH_6 */
|
||||
+ "PIN_32", /* GPIOH_7 */
|
||||
+ "",
|
||||
+ /* BOOT */
|
||||
+ "", "", "", "", "", "", "", "",
|
||||
+ "", "", "", "", "", "", "", "",
|
||||
+ /* GPIOC */
|
||||
+ "", "", "", "", "", "", "", "",
|
||||
+ /* GPIOA */
|
||||
+ "", "", "", "", "", "", "", "",
|
||||
+ "", "", "", "", "", "",
|
||||
+ "PIN_27", /* GPIOA_14 */
|
||||
+ "PIN_28", /* GPIOA_15 */
|
||||
+ /* GPIOX */
|
||||
+ "PIN_16", /* GPIOX_0 */
|
||||
+ "PIN_18", /* GPIOX_1 */
|
||||
+ "PIN_22", /* GPIOX_2 */
|
||||
+ "PIN_11", /* GPIOX_3 */
|
||||
+ "PIN_13", /* GPIOX_4 */
|
||||
+ "PIN_7", /* GPIOX_5 */
|
||||
+ "PIN_33", /* GPIOX_6 */
|
||||
+ "PIN_15", /* GPIOX_7 */
|
||||
+ "PIN_19", /* GPIOX_8 */
|
||||
+ "PIN_21", /* GPIOX_9 */
|
||||
+ "PIN_24", /* GPIOX_10 */
|
||||
+ "PIN_23", /* GPIOX_11 */
|
||||
+ "PIN_8", /* GPIOX_12 */
|
||||
+ "PIN_10", /* GPIOX_13 */
|
||||
+ "PIN_29", /* GPIOX_14 */
|
||||
+ "PIN_31", /* GPIOX_15 */
|
||||
+ "PIN_12", /* GPIOX_16 */
|
||||
+ "PIN_3", /* GPIOX_17 */
|
||||
+ "PIN_5", /* GPIOX_18 */
|
||||
+ "PIN_35"; /* GPIOX_19 */
|
||||
+
|
||||
+ /*
|
||||
+ * WARNING: The USB Hub on the Odroid-C4 needs a reset signal
|
||||
+ * to be turned high in order to be detected by the USB Controller
|
||||
+ * This signal should be handled by a USB specific power sequence
|
||||
+ * in order to reset the Hub when USB bus is powered down.
|
||||
+ */
|
||||
+ usb-hub {
|
||||
+ gpio-hog;
|
||||
+ gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>;
|
||||
+ output-high;
|
||||
+ line-name = "usb-hub-reset";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&gpio_ao {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIOAO */
|
||||
+ "", "", "", "",
|
||||
+ "PIN_47", /* GPIOAO_4 */
|
||||
+ "", "",
|
||||
+ "PIN_45", /* GPIOAO_7 */
|
||||
+ "PIN_46", /* GPIOAO_8 */
|
||||
+ "PIN_44", /* GPIOAO_9 */
|
||||
+ "PIN_42", /* GPIOAO_10 */
|
||||
+ "",
|
||||
+ /* GPIOE */
|
||||
+ "", "", "";
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ hdmi-supply = <&vcc_5v>;
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx_tmds_port {
|
||||
+ hdmi_tx_tmds_out: endpoint {
|
||||
+ remote-endpoint = <&hdmi_connector_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pwm_AO_cd {
|
||||
+ pinctrl-0 = <&pwm_ao_d_e_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ clocks = <&xtal>;
|
||||
+ clock-names = "clkin1";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* SD card */
|
||||
+&sd_emmc_b {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&sdcard_c_pins>;
|
||||
+ pinctrl-1 = <&sdcard_clk_gate_c_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ max-frequency = <200000000>;
|
||||
+ sd-uhs-sdr12;
|
||||
+ sd-uhs-sdr25;
|
||||
+ sd-uhs-sdr50;
|
||||
+ sd-uhs-sdr104;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
|
||||
+ vmmc-supply = <&tflash_vdd>;
|
||||
+ vqmmc-supply = <&tf_io>;
|
||||
+};
|
||||
+
|
||||
+/* eMMC */
|
||||
+&sd_emmc_c {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
|
||||
+ pinctrl-1 = <&emmc_clk_gate_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ max-frequency = <200000000>;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ mmc-pwrseq = <&emmc_pwrseq>;
|
||||
+ vmmc-supply = <&vcc_3v3>;
|
||||
+ vqmmc-supply = <&flash_1v8>;
|
||||
+};
|
||||
+
|
||||
+&uart_AO {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart_ao_a_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+};
|
||||
+
|
||||
+&usb {
|
||||
+ status = "okay";
|
||||
+ vbus-supply = <&usb_pwr_en>;
|
||||
+};
|
||||
+
|
||||
+&usb2_phy0 {
|
||||
+ phy-supply = <&vcc_5v>;
|
||||
+};
|
||||
+
|
||||
+&usb2_phy1 {
|
||||
+ /* Enable the hub which is connected to this port */
|
||||
+ phy-supply = <&hub_5v>;
|
||||
+};
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,238 +0,0 @@
|
|||
From 9af545e2824df54e8cef7f3a62d96c37360cb0a0 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 24 Apr 2020 03:09:12 +0000
|
||||
Subject: [PATCH 2/3] boards: amlogic: add Odroid C4 support
|
||||
|
||||
Odroid C4 is an SM1 device, the board config is adapted from VIM3L and
|
||||
README is based on the README.odroid-n2 from the same vendor.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
board/amlogic/w400/MAINTAINERS | 1 +
|
||||
board/amlogic/w400/README.odroid-c4 | 134 ++++++++++++++++++++++++++++
|
||||
configs/odroid-c4_defconfig | 62 +++++++++++++
|
||||
3 files changed, 197 insertions(+)
|
||||
create mode 100644 board/amlogic/w400/README.odroid-c4
|
||||
create mode 100644 configs/odroid-c4_defconfig
|
||||
|
||||
diff --git a/board/amlogic/w400/MAINTAINERS b/board/amlogic/w400/MAINTAINERS
|
||||
index 2ff90039..b28dd7f0 100644
|
||||
--- a/board/amlogic/w400/MAINTAINERS
|
||||
+++ b/board/amlogic/w400/MAINTAINERS
|
||||
@@ -6,3 +6,4 @@ F: board/amlogic/w400/
|
||||
F: configs/khadas-vim3_defconfig
|
||||
F: configs/khadas-vim3l_defconfig
|
||||
F: configs/odroid-n2_defconfig
|
||||
+F: configs/odroid-c4_defconfig
|
||||
diff --git a/board/amlogic/w400/README.odroid-c4 b/board/amlogic/w400/README.odroid-c4
|
||||
new file mode 100644
|
||||
index 00000000..b1bca758
|
||||
--- /dev/null
|
||||
+++ b/board/amlogic/w400/README.odroid-c4
|
||||
@@ -0,0 +1,134 @@
|
||||
+U-Boot for ODROID-C4
|
||||
+====================
|
||||
+
|
||||
+ODROID-N2 is a single board computer manufactured by Hardkernel
|
||||
+Co. Ltd with the following specifications:
|
||||
+
|
||||
+ - Amlogic S905X3 Arm Cortex-A55 quad-core SoC
|
||||
+ - 2GB or 4GB LPDDR4 SDRAM
|
||||
+ - Gigabit Ethernet
|
||||
+ - HDMI 2.1 display
|
||||
+ - 40-pin GPIO header
|
||||
+ - 7-pin GPIO expansion header
|
||||
+ - 4x USB 3.0 Host
|
||||
+ - 1x USB 2.0 Host/OTG (micro)
|
||||
+ - eMMC, microSD
|
||||
+ - UART serial
|
||||
+ - Infrared receiver
|
||||
+
|
||||
+Schematics are available on the manufacturer website.
|
||||
+
|
||||
+Currently the U-Boot port supports the following devices:
|
||||
+ - serial
|
||||
+ - eMMC, microSD
|
||||
+ - Ethernet
|
||||
+ - I2C
|
||||
+ - Regulators
|
||||
+ - Reset controller
|
||||
+ - Clock controller
|
||||
+ - ADC
|
||||
+
|
||||
+u-boot compilation
|
||||
+==================
|
||||
+
|
||||
+ > export ARCH=arm
|
||||
+ > export CROSS_COMPILE=aarch64-none-elf-
|
||||
+ > make odroid-c4_defconfig
|
||||
+ > make
|
||||
+
|
||||
+Image creation
|
||||
+==============
|
||||
+
|
||||
+Amlogic doesn't provide sources for the firmware and for tools needed
|
||||
+to create the bootloader image, so it is necessary to obtain them from
|
||||
+the git tree published by the board vendor:
|
||||
+
|
||||
+ > wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||
+ > wget https://releases.linaro.org/archive/14.04/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz
|
||||
+ > tar xvfJ gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
|
||||
+ > tar xvf gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz
|
||||
+ > export PATH=$PWD/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:$PWD/gcc-linaro-arm-none-eabi-4.8-2014.04_linux/bin:$PATH
|
||||
+
|
||||
+ > DIR=odroidc4-u-boot
|
||||
+ > git clone --depth 1 \
|
||||
+ https://github.com/hardkernel/u-boot.git -b odroidg12-v2015.01 \
|
||||
+ $DIR
|
||||
+
|
||||
+ > cd odroidc4-u-boot
|
||||
+ > make odroidc4_defconfig
|
||||
+ > make
|
||||
+ > export UBOOTDIR=$PWD
|
||||
+
|
||||
+ Go back to mainline U-Boot source tree then :
|
||||
+ > mkdir fip
|
||||
+
|
||||
+ > cp $UBOOTDIR/build/scp_task/bl301.bin fip/
|
||||
+ > cp $UBOOTDIR/build/board/hardkernel/odroidc4/firmware/acs.bin fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/bl2.bin fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/bl30.bin fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/bl31.img fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/ddr3_1d.fw fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/ddr4_1d.fw fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/ddr4_2d.fw fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/diag_lpddr4.fw fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/lpddr3_1d.fw fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/lpddr4_1d.fw fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/lpddr4_2d.fw fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/piei.fw fip/
|
||||
+ > cp $UBOOTDIR/fip/g12a/aml_ddr.fw fip/
|
||||
+ > cp u-boot.bin fip/bl33.bin
|
||||
+
|
||||
+ > sh fip/blx_fix.sh \
|
||||
+ fip/bl30.bin \
|
||||
+ fip/zero_tmp \
|
||||
+ fip/bl30_zero.bin \
|
||||
+ fip/bl301.bin \
|
||||
+ fip/bl301_zero.bin \
|
||||
+ fip/bl30_new.bin \
|
||||
+ bl30
|
||||
+
|
||||
+ > sh fip/blx_fix.sh \
|
||||
+ fip/bl2.bin \
|
||||
+ fip/zero_tmp \
|
||||
+ fip/bl2_zero.bin \
|
||||
+ fip/acs.bin \
|
||||
+ fip/bl21_zero.bin \
|
||||
+ fip/bl2_new.bin \
|
||||
+ bl2
|
||||
+
|
||||
+ > $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl30sig --input fip/bl30_new.bin \
|
||||
+ --output fip/bl30_new.bin.g12a.enc \
|
||||
+ --level v3
|
||||
+ > $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl30_new.bin.g12a.enc \
|
||||
+ --output fip/bl30_new.bin.enc \
|
||||
+ --level v3 --type bl30
|
||||
+ > $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl31.img \
|
||||
+ --output fip/bl31.img.enc \
|
||||
+ --level v3 --type bl31
|
||||
+ > $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl3sig --input fip/bl33.bin --compress lz4 \
|
||||
+ --output fip/bl33.bin.enc \
|
||||
+ --level v3 --type bl33 --compress lz4
|
||||
+ > $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bl2sig --input fip/bl2_new.bin \
|
||||
+ --output fip/bl2.n.bin.sig
|
||||
+ > $UBOOTDIR/fip/g12a/aml_encrypt_g12a --bootmk \
|
||||
+ --output fip/u-boot.bin \
|
||||
+ --bl2 fip/bl2.n.bin.sig \
|
||||
+ --bl30 fip/bl30_new.bin.enc \
|
||||
+ --bl31 fip/bl31.img.enc \
|
||||
+ --bl33 fip/bl33.bin.enc \
|
||||
+ --ddrfw1 fip/ddr4_1d.fw \
|
||||
+ --ddrfw2 fip/ddr4_2d.fw \
|
||||
+ --ddrfw3 fip/ddr3_1d.fw \
|
||||
+ --ddrfw4 fip/piei.fw \
|
||||
+ --ddrfw5 fip/lpddr4_1d.fw \
|
||||
+ --ddrfw6 fip/lpddr4_2d.fw \
|
||||
+ --ddrfw7 fip/diag_lpddr4.fw \
|
||||
+ --ddrfw8 fip/aml_ddr.fw \
|
||||
+ --ddrfw9 fip/lpddr3_1d.fw \
|
||||
+ --level v3
|
||||
+
|
||||
+and then write the image to SD with:
|
||||
+
|
||||
+ > DEV=/dev/your_sd_device
|
||||
+ > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1
|
||||
+ > dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=444
|
||||
diff --git a/configs/odroid-c4_defconfig b/configs/odroid-c4_defconfig
|
||||
new file mode 100644
|
||||
index 00000000..ab7d588e
|
||||
--- /dev/null
|
||||
+++ b/configs/odroid-c4_defconfig
|
||||
@@ -0,0 +1,62 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_SYS_BOARD="w400"
|
||||
+CONFIG_ARCH_MESON=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x01000000
|
||||
+CONFIG_ENV_SIZE=0x2000
|
||||
+CONFIG_DM_GPIO=y
|
||||
+CONFIG_MESON_G12A=y
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_DEBUG_UART_BASE=0xff803000
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_IDENT_STRING=" odroid-c4"
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+# CONFIG_CMD_BDI is not set
|
||||
+# CONFIG_CMD_IMI is not set
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+# CONFIG_CMD_LOADS is not set
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_REGULATOR=y
|
||||
+CONFIG_OF_CONTROL=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="meson-sm1-odroid-c4"
|
||||
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||
+CONFIG_DM_MMC=y
|
||||
+CONFIG_MMC_MESON_GX=y
|
||||
+CONFIG_PHY_REALTEK=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_MESON_G12A_USB_PHY=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+CONFIG_PINCTRL_MESON_G12A=y
|
||||
+CONFIG_POWER_DOMAIN=y
|
||||
+CONFIG_MESON_EE_POWER_DOMAIN=y
|
||||
+CONFIG_DM_REGULATOR=y
|
||||
+CONFIG_DM_REGULATOR_FIXED=y
|
||||
+CONFIG_DM_RESET=y
|
||||
+CONFIG_DEBUG_UART_MESON=y
|
||||
+CONFIG_DEBUG_UART_ANNOUNCE=y
|
||||
+CONFIG_DEBUG_UART_SKIP_INIT=y
|
||||
+CONFIG_MESON_SERIAL=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_DM_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+# CONFIG_USB_DWC3_GADGET is not set
|
||||
+CONFIG_USB_DWC3_MESON_G12A=y
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e
|
||||
+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada
|
||||
+CONFIG_USB_GADGET_DWC2_OTG=y
|
||||
+CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y
|
||||
+CONFIG_USB_GADGET_DOWNLOAD=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_VIDEO_MESON=y
|
||||
+CONFIG_VIDEO_DT_SIMPLEFB=y
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
From 64017a2cc9e501329016d50b701c5e9a9488991d Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 2 Sep 2019 15:42:04 +0200
|
||||
Subject: [PATCH 3/3] HACK: mmc: meson-gx: limit to 24MHz
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
drivers/mmc/meson_gx_mmc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c
|
||||
index b5f5122b..00bfa324 100644
|
||||
--- a/drivers/mmc/meson_gx_mmc.c
|
||||
+++ b/drivers/mmc/meson_gx_mmc.c
|
||||
@@ -252,7 +252,7 @@ static int meson_mmc_probe(struct udevice *dev)
|
||||
cfg->host_caps = MMC_MODE_8BIT | MMC_MODE_4BIT |
|
||||
MMC_MODE_HS_52MHz | MMC_MODE_HS;
|
||||
cfg->f_min = DIV_ROUND_UP(SD_EMMC_CLKSRC_24M, CLK_MAX_DIV);
|
||||
- cfg->f_max = 100000000; /* 100 MHz */
|
||||
+ cfg->f_max = SD_EMMC_CLKSRC_24M;
|
||||
cfg->b_max = 511; /* max 512 - 1 blocks */
|
||||
cfg->name = dev->name;
|
||||
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
From f40f83d023b2e1dd82e751aee35c1f0d386b8b4f Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <f40f83d023b2e1dd82e751aee35c1f0d386b8b4f.1602104035.git.stefan@agner.ch>
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Sat, 1 Feb 2020 20:55:39 +0000
|
||||
Subject: [PATCH 1/3] Amlogic w400: read ethaddr from efuse
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
board/amlogic/w400/w400.c | 27 ++++++++++++++++++++++++---
|
||||
1 file changed, 24 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/board/amlogic/w400/w400.c b/board/amlogic/w400/w400.c
|
||||
index 47a51710dc..d74aab899a 100644
|
||||
--- a/board/amlogic/w400/w400.c
|
||||
+++ b/board/amlogic/w400/w400.c
|
||||
@@ -6,13 +6,36 @@
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
-#include <env_internal.h>
|
||||
+#include <env.h>
|
||||
#include <asm/io.h>
|
||||
+#include <asm/arch/sm.h>
|
||||
#include <asm/arch/eth.h>
|
||||
|
||||
+#define EFUSE_MAC_OFFSET 20
|
||||
+#define EFUSE_MAC_SIZE 12
|
||||
+
|
||||
int misc_init_r(void)
|
||||
{
|
||||
+ u8 mac_addr[6];
|
||||
+ char efuse_mac_addr[EFUSE_MAC_SIZE], buff[3];
|
||||
+ ssize_t len;
|
||||
+
|
||||
meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0);
|
||||
|
||||
+ if (!eth_env_get_enetaddr("ethaddr", mac_addr)) {
|
||||
+ len = meson_sm_read_efuse(EFUSE_MAC_OFFSET,
|
||||
+ efuse_mac_addr, EFUSE_MAC_SIZE);
|
||||
+ if (len != EFUSE_MAC_SIZE)
|
||||
+ return 0;
|
||||
+
|
||||
+ for (int i = 0; i < 6; i++){
|
||||
+ buff[0] = efuse_mac_addr[i * 2];
|
||||
+ buff[1] = efuse_mac_addr[i * 2 + 1];
|
||||
+ mac_addr[i] = simple_strtoul(buff, NULL, 16);
|
||||
+ }
|
||||
+ if(is_valid_ethaddr(mac_addr))
|
||||
+ eth_env_set_enetaddr("ethaddr", mac_addr);
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -12,9 +12,9 @@ index f1e5cdba..221923c1 100644
|
|||
compatible = "simple-bus";
|
||||
reg = <0x0 0xc1100000 0x0 0x100000>;
|
||||
@@ -505,6 +507,7 @@
|
||||
interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
amlogic,canvas = <&canvas>;
|
||||
+ u-boot,dm-spl;
|
||||
|
||||
/* CVBS VDAC output port */
|
||||
|
@ -56,27 +56,3 @@ index a23252ef..c92b67a6 100644
|
|||
};
|
||||
};
|
||||
|
||||
@@ -118,8 +120,8 @@
|
||||
vddio_boot: regulator-vddio_boot {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDDIO_BOOT";
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -254,9 +256,9 @@
|
||||
|
||||
bus-width = <8>;
|
||||
cap-mmc-highspeed;
|
||||
- mmc-ddr-3_3v;
|
||||
- max-frequency = <50000000>;
|
||||
- non-removable;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ max-frequency = <200000000>;
|
||||
disable-wp;
|
||||
|
||||
mmc-pwrseq = <&emmc_pwrseq>;
|
||||
|
|
|
@ -0,0 +1,452 @@
|
|||
From a86eb090b22ce1b83493e6ac833265955063da97 Mon Sep 17 00:00:00 2001
|
||||
From: hmz007 <hmz007@gmail.com>
|
||||
Date: Tue, 15 Dec 2020 18:02:38 +0800
|
||||
Subject: [PATCH 1/4] rockchip: rk3399: Add Nanopi R4S board support
|
||||
|
||||
Add initial support for Nanopi R4S board.
|
||||
|
||||
Specification
|
||||
- Rockchip RK3399
|
||||
- LPDDR4 4GiB, 1GB DDR3-1866
|
||||
- SD card slot
|
||||
- RTL8211E 1Gbps
|
||||
- RTL8111H 1Gbps
|
||||
- USB 3.0 x2
|
||||
- USB Type C power
|
||||
|
||||
Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
---
|
||||
arch/arm/dts/Makefile | 1 +
|
||||
.../arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi | 8 ++
|
||||
arch/arm/dts/rk3399-nanopi-r4s-4gb.dts | 114 ++++++++++++++++++
|
||||
arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi | 7 ++
|
||||
arch/arm/dts/rk3399-nanopi-r4s.dts | 114 ++++++++++++++++++
|
||||
configs/nanopi-r4s-4gb-rk3399_defconfig | 63 ++++++++++
|
||||
configs/nanopi-r4s-rk3399_defconfig | 62 ++++++++++
|
||||
7 files changed, 370 insertions(+)
|
||||
create mode 100644 arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi
|
||||
create mode 100644 arch/arm/dts/rk3399-nanopi-r4s-4gb.dts
|
||||
create mode 100644 arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
|
||||
create mode 100644 arch/arm/dts/rk3399-nanopi-r4s.dts
|
||||
create mode 100644 configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
create mode 100644 configs/nanopi-r4s-rk3399_defconfig
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index f8f529435b..55ca25bb22 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -131,6 +131,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
||||
rk3399-nanopi-m4.dtb \
|
||||
rk3399-nanopi-m4-2gb.dtb \
|
||||
rk3399-nanopi-neo4.dtb \
|
||||
+ rk3399-nanopi-r4s.dtb \
|
||||
rk3399-orangepi.dtb \
|
||||
rk3399-pinebook-pro.dtb \
|
||||
rk3399-puma-haikou.dtb \
|
||||
diff --git a/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..b291830640
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi
|
||||
@@ -0,0 +1,8 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
|
||||
+ * Copyright (C) 2020 Deepak Das <deepakdas.linux@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+#include "rk3399-nanopi4-u-boot.dtsi"
|
||||
+#include "rk3399-sdram-lpddr4-100.dtsi"
|
||||
diff --git a/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts b/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts
|
||||
new file mode 100644
|
||||
index 0000000000..3072880c77
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts
|
||||
@@ -0,0 +1,114 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * FriendlyElec NanoPi R4S board device tree source
|
||||
+ *
|
||||
+ * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ *
|
||||
+ * Copyright (c) 2018 Collabora Ltd.
|
||||
+ * Copyright (c) 2019 Arm Ltd.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "rk3399-nanopi4.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyElec NanoPi R4S";
|
||||
+ compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399";
|
||||
+
|
||||
+ vdd_5v: vdd-5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vdd_5v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb1: vcc5v0-usb1 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb1";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb2: vcc5v0-usb2 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb2";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+ };
|
||||
+
|
||||
+ fan: pwm-fan {
|
||||
+ compatible = "pwm-fan";
|
||||
+ /*
|
||||
+ * With 20KHz PWM and an EVERCOOL EC4007H12SA fan, these levels
|
||||
+ * work out to 0, ~1200, ~3000, and 5000RPM respectively.
|
||||
+ */
|
||||
+ cooling-levels = <0 12 18 255>;
|
||||
+ #cooling-cells = <2>;
|
||||
+ fan-supply = <&vdd_5v>;
|
||||
+ pwms = <&pwm1 0 50000 0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu_thermal {
|
||||
+ trips {
|
||||
+ cpu_warm: cpu_warm {
|
||||
+ temperature = <55000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "active";
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot: cpu_hot {
|
||||
+ temperature = <65000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "active";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cooling-maps {
|
||||
+ map2 {
|
||||
+ trip = <&cpu_warm>;
|
||||
+ cooling-device = <&fan THERMAL_NO_LIMIT 1>;
|
||||
+ };
|
||||
+
|
||||
+ map3 {
|
||||
+ trip = <&cpu_hot>;
|
||||
+ cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&emmc_phy {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&fusb0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&pcie0 {
|
||||
+ num-lanes = <1>;
|
||||
+ vpcie3v3-supply = <&vcc3v3_sys>;
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdio0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&u2phy0_host {
|
||||
+ phy-supply = <&vdd_5v>;
|
||||
+};
|
||||
+
|
||||
+&u2phy1_host {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&vcc3v3_sys {
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+};
|
||||
diff --git a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..eb0aca4758
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
|
||||
@@ -0,0 +1,7 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
|
||||
+ */
|
||||
+
|
||||
+#include "rk3399-nanopi4-u-boot.dtsi"
|
||||
+#include "rk3399-sdram-ddr3-1866.dtsi"
|
||||
diff --git a/arch/arm/dts/rk3399-nanopi-r4s.dts b/arch/arm/dts/rk3399-nanopi-r4s.dts
|
||||
new file mode 100644
|
||||
index 0000000000..3072880c77
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3399-nanopi-r4s.dts
|
||||
@@ -0,0 +1,114 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * FriendlyElec NanoPi R4S board device tree source
|
||||
+ *
|
||||
+ * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ *
|
||||
+ * Copyright (c) 2018 Collabora Ltd.
|
||||
+ * Copyright (c) 2019 Arm Ltd.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "rk3399-nanopi4.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyElec NanoPi R4S";
|
||||
+ compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399";
|
||||
+
|
||||
+ vdd_5v: vdd-5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vdd_5v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb1: vcc5v0-usb1 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb1";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc5v0_usb2: vcc5v0-usb2 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0_usb2";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+ };
|
||||
+
|
||||
+ fan: pwm-fan {
|
||||
+ compatible = "pwm-fan";
|
||||
+ /*
|
||||
+ * With 20KHz PWM and an EVERCOOL EC4007H12SA fan, these levels
|
||||
+ * work out to 0, ~1200, ~3000, and 5000RPM respectively.
|
||||
+ */
|
||||
+ cooling-levels = <0 12 18 255>;
|
||||
+ #cooling-cells = <2>;
|
||||
+ fan-supply = <&vdd_5v>;
|
||||
+ pwms = <&pwm1 0 50000 0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu_thermal {
|
||||
+ trips {
|
||||
+ cpu_warm: cpu_warm {
|
||||
+ temperature = <55000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "active";
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot: cpu_hot {
|
||||
+ temperature = <65000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "active";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cooling-maps {
|
||||
+ map2 {
|
||||
+ trip = <&cpu_warm>;
|
||||
+ cooling-device = <&fan THERMAL_NO_LIMIT 1>;
|
||||
+ };
|
||||
+
|
||||
+ map3 {
|
||||
+ trip = <&cpu_hot>;
|
||||
+ cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&emmc_phy {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&fusb0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&pcie0 {
|
||||
+ num-lanes = <1>;
|
||||
+ vpcie3v3-supply = <&vcc3v3_sys>;
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&sdio0 {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&u2phy0_host {
|
||||
+ phy-supply = <&vdd_5v>;
|
||||
+};
|
||||
+
|
||||
+&u2phy1_host {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&vcc3v3_sys {
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+};
|
||||
diff --git a/configs/nanopi-r4s-4gb-rk3399_defconfig b/configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..dcac8d426f
|
||||
--- /dev/null
|
||||
+++ b/configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
@@ -0,0 +1,63 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_ROCKCHIP=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_ENV_OFFSET=0x3F8000
|
||||
+CONFIG_ROCKCHIP_RK3399=y
|
||||
+CONFIG_TARGET_EVB_RK3399=y
|
||||
+CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s-4gb"
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s-4gb.dtb"
|
||||
+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
+CONFIG_SPL_STACK_R=y
|
||||
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
+CONFIG_TPL=y
|
||||
+CONFIG_CMD_BOOTZ=y
|
||||
+CONFIG_CMD_GPT=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_TIME=y
|
||||
+CONFIG_SPL_OF_CONTROL=y
|
||||
+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
+CONFIG_ENV_IS_IN_MMC=y
|
||||
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
+CONFIG_SYS_MMC_ENV_DEV=1
|
||||
+CONFIG_ROCKCHIP_GPIO=y
|
||||
+CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
+CONFIG_MMC_DW=y
|
||||
+CONFIG_MMC_DW_ROCKCHIP=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_GMAC_ROCKCHIP=y
|
||||
+CONFIG_PMIC_RK8XX=y
|
||||
+CONFIG_REGULATOR_PWM=y
|
||||
+CONFIG_REGULATOR_RK8XX=y
|
||||
+CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_RAM_RK3399_LPDDR4=y
|
||||
+CONFIG_BAUDRATE=1500000
|
||||
+CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_EHCI_GENERIC=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
+CONFIG_USB_HOST_ETHER=y
|
||||
+CONFIG_USB_ETHER_ASIX=y
|
||||
+CONFIG_USB_ETHER_ASIX88179=y
|
||||
+CONFIG_USB_ETHER_MCS7830=y
|
||||
+CONFIG_USB_ETHER_RTL8152=y
|
||||
+CONFIG_USB_ETHER_SMSC95XX=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_DISPLAY=y
|
||||
+CONFIG_VIDEO_ROCKCHIP=y
|
||||
+CONFIG_DISPLAY_ROCKCHIP_HDMI=y
|
||||
+CONFIG_SPL_TINY_MEMSET=y
|
||||
+CONFIG_ERRNO_STR=y
|
||||
diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..034241f209
|
||||
--- /dev/null
|
||||
+++ b/configs/nanopi-r4s-rk3399_defconfig
|
||||
@@ -0,0 +1,62 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_ROCKCHIP=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_ENV_OFFSET=0x3F8000
|
||||
+CONFIG_ROCKCHIP_RK3399=y
|
||||
+CONFIG_TARGET_EVB_RK3399=y
|
||||
+CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s"
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s.dtb"
|
||||
+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
+CONFIG_SPL_STACK_R=y
|
||||
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
+CONFIG_TPL=y
|
||||
+CONFIG_CMD_BOOTZ=y
|
||||
+CONFIG_CMD_GPT=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_TIME=y
|
||||
+CONFIG_SPL_OF_CONTROL=y
|
||||
+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
+CONFIG_ENV_IS_IN_MMC=y
|
||||
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
+CONFIG_SYS_MMC_ENV_DEV=1
|
||||
+CONFIG_ROCKCHIP_GPIO=y
|
||||
+CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
+CONFIG_MMC_DW=y
|
||||
+CONFIG_MMC_DW_ROCKCHIP=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_GMAC_ROCKCHIP=y
|
||||
+CONFIG_PMIC_RK8XX=y
|
||||
+CONFIG_REGULATOR_PWM=y
|
||||
+CONFIG_REGULATOR_RK8XX=y
|
||||
+CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_BAUDRATE=1500000
|
||||
+CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_EHCI_GENERIC=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
+CONFIG_USB_HOST_ETHER=y
|
||||
+CONFIG_USB_ETHER_ASIX=y
|
||||
+CONFIG_USB_ETHER_ASIX88179=y
|
||||
+CONFIG_USB_ETHER_MCS7830=y
|
||||
+CONFIG_USB_ETHER_RTL8152=y
|
||||
+CONFIG_USB_ETHER_SMSC95XX=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_DISPLAY=y
|
||||
+CONFIG_VIDEO_ROCKCHIP=y
|
||||
+CONFIG_DISPLAY_ROCKCHIP_HDMI=y
|
||||
+CONFIG_SPL_TINY_MEMSET=y
|
||||
+CONFIG_ERRNO_STR=y
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -0,0 +1,656 @@
|
|||
From 244492a7a5451eca042d3ec7ccff8de6e23dd288 Mon Sep 17 00:00:00 2001
|
||||
From: hmz007 <hmz007@gmail.com>
|
||||
Date: Fri, 18 Dec 2020 17:10:35 +0800
|
||||
Subject: [PATCH 2/4] rockchip: rk3399: split nanopi-r4s out of evb_rk3399
|
||||
|
||||
Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
---
|
||||
arch/arm/mach-rockchip/rk3399/Kconfig | 6 +
|
||||
board/friendlyarm/nanopi4/Kconfig | 15 +++
|
||||
board/friendlyarm/nanopi4/MAINTAINERS | 6 +
|
||||
board/friendlyarm/nanopi4/Makefile | 8 ++
|
||||
board/friendlyarm/nanopi4/README | 122 +++++++++++++++++++
|
||||
board/friendlyarm/nanopi4/hwrev.c | 149 ++++++++++++++++++++++++
|
||||
board/friendlyarm/nanopi4/hwrev.h | 27 +++++
|
||||
board/friendlyarm/nanopi4/nanopi4.c | 148 +++++++++++++++++++++++
|
||||
configs/nanopi-r4s-4gb-rk3399_defconfig | 4 +-
|
||||
configs/nanopi-r4s-rk3399_defconfig | 4 +-
|
||||
drivers/clk/rockchip/clk_rk3399.c | 2 +
|
||||
include/configs/nanopi4.h | 24 ++++
|
||||
12 files changed, 511 insertions(+), 4 deletions(-)
|
||||
create mode 100644 board/friendlyarm/nanopi4/Kconfig
|
||||
create mode 100644 board/friendlyarm/nanopi4/MAINTAINERS
|
||||
create mode 100644 board/friendlyarm/nanopi4/Makefile
|
||||
create mode 100644 board/friendlyarm/nanopi4/README
|
||||
create mode 100644 board/friendlyarm/nanopi4/hwrev.c
|
||||
create mode 100644 board/friendlyarm/nanopi4/hwrev.h
|
||||
create mode 100644 board/friendlyarm/nanopi4/nanopi4.c
|
||||
create mode 100644 include/configs/nanopi4.h
|
||||
|
||||
diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
index 17628f9171..2a44aae43c 100644
|
||||
--- a/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
+++ b/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
@@ -109,6 +109,11 @@ config TARGET_ROC_PC_RK3399
|
||||
* wide voltage input(5V-15V), dual cell battery
|
||||
* Wifi/BT accessible via expansion board M.2
|
||||
|
||||
+config TARGET_NANOPI4
|
||||
+ bool "FriendlyElec NanoPi 4 Series"
|
||||
+ help
|
||||
+ Support for FriendlyElec boards based on RK3399.
|
||||
+
|
||||
endchoice
|
||||
|
||||
config ROCKCHIP_BOOT_MODE_REG
|
||||
@@ -152,6 +157,7 @@ config SYS_BOOTCOUNT_ADDR
|
||||
endif # BOOTCOUNT_LIMIT
|
||||
|
||||
source "board/firefly/roc-pc-rk3399/Kconfig"
|
||||
+source "board/friendlyarm/nanopi4/Kconfig"
|
||||
source "board/google/gru/Kconfig"
|
||||
source "board/pine64/pinebook-pro-rk3399/Kconfig"
|
||||
source "board/pine64/rockpro64_rk3399/Kconfig"
|
||||
diff --git a/board/friendlyarm/nanopi4/Kconfig b/board/friendlyarm/nanopi4/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000000..f3f9dd7b56
|
||||
--- /dev/null
|
||||
+++ b/board/friendlyarm/nanopi4/Kconfig
|
||||
@@ -0,0 +1,15 @@
|
||||
+if TARGET_NANOPI4
|
||||
+
|
||||
+config SYS_BOARD
|
||||
+ default "nanopi4"
|
||||
+
|
||||
+config SYS_VENDOR
|
||||
+ default "friendlyarm"
|
||||
+
|
||||
+config SYS_CONFIG_NAME
|
||||
+ default "nanopi4"
|
||||
+
|
||||
+config BOARD_SPECIFIC_OPTIONS
|
||||
+ def_bool y
|
||||
+
|
||||
+endif
|
||||
diff --git a/board/friendlyarm/nanopi4/MAINTAINERS b/board/friendlyarm/nanopi4/MAINTAINERS
|
||||
new file mode 100644
|
||||
index 0000000000..b4c35701d6
|
||||
--- /dev/null
|
||||
+++ b/board/friendlyarm/nanopi4/MAINTAINERS
|
||||
@@ -0,0 +1,6 @@
|
||||
+NanoPi 4 Series
|
||||
+M: <support@friendlyarm.com>
|
||||
+S: Maintained
|
||||
+F: board/friendlyarm/nanopi4/
|
||||
+F: include/configs/nanopi4.h
|
||||
+F: configs/nanopi4_defconfig
|
||||
diff --git a/board/friendlyarm/nanopi4/Makefile b/board/friendlyarm/nanopi4/Makefile
|
||||
new file mode 100644
|
||||
index 0000000000..33a1466567
|
||||
--- /dev/null
|
||||
+++ b/board/friendlyarm/nanopi4/Makefile
|
||||
@@ -0,0 +1,8 @@
|
||||
+#
|
||||
+# Copyright (C) Guangzhou FriendlyELEC Computer Tech. Co., Ltd.
|
||||
+# (http://www.friendlyarm.com)
|
||||
+#
|
||||
+# SPDX-License-Identifier: GPL-2.0+
|
||||
+#
|
||||
+
|
||||
+obj-y += nanopi4.o hwrev.o
|
||||
diff --git a/board/friendlyarm/nanopi4/README b/board/friendlyarm/nanopi4/README
|
||||
new file mode 100644
|
||||
index 0000000000..c6f58203eb
|
||||
--- /dev/null
|
||||
+++ b/board/friendlyarm/nanopi4/README
|
||||
@@ -0,0 +1,122 @@
|
||||
+Introduction
|
||||
+============
|
||||
+
|
||||
+RK3399 key features we might use in U-Boot:
|
||||
+* CPU: ARMv8 64bit Big-Little architecture,
|
||||
+* Big: dual-core Cortex-A72
|
||||
+* Little: quad-core Cortex-A53
|
||||
+* IRAM: 200KB
|
||||
+* DRAM: 4GB-128MB dual-channel
|
||||
+* eMMC: support eMMC 5.0/5.1, suport HS400, HS200, DDR50
|
||||
+* SD/MMC: support SD 3.0, MMC 4.51
|
||||
+* USB: USB3.0 type-C port *2 with dwc3 controller
|
||||
+* USB2.0 EHCI host port *2
|
||||
+* Display: RGB/HDMI/DP/MIPI/EDP
|
||||
+
|
||||
+evb key features:
|
||||
+* regulator: pwm regulator for CPU B/L
|
||||
+* PMIC: rk808
|
||||
+* debug console: UART2
|
||||
+
|
||||
+In order to support Arm Trust Firmware(ATF), we can use either SPL or
|
||||
+miniloader from rockchip to do:
|
||||
+* do DRAM init
|
||||
+* load and verify ATF image
|
||||
+* load and verify U-Boot image
|
||||
+
|
||||
+Here is the step-by-step to boot to U-Boot on rk3399.
|
||||
+
|
||||
+Get the Source and prebuild binary
|
||||
+==================================
|
||||
+
|
||||
+ > mkdir ~/evb_rk3399
|
||||
+ > cd ~/evb_rk3399
|
||||
+ > git clone https://github.com/ARM-software/arm-trusted-firmware.git
|
||||
+ > git clone https://github.com/rockchip-linux/rkbin.git
|
||||
+ > git clone https://github.com/rockchip-linux/rkdeveloptool.git
|
||||
+
|
||||
+
|
||||
+Compile ATF
|
||||
+===========
|
||||
+
|
||||
+ > cd arm-trusted-firmware
|
||||
+ > make realclean
|
||||
+ > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31
|
||||
+
|
||||
+ Get bl31.elf in this step, copy it to U-Boot root dir:
|
||||
+ > cp build/rk3399/release/bl31/bl31.elf ../u-boot/
|
||||
+
|
||||
+ Or you can get the bl31.elf directly from Rockchip:
|
||||
+ > cp rkbin/rk33/rk3399_bl31_v1.00.elf ../u-boot/bl31.elf
|
||||
+
|
||||
+
|
||||
+Compile U-Boot
|
||||
+==============
|
||||
+
|
||||
+ > cd ../u-boot
|
||||
+ > export CROSS_COMPILE=aarch64-linux-gnu-
|
||||
+ > make evb-rk3399_defconfig
|
||||
+ for firefly-rk3399, use below instead:
|
||||
+ > make firefly-rk3399_defconfig
|
||||
+ > make
|
||||
+ > make u-boot.itb
|
||||
+
|
||||
+ Get spl/u-boot-spl.bin and u-boot.itb in this step.
|
||||
+
|
||||
+Compile rkdeveloptool
|
||||
+=====================
|
||||
+
|
||||
+Get rkdeveloptool installed on your Host in this step.
|
||||
+
|
||||
+Follow instructions in latest README, example:
|
||||
+ > cd ../rkdeveloptool
|
||||
+ > autoreconf -i
|
||||
+ > ./configure
|
||||
+ > make
|
||||
+ > sudo make install
|
||||
+
|
||||
+Both origin binaries and Tool are ready now, choose either option 1 or
|
||||
+option 2 to deploy U-Boot.
|
||||
+
|
||||
+Package the image
|
||||
+=================
|
||||
+
|
||||
+Package the image for U-Boot SPL(option 1)
|
||||
+--------------------------------
|
||||
+ > cd ..
|
||||
+ > tools/mkimage -n rk3399 -T rksd -d spl/u-boot-spl.bin idbspl.img
|
||||
+
|
||||
+ Get idbspl.img in this step.
|
||||
+
|
||||
+Package the image for Rockchip miniloader(option 2)
|
||||
+------------------------------------------
|
||||
+ > cd ..
|
||||
+ > cp arm-trusted-firmware/build/rk3399/release/bl31.elf rkbin/rk33
|
||||
+ > ./rkbin/tools/trust_merger rkbin/tools/RK3399TRUST.ini
|
||||
+ > ./rkbin/tools/loaderimage --pack --uboot u-boot/u-boot-dtb.bin uboot.img
|
||||
+
|
||||
+ Get trust.img and uboot.img in this step.
|
||||
+
|
||||
+Flash the image to eMMC
|
||||
+=======================
|
||||
+
|
||||
+Flash the image with U-Boot SPL(option 1)
|
||||
+-------------------------------
|
||||
+Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then:
|
||||
+ > rkdeveloptool db rkbin/rk33/rk3399_loader_v1.08.106.bin
|
||||
+ > rkdeveloptool wl 64 u-boot/idbspl.img
|
||||
+ > rkdeveloptool wl 0x4000 u-boot/u-boot.itb
|
||||
+ > rkdeveloptool rd
|
||||
+
|
||||
+Flash the image with Rockchip miniloader(option 2)
|
||||
+----------------------------------------
|
||||
+Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then:
|
||||
+ > rkdeveloptool db rkbin/rk33/rk3399_loader_v1.08.106.bin
|
||||
+ > rkdeveloptool ul rkbin/rk33/rk3399_loader_v1.08.106.bin
|
||||
+ > rkdeveloptool wl 0x4000 u-boot/uboot.img
|
||||
+ > rkdeveloptool wl 0x6000 u-boot/trust.img
|
||||
+ > rkdeveloptool rd
|
||||
+
|
||||
+You should be able to get U-Boot log in console/UART2(baurdrate 1500000)
|
||||
+For more detail, please reference to:
|
||||
+http://opensource.rock-chips.com/wiki_Boot_option
|
||||
diff --git a/board/friendlyarm/nanopi4/hwrev.c b/board/friendlyarm/nanopi4/hwrev.c
|
||||
new file mode 100644
|
||||
index 0000000000..9199a927ee
|
||||
--- /dev/null
|
||||
+++ b/board/friendlyarm/nanopi4/hwrev.c
|
||||
@@ -0,0 +1,149 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <dm.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <log.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/gpio.h>
|
||||
+#include <asm/arch-rockchip/gpio.h>
|
||||
+
|
||||
+/*
|
||||
+ * ID info:
|
||||
+ * ID : Volts : ADC value : Bucket
|
||||
+ * == ===== ========= ===========
|
||||
+ * 0 : 0.102V: 58 : 0 - 81
|
||||
+ * 1 : 0.211V: 120 : 82 - 150
|
||||
+ * 2 : 0.319V: 181 : 151 - 211
|
||||
+ * 3 : 0.427V: 242 : 212 - 274
|
||||
+ * 4 : 0.542V: 307 : 275 - 342
|
||||
+ * 5 : 0.666V: 378 : 343 - 411
|
||||
+ * 6 : 0.781V: 444 : 412 - 477
|
||||
+ * 7 : 0.900V: 511 : 478 - 545
|
||||
+ * 8 : 1.023V: 581 : 546 - 613
|
||||
+ * 9 : 1.137V: 646 : 614 - 675
|
||||
+ * 10 : 1.240V: 704 : 676 - 733
|
||||
+ * 11 : 1.343V: 763 : 734 - 795
|
||||
+ * 12 : 1.457V: 828 : 796 - 861
|
||||
+ * 13 : 1.576V: 895 : 862 - 925
|
||||
+ * 14 : 1.684V: 956 : 926 - 989
|
||||
+ * 15 : 1.800V: 1023 : 990 - 1023
|
||||
+ */
|
||||
+static const int id_readings[] = {
|
||||
+ 81, 150, 211, 274, 342, 411, 477, 545,
|
||||
+ 613, 675, 733, 795, 861, 925, 989, 1023
|
||||
+};
|
||||
+
|
||||
+static int cached_board_id = -1;
|
||||
+
|
||||
+#define SARADC_BASE 0xFF100000
|
||||
+#define SARADC_DATA (SARADC_BASE + 0)
|
||||
+#define SARADC_CTRL (SARADC_BASE + 8)
|
||||
+
|
||||
+static u32 get_saradc_value(int chn)
|
||||
+{
|
||||
+ int timeout = 0;
|
||||
+ u32 adc_value = 0;
|
||||
+
|
||||
+ writel(0, SARADC_CTRL);
|
||||
+ udelay(2);
|
||||
+
|
||||
+ writel(0x28 | chn, SARADC_CTRL);
|
||||
+ udelay(50);
|
||||
+
|
||||
+ timeout = 0;
|
||||
+ do {
|
||||
+ if (readl(SARADC_CTRL) & 0x40) {
|
||||
+ adc_value = readl(SARADC_DATA) & 0x3FF;
|
||||
+ goto stop_adc;
|
||||
+ }
|
||||
+
|
||||
+ udelay(10);
|
||||
+ } while (timeout++ < 100);
|
||||
+
|
||||
+stop_adc:
|
||||
+ writel(0, SARADC_CTRL);
|
||||
+
|
||||
+ return adc_value;
|
||||
+}
|
||||
+
|
||||
+static uint32_t get_adc_index(int chn)
|
||||
+{
|
||||
+ int i;
|
||||
+ int adc_reading;
|
||||
+
|
||||
+ if (cached_board_id != -1)
|
||||
+ return cached_board_id;
|
||||
+
|
||||
+ adc_reading = get_saradc_value(chn);
|
||||
+ for (i = 0; i < ARRAY_SIZE(id_readings); i++) {
|
||||
+ if (adc_reading <= id_readings[i]) {
|
||||
+ debug("ADC reading %d, ID %d\n", adc_reading, i);
|
||||
+ cached_board_id = i;
|
||||
+ return i;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* should die for impossible value */
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Board revision list: <GPIO4_D1 | GPIO4_D0>
|
||||
+ * 0b00 - NanoPC-T4
|
||||
+ * 0b01 - NanoPi M4
|
||||
+ *
|
||||
+ * Extended by ADC_IN4
|
||||
+ * Group A:
|
||||
+ * 0x04 - NanoPi NEO4
|
||||
+ * 0x06 - SOC-RK3399
|
||||
+ *
|
||||
+ * Group B:
|
||||
+ * 0x21 - NanoPi M4 Ver2.0
|
||||
+ */
|
||||
+static int pcb_rev = -1;
|
||||
+
|
||||
+void bd_hwrev_init(void)
|
||||
+{
|
||||
+#define GPIO4_BASE 0xff790000
|
||||
+ struct rockchip_gpio_regs *regs = (void *)GPIO4_BASE;
|
||||
+
|
||||
+#ifdef CONFIG_SPL_BUILD
|
||||
+ struct udevice *dev;
|
||||
+
|
||||
+ if (uclass_get_device_by_driver(UCLASS_CLK,
|
||||
+ DM_GET_DRIVER(clk_rk3399), &dev))
|
||||
+ return;
|
||||
+#endif
|
||||
+
|
||||
+ if (pcb_rev >= 0)
|
||||
+ return;
|
||||
+
|
||||
+ /* D1, D0: input mode */
|
||||
+ clrbits_le32(®s->swport_ddr, (0x3 << 24));
|
||||
+ pcb_rev = (readl(®s->ext_port) >> 24) & 0x3;
|
||||
+
|
||||
+ if (pcb_rev == 0x3) {
|
||||
+ /* Revision group A: 0x04 ~ 0x13 */
|
||||
+ pcb_rev = 0x4 + get_adc_index(4);
|
||||
+
|
||||
+ } else if (pcb_rev == 0x1) {
|
||||
+ int idx = get_adc_index(4);
|
||||
+
|
||||
+ /* Revision group B: 0x21 ~ 0x2f */
|
||||
+ if (idx > 0) {
|
||||
+ pcb_rev = 0x20 + idx;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/* To override __weak symbols */
|
||||
+u32 get_board_rev(void)
|
||||
+{
|
||||
+ return pcb_rev;
|
||||
+}
|
||||
+
|
||||
diff --git a/board/friendlyarm/nanopi4/hwrev.h b/board/friendlyarm/nanopi4/hwrev.h
|
||||
new file mode 100644
|
||||
index 0000000000..23b3c7a557
|
||||
--- /dev/null
|
||||
+++ b/board/friendlyarm/nanopi4/hwrev.h
|
||||
@@ -0,0 +1,27 @@
|
||||
+/*
|
||||
+ * Copyright (C) Guangzhou FriendlyARM Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License
|
||||
+ * as published by the Free Software Foundation; either version 2
|
||||
+ * of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, you can access it online at
|
||||
+ * http://www.gnu.org/licenses/gpl-2.0.html.
|
||||
+ */
|
||||
+
|
||||
+#ifndef __BD_HW_REV_H__
|
||||
+#define __BD_HW_REV_H__
|
||||
+
|
||||
+extern void bd_hwrev_config_gpio(void);
|
||||
+extern void bd_hwrev_init(void);
|
||||
+extern u32 get_board_rev(void);
|
||||
+
|
||||
+#endif /* __BD_HW_REV_H__ */
|
||||
diff --git a/board/friendlyarm/nanopi4/nanopi4.c b/board/friendlyarm/nanopi4/nanopi4.c
|
||||
new file mode 100644
|
||||
index 0000000000..a140370ca2
|
||||
--- /dev/null
|
||||
+++ b/board/friendlyarm/nanopi4/nanopi4.c
|
||||
@@ -0,0 +1,148 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <dm.h>
|
||||
+#include <env.h>
|
||||
+#include <hash.h>
|
||||
+#include <linux/bitops.h>
|
||||
+#include <i2c.h>
|
||||
+#include <init.h>
|
||||
+#include <net.h>
|
||||
+#include <netdev.h>
|
||||
+#include <syscon.h>
|
||||
+#include <asm/arch-rockchip/bootrom.h>
|
||||
+#include <asm/arch-rockchip/clock.h>
|
||||
+#include <asm/arch-rockchip/grf_rk3399.h>
|
||||
+#include <asm/arch-rockchip/hardware.h>
|
||||
+#include <asm/arch-rockchip/misc.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/setup.h>
|
||||
+#include <u-boot/sha256.h>
|
||||
+
|
||||
+#ifdef CONFIG_MISC_INIT_R
|
||||
+static void setup_iodomain(void)
|
||||
+{
|
||||
+ struct rk3399_grf_regs *grf =
|
||||
+ syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
|
||||
+
|
||||
+ /* BT565 and AUDIO is in 1.8v domain */
|
||||
+ rk_setreg(&grf->io_vsel, BIT(0) | BIT(1));
|
||||
+}
|
||||
+
|
||||
+static int __maybe_unused mac_read_from_generic_eeprom(u8 *addr)
|
||||
+{
|
||||
+ struct udevice *i2c_dev;
|
||||
+ int ret;
|
||||
+
|
||||
+ /* Microchip 24AA02xxx EEPROMs with EUI-48 Node Identity */
|
||||
+ ret = i2c_get_chip_for_busnum(2, 0x51, 1, &i2c_dev);
|
||||
+ if (!ret)
|
||||
+ ret = dm_i2c_read(i2c_dev, 0xfa, addr, 6);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static void setup_macaddr(void)
|
||||
+{
|
||||
+#if CONFIG_IS_ENABLED(CMD_NET)
|
||||
+ int ret;
|
||||
+ const char *cpuid = env_get("cpuid#");
|
||||
+ u8 hash[SHA256_SUM_LEN];
|
||||
+ int size = sizeof(hash);
|
||||
+ u8 mac_addr[6];
|
||||
+ int from_eeprom = 0;
|
||||
+ int lockdown = 0;
|
||||
+
|
||||
+#ifndef CONFIG_ENV_IS_NOWHERE
|
||||
+ lockdown = env_get_yesno("lockdown") == 1;
|
||||
+#endif
|
||||
+ if (lockdown && env_get("ethaddr"))
|
||||
+ return;
|
||||
+
|
||||
+ ret = mac_read_from_generic_eeprom(mac_addr);
|
||||
+ if (!ret && is_valid_ethaddr(mac_addr)) {
|
||||
+ eth_env_set_enetaddr("ethaddr", mac_addr);
|
||||
+ from_eeprom = 1;
|
||||
+ }
|
||||
+
|
||||
+ if (!cpuid) {
|
||||
+ debug("%s: could not retrieve 'cpuid#'\n", __func__);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ ret = hash_block("sha256", (void *)cpuid, strlen(cpuid), hash, &size);
|
||||
+ if (ret) {
|
||||
+ debug("%s: failed to calculate SHA256\n", __func__);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /* Copy 6 bytes of the hash to base the MAC address on */
|
||||
+ memcpy(mac_addr, hash, 6);
|
||||
+
|
||||
+ /* Make this a valid MAC address and set it */
|
||||
+ mac_addr[0] &= 0xfe; /* clear multicast bit */
|
||||
+ mac_addr[0] |= 0x02; /* set local assignment bit (IEEE802) */
|
||||
+
|
||||
+ if (from_eeprom) {
|
||||
+ eth_env_set_enetaddr("eth1addr", mac_addr);
|
||||
+ } else {
|
||||
+ eth_env_set_enetaddr("ethaddr", mac_addr);
|
||||
+
|
||||
+ if (lockdown && env_get("eth1addr"))
|
||||
+ return;
|
||||
+
|
||||
+ /* Ugly, copy another 4 bytes to generate a similar address */
|
||||
+ memcpy(mac_addr + 2, hash + 8, 4);
|
||||
+ if (!memcmp(hash + 2, hash + 8, 4))
|
||||
+ mac_addr[5] ^= 0xff;
|
||||
+
|
||||
+ eth_env_set_enetaddr("eth1addr", mac_addr);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+int misc_init_r(void)
|
||||
+{
|
||||
+ const u32 cpuid_offset = 0x7;
|
||||
+ const u32 cpuid_length = 0x10;
|
||||
+ u8 cpuid[cpuid_length];
|
||||
+ int ret;
|
||||
+
|
||||
+ setup_iodomain();
|
||||
+
|
||||
+ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = rockchip_cpuid_set(cpuid, cpuid_length);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ setup_macaddr();
|
||||
+ bd_hwrev_init();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#ifdef CONFIG_SERIAL_TAG
|
||||
+void get_board_serial(struct tag_serialnr *serialnr)
|
||||
+{
|
||||
+ char *serial_string;
|
||||
+ u64 serial = 0;
|
||||
+
|
||||
+ serial_string = env_get("serial#");
|
||||
+
|
||||
+ if (serial_string)
|
||||
+ serial = simple_strtoull(serial_string, NULL, 16);
|
||||
+
|
||||
+ serialnr->high = (u32)(serial >> 32);
|
||||
+ serialnr->low = (u32)(serial & 0xffffffff);
|
||||
+}
|
||||
+#endif
|
||||
diff --git a/configs/nanopi-r4s-4gb-rk3399_defconfig b/configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
index dcac8d426f..147bffad9d 100644
|
||||
--- a/configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
+++ b/configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
@@ -4,13 +4,13 @@ CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
CONFIG_NR_DRAM_BANKS=1
|
||||
CONFIG_ENV_OFFSET=0x3F8000
|
||||
CONFIG_ROCKCHIP_RK3399=y
|
||||
-CONFIG_TARGET_EVB_RK3399=y
|
||||
+CONFIG_TARGET_NANOPI4=y
|
||||
CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s-4gb"
|
||||
CONFIG_DEBUG_UART=y
|
||||
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s-4gb.dtb"
|
||||
-CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig
|
||||
index 034241f209..b67f7c0dc9 100644
|
||||
--- a/configs/nanopi-r4s-rk3399_defconfig
|
||||
+++ b/configs/nanopi-r4s-rk3399_defconfig
|
||||
@@ -4,13 +4,13 @@ CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
CONFIG_NR_DRAM_BANKS=1
|
||||
CONFIG_ENV_OFFSET=0x3F8000
|
||||
CONFIG_ROCKCHIP_RK3399=y
|
||||
-CONFIG_TARGET_EVB_RK3399=y
|
||||
+CONFIG_TARGET_NANOPI4=y
|
||||
CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s"
|
||||
CONFIG_DEBUG_UART=y
|
||||
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s.dtb"
|
||||
-CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
|
||||
index 22c373a623..38975c0c65 100644
|
||||
--- a/drivers/clk/rockchip/clk_rk3399.c
|
||||
+++ b/drivers/clk/rockchip/clk_rk3399.c
|
||||
@@ -1351,6 +1351,8 @@ static void rkclk_init(struct rockchip_cru *cru)
|
||||
pclk_div << PCLK_PERILP1_DIV_CON_SHIFT |
|
||||
hclk_div << HCLK_PERILP1_DIV_CON_SHIFT |
|
||||
HCLK_PERILP1_PLL_SEL_GPLL << HCLK_PERILP1_PLL_SEL_SHIFT);
|
||||
+
|
||||
+ rk3399_saradc_set_clk(cru, 1000000);
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/include/configs/nanopi4.h b/include/configs/nanopi4.h
|
||||
new file mode 100644
|
||||
index 0000000000..a86d38976a
|
||||
--- /dev/null
|
||||
+++ b/include/configs/nanopi4.h
|
||||
@@ -0,0 +1,24 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
+/*
|
||||
+ * Copyright (C) Guangzhou FriendlyELEC Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ *
|
||||
+ * (C) Copyright 2016 Rockchip Electronics Co., Ltd
|
||||
+ */
|
||||
+
|
||||
+#ifndef __CONFIG_NANOPI4_H__
|
||||
+#define __CONFIG_NANOPI4_H__
|
||||
+
|
||||
+#define ROCKCHIP_DEVICE_SETTINGS \
|
||||
+ "stdin=serial,usbkbd\0" \
|
||||
+ "stdout=serial,vidconsole\0" \
|
||||
+ "stderr=serial,vidconsole\0"
|
||||
+
|
||||
+#include <configs/rk3399_common.h>
|
||||
+
|
||||
+#define SDRAM_BANK_SIZE (2UL << 30)
|
||||
+
|
||||
+#define CONFIG_SERIAL_TAG
|
||||
+#define CONFIG_REVISION_TAG
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
From 1bc90230df5cd55513268f2f7a43abdbad1161b5 Mon Sep 17 00:00:00 2001
|
||||
From: hmz007 <hmz007@gmail.com>
|
||||
Date: Sat, 19 Dec 2020 19:39:14 +0800
|
||||
Subject: [PATCH 3/4] ram: rk3399: Add support for multiple DDR types
|
||||
|
||||
Move rockchip,sdram-params to named subnode to include
|
||||
multiple sdram parameters, and then read the parameters
|
||||
(by subnode name, first subnode or current node) before
|
||||
rk3399_dmc_init().
|
||||
|
||||
Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
---
|
||||
arch/arm/dts/rk3399-sdram-ddr3-1333.dtsi | 6 ++-
|
||||
arch/arm/dts/rk3399-sdram-ddr3-1600.dtsi | 5 +-
|
||||
arch/arm/dts/rk3399-sdram-ddr3-1866.dtsi | 6 ++-
|
||||
.../arm/dts/rk3399-sdram-lpddr3-2GB-1600.dtsi | 3 ++
|
||||
.../arm/dts/rk3399-sdram-lpddr3-4GB-1600.dtsi | 3 ++
|
||||
.../rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi | 3 ++
|
||||
arch/arm/dts/rk3399-sdram-lpddr4-100.dtsi | 3 ++
|
||||
drivers/ram/rockchip/sdram_rk3399.c | 49 +++++++++++++++----
|
||||
8 files changed, 64 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/dts/rk3399-sdram-ddr3-1333.dtsi b/arch/arm/dts/rk3399-sdram-ddr3-1333.dtsi
|
||||
index 7fae249536..dad5b7fbd4 100644
|
||||
--- a/arch/arm/dts/rk3399-sdram-ddr3-1333.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-sdram-ddr3-1333.dtsi
|
||||
@@ -4,7 +4,9 @@
|
||||
*/
|
||||
|
||||
&dmc {
|
||||
- rockchip,sdram-params = <
|
||||
+ ddr3-1333 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+ rockchip,sdram-params = <
|
||||
0x1
|
||||
0xa
|
||||
0x3
|
||||
@@ -1536,5 +1538,5 @@
|
||||
0x01010000
|
||||
0x00000000
|
||||
>;
|
||||
+ };
|
||||
};
|
||||
-
|
||||
diff --git a/arch/arm/dts/rk3399-sdram-ddr3-1600.dtsi b/arch/arm/dts/rk3399-sdram-ddr3-1600.dtsi
|
||||
index 23c7c34a9a..238f667a76 100644
|
||||
--- a/arch/arm/dts/rk3399-sdram-ddr3-1600.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-sdram-ddr3-1600.dtsi
|
||||
@@ -4,7 +4,9 @@
|
||||
*/
|
||||
|
||||
&dmc {
|
||||
- rockchip,sdram-params = <
|
||||
+ ddr3-1600 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+ rockchip,sdram-params = <
|
||||
0x1
|
||||
0xa
|
||||
0x3
|
||||
@@ -1536,4 +1538,5 @@
|
||||
0x01010000
|
||||
0x00000000
|
||||
>;
|
||||
+ };
|
||||
};
|
||||
diff --git a/arch/arm/dts/rk3399-sdram-ddr3-1866.dtsi b/arch/arm/dts/rk3399-sdram-ddr3-1866.dtsi
|
||||
index ea029ca90a..7f6b95fe42 100644
|
||||
--- a/arch/arm/dts/rk3399-sdram-ddr3-1866.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-sdram-ddr3-1866.dtsi
|
||||
@@ -4,7 +4,9 @@
|
||||
*/
|
||||
|
||||
&dmc {
|
||||
- rockchip,sdram-params = <
|
||||
+ ddr3-1866 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+ rockchip,sdram-params = <
|
||||
0x1
|
||||
0xa
|
||||
0x3
|
||||
@@ -1536,5 +1538,5 @@
|
||||
0x01010000
|
||||
0x00000000
|
||||
>;
|
||||
+ };
|
||||
};
|
||||
-
|
||||
diff --git a/arch/arm/dts/rk3399-sdram-lpddr3-2GB-1600.dtsi b/arch/arm/dts/rk3399-sdram-lpddr3-2GB-1600.dtsi
|
||||
index 7296dbb80e..a83564794e 100644
|
||||
--- a/arch/arm/dts/rk3399-sdram-lpddr3-2GB-1600.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-sdram-lpddr3-2GB-1600.dtsi
|
||||
@@ -5,6 +5,8 @@
|
||||
*/
|
||||
|
||||
&dmc {
|
||||
+ lpddr3-2GB-1600 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
rockchip,sdram-params = <
|
||||
0x1
|
||||
0xa
|
||||
@@ -1537,4 +1539,5 @@
|
||||
0x01010000
|
||||
0x00000000
|
||||
>;
|
||||
+ };
|
||||
};
|
||||
diff --git a/arch/arm/dts/rk3399-sdram-lpddr3-4GB-1600.dtsi b/arch/arm/dts/rk3399-sdram-lpddr3-4GB-1600.dtsi
|
||||
index bf429c21e4..537936c6fb 100644
|
||||
--- a/arch/arm/dts/rk3399-sdram-lpddr3-4GB-1600.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-sdram-lpddr3-4GB-1600.dtsi
|
||||
@@ -4,6 +4,8 @@
|
||||
*/
|
||||
|
||||
&dmc {
|
||||
+ lpddr3-4GB-1600 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
rockchip,sdram-params = <
|
||||
0x2
|
||||
0xa
|
||||
@@ -1536,4 +1538,5 @@
|
||||
0x01010000
|
||||
0x00000000
|
||||
>;
|
||||
+ };
|
||||
};
|
||||
diff --git a/arch/arm/dts/rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi b/arch/arm/dts/rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi
|
||||
index 96f459fd0b..a0acdb5add 100644
|
||||
--- a/arch/arm/dts/rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi
|
||||
@@ -4,6 +4,8 @@
|
||||
*/
|
||||
|
||||
&dmc {
|
||||
+ lpddr3-samsung-4GB-1866 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
rockchip,sdram-params = <
|
||||
0x2
|
||||
0xa
|
||||
@@ -1543,4 +1545,5 @@
|
||||
0x01010000 /* DENALI_PHY_957_DATA */
|
||||
0x00000000 /* DENALI_PHY_958_DATA */
|
||||
>;
|
||||
+ };
|
||||
};
|
||||
diff --git a/arch/arm/dts/rk3399-sdram-lpddr4-100.dtsi b/arch/arm/dts/rk3399-sdram-lpddr4-100.dtsi
|
||||
index f0c478d189..21d212236f 100644
|
||||
--- a/arch/arm/dts/rk3399-sdram-lpddr4-100.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-sdram-lpddr4-100.dtsi
|
||||
@@ -6,6 +6,8 @@
|
||||
*/
|
||||
|
||||
&dmc {
|
||||
+ lpddr4-100 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
rockchip,sdram-params = <
|
||||
0x2
|
||||
0xa
|
||||
@@ -1538,4 +1540,5 @@
|
||||
0x01010000
|
||||
0x00000000
|
||||
>;
|
||||
+ };
|
||||
};
|
||||
diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c
|
||||
index 530c8a2f40..db30105989 100644
|
||||
--- a/drivers/ram/rockchip/sdram_rk3399.c
|
||||
+++ b/drivers/ram/rockchip/sdram_rk3399.c
|
||||
@@ -1625,7 +1625,6 @@ static void set_ddr_stride(struct rk3399_pmusgrf_regs *pmusgrf, u32 stride)
|
||||
rk_clrsetreg(&pmusgrf->soc_con4, 0x1f << 10, stride << 10);
|
||||
}
|
||||
|
||||
-#if !defined(CONFIG_RAM_RK3399_LPDDR4)
|
||||
static int data_training_first(struct dram_info *dram, u32 channel, u8 rank,
|
||||
struct rk3399_sdram_params *params)
|
||||
{
|
||||
@@ -1715,8 +1714,8 @@ void modify_param(const struct chan_info *chan,
|
||||
clrsetbits_le32(&denali_pi_params[76], 0x1 << 24, 0x1 << 24);
|
||||
clrsetbits_le32(&denali_pi_params[77], 0x1, 0x1);
|
||||
}
|
||||
-#else
|
||||
|
||||
+#if defined(CONFIG_RAM_RK3399_LPDDR4)
|
||||
struct rk3399_sdram_params dfs_cfgs_lpddr4[] = {
|
||||
#include "sdram-rk3399-lpddr4-400.inc"
|
||||
#include "sdram-rk3399-lpddr4-800.inc"
|
||||
@@ -3011,20 +3010,40 @@ static int sdram_init(struct dram_info *dram,
|
||||
return 0;
|
||||
}
|
||||
|
||||
+__weak const char *rk3399_get_ddrtype(void)
|
||||
+{
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
static int rk3399_dmc_ofdata_to_platdata(struct udevice *dev)
|
||||
{
|
||||
#if !CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||
struct rockchip_dmc_plat *plat = dev_get_platdata(dev);
|
||||
+ ofnode node = { .np = NULL };
|
||||
+ const char *name;
|
||||
int ret;
|
||||
|
||||
- ret = dev_read_u32_array(dev, "rockchip,sdram-params",
|
||||
- (u32 *)&plat->sdram_params,
|
||||
- sizeof(plat->sdram_params) / sizeof(u32));
|
||||
+ name = rk3399_get_ddrtype();
|
||||
+ if (name)
|
||||
+ node = dev_read_subnode(dev, name);
|
||||
+ if (!ofnode_valid(node)) {
|
||||
+ debug("Failed to read subnode %s\n", name);
|
||||
+ node = dev_read_first_subnode(dev);
|
||||
+ }
|
||||
+
|
||||
+ /* fallback to current node */
|
||||
+ if (!ofnode_valid(node))
|
||||
+ node = dev_ofnode(dev);
|
||||
+
|
||||
+ ret = ofnode_read_u32_array(node, "rockchip,sdram-params",
|
||||
+ (u32 *)&plat->sdram_params,
|
||||
+ sizeof(plat->sdram_params) / sizeof(u32));
|
||||
if (ret) {
|
||||
printf("%s: Cannot read rockchip,sdram-params %d\n",
|
||||
__func__, ret);
|
||||
return ret;
|
||||
}
|
||||
+
|
||||
ret = regmap_init_mem(dev_ofnode(dev), &plat->map);
|
||||
if (ret)
|
||||
printf("%s: regmap failed %d\n", __func__, ret);
|
||||
@@ -3051,18 +3070,20 @@ static int conv_of_platdata(struct udevice *dev)
|
||||
#endif
|
||||
|
||||
static const struct sdram_rk3399_ops rk3399_ops = {
|
||||
-#if !defined(CONFIG_RAM_RK3399_LPDDR4)
|
||||
.data_training_first = data_training_first,
|
||||
.set_rate_index = switch_to_phy_index1,
|
||||
.modify_param = modify_param,
|
||||
.get_phy_index_params = get_phy_index_params,
|
||||
-#else
|
||||
+};
|
||||
+
|
||||
+#if defined(CONFIG_RAM_RK3399_LPDDR4)
|
||||
+static const struct sdram_rk3399_ops lpddr4_ops = {
|
||||
.data_training_first = lpddr4_mr_detect,
|
||||
.set_rate_index = lpddr4_set_rate,
|
||||
.modify_param = lpddr4_modify_param,
|
||||
.get_phy_index_params = lpddr4_get_phy_index_params,
|
||||
-#endif
|
||||
};
|
||||
+#endif
|
||||
|
||||
static int rk3399_dmc_init(struct udevice *dev)
|
||||
{
|
||||
@@ -3081,7 +3102,17 @@ static int rk3399_dmc_init(struct udevice *dev)
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
- priv->ops = &rk3399_ops;
|
||||
+ if (params->base.dramtype == LPDDR4) {
|
||||
+#if defined(CONFIG_RAM_RK3399_LPDDR4)
|
||||
+ priv->ops = &lpddr4_ops;
|
||||
+#else
|
||||
+ printf("LPDDR4 support is disable\n");
|
||||
+ return -EINVAL;
|
||||
+#endif
|
||||
+ } else {
|
||||
+ priv->ops = &rk3399_ops;
|
||||
+ }
|
||||
+
|
||||
priv->cic = syscon_get_first_range(ROCKCHIP_SYSCON_CIC);
|
||||
priv->grf = syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
|
||||
priv->pmu = syscon_get_first_range(ROCKCHIP_SYSCON_PMU);
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -0,0 +1,304 @@
|
|||
From 317331b3d7ddcf2a5e7b5a9002ac559627000032 Mon Sep 17 00:00:00 2001
|
||||
From: hmz007 <hmz007@gmail.com>
|
||||
Date: Sat, 19 Dec 2020 20:39:29 +0800
|
||||
Subject: [PATCH 4/4] board: nanopi4: unify 1GB/4GB variants of R4S
|
||||
|
||||
Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
---
|
||||
.../arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi | 8 --
|
||||
arch/arm/dts/rk3399-nanopi-r4s-4gb.dts | 114 ------------------
|
||||
arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi | 2 +
|
||||
board/friendlyarm/nanopi4/hwrev.c | 36 ++++++
|
||||
configs/nanopi-r4s-4gb-rk3399_defconfig | 63 ----------
|
||||
configs/nanopi-r4s-rk3399_defconfig | 1 +
|
||||
6 files changed, 39 insertions(+), 185 deletions(-)
|
||||
delete mode 100644 arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi
|
||||
delete mode 100644 arch/arm/dts/rk3399-nanopi-r4s-4gb.dts
|
||||
delete mode 100644 configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
|
||||
diff --git a/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi
|
||||
deleted file mode 100644
|
||||
index b291830640..0000000000
|
||||
--- a/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi
|
||||
+++ /dev/null
|
||||
@@ -1,8 +0,0 @@
|
||||
-// SPDX-License-Identifier: GPL-2.0+
|
||||
-/*
|
||||
- * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
|
||||
- * Copyright (C) 2020 Deepak Das <deepakdas.linux@gmail.com>
|
||||
- */
|
||||
-
|
||||
-#include "rk3399-nanopi4-u-boot.dtsi"
|
||||
-#include "rk3399-sdram-lpddr4-100.dtsi"
|
||||
diff --git a/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts b/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts
|
||||
deleted file mode 100644
|
||||
index 3072880c77..0000000000
|
||||
--- a/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts
|
||||
+++ /dev/null
|
||||
@@ -1,114 +0,0 @@
|
||||
-// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
-/*
|
||||
- * FriendlyElec NanoPi R4S board device tree source
|
||||
- *
|
||||
- * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
|
||||
- * (http://www.friendlyarm.com)
|
||||
- *
|
||||
- * Copyright (c) 2018 Collabora Ltd.
|
||||
- * Copyright (c) 2019 Arm Ltd.
|
||||
- */
|
||||
-
|
||||
-/dts-v1/;
|
||||
-#include "rk3399-nanopi4.dtsi"
|
||||
-
|
||||
-/ {
|
||||
- model = "FriendlyElec NanoPi R4S";
|
||||
- compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399";
|
||||
-
|
||||
- vdd_5v: vdd-5v {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "vdd_5v";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
- };
|
||||
-
|
||||
- vcc5v0_usb1: vcc5v0-usb1 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc5v0_usb1";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
- vin-supply = <&vdd_5v>;
|
||||
- };
|
||||
-
|
||||
- vcc5v0_usb2: vcc5v0-usb2 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc5v0_usb2";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
- vin-supply = <&vdd_5v>;
|
||||
- };
|
||||
-
|
||||
- fan: pwm-fan {
|
||||
- compatible = "pwm-fan";
|
||||
- /*
|
||||
- * With 20KHz PWM and an EVERCOOL EC4007H12SA fan, these levels
|
||||
- * work out to 0, ~1200, ~3000, and 5000RPM respectively.
|
||||
- */
|
||||
- cooling-levels = <0 12 18 255>;
|
||||
- #cooling-cells = <2>;
|
||||
- fan-supply = <&vdd_5v>;
|
||||
- pwms = <&pwm1 0 50000 0>;
|
||||
- };
|
||||
-};
|
||||
-
|
||||
-&cpu_thermal {
|
||||
- trips {
|
||||
- cpu_warm: cpu_warm {
|
||||
- temperature = <55000>;
|
||||
- hysteresis = <2000>;
|
||||
- type = "active";
|
||||
- };
|
||||
-
|
||||
- cpu_hot: cpu_hot {
|
||||
- temperature = <65000>;
|
||||
- hysteresis = <2000>;
|
||||
- type = "active";
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- cooling-maps {
|
||||
- map2 {
|
||||
- trip = <&cpu_warm>;
|
||||
- cooling-device = <&fan THERMAL_NO_LIMIT 1>;
|
||||
- };
|
||||
-
|
||||
- map3 {
|
||||
- trip = <&cpu_hot>;
|
||||
- cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
|
||||
- };
|
||||
- };
|
||||
-};
|
||||
-
|
||||
-&emmc_phy {
|
||||
- status = "disabled";
|
||||
-};
|
||||
-
|
||||
-&fusb0 {
|
||||
- status = "disabled";
|
||||
-};
|
||||
-
|
||||
-&pcie0 {
|
||||
- num-lanes = <1>;
|
||||
- vpcie3v3-supply = <&vcc3v3_sys>;
|
||||
-};
|
||||
-
|
||||
-&sdhci {
|
||||
- status = "disabled";
|
||||
-};
|
||||
-
|
||||
-&sdio0 {
|
||||
- status = "disabled";
|
||||
-};
|
||||
-
|
||||
-&u2phy0_host {
|
||||
- phy-supply = <&vdd_5v>;
|
||||
-};
|
||||
-
|
||||
-&u2phy1_host {
|
||||
- status = "disabled";
|
||||
-};
|
||||
-
|
||||
-&vcc3v3_sys {
|
||||
- vin-supply = <&vcc5v0_sys>;
|
||||
-};
|
||||
diff --git a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
|
||||
index eb0aca4758..9369a7022a 100644
|
||||
--- a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
|
||||
@@ -4,4 +4,6 @@
|
||||
*/
|
||||
|
||||
#include "rk3399-nanopi4-u-boot.dtsi"
|
||||
+#include "rk3399-sdram-lpddr4-100.dtsi"
|
||||
+#include "rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi"
|
||||
#include "rk3399-sdram-ddr3-1866.dtsi"
|
||||
diff --git a/board/friendlyarm/nanopi4/hwrev.c b/board/friendlyarm/nanopi4/hwrev.c
|
||||
index 9199a927ee..812fcef9c7 100644
|
||||
--- a/board/friendlyarm/nanopi4/hwrev.c
|
||||
+++ b/board/friendlyarm/nanopi4/hwrev.c
|
||||
@@ -101,9 +101,13 @@ static uint32_t get_adc_index(int chn)
|
||||
* Group A:
|
||||
* 0x04 - NanoPi NEO4
|
||||
* 0x06 - SOC-RK3399
|
||||
+ * 0x07 - SOC-RK3399 V2
|
||||
+ * 0x09 - NanoPi R4S 1GB
|
||||
+ * 0x0A - NanoPi R4S 4GB
|
||||
*
|
||||
* Group B:
|
||||
* 0x21 - NanoPi M4 Ver2.0
|
||||
+ * 0x22 - NanoPi M4B
|
||||
*/
|
||||
static int pcb_rev = -1;
|
||||
|
||||
@@ -141,6 +145,38 @@ void bd_hwrev_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_SPL_BUILD
|
||||
+static struct board_ddrtype {
|
||||
+ int rev;
|
||||
+ const char *type;
|
||||
+} ddrtypes[] = {
|
||||
+ { 0x00, "lpddr3-samsung-4GB-1866" },
|
||||
+ { 0x01, "lpddr3-samsung-4GB-1866" },
|
||||
+ { 0x04, "ddr3-1866" },
|
||||
+ { 0x06, "ddr3-1866" },
|
||||
+ { 0x07, "lpddr4-100" },
|
||||
+ { 0x09, "ddr3-1866" },
|
||||
+ { 0x0a, "lpddr4-100" },
|
||||
+ { 0x21, "lpddr4-100" },
|
||||
+ { 0x22, "ddr3-1866" },
|
||||
+};
|
||||
+
|
||||
+const char *rk3399_get_ddrtype(void) {
|
||||
+ int i;
|
||||
+
|
||||
+ bd_hwrev_init();
|
||||
+ printf("Board: rev%02x\n", pcb_rev);
|
||||
+
|
||||
+ for (i = 0; i < ARRAY_SIZE(ddrtypes); i++) {
|
||||
+ if (ddrtypes[i].rev == pcb_rev)
|
||||
+ return ddrtypes[i].type;
|
||||
+ }
|
||||
+
|
||||
+ /* fallback to first subnode (ie, first included dtsi) */
|
||||
+ return NULL;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* To override __weak symbols */
|
||||
u32 get_board_rev(void)
|
||||
{
|
||||
diff --git a/configs/nanopi-r4s-4gb-rk3399_defconfig b/configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
deleted file mode 100644
|
||||
index 147bffad9d..0000000000
|
||||
--- a/configs/nanopi-r4s-4gb-rk3399_defconfig
|
||||
+++ /dev/null
|
||||
@@ -1,63 +0,0 @@
|
||||
-CONFIG_ARM=y
|
||||
-CONFIG_ARCH_ROCKCHIP=y
|
||||
-CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
-CONFIG_NR_DRAM_BANKS=1
|
||||
-CONFIG_ENV_OFFSET=0x3F8000
|
||||
-CONFIG_ROCKCHIP_RK3399=y
|
||||
-CONFIG_TARGET_NANOPI4=y
|
||||
-CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
-CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
-CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s-4gb"
|
||||
-CONFIG_DEBUG_UART=y
|
||||
-CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s-4gb.dtb"
|
||||
-CONFIG_MISC_INIT_R=y
|
||||
-# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
-CONFIG_SPL_STACK_R=y
|
||||
-CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
-CONFIG_TPL=y
|
||||
-CONFIG_CMD_BOOTZ=y
|
||||
-CONFIG_CMD_GPT=y
|
||||
-CONFIG_CMD_MMC=y
|
||||
-CONFIG_CMD_USB=y
|
||||
-# CONFIG_CMD_SETEXPR is not set
|
||||
-CONFIG_CMD_TIME=y
|
||||
-CONFIG_SPL_OF_CONTROL=y
|
||||
-CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
-CONFIG_ENV_IS_IN_MMC=y
|
||||
-CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
-CONFIG_SYS_MMC_ENV_DEV=1
|
||||
-CONFIG_ROCKCHIP_GPIO=y
|
||||
-CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
-CONFIG_MMC_DW=y
|
||||
-CONFIG_MMC_DW_ROCKCHIP=y
|
||||
-CONFIG_MMC_SDHCI=y
|
||||
-CONFIG_MMC_SDHCI_ROCKCHIP=y
|
||||
-CONFIG_DM_ETH=y
|
||||
-CONFIG_ETH_DESIGNWARE=y
|
||||
-CONFIG_GMAC_ROCKCHIP=y
|
||||
-CONFIG_PMIC_RK8XX=y
|
||||
-CONFIG_REGULATOR_PWM=y
|
||||
-CONFIG_REGULATOR_RK8XX=y
|
||||
-CONFIG_PWM_ROCKCHIP=y
|
||||
-CONFIG_RAM_RK3399_LPDDR4=y
|
||||
-CONFIG_BAUDRATE=1500000
|
||||
-CONFIG_DEBUG_UART_SHIFT=2
|
||||
-CONFIG_SYSRESET=y
|
||||
-CONFIG_USB=y
|
||||
-CONFIG_USB_XHCI_HCD=y
|
||||
-CONFIG_USB_XHCI_DWC3=y
|
||||
-CONFIG_USB_EHCI_HCD=y
|
||||
-CONFIG_USB_EHCI_GENERIC=y
|
||||
-CONFIG_USB_KEYBOARD=y
|
||||
-CONFIG_USB_HOST_ETHER=y
|
||||
-CONFIG_USB_ETHER_ASIX=y
|
||||
-CONFIG_USB_ETHER_ASIX88179=y
|
||||
-CONFIG_USB_ETHER_MCS7830=y
|
||||
-CONFIG_USB_ETHER_RTL8152=y
|
||||
-CONFIG_USB_ETHER_SMSC95XX=y
|
||||
-CONFIG_DM_VIDEO=y
|
||||
-CONFIG_DISPLAY=y
|
||||
-CONFIG_VIDEO_ROCKCHIP=y
|
||||
-CONFIG_DISPLAY_ROCKCHIP_HDMI=y
|
||||
-CONFIG_SPL_TINY_MEMSET=y
|
||||
-CONFIG_ERRNO_STR=y
|
||||
diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig
|
||||
index b67f7c0dc9..f1776eee73 100644
|
||||
--- a/configs/nanopi-r4s-rk3399_defconfig
|
||||
+++ b/configs/nanopi-r4s-rk3399_defconfig
|
||||
@@ -39,6 +39,7 @@ CONFIG_PMIC_RK8XX=y
|
||||
CONFIG_REGULATOR_PWM=y
|
||||
CONFIG_REGULATOR_RK8XX=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_RAM_RK3399_LPDDR4=y
|
||||
CONFIG_BAUDRATE=1500000
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
CONFIG_SYSRESET=y
|
||||
--
|
||||
2.25.1
|
||||
|
Loading…
Add table
Reference in a new issue