mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
@@ -65,9 +65,9 @@ cat <<- EOF > "${destination}"/etc/udev/rules.d/70-rename-lan.rules
|
||||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8152", KERNEL=="e*", NAME="lan0", \
|
||||
RUN+="/usr/sbin/ip link set lan0 down", \
|
||||
RUN+="/usr/sbin/ip link set eth0 down", \
|
||||
RUN+="/usr/bin/sleep 3s ", \
|
||||
RUN+="/usr/bin/sleep 7s ", \
|
||||
RUN+="/usr/sbin/ip link set eth0 up", \
|
||||
RUN+="/usr/bin/sleep 10s ", \
|
||||
RUN+="/usr/bin/sleep 11s ", \
|
||||
RUN+="/usr/sbin/ip link set lan0 up"
|
||||
EOF
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 6.3.13 Kernel Configuration
|
||||
# Linux/arm64 6.4.7 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0"
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=110300
|
||||
CONFIG_CLANG_VERSION=0
|
||||
@@ -11,8 +11,6 @@ CONFIG_AS_VERSION=23800
|
||||
CONFIG_LD_IS_BFD=y
|
||||
CONFIG_LD_VERSION=23800
|
||||
CONFIG_LLD_VERSION=0
|
||||
CONFIG_CC_CAN_LINK=y
|
||||
CONFIG_CC_CAN_LINK_STATIC=y
|
||||
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
|
||||
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
|
||||
CONFIG_CC_HAS_ASM_INLINE=y
|
||||
@@ -137,7 +135,6 @@ CONFIG_TASK_IO_ACCOUNTING=y
|
||||
CONFIG_TREE_RCU=y
|
||||
CONFIG_PREEMPT_RCU=y
|
||||
# CONFIG_RCU_EXPERT is not set
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_TREE_SRCU=y
|
||||
CONFIG_TASKS_RCU_GENERIC=y
|
||||
CONFIG_TASKS_RCU=y
|
||||
@@ -151,7 +148,6 @@ CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_IKHEADERS=m
|
||||
CONFIG_LOG_BUF_SHIFT=17
|
||||
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
||||
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
|
||||
# CONFIG_PRINTK_INDEX is not set
|
||||
CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
|
||||
@@ -203,7 +199,6 @@ CONFIG_PID_NS=y
|
||||
CONFIG_NET_NS=y
|
||||
# CONFIG_CHECKPOINT_RESTORE is not set
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
# CONFIG_SYSFS_DEPRECATED is not set
|
||||
CONFIG_RELAY=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
@@ -298,6 +293,7 @@ CONFIG_FIX_EARLYCON_MEM=y
|
||||
CONFIG_PGTABLE_LEVELS=4
|
||||
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
||||
CONFIG_ARCH_PROC_KCORE_TEXT=y
|
||||
CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
|
||||
|
||||
#
|
||||
# Platform selection
|
||||
@@ -345,6 +341,7 @@ CONFIG_ARCH_ROCKCHIP=y
|
||||
#
|
||||
# ARM errata workarounds via the alternatives framework
|
||||
#
|
||||
CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y
|
||||
CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
|
||||
CONFIG_ARM64_ERRATUM_826319=y
|
||||
CONFIG_ARM64_ERRATUM_827319=y
|
||||
@@ -390,6 +387,7 @@ CONFIG_QCOM_FALKOR_ERRATUM_1009=y
|
||||
CONFIG_QCOM_QDF2400_ERRATUM_0065=y
|
||||
CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
|
||||
CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
|
||||
CONFIG_ROCKCHIP_ERRATUM_3588001=y
|
||||
CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
|
||||
# end of ARM errata workarounds via the alternatives framework
|
||||
|
||||
@@ -426,7 +424,7 @@ CONFIG_CRASH_DUMP=y
|
||||
CONFIG_TRANS_TABLE=y
|
||||
CONFIG_XEN_DOM0=y
|
||||
CONFIG_XEN=y
|
||||
CONFIG_ARCH_FORCE_MAX_ORDER=11
|
||||
CONFIG_ARCH_FORCE_MAX_ORDER=10
|
||||
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
||||
CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
|
||||
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
|
||||
@@ -660,6 +658,7 @@ CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
|
||||
CONFIG_MMU_GATHER_TABLE_FREE=y
|
||||
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
|
||||
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
|
||||
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
|
||||
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
|
||||
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
|
||||
@@ -740,6 +739,7 @@ CONFIG_FUNCTION_ALIGNMENT=4
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_MODULE_DEBUG is not set
|
||||
# CONFIG_MODULE_FORCE_LOAD is not set
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
@@ -758,6 +758,7 @@ CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
|
||||
CONFIG_BLK_CGROUP_RWSTAT=y
|
||||
CONFIG_BLK_CGROUP_PUNT_BIO=y
|
||||
CONFIG_BLK_DEV_BSG_COMMON=y
|
||||
CONFIG_BLK_ICQ=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
@@ -862,7 +863,6 @@ CONFIG_ZSMALLOC_CHAIN_SIZE=8
|
||||
#
|
||||
# CONFIG_SLAB is not set
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_SLOB_DEPRECATED is not set
|
||||
# CONFIG_SLUB_TINY is not set
|
||||
CONFIG_SLAB_MERGE_DEFAULT=y
|
||||
# CONFIG_SLAB_FREELIST_RANDOM is not set
|
||||
@@ -932,6 +932,7 @@ CONFIG_ARCH_USES_PG_ARCH_X=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_PERCPU_STATS is not set
|
||||
# CONFIG_GUP_TEST is not set
|
||||
# CONFIG_DMAPOOL_TEST is not set
|
||||
CONFIG_ARCH_HAS_PTE_SPECIAL=y
|
||||
CONFIG_MAPPING_DIRTY_HELPERS=y
|
||||
CONFIG_SECRETMEM=y
|
||||
@@ -940,6 +941,8 @@ CONFIG_ANON_VMA_NAME=y
|
||||
CONFIG_LRU_GEN=y
|
||||
CONFIG_LRU_GEN_ENABLED=y
|
||||
# CONFIG_LRU_GEN_STATS is not set
|
||||
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
|
||||
CONFIG_PER_VMA_LOCK=y
|
||||
CONFIG_LOCK_MM_AND_FIND_VMA=y
|
||||
|
||||
#
|
||||
@@ -983,6 +986,8 @@ CONFIG_NET_KEY=m
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
# CONFIG_XDP_SOCKETS_DIAG is not set
|
||||
CONFIG_NET_HANDSHAKE=y
|
||||
# CONFIG_NET_HANDSHAKE_KUNIT_TEST is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
@@ -1093,6 +1098,7 @@ CONFIG_NETFILTER_SKIP_EGRESS=y
|
||||
CONFIG_NETFILTER_NETLINK=m
|
||||
CONFIG_NETFILTER_FAMILY_BRIDGE=y
|
||||
CONFIG_NETFILTER_FAMILY_ARP=y
|
||||
CONFIG_NETFILTER_BPF_LINK=y
|
||||
CONFIG_NETFILTER_NETLINK_HOOK=m
|
||||
CONFIG_NETFILTER_NETLINK_ACCT=m
|
||||
CONFIG_NETFILTER_NETLINK_QUEUE=m
|
||||
@@ -1435,7 +1441,6 @@ CONFIG_BRIDGE_EBT_SNAT=m
|
||||
CONFIG_BRIDGE_EBT_LOG=m
|
||||
CONFIG_BRIDGE_EBT_NFLOG=m
|
||||
CONFIG_BPFILTER=y
|
||||
CONFIG_BPFILTER_UMH=m
|
||||
# CONFIG_IP_DCCP is not set
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_SCTP_DBG_OBJCNT=y
|
||||
@@ -1659,6 +1664,7 @@ CONFIG_QRTR_TUN=m
|
||||
CONFIG_QRTR_MHI=m
|
||||
# CONFIG_NET_NCSI is not set
|
||||
CONFIG_PCPU_DEV_REFCNT=y
|
||||
CONFIG_MAX_SKB_FRAGS=17
|
||||
CONFIG_RPS=y
|
||||
CONFIG_RFS_ACCEL=y
|
||||
CONFIG_SOCK_RX_QUEUE_MAPPING=y
|
||||
@@ -1764,6 +1770,7 @@ CONFIG_BT_MTKSDIO=m
|
||||
CONFIG_BT_MTKUART=m
|
||||
CONFIG_BT_HCIRSI=m
|
||||
CONFIG_BT_VIRTIO=m
|
||||
# CONFIG_BT_NXPUART is not set
|
||||
# end of Bluetooth device drivers
|
||||
|
||||
CONFIG_AF_RXRPC=m
|
||||
@@ -1876,7 +1883,7 @@ CONFIG_NET_SELFTESTS=y
|
||||
CONFIG_NET_SOCK_MSG=y
|
||||
CONFIG_NET_DEVLINK=y
|
||||
CONFIG_PAGE_POOL=y
|
||||
# CONFIG_PAGE_POOL_STATS is not set
|
||||
CONFIG_PAGE_POOL_STATS=y
|
||||
CONFIG_FAILOVER=m
|
||||
CONFIG_ETHTOOL_NETLINK=y
|
||||
CONFIG_NETDEV_ADDR_LIST_TEST=m
|
||||
@@ -1929,45 +1936,45 @@ CONFIG_HOTPLUG_PCI=y
|
||||
#
|
||||
# PCI controller drivers
|
||||
#
|
||||
# CONFIG_PCI_FTPCI100 is not set
|
||||
# CONFIG_PCI_HOST_GENERIC is not set
|
||||
# CONFIG_PCIE_XILINX is not set
|
||||
# CONFIG_PCI_XGENE is not set
|
||||
# CONFIG_PCIE_ALTERA is not set
|
||||
# CONFIG_PCI_HOST_THUNDER_PEM is not set
|
||||
# CONFIG_PCI_HOST_THUNDER_ECAM is not set
|
||||
# CONFIG_PCI_FTPCI100 is not set
|
||||
# CONFIG_PCI_HOST_GENERIC is not set
|
||||
# CONFIG_PCIE_MICROCHIP_HOST is not set
|
||||
CONFIG_PCIE_ROCKCHIP=y
|
||||
CONFIG_PCIE_ROCKCHIP_HOST=y
|
||||
CONFIG_PCIE_ROCKCHIP_EP=y
|
||||
# CONFIG_PCIE_MICROCHIP_HOST is not set
|
||||
# CONFIG_PCI_XGENE is not set
|
||||
# CONFIG_PCIE_XILINX is not set
|
||||
|
||||
#
|
||||
# DesignWare PCI Core Support
|
||||
#
|
||||
CONFIG_PCIE_DW=y
|
||||
CONFIG_PCIE_DW_HOST=y
|
||||
# CONFIG_PCIE_DW_PLAT_HOST is not set
|
||||
# CONFIG_PCIE_DW_PLAT_EP is not set
|
||||
# CONFIG_PCI_HISI is not set
|
||||
CONFIG_PCIE_ROCKCHIP_DW_HOST=y
|
||||
# CONFIG_PCIE_KIRIN is not set
|
||||
# CONFIG_PCI_MESON is not set
|
||||
# CONFIG_PCIE_AL is not set
|
||||
# end of DesignWare PCI Core Support
|
||||
|
||||
#
|
||||
# Mobiveil PCIe Core Support
|
||||
#
|
||||
# end of Mobiveil PCIe Core Support
|
||||
|
||||
#
|
||||
# Cadence PCIe controllers support
|
||||
# Cadence-based PCIe controllers
|
||||
#
|
||||
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
|
||||
# CONFIG_PCIE_CADENCE_PLAT_EP is not set
|
||||
# CONFIG_PCI_J721E_HOST is not set
|
||||
# CONFIG_PCI_J721E_EP is not set
|
||||
# end of Cadence PCIe controllers support
|
||||
# end of Cadence-based PCIe controllers
|
||||
|
||||
#
|
||||
# DesignWare-based PCIe controllers
|
||||
#
|
||||
CONFIG_PCIE_DW=y
|
||||
CONFIG_PCIE_DW_HOST=y
|
||||
# CONFIG_PCIE_AL is not set
|
||||
# CONFIG_PCI_MESON is not set
|
||||
# CONFIG_PCI_HISI is not set
|
||||
# CONFIG_PCIE_KIRIN is not set
|
||||
# CONFIG_PCIE_DW_PLAT_HOST is not set
|
||||
# CONFIG_PCIE_DW_PLAT_EP is not set
|
||||
CONFIG_PCIE_ROCKCHIP_DW_HOST=y
|
||||
# end of DesignWare-based PCIe controllers
|
||||
|
||||
#
|
||||
# Mobiveil-based PCIe controllers
|
||||
#
|
||||
# end of Mobiveil-based PCIe controllers
|
||||
# end of PCI controller drivers
|
||||
|
||||
#
|
||||
@@ -2009,6 +2016,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# Firmware loader
|
||||
#
|
||||
CONFIG_FW_LOADER=y
|
||||
CONFIG_FW_LOADER_DEBUG=y
|
||||
CONFIG_EXTRA_FIRMWARE=""
|
||||
# CONFIG_FW_LOADER_USER_HELPER is not set
|
||||
# CONFIG_FW_LOADER_COMPRESS is not set
|
||||
@@ -2028,6 +2036,7 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||
CONFIG_GENERIC_CPU_VULNERABILITIES=y
|
||||
CONFIG_SOC_BUS=y
|
||||
CONFIG_REGMAP=y
|
||||
# CONFIG_REGMAP_KUNIT is not set
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_REGMAP_SPI=m
|
||||
CONFIG_REGMAP_SPMI=m
|
||||
@@ -2039,6 +2048,7 @@ CONFIG_DMA_SHARED_BUFFER=y
|
||||
# CONFIG_DMA_FENCE_TRACE is not set
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
CONFIG_GENERIC_ARCH_NUMA=y
|
||||
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
|
||||
# end of Generic Driver Options
|
||||
|
||||
#
|
||||
@@ -2485,8 +2495,6 @@ CONFIG_SATA_MOBILE_LPM_POLICY=0
|
||||
CONFIG_SATA_AHCI_PLATFORM=y
|
||||
# CONFIG_AHCI_DWC is not set
|
||||
CONFIG_AHCI_CEVA=y
|
||||
CONFIG_AHCI_XGENE=y
|
||||
CONFIG_AHCI_QORIQ=y
|
||||
# CONFIG_SATA_INIC162X is not set
|
||||
# CONFIG_SATA_ACARD_AHCI is not set
|
||||
CONFIG_SATA_SIL24=y
|
||||
@@ -2627,6 +2635,7 @@ CONFIG_TCM_PSCSI=m
|
||||
CONFIG_TCM_USER2=m
|
||||
CONFIG_LOOPBACK_TARGET=m
|
||||
CONFIG_ISCSI_TARGET=m
|
||||
# CONFIG_REMOTE_TARGET is not set
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
@@ -2714,6 +2723,8 @@ CONFIG_NET_DSA_LOOP=m
|
||||
CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m
|
||||
CONFIG_NET_DSA_LANTIQ_GSWIP=m
|
||||
CONFIG_NET_DSA_MT7530=m
|
||||
CONFIG_NET_DSA_MT7530_MDIO=m
|
||||
CONFIG_NET_DSA_MT7530_MMIO=m
|
||||
CONFIG_NET_DSA_MV88E6060=m
|
||||
CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m
|
||||
CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m
|
||||
@@ -2726,6 +2737,7 @@ CONFIG_NET_DSA_MV88E6XXX=m
|
||||
# CONFIG_NET_DSA_MSCC_SEVILLE is not set
|
||||
CONFIG_NET_DSA_AR9331=m
|
||||
CONFIG_NET_DSA_QCA8K=m
|
||||
# CONFIG_NET_DSA_QCA8K_LEDS_SUPPORT is not set
|
||||
CONFIG_NET_DSA_SJA1105=m
|
||||
# CONFIG_NET_DSA_SJA1105_PTP is not set
|
||||
CONFIG_NET_DSA_XRS700X=m
|
||||
@@ -2763,6 +2775,7 @@ CONFIG_NET_VENDOR_AMD=y
|
||||
# CONFIG_PCNET32 is not set
|
||||
CONFIG_AMD_XGBE=y
|
||||
# CONFIG_AMD_XGBE_DCB is not set
|
||||
# CONFIG_PDS_CORE is not set
|
||||
CONFIG_NET_VENDOR_AQUANTIA=y
|
||||
CONFIG_AQTION=m
|
||||
CONFIG_NET_VENDOR_ARC=y
|
||||
@@ -2853,7 +2866,6 @@ CONFIG_E1000E=y
|
||||
CONFIG_IGB=y
|
||||
CONFIG_IGB_HWMON=y
|
||||
CONFIG_IGBVF=y
|
||||
# CONFIG_IXGB is not set
|
||||
CONFIG_IXGBE=m
|
||||
CONFIG_IXGBE_HWMON=y
|
||||
# CONFIG_IXGBE_DCB is not set
|
||||
@@ -2864,9 +2876,6 @@ CONFIG_IXGBE_IPSEC=y
|
||||
# CONFIG_ICE is not set
|
||||
# CONFIG_FM10K is not set
|
||||
# CONFIG_IGC is not set
|
||||
CONFIG_NET_VENDOR_WANGXUN=y
|
||||
# CONFIG_NGBE is not set
|
||||
# CONFIG_TXGBE is not set
|
||||
# CONFIG_JME is not set
|
||||
CONFIG_NET_VENDOR_ADI=y
|
||||
# CONFIG_ADIN1110 is not set
|
||||
@@ -2998,6 +3007,9 @@ CONFIG_MSE102X=m
|
||||
CONFIG_NET_VENDOR_VIA=y
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
CONFIG_NET_VENDOR_WANGXUN=y
|
||||
# CONFIG_NGBE is not set
|
||||
# CONFIG_TXGBE is not set
|
||||
CONFIG_NET_VENDOR_WIZNET=y
|
||||
# CONFIG_WIZNET_W5100 is not set
|
||||
# CONFIG_WIZNET_W5300 is not set
|
||||
@@ -3011,6 +3023,7 @@ CONFIG_PHYLINK=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_SWPHY=y
|
||||
CONFIG_LED_TRIGGER_PHY=y
|
||||
CONFIG_PHYLIB_LEDS=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_SFP=m
|
||||
|
||||
@@ -3042,11 +3055,13 @@ CONFIG_MARVELL_88X2222_PHY=m
|
||||
CONFIG_MAXLINEAR_GPHY=m
|
||||
CONFIG_MEDIATEK_GE_PHY=m
|
||||
CONFIG_MICREL_PHY=y
|
||||
# CONFIG_MICROCHIP_T1S_PHY is not set
|
||||
CONFIG_MICROCHIP_PHY=m
|
||||
CONFIG_MICROCHIP_T1_PHY=m
|
||||
# CONFIG_MICROSEMI_PHY is not set
|
||||
CONFIG_MOTORCOMM_PHY=m
|
||||
CONFIG_NATIONAL_PHY=m
|
||||
# CONFIG_NXP_CBTX_PHY is not set
|
||||
CONFIG_NXP_C45_TJA11XX_PHY=m
|
||||
# CONFIG_NXP_TJA11XX_PHY is not set
|
||||
# CONFIG_NCN26000_PHY is not set
|
||||
@@ -3159,6 +3174,7 @@ CONFIG_MDIO_BUS_MUX_MMIOREG=y
|
||||
# PCS device drivers
|
||||
#
|
||||
CONFIG_PCS_XPCS=m
|
||||
CONFIG_PCS_MTK_LYNXI=m
|
||||
# end of PCS device drivers
|
||||
|
||||
CONFIG_PPP=m
|
||||
@@ -3322,6 +3338,7 @@ CONFIG_BRCMFMAC_PCIE=y
|
||||
CONFIG_BRCM_TRACING=y
|
||||
CONFIG_BRCMDBG=y
|
||||
CONFIG_WLAN_VENDOR_CISCO=y
|
||||
# CONFIG_AIRO is not set
|
||||
CONFIG_WLAN_VENDOR_INTEL=y
|
||||
CONFIG_IPW2100=m
|
||||
# CONFIG_IPW2100_MONITOR is not set
|
||||
@@ -3515,8 +3532,8 @@ CONFIG_WLAN_UWE5622=m
|
||||
CONFIG_SPRDWL_NG=m
|
||||
CONFIG_UNISOC_WIFI_PS=y
|
||||
CONFIG_TTY_OVERY_SDIO=m
|
||||
CONFIG_MAC80211_HWSIM=m
|
||||
CONFIG_USB_NET_RNDIS_WLAN=m
|
||||
CONFIG_MAC80211_HWSIM=m
|
||||
CONFIG_VIRT_WIFI=m
|
||||
# CONFIG_WAN is not set
|
||||
CONFIG_IEEE802154_DRIVERS=m
|
||||
@@ -3570,6 +3587,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
CONFIG_INPUT_JOYDEV=m
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_INPUT_EVBUG is not set
|
||||
# CONFIG_INPUT_KUNIT_TEST is not set
|
||||
|
||||
#
|
||||
# Input Device Drivers
|
||||
@@ -3715,6 +3733,7 @@ CONFIG_TOUCHSCREEN_MMS114=m
|
||||
CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
|
||||
CONFIG_TOUCHSCREEN_MSG2638=m
|
||||
CONFIG_TOUCHSCREEN_MTOUCH=m
|
||||
# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
|
||||
# CONFIG_TOUCHSCREEN_IMAGIS is not set
|
||||
CONFIG_TOUCHSCREEN_IMX6UL_TSC=m
|
||||
CONFIG_TOUCHSCREEN_INEXIO=m
|
||||
@@ -4084,7 +4103,6 @@ CONFIG_SPI_DESIGNWARE=m
|
||||
CONFIG_SPI_DW_PCI=m
|
||||
CONFIG_SPI_DW_MMIO=m
|
||||
CONFIG_SPI_DLN2=m
|
||||
CONFIG_SPI_NXP_FLEXSPI=m
|
||||
CONFIG_SPI_GPIO=m
|
||||
CONFIG_SPI_FSL_LIB=m
|
||||
CONFIG_SPI_FSL_SPI=m
|
||||
@@ -4179,6 +4197,7 @@ CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_GPIOLIB_IRQCHIP=y
|
||||
CONFIG_OF_GPIO_MM_GPIOCHIP=y
|
||||
# CONFIG_DEBUG_GPIO is not set
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_CDEV=y
|
||||
@@ -4215,6 +4234,7 @@ CONFIG_GPIO_AMD_FCH=m
|
||||
# I2C GPIO expanders
|
||||
#
|
||||
CONFIG_GPIO_ADNP=m
|
||||
# CONFIG_GPIO_FXL6408 is not set
|
||||
CONFIG_GPIO_GW_PLD=m
|
||||
CONFIG_GPIO_MAX7300=m
|
||||
CONFIG_GPIO_MAX732X=m
|
||||
@@ -4498,6 +4518,7 @@ CONFIG_SENSORS_OCC=m
|
||||
CONFIG_SENSORS_PCF8591=m
|
||||
CONFIG_PMBUS=m
|
||||
CONFIG_SENSORS_PMBUS=m
|
||||
# CONFIG_SENSORS_ACBEL_FSG032 is not set
|
||||
# CONFIG_SENSORS_ADM1266 is not set
|
||||
CONFIG_SENSORS_ADM1275=m
|
||||
CONFIG_SENSORS_BEL_PFE=m
|
||||
@@ -4709,6 +4730,7 @@ CONFIG_MFD_AAT2870_CORE=y
|
||||
# CONFIG_MFD_AXP20X_I2C is not set
|
||||
CONFIG_MFD_CROS_EC_DEV=y
|
||||
# CONFIG_MFD_MADERA is not set
|
||||
# CONFIG_MFD_MAX597X is not set
|
||||
# CONFIG_PMIC_DA903X is not set
|
||||
# CONFIG_MFD_DA9052_SPI is not set
|
||||
# CONFIG_MFD_DA9052_I2C is not set
|
||||
@@ -4883,9 +4905,11 @@ CONFIG_REGULATOR_RK808=y
|
||||
CONFIG_REGULATOR_RN5T618=m
|
||||
CONFIG_REGULATOR_ROHM=m
|
||||
# CONFIG_REGULATOR_RT4801 is not set
|
||||
# CONFIG_REGULATOR_RT4803 is not set
|
||||
CONFIG_REGULATOR_RT4831=m
|
||||
CONFIG_REGULATOR_RT5033=m
|
||||
# CONFIG_REGULATOR_RT5190A is not set
|
||||
# CONFIG_REGULATOR_RT5739 is not set
|
||||
CONFIG_REGULATOR_RT5759=m
|
||||
CONFIG_REGULATOR_RT6160=m
|
||||
# CONFIG_REGULATOR_RT6190 is not set
|
||||
@@ -5411,15 +5435,12 @@ CONFIG_VIDEO_IMX412=m
|
||||
# CONFIG_VIDEO_IMX415 is not set
|
||||
CONFIG_VIDEO_MAX9271_LIB=m
|
||||
CONFIG_VIDEO_MT9M001=m
|
||||
CONFIG_VIDEO_MT9M032=m
|
||||
CONFIG_VIDEO_MT9M111=m
|
||||
CONFIG_VIDEO_MT9P031=m
|
||||
CONFIG_VIDEO_MT9T001=m
|
||||
CONFIG_VIDEO_MT9T112=m
|
||||
CONFIG_VIDEO_MT9V011=m
|
||||
CONFIG_VIDEO_MT9V032=m
|
||||
CONFIG_VIDEO_MT9V111=m
|
||||
CONFIG_VIDEO_NOON010PC30=m
|
||||
# CONFIG_VIDEO_OG01A1B is not set
|
||||
CONFIG_VIDEO_OV02A10=m
|
||||
# CONFIG_VIDEO_OV08D10 is not set
|
||||
@@ -5457,13 +5478,9 @@ CONFIG_VIDEO_RJ54N1=m
|
||||
CONFIG_VIDEO_S5C73M3=m
|
||||
CONFIG_VIDEO_S5K5BAF=m
|
||||
CONFIG_VIDEO_S5K6A3=m
|
||||
CONFIG_VIDEO_S5K6AA=m
|
||||
CONFIG_VIDEO_SR030PC30=m
|
||||
# CONFIG_VIDEO_ST_VGXY61 is not set
|
||||
CONFIG_VIDEO_VS6624=m
|
||||
CONFIG_VIDEO_CCS=m
|
||||
CONFIG_VIDEO_ET8EK8=m
|
||||
CONFIG_VIDEO_M5MOLS=m
|
||||
# end of Camera sensor devices
|
||||
|
||||
#
|
||||
@@ -5552,7 +5569,6 @@ CONFIG_VIDEO_CX25840=m
|
||||
#
|
||||
# Video encoders
|
||||
#
|
||||
CONFIG_VIDEO_AD9389B=m
|
||||
CONFIG_VIDEO_ADV7170=m
|
||||
CONFIG_VIDEO_ADV7175=m
|
||||
CONFIG_VIDEO_ADV7343=m
|
||||
@@ -5817,6 +5833,7 @@ CONFIG_DVB_DUMMY_FE=m
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_APERTURE_HELPERS=y
|
||||
CONFIG_VIDEO_CMDLINE=y
|
||||
CONFIG_VIDEO_NOMODESET=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_MIPI_DBI=m
|
||||
@@ -5882,6 +5899,7 @@ CONFIG_DRM_VMWGFX=m
|
||||
# CONFIG_DRM_MGAG200 is not set
|
||||
# CONFIG_DRM_QXL is not set
|
||||
CONFIG_DRM_VIRTIO_GPU=m
|
||||
CONFIG_DRM_VIRTIO_GPU_KMS=y
|
||||
CONFIG_DRM_PANEL=y
|
||||
|
||||
#
|
||||
@@ -5918,12 +5936,14 @@ CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
|
||||
CONFIG_DRM_PANEL_LG_LB035Q02=m
|
||||
# CONFIG_DRM_PANEL_LG_LG4573 is not set
|
||||
# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
|
||||
CONFIG_DRM_PANEL_NEC_NL8048HL11=m
|
||||
# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
|
||||
CONFIG_DRM_PANEL_NEWVISION_NV3052C=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT35510=m
|
||||
# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT35950=m
|
||||
# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT36672A=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT39016=m
|
||||
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
|
||||
@@ -5955,6 +5975,7 @@ CONFIG_DRM_PANEL_SITRONIX_ST7701=m
|
||||
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
|
||||
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
|
||||
CONFIG_DRM_PANEL_SONY_ACX565AKM=m
|
||||
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
|
||||
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
|
||||
CONFIG_DRM_PANEL_TDO_TL070WSH30=m
|
||||
CONFIG_DRM_PANEL_TPO_TD028TTEC1=m
|
||||
@@ -5989,6 +6010,7 @@ CONFIG_DRM_LVDS_CODEC=m
|
||||
# CONFIG_DRM_NXP_PTN3460 is not set
|
||||
# CONFIG_DRM_PARADE_PS8622 is not set
|
||||
CONFIG_DRM_PARADE_PS8640=m
|
||||
# CONFIG_DRM_SAMSUNG_DSIM is not set
|
||||
# CONFIG_DRM_SIL_SII8620 is not set
|
||||
# CONFIG_DRM_SII902X is not set
|
||||
CONFIG_DRM_SII9234=m
|
||||
@@ -6056,7 +6078,6 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
|
||||
#
|
||||
# Frame buffer Devices
|
||||
#
|
||||
CONFIG_FB_CMDLINE=y
|
||||
CONFIG_FB_NOTIFY=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
@@ -6416,6 +6437,8 @@ CONFIG_SND_SOC_CS35L41_I2C=m
|
||||
CONFIG_SND_SOC_CS35L45=m
|
||||
CONFIG_SND_SOC_CS35L45_SPI=m
|
||||
CONFIG_SND_SOC_CS35L45_I2C=m
|
||||
# CONFIG_SND_SOC_CS35L56_I2C is not set
|
||||
# CONFIG_SND_SOC_CS35L56_SPI is not set
|
||||
# CONFIG_SND_SOC_CS42L42 is not set
|
||||
# CONFIG_SND_SOC_CS42L51_I2C is not set
|
||||
# CONFIG_SND_SOC_CS42L52 is not set
|
||||
@@ -6799,7 +6822,6 @@ CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD_PCI=y
|
||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||
# CONFIG_USB_UHCI_HCD is not set
|
||||
# CONFIG_USB_U132_HCD is not set
|
||||
# CONFIG_USB_SL811_HCD is not set
|
||||
# CONFIG_USB_R8A66597_HCD is not set
|
||||
CONFIG_USB_HCD_BCMA=m
|
||||
@@ -6967,7 +6989,6 @@ CONFIG_USB_LCD=m
|
||||
CONFIG_USB_CYPRESS_CY7C63=m
|
||||
CONFIG_USB_CYTHERM=m
|
||||
CONFIG_USB_IDMOUSE=m
|
||||
CONFIG_USB_FTDI_ELAN=m
|
||||
CONFIG_USB_APPLEDISPLAY=m
|
||||
CONFIG_APPLE_MFI_FASTCHARGE=m
|
||||
CONFIG_USB_SISUSBVGA=m
|
||||
@@ -7227,6 +7248,7 @@ CONFIG_LEDS_GPIO=y
|
||||
# CONFIG_LEDS_DAC124S085 is not set
|
||||
CONFIG_LEDS_PWM=m
|
||||
CONFIG_LEDS_REGULATOR=m
|
||||
# CONFIG_LEDS_BD2606MVV is not set
|
||||
# CONFIG_LEDS_BD2802 is not set
|
||||
# CONFIG_LEDS_LT3593 is not set
|
||||
CONFIG_LEDS_ADP5520=m
|
||||
@@ -7267,7 +7289,6 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_ACTIVITY=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
|
||||
#
|
||||
@@ -7519,6 +7540,7 @@ CONFIG_VP_VDPA=m
|
||||
# CONFIG_SNET_VDPA is not set
|
||||
CONFIG_VHOST_IOTLB=m
|
||||
CONFIG_VHOST_RING=m
|
||||
CONFIG_VHOST_TASK=y
|
||||
CONFIG_VHOST=m
|
||||
CONFIG_VHOST_MENU=y
|
||||
CONFIG_VHOST_NET=m
|
||||
@@ -7611,12 +7633,6 @@ CONFIG_AD9834=m
|
||||
# CONFIG_AD5933 is not set
|
||||
# end of Network Analyzer, Impedance Converters
|
||||
|
||||
#
|
||||
# Active energy metering IC
|
||||
#
|
||||
# CONFIG_ADE7854 is not set
|
||||
# end of Active energy metering IC
|
||||
|
||||
#
|
||||
# Resolver to digital converters
|
||||
#
|
||||
@@ -7725,6 +7741,7 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m
|
||||
CONFIG_COMMON_CLK_XGENE=y
|
||||
CONFIG_COMMON_CLK_PWM=y
|
||||
# CONFIG_COMMON_CLK_RS9_PCIE is not set
|
||||
# CONFIG_COMMON_CLK_SI521XX is not set
|
||||
# CONFIG_COMMON_CLK_VC5 is not set
|
||||
# CONFIG_COMMON_CLK_VC7 is not set
|
||||
CONFIG_COMMON_CLK_BD718XX=m
|
||||
@@ -8050,6 +8067,7 @@ CONFIG_TI_ADC128S052=m
|
||||
CONFIG_TI_ADC161S626=m
|
||||
CONFIG_TI_ADS1015=m
|
||||
# CONFIG_TI_ADS7924 is not set
|
||||
# CONFIG_TI_ADS1100 is not set
|
||||
CONFIG_TI_ADS7950=m
|
||||
CONFIG_TI_ADS8344=m
|
||||
CONFIG_TI_ADS8688=m
|
||||
@@ -8329,6 +8347,7 @@ CONFIG_ISL29125=m
|
||||
CONFIG_HID_SENSOR_ALS=m
|
||||
CONFIG_HID_SENSOR_PROX=m
|
||||
CONFIG_JSA1212=m
|
||||
# CONFIG_ROHM_BU27034 is not set
|
||||
CONFIG_RPR0521=m
|
||||
CONFIG_SENSORS_LM3533=m
|
||||
CONFIG_LTR501=m
|
||||
@@ -8556,7 +8575,6 @@ CONFIG_RESET_SIMPLE=y
|
||||
#
|
||||
CONFIG_GENERIC_PHY=y
|
||||
CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
||||
CONFIG_PHY_XGENE=y
|
||||
CONFIG_PHY_CAN_TRANSCEIVER=m
|
||||
|
||||
#
|
||||
@@ -8606,6 +8624,7 @@ CONFIG_ARM_CCI_PMU=m
|
||||
# CONFIG_ARM_CCN is not set
|
||||
# CONFIG_ARM_CMN is not set
|
||||
CONFIG_ARM_PMU=y
|
||||
CONFIG_ARM_PMUV3=y
|
||||
# CONFIG_ARM_DSU_PMU is not set
|
||||
# CONFIG_ARM_SPE_PMU is not set
|
||||
CONFIG_HISI_PCIE_PMU=m
|
||||
@@ -8627,6 +8646,14 @@ CONFIG_DEV_DAX=m
|
||||
CONFIG_DEV_DAX_CXL=m
|
||||
CONFIG_NVMEM=y
|
||||
CONFIG_NVMEM_SYSFS=y
|
||||
|
||||
#
|
||||
# Layout Types
|
||||
#
|
||||
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
|
||||
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
|
||||
# end of Layout Types
|
||||
|
||||
# CONFIG_NVMEM_RAVE_SP_EEPROM is not set
|
||||
CONFIG_NVMEM_RMEM=m
|
||||
CONFIG_NVMEM_ROCKCHIP_EFUSE=y
|
||||
@@ -8668,6 +8695,7 @@ CONFIG_MOST=m
|
||||
CONFIG_MOST_SND=m
|
||||
# CONFIG_PECI is not set
|
||||
# CONFIG_HTE is not set
|
||||
# CONFIG_CDX_BUS is not set
|
||||
# end of Device Drivers
|
||||
|
||||
#
|
||||
@@ -8705,6 +8733,7 @@ CONFIG_JFS_SECURITY=y
|
||||
CONFIG_JFS_STATISTICS=y
|
||||
CONFIG_XFS_FS=m
|
||||
CONFIG_XFS_SUPPORT_V4=y
|
||||
CONFIG_XFS_SUPPORT_ASCII_CI=y
|
||||
CONFIG_XFS_QUOTA=y
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
CONFIG_XFS_RT=y
|
||||
@@ -8758,7 +8787,6 @@ CONFIG_FANOTIFY=y
|
||||
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
CONFIG_PRINT_QUOTA_WARNING=y
|
||||
# CONFIG_QUOTA_DEBUG is not set
|
||||
CONFIG_QUOTA_TREE=m
|
||||
CONFIG_QFMT_V1=m
|
||||
@@ -9003,7 +9031,7 @@ CONFIG_CIFS_FSCACHE=y
|
||||
CONFIG_SMB_SERVER=m
|
||||
CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
|
||||
CONFIG_SMB_SERVER_KERBEROS5=y
|
||||
CONFIG_SMBFS_COMMON=m
|
||||
CONFIG_SMBFS=m
|
||||
CONFIG_CODA_FS=m
|
||||
CONFIG_AFS_FS=m
|
||||
# CONFIG_AFS_DEBUG is not set
|
||||
@@ -9065,7 +9093,6 @@ CONFIG_NLS_MAC_ROMANIAN=m
|
||||
CONFIG_NLS_MAC_TURKISH=m
|
||||
CONFIG_NLS_UTF8=m
|
||||
CONFIG_DLM=m
|
||||
# CONFIG_DLM_DEPRECATED_API is not set
|
||||
# CONFIG_DLM_DEBUG is not set
|
||||
CONFIG_UNICODE=y
|
||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
|
||||
@@ -9099,10 +9126,8 @@ CONFIG_FORTIFY_SOURCE=y
|
||||
# CONFIG_STATIC_USERMODEHELPER is not set
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
|
||||
# CONFIG_SECURITY_SELINUX_DISABLE is not set
|
||||
CONFIG_SECURITY_SELINUX_DEVELOP=y
|
||||
CONFIG_SECURITY_SELINUX_AVC_STATS=y
|
||||
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
|
||||
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
|
||||
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
|
||||
CONFIG_SECURITY_SMACK=y
|
||||
@@ -9388,6 +9413,8 @@ CONFIG_CRYPTO_DEV_ATMEL_I2C=m
|
||||
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
|
||||
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
|
||||
# CONFIG_CRYPTO_DEV_CCP is not set
|
||||
CONFIG_CRYPTO_DEV_NITROX=m
|
||||
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
|
||||
# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
|
||||
# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
|
||||
# CONFIG_CRYPTO_DEV_QAT_C62X is not set
|
||||
@@ -9395,8 +9422,6 @@ CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
|
||||
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
|
||||
# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
|
||||
# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
|
||||
CONFIG_CRYPTO_DEV_NITROX=m
|
||||
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
|
||||
CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m
|
||||
CONFIG_CRYPTO_DEV_ROCKCHIP=m
|
||||
# CONFIG_CRYPTO_DEV_ROCKCHIP_DEBUG is not set
|
||||
@@ -9540,6 +9565,7 @@ CONFIG_INTERVAL_TREE=y
|
||||
CONFIG_XARRAY_MULTI=y
|
||||
CONFIG_ASSOCIATIVE_ARRAY=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_IOPORT_MAP=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_DMA_OPS=y
|
||||
@@ -9708,6 +9734,7 @@ CONFIG_GENERIC_PTDUMP=y
|
||||
# CONFIG_PTDUMP_DEBUGFS is not set
|
||||
CONFIG_HAVE_DEBUG_KMEMLEAK=y
|
||||
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||
# CONFIG_PER_VMA_LOCK_STATS is not set
|
||||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
# CONFIG_SHRINKER_DEBUG is not set
|
||||
# CONFIG_DEBUG_STACK_USAGE is not set
|
||||
@@ -9849,6 +9876,7 @@ CONFIG_DYNAMIC_EVENTS=y
|
||||
CONFIG_PROBE_EVENTS=y
|
||||
# CONFIG_BPF_KPROBE_OVERRIDE is not set
|
||||
# CONFIG_SYNTH_EVENTS is not set
|
||||
# CONFIG_USER_EVENTS is not set
|
||||
# CONFIG_HIST_TRIGGERS is not set
|
||||
# CONFIG_TRACE_EVENT_INJECT is not set
|
||||
# CONFIG_TRACEPOINT_BENCHMARK is not set
|
||||
|
||||
@@ -141,8 +141,8 @@ case $BRANCH in
|
||||
edge)
|
||||
|
||||
KERNELPATCHDIR='rockchip64-'$BRANCH
|
||||
declare -g KERNEL_MAJOR_MINOR="6.3" # Major and minor versions of this kernel.
|
||||
KERNELBRANCH="branch:linux-6.3.y"
|
||||
declare -g KERNEL_MAJOR_MINOR="6.4" # Major and minor versions of this kernel.
|
||||
KERNELBRANCH="branch:linux-6.4.y"
|
||||
LINUXFAMILY=rockchip64
|
||||
LINUXCONFIG='linux-rockchip64-'$BRANCH
|
||||
|
||||
|
||||
@@ -612,7 +612,7 @@ driver_rtl8822BS() {
|
||||
|
||||
driver_uwe5622_allwinner() {
|
||||
# Unisoc uwe5622 wireless Support
|
||||
if linux-version compare "${version}" ge 6.0 && linux-version compare "${version}" le 6.3 && [[ "$LINUXFAMILY" == sunxi* || "$LINUXFAMILY" == rockchip64 ]]; then
|
||||
if linux-version compare "${version}" ge 6.0 && linux-version compare "${version}" le 6.4 && [[ "$LINUXFAMILY" == sunxi* || "$LINUXFAMILY" == rockchip64 ]]; then
|
||||
display_alert "Adding" "Drivers for Unisoc uwe5622 found on some Allwinner and Rockchip boards" "info"
|
||||
|
||||
if linux-version compare "${version}" ge 6.3; then
|
||||
@@ -622,6 +622,11 @@ driver_uwe5622_allwinner() {
|
||||
process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-allwinner.patch" "applying"
|
||||
process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-allwinner-bugfix.patch" "applying"
|
||||
fi
|
||||
|
||||
if linux-version compare "${version}" ge 6.4; then
|
||||
process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-v6.4-post.patch" "applying"
|
||||
fi
|
||||
|
||||
process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-warnings.patch" "applying"
|
||||
|
||||
# Add to section Makefile
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
config: # This is file 'patch/kernel/archive/meson64-6.4/0000.patching_config.yaml'
|
||||
|
||||
# Just some info stuff; not used by the patching scripts
|
||||
name: rockchip64-6.4
|
||||
kind: kernel
|
||||
type: mainline # or: vendor
|
||||
branch: linux-6.3.y
|
||||
last-known-good-tag: v6.3.6
|
||||
maintainers:
|
||||
- { github: rpardini, name: Ricardo Pardini, email: ricardo@pardini.net, armbian-forum: rpardini }
|
||||
|
||||
# .dts files in these directories will be copied as-is to the build tree; later ones overwrite earlier ones.
|
||||
# This is meant to provide a way to "add a board DTS" without having to null-patch them in.
|
||||
dts-directories:
|
||||
- { source: "dt", target: "arch/arm64/boot/dts/rockchip" }
|
||||
|
||||
# every file in these directories will be copied as-is to the build tree; later ones overwrite earlier ones
|
||||
# This is meant as a way to have overlays, bare, in a directory, without having to null-patch them in.
|
||||
# @TODO need a solution to auto-Makefile the overlays as well
|
||||
overlay-directories:
|
||||
- { source: "overlay", target: "arch/arm64/boot/dts/rockchip/overlay" }
|
||||
|
||||
# the Makefile in each of these directories will be magically patched to include the dts files copied
|
||||
# or patched-in; overlay subdir will be included "-y" if it exists.
|
||||
# No more Makefile patching needed, yay!
|
||||
auto-patch-dt-makefile:
|
||||
- { directory: "arch/arm64/boot/dts/rockchip", config-var: "CONFIG_ARCH_ROCKCHIP" }
|
||||
|
||||
# configuration for when applying patches to git / auto-rewriting patches (development cycle helpers)
|
||||
patches-to-git:
|
||||
do-not-commit-files:
|
||||
- "MAINTAINERS" # constant churn, drop them. sorry.
|
||||
- "Documentation/devicetree/bindings/arm/rockchip.yaml" # constant churn, conflicts on every bump, drop it. sorry.
|
||||
do-not-commit-regexes: # Python-style regexes
|
||||
- "^arch/([a-zA-Z0-9]+)/boot/dts/([a-zA-Z0-9]+)/Makefile$" # ignore DT Makefile patches, we've an auto-patcher now
|
||||
|
||||
1343
patch/kernel/archive/rockchip64-6.4/add-board-helios64.patch
Normal file
1343
patch/kernel/archive/rockchip64-6.4/add-board-helios64.patch
Normal file
File diff suppressed because it is too large
Load Diff
211
patch/kernel/archive/rockchip64-6.4/add-maker-friendlyarm.patch
Normal file
211
patch/kernel/archive/rockchip64-6.4/add-maker-friendlyarm.patch
Normal file
@@ -0,0 +1,211 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: hmz007 <hmz007@gmail.com>
|
||||
Date: Sat, 11 Jan 2020 19:35:03 +0800
|
||||
Subject: soc: friendlyelec: Add board info driver
|
||||
|
||||
Change-Id: I122adb4f99c816b5c177f16392fb2df9c10a47be
|
||||
Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
---
|
||||
drivers/soc/Kconfig | 1 +
|
||||
drivers/soc/Makefile | 1 +
|
||||
drivers/soc/friendlyelec/Kconfig | 11 +
|
||||
drivers/soc/friendlyelec/Makefile | 1 +
|
||||
drivers/soc/friendlyelec/board.c | 143 ++++++++++
|
||||
5 files changed, 157 insertions(+)
|
||||
|
||||
diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
|
||||
index 4e176280113a..8dabe409f072 100644
|
||||
--- a/drivers/soc/Kconfig
|
||||
+++ b/drivers/soc/Kconfig
|
||||
@@ -30,5 +30,6 @@ source "drivers/soc/ti/Kconfig"
|
||||
source "drivers/soc/ux500/Kconfig"
|
||||
source "drivers/soc/versatile/Kconfig"
|
||||
source "drivers/soc/xilinx/Kconfig"
|
||||
+source "drivers/soc/friendlyelec/Kconfig"
|
||||
|
||||
endmenu
|
||||
diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile
|
||||
index 3b0f9fb3b5c8..9652d3a514af 100644
|
||||
--- a/drivers/soc/Makefile
|
||||
+++ b/drivers/soc/Makefile
|
||||
@@ -36,3 +36,4 @@ obj-y += ti/
|
||||
obj-$(CONFIG_ARCH_U8500) += ux500/
|
||||
obj-$(CONFIG_PLAT_VERSATILE) += versatile/
|
||||
obj-y += xilinx/
|
||||
+obj-$(CONFIG_VENDOR_FRIENDLYELEC) += friendlyelec/
|
||||
diff --git a/drivers/soc/friendlyelec/Kconfig b/drivers/soc/friendlyelec/Kconfig
|
||||
new file mode 100644
|
||||
index 000000000000..9e21c663e6c8
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/friendlyelec/Kconfig
|
||||
@@ -0,0 +1,11 @@
|
||||
+#
|
||||
+# Machine drivers
|
||||
+#
|
||||
+
|
||||
+if ARCH_ROCKCHIP
|
||||
+
|
||||
+config VENDOR_FRIENDLYELEC
|
||||
+ bool "FriendlyElec board based on RK33XX SoCs"
|
||||
+ default n
|
||||
+
|
||||
+endif
|
||||
diff --git a/drivers/soc/friendlyelec/Makefile b/drivers/soc/friendlyelec/Makefile
|
||||
new file mode 100644
|
||||
index 000000000000..870542f05177
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/friendlyelec/Makefile
|
||||
@@ -0,0 +1 @@
|
||||
+obj-$(CONFIG_VENDOR_FRIENDLYELEC) += board.o
|
||||
diff --git a/drivers/soc/friendlyelec/board.c b/drivers/soc/friendlyelec/board.c
|
||||
new file mode 100644
|
||||
index 000000000000..886a8e1f7dc0
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/friendlyelec/board.c
|
||||
@@ -0,0 +1,143 @@
|
||||
+/*
|
||||
+ * Copyright (C) Guangzhou FriendlyELEC 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.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/io.h>
|
||||
+#include <linux/of.h>
|
||||
+#include <linux/of_platform.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/crc32.h>
|
||||
+#include <linux/nvmem-consumer.h>
|
||||
+
|
||||
+#define BOARD_MANF "FriendlyELEC Computer Tech. Co., Ltd."
|
||||
+
|
||||
+static const char *board_mach;
|
||||
+static const char *board_name;
|
||||
+static u32 board_rev;
|
||||
+static u32 board_serial_high, board_serial_low;
|
||||
+
|
||||
+static ssize_t board_sys_info_show(struct device *dev,
|
||||
+ struct device_attribute *attr,
|
||||
+ char *buf)
|
||||
+{
|
||||
+ char *s = buf;
|
||||
+
|
||||
+ s += sprintf(s, "Hardware\t: %s\n", board_mach);
|
||||
+ s += sprintf(s, "Revision\t: %04x\n", board_rev);
|
||||
+ s += sprintf(s, "Serial\t\t: %08x%08x\n",
|
||||
+ board_serial_high, board_serial_low);
|
||||
+ s += sprintf(s, "\nModel\t\t: %s\n", board_name);
|
||||
+ s += sprintf(s, "Manufacturer\t: %s\n", BOARD_MANF);
|
||||
+
|
||||
+ return (s - buf);
|
||||
+}
|
||||
+
|
||||
+static struct device_attribute board_attr_info =
|
||||
+ __ATTR(info, S_IRUGO, board_sys_info_show, NULL);
|
||||
+
|
||||
+static int rockchip_cpuinfo_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct device *dev = &pdev->dev;
|
||||
+ struct nvmem_cell *cell;
|
||||
+ unsigned char *efuse_buf, buf[16];
|
||||
+ size_t len;
|
||||
+ int i;
|
||||
+
|
||||
+ cell = nvmem_cell_get(dev, "id");
|
||||
+ if (IS_ERR(cell)) {
|
||||
+ dev_err(dev, "failed to get id cell: %ld\n", PTR_ERR(cell));
|
||||
+ return PTR_ERR(cell);
|
||||
+ }
|
||||
+
|
||||
+ efuse_buf = nvmem_cell_read(cell, &len);
|
||||
+ nvmem_cell_put(cell);
|
||||
+
|
||||
+ if (len != 16) {
|
||||
+ kfree(efuse_buf);
|
||||
+ dev_err(dev, "invalid id len: %zu\n", len);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < 8; i++) {
|
||||
+ buf[i] = efuse_buf[1 + (i << 1)];
|
||||
+ buf[i + 8] = efuse_buf[i << 1];
|
||||
+ }
|
||||
+
|
||||
+ kfree(efuse_buf);
|
||||
+
|
||||
+ board_serial_low = crc32(0, buf, 8);
|
||||
+ board_serial_high = crc32(board_serial_low, buf + 8, 8);
|
||||
+
|
||||
+ dev_info(dev, "Serial\t\t: %08x%08x\n",
|
||||
+ board_serial_high, board_serial_low);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int board_sys_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct device_node *np = pdev->dev.of_node;
|
||||
+ struct device_node *root;
|
||||
+
|
||||
+ root = of_find_node_by_path("/");
|
||||
+
|
||||
+ of_property_read_u32(np, "hwrev", &board_rev);
|
||||
+
|
||||
+ if (of_property_read_string(np, "machine", &board_mach))
|
||||
+ of_property_read_string(root, "compatible", &board_mach);
|
||||
+
|
||||
+ if (of_property_read_string(np, "model", &board_name))
|
||||
+ of_property_read_string(root, "model", &board_name);
|
||||
+
|
||||
+ of_node_put(root);
|
||||
+
|
||||
+ rockchip_cpuinfo_probe(pdev);
|
||||
+
|
||||
+ device_create_file(&pdev->dev, &board_attr_info);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id board_sys_of_match[] = {
|
||||
+ { .compatible = "friendlyelec,board" },
|
||||
+ {}
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(of, board_sys_of_match);
|
||||
+
|
||||
+static struct platform_driver board_sys_driver = {
|
||||
+ .probe = board_sys_probe,
|
||||
+ .driver = {
|
||||
+ .name = "friendlyelec-board",
|
||||
+ .of_match_table = board_sys_of_match,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static int __init board_sys_init(void)
|
||||
+{
|
||||
+ return platform_driver_register(&board_sys_driver);
|
||||
+}
|
||||
+late_initcall(board_sys_init);
|
||||
+
|
||||
+MODULE_AUTHOR("support@friendlyarm.com");
|
||||
+MODULE_DESCRIPTION("FriendlyElec NanoPi Series Machine Driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
Armbian
|
||||
|
||||
1808
patch/kernel/archive/rockchip64-6.4/add-rockchip-iep-driver.patch
Normal file
1808
patch/kernel/archive/rockchip64-6.4/add-rockchip-iep-driver.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,72 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aditya Prayoga <aprayoga@users.noreply.github.com>
|
||||
Date: Thu, 4 Mar 2021 10:39:40 +0700
|
||||
Subject: [ARCHEOLOGY] Attempt to improve stability on Helios64 (#2680)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * Adjust the RK808 buck step to improve stability
|
||||
> X-Git-Archeology: > recovered message: > * Adjust vdd_log and enable vdd_center init voltage
|
||||
> X-Git-Archeology: > recovered message: > For some reason, regulator-init-microvolt property under PMIC does not applied. Set the voltage on board file.
|
||||
> X-Git-Archeology: - Revision eefad69215557708b151a5d9244617a4ffd1281c: https://github.com/armbian/build/commit/eefad69215557708b151a5d9244617a4ffd1281c
|
||||
> X-Git-Archeology: Date: Thu, 04 Mar 2021 10:39:40 +0700
|
||||
> X-Git-Archeology: From: Aditya Prayoga <aprayoga@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Attempt to improve stability on Helios64 (#2680)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
index ac0da7b7f43c..38bf0f583f44 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
@@ -478,6 +478,7 @@ rk808: pmic@1b {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int_l>;
|
||||
rockchip,system-power-controller;
|
||||
+ max-buck-steps-per-change = <4>;
|
||||
wakeup-source;
|
||||
|
||||
vcc1-supply = <&vcc5v0_sys>;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aditya Prayoga <aditya@kobol.io>
|
||||
Date: Mon, 7 Sep 2020 20:29:43 +0700
|
||||
Subject: Remove overclock from helios64
|
||||
|
||||
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
index 38bf0f583f44..e1994a72e308 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
@@ -1152,4 +1152,12 @@ &vopl {
|
||||
|
||||
&vopl_mmu {
|
||||
status = "okay";
|
||||
-};
|
||||
\ No newline at end of file
|
||||
+};
|
||||
+
|
||||
+&cluster0_opp {
|
||||
+ /delete-node/ opp06;
|
||||
+};
|
||||
+
|
||||
+&cluster1_opp {
|
||||
+ /delete-node/ opp08;
|
||||
+};
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aditya Prayoga <aditya@kobol.io>
|
||||
Date: Tue, 15 Sep 2020 13:42:02 +0700
|
||||
Subject: Remove PCIE ep-gpios from Helios64
|
||||
|
||||
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
index e1994a72e308..f4c50e5ce896 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
@@ -771,7 +771,6 @@ &io_domains {
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
- ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
|
||||
num-lanes = <2>;
|
||||
max-link-speed = <2>;
|
||||
pinctrl-names = "default";
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: tonymac32 <tonymckahan@gmail.com>
|
||||
Date: Wed, 17 Feb 2021 00:54:00 -0500
|
||||
Subject: Patching something
|
||||
|
||||
Signed-off-by: tonymac32 <tonymckahan@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts | 96 ++++++++++
|
||||
1 file changed, 96 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
|
||||
index 3bf8f959e42c..2b1220beabd5 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
|
||||
@@ -9,6 +9,7 @@
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
+#include <dt-bindings/usb/pd.h>
|
||||
#include "rk3399-nanopi4.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -66,6 +67,12 @@ fan: pwm-fan {
|
||||
};
|
||||
};
|
||||
|
||||
+&cdn_dp {
|
||||
+ status = "okay";
|
||||
+ extcon = <&fusb0>;
|
||||
+ phys = <&tcphy0_dp>;
|
||||
+};
|
||||
+
|
||||
&cpu_thermal {
|
||||
trips {
|
||||
cpu_warm: cpu_warm {
|
||||
@@ -94,6 +101,50 @@ map3 {
|
||||
};
|
||||
};
|
||||
|
||||
+&fusb0 {
|
||||
+
|
||||
+ connector {
|
||||
+ compatible = "usb-c-connector";
|
||||
+ label = "USB-C";
|
||||
+ power-role = "dual";
|
||||
+ data-role = "dual";
|
||||
+ try-power-role = "sink";
|
||||
+ source-pdos = <PDO_FIXED(5000, 1200, PDO_FIXED_USB_COMM)>;
|
||||
+ sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
|
||||
+ op-sink-microwatt = <5000000>;
|
||||
+
|
||||
+ extcon-cables = <1 2 5 6 9 10 12 44>;
|
||||
+ typec-altmodes = <0xff01 1 0x001c0000 1>;
|
||||
+
|
||||
+ ports {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ port@0 {
|
||||
+ reg = <0>;
|
||||
+ usb_con_hs: endpoint {
|
||||
+ remote-endpoint =
|
||||
+ <&u2phy0_typec_hs>;
|
||||
+ };
|
||||
+ };
|
||||
+ port@1 {
|
||||
+ reg = <1>;
|
||||
+
|
||||
+ usb_con_ss: endpoint {
|
||||
+ remote-endpoint =
|
||||
+ <&tcphy0_typec_ss>;
|
||||
+ };
|
||||
+ };
|
||||
+ port@2 {
|
||||
+ reg = <2>;
|
||||
+ usb_con_dp: endpoint {
|
||||
+ remote-endpoint =
|
||||
+ <&tcphy0_typec_dp>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&pcie0 {
|
||||
ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||
num-lanes = <4>;
|
||||
@@ -114,12 +165,57 @@ &sdhci {
|
||||
mmc-hs400-enhanced-strobe;
|
||||
};
|
||||
|
||||
+&tcphy0 {
|
||||
+ extcon = <&fusb0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tcphy0_dp {
|
||||
+ port {
|
||||
+ tcphy0_typec_dp: endpoint {
|
||||
+ remote-endpoint = <&usb_con_dp>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&tcphy0_usb3 {
|
||||
+ port {
|
||||
+ tcphy0_typec_ss: endpoint {
|
||||
+ remote-endpoint = <&usb_con_ss>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&u2phy0 {
|
||||
+ extcon = <&fusb0>;
|
||||
+};
|
||||
+
|
||||
&u2phy0_host {
|
||||
phy-supply = <&vcc5v0_host0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&u2phy0_otg {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ u2phy0_typec_hs: endpoint {
|
||||
+ remote-endpoint = <&usb_con_hs>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&u2phy1_host {
|
||||
phy-supply = <&vcc5v0_host0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&u2phy1_otg {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbdrd_dwc3_0 {
|
||||
+ extcon = <&fusb0>;
|
||||
};
|
||||
|
||||
&vcc5v0_sys {
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Piotr Szczepanik <piter75@gmail.com>
|
||||
Date: Thu, 28 Nov 2019 22:29:54 +0000
|
||||
Subject: [ARCHEOLOGY] Initial addition of NanoPi M4V2
|
||||
|
||||
> X-Git-Archeology: - Revision c4eecbcef0d4dc499baf0155449e71dc774bc7c4: https://github.com/armbian/build/commit/c4eecbcef0d4dc499baf0155449e71dc774bc7c4
|
||||
> X-Git-Archeology: Date: Thu, 28 Nov 2019 22:29:54 +0000
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Initial addition of NanoPi M4V2
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 40a3d4ecb9a75c17183e2129491b7bc03060a315: https://github.com/armbian/build/commit/40a3d4ecb9a75c17183e2129491b7bc03060a315
|
||||
> X-Git-Archeology: Date: Sun, 17 May 2020 18:42:24 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Fixed rt5651 codec probing after its driver was changed to module (#1969)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 401fb1fde426c93121c4639b34a450d8ff551c85: https://github.com/armbian/build/commit/401fb1fde426c93121c4639b34a450d8ff551c85
|
||||
> X-Git-Archeology: Date: Sat, 20 Nov 2021 19:49:22 +0100
|
||||
> X-Git-Archeology: From: simple <991605149@qq.com>
|
||||
> X-Git-Archeology: Subject: Fixed rt5651 codec build module (#3270)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 51 ++++++++++
|
||||
sound/soc/rockchip/Kconfig | 9 ++
|
||||
2 files changed, 60 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
|
||||
index b6e082f1f6d9..8b37dcb91864 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
|
||||
@@ -132,6 +132,27 @@ status_led: led-0 {
|
||||
};
|
||||
};
|
||||
|
||||
+ rt5651-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,name = "realtek,rt5651-codec";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ simple-audio-card,widgets =
|
||||
+ "Microphone", "Mic Jack",
|
||||
+ "Headphone", "Headphone Jack";
|
||||
+ simple-audio-card,routing =
|
||||
+ "Mic Jack", "micbias1",
|
||||
+ "IN1P", "Mic Jack",
|
||||
+ "Headphone Jack", "HPOL",
|
||||
+ "Headphone Jack", "HPOR";
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s1>;
|
||||
+ };
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&rt5651>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
sdio_pwrseq: sdio-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
clocks = <&rk808 1>;
|
||||
@@ -216,6 +237,10 @@ &hdmi_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&hdmi_sound {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c0 {
|
||||
clock-frequency = <400000>;
|
||||
i2c-scl-rising-time-ns = <160>;
|
||||
@@ -464,6 +489,16 @@ &i2c1 {
|
||||
i2c-scl-rising-time-ns = <150>;
|
||||
i2c-scl-falling-time-ns = <30>;
|
||||
status = "okay";
|
||||
+
|
||||
+ rt5651: rt5651@1a {
|
||||
+ compatible = "realtek,rt5651";
|
||||
+ reg = <0x1a>;
|
||||
+ clocks = <&cru SCLK_I2S_8CH_OUT>;
|
||||
+ clock-names = "mclk";
|
||||
+ hp-det-gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_LOW>;
|
||||
+ // spk-con-gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
@@ -495,6 +530,16 @@ &i2s2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&i2s1 {
|
||||
+ rockchip,playback-channels = <8>;
|
||||
+ rockchip,capture-channels = <8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2s2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&io_domains {
|
||||
bt656-supply = <&vcc_1v8>;
|
||||
audio-supply = <&vcca1v8_codec>;
|
||||
@@ -760,3 +805,9 @@ &vopl {
|
||||
&vopl_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&spdif {
|
||||
+ i2c-scl-rising-time-ns = <450>;
|
||||
+ i2c-scl-falling-time-ns = <15>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig
|
||||
index f98a2fa85edd..be36e36c8783 100644
|
||||
--- a/sound/soc/rockchip/Kconfig
|
||||
+++ b/sound/soc/rockchip/Kconfig
|
||||
@@ -65,6 +65,15 @@ config SND_SOC_ROCKCHIP_RT5645
|
||||
Say Y or M here if you want to add support for SoC audio on Rockchip
|
||||
boards using the RT5645/RT5650 codec, such as Veyron.
|
||||
|
||||
+config SND_SOC_ROCKCHIP_RT5651
|
||||
+ tristate "ASoC support for Rockchip boards using a RT5651 codec"
|
||||
+ depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && HAVE_CLK
|
||||
+ select SND_SOC_ROCKCHIP_I2S
|
||||
+ select SND_SOC_RT5651
|
||||
+ help
|
||||
+ Say Y or M here if you want to add support for SoC audio on Rockchip
|
||||
+ boards using the RT5651 codec, such as FriendlyARM's Nano{Pi,PC} family.
|
||||
+
|
||||
config SND_SOC_RK3288_HDMI_ANALOG
|
||||
tristate "ASoC support multiple codecs for Rockchip RK3288 boards"
|
||||
depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && HAVE_CLK
|
||||
--
|
||||
Armbian
|
||||
|
||||
730
patch/kernel/archive/rockchip64-6.4/board-nanopi-r2s.patch
Normal file
730
patch/kernel/archive/rockchip64-6.4/board-nanopi-r2s.patch
Normal file
@@ -0,0 +1,730 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Sat, 7 Jan 2023 11:59:47 +0000
|
||||
Subject: rockchip64: consolidate nanopi r2s device trees
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts | 493 ++++++----
|
||||
1 file changed, 325 insertions(+), 168 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
index 1445b879ac7a..7ebf21d7faac 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
@@ -1,118 +1,166 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
- * Copyright (c) 2020 David Bauer <mail@david-bauer.net>
|
||||
+ * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd.
|
||||
+ * (http://www.friendlyarm.com)
|
||||
+ *
|
||||
+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
-
|
||||
-#include <dt-bindings/input/input.h>
|
||||
-#include <dt-bindings/gpio/gpio.h>
|
||||
+#include "rk3328-dram-default-timing.dtsi"
|
||||
#include "rk3328.dtsi"
|
||||
|
||||
/ {
|
||||
- model = "FriendlyElec NanoPi R2S";
|
||||
- compatible = "friendlyarm,nanopi-r2s", "rockchip,rk3328";
|
||||
+ model = "FriendlyElec boards based on Rockchip RK3328";
|
||||
+ compatible = "friendlyelec,nanopi-r2",
|
||||
+ "rockchip,rk3328";
|
||||
|
||||
aliases {
|
||||
- ethernet1 = &rtl8153;
|
||||
- mmc0 = &sdmmc;
|
||||
+ ethernet1 = &r8153;
|
||||
};
|
||||
|
||||
chosen {
|
||||
+ bootargs = "swiotlb=1 coherent_pool=1m consoleblank=0";
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
- gmac_clk: gmac-clock {
|
||||
+ gmac_clkin: external-gmac-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "gmac_clkin";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
- keys {
|
||||
- compatible = "gpio-keys";
|
||||
- pinctrl-0 = <&reset_button_pin>;
|
||||
- pinctrl-names = "default";
|
||||
-
|
||||
- key-reset {
|
||||
- label = "reset";
|
||||
- gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
- linux,code = <KEY_RESTART>;
|
||||
- debounce-interval = <50>;
|
||||
- };
|
||||
+ mach: board {
|
||||
+ compatible = "friendlyelec,board";
|
||||
+ machine = "NANOPI-R2";
|
||||
+ hwrev = <255>;
|
||||
+ model = "NanoPi R2 Series";
|
||||
+ nvmem-cells = <&efuse_id>, <&efuse_cpu_version>;
|
||||
+ nvmem-cell-names = "id", "cpu-version";
|
||||
};
|
||||
|
||||
- leds {
|
||||
+ leds: gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
- pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
|
||||
pinctrl-names = "default";
|
||||
+ pinctrl-0 =<&leds_gpio>;
|
||||
+ status = "disabled";
|
||||
|
||||
- lan_led: led-0 {
|
||||
- gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
- label = "nanopi-r2s:green:lan";
|
||||
- };
|
||||
-
|
||||
- sys_led: led-1 {
|
||||
+ led@1 {
|
||||
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||
- label = "nanopi-r2s:red:sys";
|
||||
- default-state = "on";
|
||||
- };
|
||||
-
|
||||
- wan_led: led-2 {
|
||||
- gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
|
||||
- label = "nanopi-r2s:green:wan";
|
||||
+ label = "status_led";
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ linux,default-trigger-delay-ms = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
- vcc_io_sdio: sdmmcio-regulator {
|
||||
- compatible = "regulator-gpio";
|
||||
- enable-active-high;
|
||||
- gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
|
||||
- pinctrl-0 = <&sdio_vcc_pin>;
|
||||
+ sdio_pwrseq: sdio-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ clocks = <&rk805 1>;
|
||||
+ clock-names = "ext_clock";
|
||||
pinctrl-names = "default";
|
||||
- regulator-name = "vcc_io_sdio";
|
||||
- regulator-always-on;
|
||||
- regulator-min-microvolt = <1800000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- regulator-settling-time-us = <5000>;
|
||||
- regulator-type = "voltage";
|
||||
- startup-delay-us = <2000>;
|
||||
- states = <1800000 0x1>,
|
||||
- <3300000 0x0>;
|
||||
- vin-supply = <&vcc_io_33>;
|
||||
+ pinctrl-0 = <&wifi_enable_h>;
|
||||
+
|
||||
+ /*
|
||||
+ * On the module itself this is one of these (depending
|
||||
+ * on the actual card populated):
|
||||
+ * - SDIO_RESET_L_WL_REG_ON
|
||||
+ * - PDN (power down when low)
|
||||
+ */
|
||||
+ reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ sdmmc_ext: dwmmc@ff5f0000 {
|
||||
+ compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
|
||||
+ reg = <0x0 0xff5f0000 0x0 0x4000>;
|
||||
+ clock-freq-min-max = <400000 150000000>;
|
||||
+ clocks = <&cru HCLK_SDMMC_EXT>, <&cru SCLK_SDMMC_EXT>,
|
||||
+ <&cru SCLK_SDMMC_EXT_DRV>, <&cru SCLK_SDMMC_EXT_SAMPLE>;
|
||||
+ clock-names = "biu", "ciu", "ciu-drv", "ciu-sample";
|
||||
+ fifo-depth = <0x100>;
|
||||
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ status = "disabled";
|
||||
};
|
||||
|
||||
vcc_sd: sdmmc-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
- gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||
- pinctrl-0 = <&sdmmc0m1_pin>;
|
||||
+ gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
- regulator-name = "vcc_sd";
|
||||
+ pinctrl-0 = <&sdmmc0m1_pin>;
|
||||
regulator-boot-on;
|
||||
+ regulator-name = "vcc_sd";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
- vin-supply = <&vcc_io_33>;
|
||||
+ vin-supply = <&vcc_io>;
|
||||
+ };
|
||||
+
|
||||
+ vccio_sd: sdmmcio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
|
||||
+ states = <1800000 0x1
|
||||
+ 3300000 0x0>;
|
||||
+ regulator-name = "vccio_sd";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-always-on;
|
||||
+ vin-supply = <&vcc_io>;
|
||||
+ startup-delay-us = <2000>;
|
||||
+ regulator-settling-time-us = <5000>;
|
||||
+ enable-active-high;
|
||||
+ status = "disabled";
|
||||
};
|
||||
|
||||
- vdd_5v: vdd-5v {
|
||||
+ vcc_sys: vcc-sys {
|
||||
compatible = "regulator-fixed";
|
||||
- regulator-name = "vdd_5v";
|
||||
+ regulator-name = "vcc_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
- vdd_5v_lan: vdd-5v-lan {
|
||||
+ vcc_phy: vcc-phy-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
- enable-active-high;
|
||||
- gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||||
- pinctrl-0 = <&lan_vdd_pin>;
|
||||
- pinctrl-names = "default";
|
||||
- regulator-name = "vdd_5v_lan";
|
||||
+ regulator-name = "vcc_phy";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
- vin-supply = <&vdd_5v>;
|
||||
+ };
|
||||
+
|
||||
+ vcc_host_vbus: host-vbus-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc_host_vbus";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ };
|
||||
+
|
||||
+ /delete-node/ dmc-opp-table;
|
||||
+
|
||||
+ dmc_opp_table: dmc_opp_table {
|
||||
+ compatible = "operating-points-v2";
|
||||
+
|
||||
+ opp-786000000 {
|
||||
+ opp-hz = /bits/ 64 <786000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-798000000 {
|
||||
+ opp-hz = /bits/ 64 <798000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-840000000 {
|
||||
+ opp-hz = /bits/ 64 <840000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-924000000 {
|
||||
+ opp-hz = /bits/ 64 <924000000>;
|
||||
+ opp-microvolt = <1100000 1100000 1200000>;
|
||||
+ };
|
||||
+ opp-1056000000 {
|
||||
+ opp-hz = /bits/ 64 <1056000000>;
|
||||
+ opp-microvolt = <1175000 1175000 1200000>;
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -120,34 +168,57 @@ &cpu0 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
-&cpu1 {
|
||||
- cpu-supply = <&vdd_arm>;
|
||||
+&dfi {
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
-&cpu2 {
|
||||
- cpu-supply = <&vdd_arm>;
|
||||
+&dmc {
|
||||
+ center-supply = <&vdd_logic>;
|
||||
+ ddr_timing = <&ddr_timing>;
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
-&cpu3 {
|
||||
- cpu-supply = <&vdd_arm>;
|
||||
+&emmc {
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ max-frequency = <150000000>;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ no-sd;
|
||||
+ non-removable;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
|
||||
+ vmmc-supply = <&vcc_io>;
|
||||
+ vqmmc-supply = <&vcc18_emmc>;
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
-&display_subsystem {
|
||||
+&gmac2phy {
|
||||
+ phy-supply = <&vcc_phy>;
|
||||
+ clock_in_out = "output";
|
||||
+ assigned-clocks = <&cru SCLK_MAC2PHY_SRC>;
|
||||
+ assigned-clock-rate = <50000000>;
|
||||
+ assigned-clocks = <&cru SCLK_MAC2PHY>;
|
||||
+ assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&gmac2io {
|
||||
assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
|
||||
- assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
|
||||
+ assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
|
||||
clock_in_out = "input";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&rgmiim1_pins>;
|
||||
phy-handle = <&rtl8211e>;
|
||||
phy-mode = "rgmii";
|
||||
- phy-supply = <&vcc_io_33>;
|
||||
- pinctrl-0 = <&rgmiim1_pins>;
|
||||
- pinctrl-names = "default";
|
||||
- rx_delay = <0x18>;
|
||||
+ phy-supply = <&vcc_phy>;
|
||||
+ snps,reset-active-low;
|
||||
+ snps,reset-delays-us = <0 10000 30000>;
|
||||
+ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
snps,aal;
|
||||
+ snps,rxpbl = <0x4>;
|
||||
+ snps,txpbl = <0x4>;
|
||||
tx_delay = <0x24>;
|
||||
+ rx_delay = <0x18>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
@@ -155,13 +226,11 @@ mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
- rtl8211e: ethernet-phy@1 {
|
||||
- reg = <1>;
|
||||
- pinctrl-0 = <ð_phy_reset_pin>;
|
||||
- pinctrl-names = "default";
|
||||
+ rtl8211e: phy@0 {
|
||||
+ reg = <0>;
|
||||
reset-assert-us = <10000>;
|
||||
- reset-deassert-us = <50000>;
|
||||
- reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
+ reset-deassert-us = <30000>;
|
||||
+ /* reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; */
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -169,36 +238,35 @@ rtl8211e: ethernet-phy@1 {
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
- rk805: pmic@18 {
|
||||
+ rk805: rk805@18 {
|
||||
compatible = "rockchip,rk805";
|
||||
reg = <0x18>;
|
||||
- interrupt-parent = <&gpio1>;
|
||||
- interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ interrupt-parent = <&gpio2>;
|
||||
+ interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "xin32k", "rk805-clkout2";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
- pinctrl-0 = <&pmic_int_l>;
|
||||
pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pmic_int_l>;
|
||||
rockchip,system-power-controller;
|
||||
wakeup-source;
|
||||
|
||||
- vcc1-supply = <&vdd_5v>;
|
||||
- vcc2-supply = <&vdd_5v>;
|
||||
- vcc3-supply = <&vdd_5v>;
|
||||
- vcc4-supply = <&vdd_5v>;
|
||||
- vcc5-supply = <&vcc_io_33>;
|
||||
- vcc6-supply = <&vdd_5v>;
|
||||
+ vcc1-supply = <&vcc_sys>;
|
||||
+ vcc2-supply = <&vcc_sys>;
|
||||
+ vcc3-supply = <&vcc_sys>;
|
||||
+ vcc4-supply = <&vcc_sys>;
|
||||
+ vcc5-supply = <&vcc_io>;
|
||||
+ vcc6-supply = <&vcc_io>;
|
||||
|
||||
regulators {
|
||||
- vdd_log: DCDC_REG1 {
|
||||
- regulator-name = "vdd_log";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
+ vdd_logic: DCDC_REG1 {
|
||||
+ regulator-name = "vdd_logic";
|
||||
+ regulator-init-microvolt = <1075000>;
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
- regulator-ramp-delay = <12500>;
|
||||
-
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
@@ -207,12 +275,11 @@ regulator-state-mem {
|
||||
|
||||
vdd_arm: DCDC_REG2 {
|
||||
regulator-name = "vdd_arm";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
+ regulator-init-microvolt = <1225000>;
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
- regulator-ramp-delay = <12500>;
|
||||
-
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <950000>;
|
||||
@@ -223,19 +290,17 @@ vcc_ddr: DCDC_REG3 {
|
||||
regulator-name = "vcc_ddr";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
-
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
- vcc_io_33: DCDC_REG4 {
|
||||
- regulator-name = "vcc_io_33";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
+ vcc_io: DCDC_REG4 {
|
||||
+ regulator-name = "vcc_io";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
-
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
@@ -244,11 +309,10 @@ regulator-state-mem {
|
||||
|
||||
vcc_18: LDO_REG1 {
|
||||
regulator-name = "vcc_18";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
-
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
@@ -257,11 +321,10 @@ regulator-state-mem {
|
||||
|
||||
vcc18_emmc: LDO_REG2 {
|
||||
regulator-name = "vcc18_emmc";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
-
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
@@ -270,11 +333,10 @@ regulator-state-mem {
|
||||
|
||||
vdd_10: LDO_REG3 {
|
||||
regulator-name = "vdd_10";
|
||||
- regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
-
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
@@ -285,20 +347,21 @@ regulator-state-mem {
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
- pmuio-supply = <&vcc_io_33>;
|
||||
- vccio1-supply = <&vcc_io_33>;
|
||||
- vccio2-supply = <&vcc18_emmc>;
|
||||
- vccio3-supply = <&vcc_io_sdio>;
|
||||
- vccio4-supply = <&vcc_18>;
|
||||
- vccio5-supply = <&vcc_io_33>;
|
||||
- vccio6-supply = <&vcc_io_33>;
|
||||
status = "okay";
|
||||
+
|
||||
+ vccio1-supply = <&vcc_io>;
|
||||
+ vccio2-supply = <&vcc18_emmc>;
|
||||
+ vccio3-supply = <&vcc_io>;
|
||||
+ vccio4-supply = <&vcc_io>;
|
||||
+ vccio5-supply = <&vcc_io>;
|
||||
+ vccio6-supply = <&vcc_18>;
|
||||
+ pmuio-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
- button {
|
||||
- reset_button_pin: reset-button-pin {
|
||||
- rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ pmic {
|
||||
+ pmic_int_l: pmic-int-l {
|
||||
+ rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -308,61 +371,165 @@ eth_phy_reset_pin: eth-phy-reset-pin {
|
||||
};
|
||||
};
|
||||
|
||||
- leds {
|
||||
- lan_led_pin: lan-led-pin {
|
||||
- rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ sdio-pwrseq {
|
||||
+ wifi_enable_h: wifi-enable-h {
|
||||
+ rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
+ };
|
||||
|
||||
- sys_led_pin: sys-led-pin {
|
||||
- rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ sdmmc0 {
|
||||
+ sdmmc0_clk: sdmmc0-clk {
|
||||
+ rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none_4ma>;
|
||||
+ };
|
||||
+
|
||||
+ sdmmc0_cmd: sdmmc0-cmd {
|
||||
+ rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up_4ma>;
|
||||
};
|
||||
|
||||
- wan_led_pin: wan-led-pin {
|
||||
- rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ sdmmc0_dectn: sdmmc0-dectn {
|
||||
+ rockchip,pins = <1 RK_PA5 1 &pcfg_pull_up_4ma>;
|
||||
+ };
|
||||
+
|
||||
+ sdmmc0_bus4: sdmmc0-bus4 {
|
||||
+ rockchip,pins =
|
||||
+ <1 RK_PA0 1 &pcfg_pull_up_4ma>,
|
||||
+ <1 RK_PA1 1 &pcfg_pull_up_4ma>,
|
||||
+ <1 RK_PA2 1 &pcfg_pull_up_4ma>,
|
||||
+ <1 RK_PA3 1 &pcfg_pull_up_4ma>;
|
||||
};
|
||||
};
|
||||
|
||||
- lan {
|
||||
- lan_vdd_pin: lan-vdd-pin {
|
||||
- rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ sdmmc0ext {
|
||||
+ sdmmc0ext_clk: sdmmc0ext-clk {
|
||||
+ rockchip,pins = <3 RK_PA2 3 &pcfg_pull_none_2ma>;
|
||||
+ };
|
||||
+
|
||||
+ sdmmc0ext_cmd: sdmmc0ext-cmd {
|
||||
+ rockchip,pins = <3 RK_PA0 3 &pcfg_pull_up_2ma>;
|
||||
+ };
|
||||
+
|
||||
+ sdmmc0ext_bus4: sdmmc0ext-bus4 {
|
||||
+ rockchip,pins =
|
||||
+ <3 RK_PA4 3 &pcfg_pull_up_2ma>,
|
||||
+ <3 RK_PA5 3 &pcfg_pull_up_2ma>,
|
||||
+ <3 RK_PA6 3 &pcfg_pull_up_2ma>,
|
||||
+ <3 RK_PA7 3 &pcfg_pull_up_2ma>;
|
||||
};
|
||||
};
|
||||
|
||||
- pmic {
|
||||
- pmic_int_l: pmic-int-l {
|
||||
- rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ gmac-1 {
|
||||
+ rgmiim1_pins: rgmiim1-pins {
|
||||
+ rockchip,pins =
|
||||
+ /* mac_txclk */
|
||||
+ <1 RK_PB4 2 &pcfg_pull_none_4ma>,
|
||||
+ /* mac_rxclk */
|
||||
+ <1 RK_PB5 2 &pcfg_pull_none>,
|
||||
+ /* mac_mdio */
|
||||
+ <1 RK_PC3 2 &pcfg_pull_none_2ma>,
|
||||
+ /* mac_txen */
|
||||
+ <1 RK_PD1 2 &pcfg_pull_none_4ma>,
|
||||
+ /* mac_clk */
|
||||
+ <1 RK_PC5 2 &pcfg_pull_none_2ma>,
|
||||
+ /* mac_rxdv */
|
||||
+ <1 RK_PC6 2 &pcfg_pull_none>,
|
||||
+ /* mac_mdc */
|
||||
+ <1 RK_PC7 2 &pcfg_pull_none_2ma>,
|
||||
+ /* mac_rxd1 */
|
||||
+ <1 RK_PB2 2 &pcfg_pull_none>,
|
||||
+ /* mac_rxd0 */
|
||||
+ <1 RK_PB3 2 &pcfg_pull_none>,
|
||||
+ /* mac_txd1 */
|
||||
+ <1 RK_PB0 2 &pcfg_pull_none_4ma>,
|
||||
+ /* mac_txd0 */
|
||||
+ <1 RK_PB1 2 &pcfg_pull_none_4ma>,
|
||||
+ /* mac_rxd3 */
|
||||
+ <1 RK_PB6 2 &pcfg_pull_none>,
|
||||
+ /* mac_rxd2 */
|
||||
+ <1 RK_PB7 2 &pcfg_pull_none>,
|
||||
+ /* mac_txd3 */
|
||||
+ <1 RK_PC0 2 &pcfg_pull_none_4ma>,
|
||||
+ /* mac_txd2 */
|
||||
+ <1 RK_PC1 2 &pcfg_pull_none_4ma>,
|
||||
+
|
||||
+ /* mac_txclk */
|
||||
+ <0 RK_PB0 1 &pcfg_pull_none>,
|
||||
+ /* mac_txen */
|
||||
+ <0 RK_PB4 1 &pcfg_pull_none>,
|
||||
+ /* mac_clk */
|
||||
+ <0 RK_PD0 1 &pcfg_pull_none>,
|
||||
+ /* mac_txd1 */
|
||||
+ <0 RK_PC0 1 &pcfg_pull_none>,
|
||||
+ /* mac_txd0 */
|
||||
+ <0 RK_PC1 1 &pcfg_pull_none>,
|
||||
+ /* mac_txd3 */
|
||||
+ <0 RK_PC7 1 &pcfg_pull_none>,
|
||||
+ /* mac_txd2 */
|
||||
+ <0 RK_PC6 1 &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
- sd {
|
||||
- sdio_vcc_pin: sdio-vcc-pin {
|
||||
- rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ usb {
|
||||
+ host_vbus_drv: host-vbus-drv {
|
||||
+ rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ otg_vbus_drv: otg-vbus-drv {
|
||||
+ rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ gpio-leds {
|
||||
+ leds_gpio: leds-gpio {
|
||||
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
-&pwm2 {
|
||||
+&sdmmc {
|
||||
+ bus-width = <4>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ cap-sd-highspeed;
|
||||
+ disable-wp;
|
||||
+ max-frequency = <150000000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
|
||||
+ vmmc-supply = <&vcc_sd>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&sdmmc {
|
||||
+&sdmmc_ext {
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
+ cap-sdio-irq;
|
||||
disable-wp;
|
||||
- pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
|
||||
+ keep-power-in-suspend;
|
||||
+ max-frequency = <100000000>;
|
||||
+ mmc-pwrseq = <&sdio_pwrseq>;
|
||||
+ non-removable;
|
||||
+ num-slots = <1>;
|
||||
pinctrl-names = "default";
|
||||
- sd-uhs-sdr12;
|
||||
- sd-uhs-sdr25;
|
||||
- sd-uhs-sdr50;
|
||||
+ pinctrl-0 = <&sdmmc0ext_clk &sdmmc0ext_cmd &sdmmc0ext_bus4>;
|
||||
+ rockchip,default-sample-phase = <120>;
|
||||
+ supports-sdio;
|
||||
sd-uhs-sdr104;
|
||||
- vmmc-supply = <&vcc_sd>;
|
||||
- vqmmc-supply = <&vcc_io_sdio>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
status = "okay";
|
||||
+
|
||||
+ brcmf: bcrmf@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ interrupt-parent = <&gpio1>;
|
||||
+ interrupts = <RK_PD2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "host-wake";
|
||||
+ };
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
- rockchip,hw-tshut-mode = <0>;
|
||||
- rockchip,hw-tshut-polarity = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -378,13 +545,16 @@ &u2phy_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&uart2 {
|
||||
+&usb20_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&usb20_otg {
|
||||
+&usb_host0_ehci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_host0_ohci {
|
||||
status = "okay";
|
||||
- dr_mode = "host";
|
||||
};
|
||||
|
||||
&usbdrd3 {
|
||||
@@ -393,17 +563,10 @@ &usbdrd3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
- /* Second port is for USB 3.0 */
|
||||
- rtl8153: device@2 {
|
||||
+ r8153: device@2 {
|
||||
compatible = "usbbda,8153";
|
||||
reg = <2>;
|
||||
+ realtek,led-data = <0x87>;
|
||||
+ local-mac-address = [00 00 00 00 00 00];
|
||||
};
|
||||
};
|
||||
-
|
||||
-&usb_host0_ehci {
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-&usb_host0_ohci {
|
||||
- status = "okay";
|
||||
-};
|
||||
@@ -0,0 +1,50 @@
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
index fe5b52610..a73767594 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
|
||||
@@ -60,10 +60,45 @@ vdd_5v: vdd-5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vdd_5v";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
+
|
||||
+ fan: pwm-fan {
|
||||
+ compatible = "pwm-fan";
|
||||
+ cooling-levels = <0 18 102 170 255>;
|
||||
+ 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";
|
||||
};
|
||||
335
patch/kernel/archive/rockchip64-6.4/board-orangepi-r1-plus.patch
Normal file
335
patch/kernel/archive/rockchip64-6.4/board-orangepi-r1-plus.patch
Normal file
@@ -0,0 +1,335 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
Date: Sat, 20 Jun 2020 22:39:57 +0200
|
||||
Subject: [ARCHEOLOGY] Initial ROCK Pi E support (as WIP) (#2042)
|
||||
|
||||
note: rpardini: rebased on top of v6.3.1. this patch used to overwrite
|
||||
a file, and is now a complete diff.
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * WIP: Adding RockpiE config
|
||||
> X-Git-Archeology: > recovered message: > Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: > recovered message: > * Mainline u-boot for ROCK Pi E
|
||||
> X-Git-Archeology: > recovered message: > * Initial ROCK Pi E device tree in kernel
|
||||
> X-Git-Archeology: > recovered message: > * Fixed supplies for ROCK Pi E device tree
|
||||
> X-Git-Archeology: > recovered message: > * Adjusted u-boot load address for rockchip64 boards with 256MB eg. ROCK Pi E
|
||||
> X-Git-Archeology: > recovered message: > * Blacklisted lima on ROCK Pi E
|
||||
> X-Git-Archeology: > recovered message: > * Fixed ROCK Pi E patch after merge from master
|
||||
> X-Git-Archeology: > recovered message: > * Removed mode settings from rk805 regulators
|
||||
> X-Git-Archeology: > recovered message: > * Fixed issues with offloading for gigabit interface of RockPi E
|
||||
> X-Git-Archeology: > recovered message: > * Adjusted ROCK Pi E board config
|
||||
> X-Git-Archeology: > recovered message: > * Added dev branch for ROCK Pi E
|
||||
> X-Git-Archeology: > recovered message: > * Add build targets
|
||||
> X-Git-Archeology: > recovered message: > Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: > recovered message: > * Exchange legacy to current in ROCK Pi E build targets
|
||||
> X-Git-Archeology: > recovered message: > Co-authored-by: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: - Revision e1ecb098330dc372740371dc2386f911833a0529: https://github.com/armbian/build/commit/e1ecb098330dc372740371dc2386f911833a0529
|
||||
> X-Git-Archeology: Date: Sat, 20 Jun 2020 22:39:57 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Initial ROCK Pi E support (as WIP) (#2042)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 72257bd0648c28fca32962126bb885a4a2c188cc: https://github.com/armbian/build/commit/72257bd0648c28fca32962126bb885a4a2c188cc
|
||||
> X-Git-Archeology: Date: Tue, 23 Jun 2020 16:37:54 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Make USB3 support of ROCK Pi E on par with other rk3328 boards (#2050)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e36ce875b025e112127cf8cc2d34825ebfe36569: https://github.com/armbian/build/commit/e36ce875b025e112127cf8cc2d34825ebfe36569
|
||||
> X-Git-Archeology: Date: Tue, 10 Nov 2020 21:43:13 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switched rockchip64-current to linux 5.9.y (#2309)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ccbc888b3f5731790128684959b55b6552e26190: https://github.com/armbian/build/commit/ccbc888b3f5731790128684959b55b6552e26190
|
||||
> X-Git-Archeology: Date: Sat, 28 Nov 2020 16:52:34 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: add dts rk3328-roc-pc, fix WIFI and USB 3.0 rk3328 (#2390)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 25bd76527e1276c4c00829f68c0ca0742ecc94c1: https://github.com/armbian/build/commit/25bd76527e1276c4c00829f68c0ca0742ecc94c1
|
||||
> X-Git-Archeology: Date: Sat, 28 Nov 2020 18:10:53 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Fix roc-rk3328-pc device tree reference to missing RK_FUNC_1
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dfd5cf9692e97774f7f0bfd72227144e36f58070: https://github.com/armbian/build/commit/dfd5cf9692e97774f7f0bfd72227144e36f58070
|
||||
> X-Git-Archeology: Date: Sun, 13 Dec 2020 22:13:03 -0500
|
||||
> X-Git-Archeology: From: tonymac32 <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ rockchip64 ] Clean up patchset
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 25e0f1633467c020f6ae68d09964a522fbfbe613: https://github.com/armbian/build/commit/25e0f1633467c020f6ae68d09964a522fbfbe613
|
||||
> X-Git-Archeology: Date: Mon, 18 Jan 2021 23:21:40 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Adjusted power and pmic configuration for Station M1 in current/dev
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision d8dbefd61838e5b0cfc2b93d2d168f3fb2666dfb: https://github.com/armbian/build/commit/d8dbefd61838e5b0cfc2b93d2d168f3fb2666dfb
|
||||
> X-Git-Archeology: Date: Tue, 27 Jul 2021 00:05:09 -0400
|
||||
> X-Git-Archeology: From: tonymac32 <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ rockchip64 ] rk3328 change to mainline USB3
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision a16699260fb786a4d89a1c335722e9fed49d19d2: https://github.com/armbian/build/commit/a16699260fb786a4d89a1c335722e9fed49d19d2
|
||||
> X-Git-Archeology: Date: Fri, 08 Jul 2022 22:35:59 +1200
|
||||
> X-Git-Archeology: From: schwar3kat <61094841+schwar3kat@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Refactored orangepi-r1plus-lts dts in kernel add board patch
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8648dde23ff090b5fb704adab036ed14cd944ba3: https://github.com/armbian/build/commit/8648dde23ff090b5fb704adab036ed14cd944ba3
|
||||
> X-Git-Archeology: Date: Thu, 22 Sep 2022 10:25:28 +0200
|
||||
> X-Git-Archeology: From: aiamadeus <42570690+aiamadeus@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: rockchip: fixes support for orangepi-r1plus (#4215)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts | 109 +++++++---
|
||||
1 file changed, 73 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
|
||||
index dc83d74045a3..4fe8eb39b64f 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
|
||||
@@ -1,13 +1,10 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
-/*
|
||||
- * Based on rk3328-nanopi-r2s.dts, which is:
|
||||
- * Copyright (c) 2020 David Bauer <mail@david-bauer.net>
|
||||
- */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
+#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
-#include <dt-bindings/leds/common.h>
|
||||
+#include "rk3328-dram-default-timing.dtsi"
|
||||
#include "rk3328.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -35,23 +32,20 @@ leds {
|
||||
pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
- led-0 {
|
||||
- function = LED_FUNCTION_LAN;
|
||||
- color = <LED_COLOR_ID_GREEN>;
|
||||
+ lan_led: led-0 {
|
||||
gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
+ label = "orangepi-r1-plus:green:lan";
|
||||
};
|
||||
|
||||
- led-1 {
|
||||
- function = LED_FUNCTION_STATUS;
|
||||
- color = <LED_COLOR_ID_RED>;
|
||||
+ sys_led: led-1 {
|
||||
gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
+ label = "orangepi-r1-plus:red:status";
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
|
||||
- led-2 {
|
||||
- function = LED_FUNCTION_WAN;
|
||||
- color = <LED_COLOR_ID_GREEN>;
|
||||
+ wan_led: led-2 {
|
||||
gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
|
||||
+ label = "orangepi-r1-plus:green:wan";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -62,19 +56,19 @@ vcc_sd: sdmmc-regulator {
|
||||
pinctrl-names = "default";
|
||||
regulator-name = "vcc_sd";
|
||||
regulator-boot-on;
|
||||
- vin-supply = <&vcc_io>;
|
||||
+ vin-supply = <&vcc_io_33>;
|
||||
};
|
||||
|
||||
- vcc_sys: vcc-sys-regulator {
|
||||
+ vdd_5v: vdd-5v {
|
||||
compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc_sys";
|
||||
+ regulator-name = "vdd_5v";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
- vdd_5v_lan: vdd-5v-lan-regulator {
|
||||
+ vdd_5v_lan: vdd-5v-lan {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||||
@@ -83,7 +77,34 @@ vdd_5v_lan: vdd-5v-lan-regulator {
|
||||
regulator-name = "vdd_5v_lan";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
- vin-supply = <&vcc_sys>;
|
||||
+ vin-supply = <&vdd_5v>;
|
||||
+ };
|
||||
+
|
||||
+ /delete-node/ dmc-opp-table;
|
||||
+
|
||||
+ dmc_opp_table: dmc_opp_table {
|
||||
+ compatible = "operating-points-v2";
|
||||
+
|
||||
+ opp-786000000 {
|
||||
+ opp-hz = /bits/ 64 <786000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-798000000 {
|
||||
+ opp-hz = /bits/ 64 <798000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-840000000 {
|
||||
+ opp-hz = /bits/ 64 <840000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-924000000 {
|
||||
+ opp-hz = /bits/ 64 <924000000>;
|
||||
+ opp-microvolt = <1100000 1100000 1200000>;
|
||||
+ };
|
||||
+ opp-1056000000 {
|
||||
+ opp-hz = /bits/ 64 <1056000000>;
|
||||
+ opp-microvolt = <1175000 1175000 1200000>;
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -103,6 +124,16 @@ &cpu3 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
+&dfi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dmc {
|
||||
+ center-supply = <&vdd_log>;
|
||||
+ ddr_timing = <&ddr_timing>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&display_subsystem {
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -113,7 +144,7 @@ &gmac2io {
|
||||
clock_in_out = "input";
|
||||
phy-handle = <&rtl8211e>;
|
||||
phy-mode = "rgmii";
|
||||
- phy-supply = <&vcc_io>;
|
||||
+ phy-supply = <&vcc_io_33>;
|
||||
pinctrl-0 = <&rgmiim1_pins>;
|
||||
pinctrl-names = "default";
|
||||
snps,aal;
|
||||
@@ -137,6 +168,10 @@ rtl8211e: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
@@ -154,18 +189,19 @@ rk805: pmic@18 {
|
||||
rockchip,system-power-controller;
|
||||
wakeup-source;
|
||||
|
||||
- vcc1-supply = <&vcc_sys>;
|
||||
- vcc2-supply = <&vcc_sys>;
|
||||
- vcc3-supply = <&vcc_sys>;
|
||||
- vcc4-supply = <&vcc_sys>;
|
||||
- vcc5-supply = <&vcc_io>;
|
||||
- vcc6-supply = <&vcc_sys>;
|
||||
+ vcc1-supply = <&vdd_5v>;
|
||||
+ vcc2-supply = <&vdd_5v>;
|
||||
+ vcc3-supply = <&vdd_5v>;
|
||||
+ vcc4-supply = <&vdd_5v>;
|
||||
+ vcc5-supply = <&vcc_io_33>;
|
||||
+ vcc6-supply = <&vdd_5v>;
|
||||
|
||||
regulators {
|
||||
vdd_log: DCDC_REG1 {
|
||||
regulator-name = "vdd_log";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
+ regulator-init-microvolt = <1075000>;
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
@@ -180,6 +216,7 @@ vdd_arm: DCDC_REG2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
+ regulator-init-microvolt = <1225000>;
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
@@ -200,8 +237,8 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
|
||||
- vcc_io: DCDC_REG4 {
|
||||
- regulator-name = "vcc_io";
|
||||
+ vcc_io_33: DCDC_REG4 {
|
||||
+ regulator-name = "vcc_io_33";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
@@ -256,13 +293,13 @@ regulator-state-mem {
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
- pmuio-supply = <&vcc_io>;
|
||||
- vccio1-supply = <&vcc_io>;
|
||||
+ pmuio-supply = <&vcc_io_33>;
|
||||
+ vccio1-supply = <&vcc_io_33>;
|
||||
vccio2-supply = <&vcc18_emmc>;
|
||||
- vccio3-supply = <&vcc_io>;
|
||||
- vccio4-supply = <&vcc_io>;
|
||||
- vccio5-supply = <&vcc_io>;
|
||||
- vccio6-supply = <&vcc_io>;
|
||||
+ vccio3-supply = <&vcc_io_33>;
|
||||
+ vccio4-supply = <&vcc_io_33>;
|
||||
+ vccio5-supply = <&vcc_io_33>;
|
||||
+ vccio6-supply = <&vcc_io_33>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -347,8 +384,8 @@ &uart2 {
|
||||
};
|
||||
|
||||
&usb20_otg {
|
||||
- dr_mode = "host";
|
||||
status = "okay";
|
||||
+ dr_mode = "host";
|
||||
};
|
||||
|
||||
&usbdrd3 {
|
||||
@@ -357,10 +394,10 @@ &usbdrd3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
- /* Second port is for USB 3.0 */
|
||||
rtl8153: device@2 {
|
||||
compatible = "usbbda,8153";
|
||||
reg = <2>;
|
||||
+ realtek,led-data = <0x87>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,437 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Johansen <strit@manjaro.org>
|
||||
Date: Tue, 2 Jun 2020 20:20:29 +0200
|
||||
Subject: add-dp-alt-mode-to-PBP
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 5 +
|
||||
drivers/phy/rockchip/phy-rockchip-typec.c | 17 ++
|
||||
drivers/usb/typec/altmodes/displayport.c | 52 +++-
|
||||
drivers/usb/typec/bus.c | 8 +-
|
||||
drivers/usb/typec/tcpm/tcpm.c | 139 +++++++++-
|
||||
5 files changed, 217 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
index ddd45de97950..9acb8b2029b8 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
||||
@@ -422,6 +422,7 @@ edp_out_panel: endpoint@0 {
|
||||
|
||||
&emmc_phy {
|
||||
status = "okay";
|
||||
+ extcon = <&fusb0>;
|
||||
};
|
||||
|
||||
&gpu {
|
||||
@@ -706,6 +707,9 @@ connector {
|
||||
<PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
|
||||
try-power-role = "sink";
|
||||
|
||||
+ extcon-cables = <1 2 5 6 9 10 12 44>;
|
||||
+ typec-altmodes = <0xff01 1 0x001c0000 1>;
|
||||
+
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -972,6 +976,7 @@ spiflash: flash@0 {
|
||||
};
|
||||
|
||||
&tcphy0 {
|
||||
+ extcon = <&fusb0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-typec.c b/drivers/phy/rockchip/phy-rockchip-typec.c
|
||||
index 39db8acde61a..4886c6a4321f 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-typec.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-typec.c
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/extcon.h>
|
||||
+#include <linux/extcon-provider.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/iopoll.h>
|
||||
#include <linux/kernel.h>
|
||||
@@ -1157,6 +1158,22 @@ static int rockchip_typec_phy_probe(struct platform_device *pdev)
|
||||
dev_err(dev, "Invalid or missing extcon\n");
|
||||
return PTR_ERR(tcphy->extcon);
|
||||
}
|
||||
+ } else {
|
||||
+ extcon_set_property_capability(tcphy->extcon, EXTCON_USB,
|
||||
+ EXTCON_PROP_USB_SS);
|
||||
+ extcon_set_property_capability(tcphy->extcon, EXTCON_USB_HOST,
|
||||
+ EXTCON_PROP_USB_SS);
|
||||
+ extcon_set_property_capability(tcphy->extcon, EXTCON_DISP_DP,
|
||||
+ EXTCON_PROP_USB_SS);
|
||||
+ extcon_set_property_capability(tcphy->extcon, EXTCON_USB,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY);
|
||||
+ extcon_set_property_capability(tcphy->extcon, EXTCON_USB_HOST,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY);
|
||||
+ extcon_set_property_capability(tcphy->extcon, EXTCON_DISP_DP,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY);
|
||||
+ extcon_sync(tcphy->extcon, EXTCON_USB);
|
||||
+ extcon_sync(tcphy->extcon, EXTCON_USB_HOST);
|
||||
+ extcon_sync(tcphy->extcon, EXTCON_DISP_DP);
|
||||
}
|
||||
|
||||
pm_runtime_enable(dev);
|
||||
diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmodes/displayport.c
|
||||
index 66de880b28d0..036276bcbec1 100644
|
||||
--- a/drivers/usb/typec/altmodes/displayport.c
|
||||
+++ b/drivers/usb/typec/altmodes/displayport.c
|
||||
@@ -9,6 +9,8 @@
|
||||
*/
|
||||
|
||||
#include <linux/delay.h>
|
||||
+#include <linux/extcon.h>
|
||||
+#include <linux/extcon-provider.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/property.h>
|
||||
@@ -68,6 +70,8 @@ struct dp_altmode {
|
||||
struct fwnode_handle *connector_fwnode;
|
||||
};
|
||||
|
||||
+void dp_altmode_update_extcon(struct dp_altmode *dp, bool disconnect);
|
||||
+
|
||||
static int dp_altmode_notify(struct dp_altmode *dp)
|
||||
{
|
||||
unsigned long conf;
|
||||
@@ -76,7 +80,9 @@ static int dp_altmode_notify(struct dp_altmode *dp)
|
||||
if (dp->data.conf) {
|
||||
state = get_count_order(DP_CONF_GET_PIN_ASSIGN(dp->data.conf));
|
||||
conf = TYPEC_MODAL_STATE(state);
|
||||
+ dp_altmode_update_extcon(dp, false);
|
||||
} else {
|
||||
+ dp_altmode_update_extcon(dp, true);
|
||||
conf = TYPEC_STATE_USB;
|
||||
}
|
||||
|
||||
@@ -157,6 +163,40 @@ static int dp_altmode_status_update(struct dp_altmode *dp)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+void dp_altmode_update_extcon(struct dp_altmode *dp, bool disconnect) {
|
||||
+ const struct device *dev = &dp->port->dev;
|
||||
+ struct extcon_dev* edev = NULL;
|
||||
+
|
||||
+ while (dev) {
|
||||
+ edev = extcon_find_edev_by_node(dev->of_node);
|
||||
+ if(!IS_ERR(edev)) {
|
||||
+ break;
|
||||
+ }
|
||||
+ dev = dev->parent;
|
||||
+ }
|
||||
+
|
||||
+ if (IS_ERR_OR_NULL(edev)) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (disconnect || !dp->data.conf) {
|
||||
+ extcon_set_state_sync(edev, EXTCON_DISP_DP, false);
|
||||
+ } else {
|
||||
+ union extcon_property_value extcon_true = { .intval = true };
|
||||
+ extcon_set_state(edev, EXTCON_DISP_DP, true);
|
||||
+ if (DP_CONF_GET_PIN_ASSIGN(dp->data.conf) & DP_PIN_ASSIGN_MULTI_FUNC_MASK) {
|
||||
+ extcon_set_state_sync(edev, EXTCON_USB_HOST, true);
|
||||
+ extcon_set_property(edev, EXTCON_DISP_DP, EXTCON_PROP_USB_SS,
|
||||
+ extcon_true);
|
||||
+ } else {
|
||||
+ extcon_set_state_sync(edev, EXTCON_USB_HOST, false);
|
||||
+ }
|
||||
+ extcon_sync(edev, EXTCON_DISP_DP);
|
||||
+ extcon_set_state_sync(edev, EXTCON_USB, false);
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
+
|
||||
static int dp_altmode_configured(struct dp_altmode *dp)
|
||||
{
|
||||
sysfs_notify(&dp->alt->dev.kobj, "displayport", "configuration");
|
||||
@@ -226,6 +266,8 @@ static void dp_altmode_work(struct work_struct *work)
|
||||
case DP_STATE_EXIT:
|
||||
if (typec_altmode_exit(dp->alt))
|
||||
dev_err(&dp->alt->dev, "Exit Mode Failed!\n");
|
||||
+ else
|
||||
+ dp_altmode_update_extcon(dp, true);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -558,8 +600,14 @@ int dp_altmode_probe(struct typec_altmode *alt)
|
||||
if (!(DP_CAP_PIN_ASSIGN_DFP_D(port->vdo) &
|
||||
DP_CAP_PIN_ASSIGN_UFP_D(alt->vdo)) &&
|
||||
!(DP_CAP_PIN_ASSIGN_UFP_D(port->vdo) &
|
||||
- DP_CAP_PIN_ASSIGN_DFP_D(alt->vdo)))
|
||||
- return -ENODEV;
|
||||
+ DP_CAP_PIN_ASSIGN_DFP_D(alt->vdo))) {
|
||||
+ dev_err(&alt->dev, "No compatible pin configuration found:"\
|
||||
+ "%04lx -> %04lx, %04lx <- %04lx",
|
||||
+ DP_CAP_PIN_ASSIGN_DFP_D(port->vdo), DP_CAP_PIN_ASSIGN_UFP_D(alt->vdo),
|
||||
+ DP_CAP_PIN_ASSIGN_UFP_D(port->vdo), DP_CAP_PIN_ASSIGN_DFP_D(alt->vdo));
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
|
||||
ret = sysfs_create_group(&alt->dev.kobj, &dp_altmode_group);
|
||||
if (ret)
|
||||
diff --git a/drivers/usb/typec/bus.c b/drivers/usb/typec/bus.c
|
||||
index 098f0efaa58d..19d2a2078c29 100644
|
||||
--- a/drivers/usb/typec/bus.c
|
||||
+++ b/drivers/usb/typec/bus.c
|
||||
@@ -185,8 +185,14 @@ EXPORT_SYMBOL_GPL(typec_altmode_exit);
|
||||
*/
|
||||
void typec_altmode_attention(struct typec_altmode *adev, u32 vdo)
|
||||
{
|
||||
- struct typec_altmode *pdev = &to_altmode(adev)->partner->adev;
|
||||
+ struct typec_altmode *pdev;
|
||||
+ WARN_ONCE(!adev, "typec bus attention: adev is NULL!");
|
||||
+ WARN_ONCE(!to_altmode(adev)->partner, "typec bus attention: partner is NULL!");
|
||||
+ if(!adev || !to_altmode(adev)->partner) {
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
+ pdev = &to_altmode(adev)->partner->adev;
|
||||
if (pdev->ops && pdev->ops->attention)
|
||||
pdev->ops->attention(pdev, vdo);
|
||||
}
|
||||
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
|
||||
index be1708e30e91..38bd8e8f5591 100644
|
||||
--- a/drivers/usb/typec/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/typec/tcpm/tcpm.c
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <linux/completion.h>
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/device.h>
|
||||
+#include <linux/extcon-provider.h>
|
||||
#include <linux/hrtimer.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/kernel.h>
|
||||
@@ -492,6 +493,12 @@ struct tcpm_port {
|
||||
* transitions.
|
||||
*/
|
||||
bool potential_contaminant;
|
||||
+
|
||||
+#ifdef CONFIG_EXTCON
|
||||
+ struct extcon_dev *extcon;
|
||||
+ unsigned int *extcon_cables;
|
||||
+#endif
|
||||
+
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
struct dentry *dentry;
|
||||
struct mutex logbuffer_lock; /* log buffer access lock */
|
||||
@@ -879,6 +886,35 @@ static void tcpm_ams_finish(struct tcpm_port *port)
|
||||
port->ams = NONE_AMS;
|
||||
}
|
||||
|
||||
+static void tcpm_update_extcon_data(struct tcpm_port *port, bool attached) {
|
||||
+#ifdef CONFIG_EXTCON
|
||||
+ unsigned int *capability = port->extcon_cables;
|
||||
+ if (port->data_role == TYPEC_HOST) {
|
||||
+ extcon_set_state(port->extcon, EXTCON_USB, false);
|
||||
+ extcon_set_state(port->extcon, EXTCON_USB_HOST, attached);
|
||||
+ } else {
|
||||
+ extcon_set_state(port->extcon, EXTCON_USB, true);
|
||||
+ extcon_set_state(port->extcon, EXTCON_USB_HOST, attached);
|
||||
+ }
|
||||
+ while (*capability != EXTCON_NONE) {
|
||||
+ if (attached) {
|
||||
+ union extcon_property_value val;
|
||||
+ val.intval = (port->polarity == TYPEC_POLARITY_CC2);
|
||||
+ extcon_set_property(port->extcon, *capability,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY, val);
|
||||
+ } else {
|
||||
+ extcon_set_state(port->extcon, *capability, false);
|
||||
+ }
|
||||
+ extcon_sync(port->extcon, *capability);
|
||||
+ capability++;
|
||||
+ }
|
||||
+ tcpm_log(port, "Extcon update (%s): %s, %s",
|
||||
+ attached ? "attached" : "detached",
|
||||
+ port->data_role == TYPEC_HOST ? "host" : "device",
|
||||
+ port->polarity == TYPEC_POLARITY_CC1 ? "normal" : "flipped");
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
static int tcpm_pd_transmit(struct tcpm_port *port,
|
||||
enum tcpm_transmit_type type,
|
||||
const struct pd_message *msg)
|
||||
@@ -1091,6 +1127,8 @@ static int tcpm_set_roles(struct tcpm_port *port, bool attached,
|
||||
typec_set_data_role(port->typec_port, data);
|
||||
typec_set_pwr_role(port->typec_port, role);
|
||||
|
||||
+ tcpm_update_extcon_data(port, attached);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1562,7 +1600,7 @@ static void svdm_consume_modes(struct tcpm_port *port, const u32 *p, int cnt)
|
||||
paltmode->mode = i;
|
||||
paltmode->vdo = p[i];
|
||||
|
||||
- tcpm_log(port, " Alternate mode %d: SVID 0x%04x, VDO %d: 0x%08x",
|
||||
+ tcpm_log(port, "Alternate mode %d: SVID 0x%04x, VDO %d: 0x%08x",
|
||||
pmdata->altmodes, paltmode->svid,
|
||||
paltmode->mode, paltmode->vdo);
|
||||
|
||||
@@ -1583,6 +1621,8 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
|
||||
tcpm_log(port, "Failed to register partner SVID 0x%04x",
|
||||
modep->altmode_desc[i].svid);
|
||||
altmode = NULL;
|
||||
+ } else {
|
||||
+ tcpm_log(port, "Registered altmode 0x%04x", modep->altmode_desc[i].svid);
|
||||
}
|
||||
port->partner_altmode[i] = altmode;
|
||||
}
|
||||
@@ -1717,9 +1757,11 @@ static int tcpm_pd_svdm(struct tcpm_port *port, struct typec_altmode *adev,
|
||||
modep->svid_index++;
|
||||
if (modep->svid_index < modep->nsvids) {
|
||||
u16 svid = modep->svids[modep->svid_index];
|
||||
+ tcpm_log(port, "More modes available, sending discover");
|
||||
response[0] = VDO(svid, 1, svdm_version, CMD_DISCOVER_MODES);
|
||||
rlen = 1;
|
||||
} else {
|
||||
+ tcpm_log(port, "Got all patner modes, registering");
|
||||
tcpm_register_partner_altmodes(port);
|
||||
}
|
||||
break;
|
||||
@@ -3712,6 +3754,7 @@ static int tcpm_src_attach(struct tcpm_port *port)
|
||||
static void tcpm_typec_disconnect(struct tcpm_port *port)
|
||||
{
|
||||
if (port->connected) {
|
||||
+ tcpm_update_extcon_data(port, false);
|
||||
typec_partner_set_usb_power_delivery(port->partner, NULL);
|
||||
typec_unregister_partner(port->partner);
|
||||
port->partner = NULL;
|
||||
@@ -3798,6 +3841,8 @@ static void tcpm_detach(struct tcpm_port *port)
|
||||
}
|
||||
|
||||
tcpm_reset_port(port);
|
||||
+
|
||||
+ tcpm_update_extcon_data(port, false);
|
||||
}
|
||||
|
||||
static void tcpm_src_detach(struct tcpm_port *port)
|
||||
@@ -6136,6 +6181,64 @@ static int tcpm_port_register_pd(struct tcpm_port *port)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+unsigned int default_supported_cables[] = {
|
||||
+ EXTCON_NONE
|
||||
+};
|
||||
+
|
||||
+static int tcpm_fw_get_caps_late(struct tcpm_port *port,
|
||||
+ struct fwnode_handle *fwnode)
|
||||
+{
|
||||
+ int ret, i;
|
||||
+ ret = fwnode_property_count_u32(fwnode, "typec-altmodes");
|
||||
+ if (ret > 0) {
|
||||
+ u32 *props;
|
||||
+ if (ret % 4) {
|
||||
+ dev_err(port->dev, "Length of typec altmode array must be divisible by 4");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ props = devm_kzalloc(port->dev, sizeof(u32) * ret, GFP_KERNEL);
|
||||
+ if (!props) {
|
||||
+ dev_err(port->dev, "Failed to allocate memory for altmode properties");
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ if(fwnode_property_read_u32_array(fwnode, "typec-altmodes", props, ret) < 0) {
|
||||
+ dev_err(port->dev, "Failed to read altmodes from port");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ i = 0;
|
||||
+ while (ret > 0 && i < ARRAY_SIZE(port->port_altmode)) {
|
||||
+ struct typec_altmode *alt;
|
||||
+ struct typec_altmode_desc alt_desc = {
|
||||
+ .svid = props[i * 4],
|
||||
+ .mode = props[i * 4 + 1],
|
||||
+ .vdo = props[i * 4 + 2],
|
||||
+ .roles = props[i * 4 + 3],
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ tcpm_log(port, "Adding altmode SVID: 0x%04x, mode: %d, vdo: %u, role: %d",
|
||||
+ alt_desc.svid, alt_desc.mode, alt_desc.vdo, alt_desc.roles);
|
||||
+ alt = typec_port_register_altmode(port->typec_port,
|
||||
+ &alt_desc);
|
||||
+ if (IS_ERR(alt)) {
|
||||
+ tcpm_log(port,
|
||||
+ "%s: failed to register port alternate mode 0x%x",
|
||||
+ dev_name(port->dev), alt_desc.svid);
|
||||
+ break;
|
||||
+ }
|
||||
+ typec_altmode_set_drvdata(alt, port);
|
||||
+ alt->ops = &tcpm_altmode_ops;
|
||||
+ port->port_altmode[i] = alt;
|
||||
+ i++;
|
||||
+ ret -= 4;
|
||||
+ }
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int tcpm_fw_get_caps(struct tcpm_port *port,
|
||||
struct fwnode_handle *fwnode)
|
||||
{
|
||||
@@ -6146,6 +6249,23 @@ static int tcpm_fw_get_caps(struct tcpm_port *port,
|
||||
if (!fwnode)
|
||||
return -EINVAL;
|
||||
|
||||
+#ifdef CONFIG_EXTCON
|
||||
+ ret = fwnode_property_count_u32(fwnode, "extcon-cables");
|
||||
+ if (ret > 0) {
|
||||
+ port->extcon_cables = devm_kzalloc(port->dev, sizeof(u32) * ret, GFP_KERNEL);
|
||||
+ if (!port->extcon_cables) {
|
||||
+ dev_err(port->dev, "Failed to allocate memory for extcon cable types. "\
|
||||
+ "Using default tyes");
|
||||
+ goto extcon_default;
|
||||
+ }
|
||||
+ fwnode_property_read_u32_array(fwnode, "extcon-cables", port->extcon_cables, ret);
|
||||
+ } else {
|
||||
+extcon_default:
|
||||
+ dev_info(port->dev, "No cable types defined, using default cables");
|
||||
+ port->extcon_cables = default_supported_cables;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* This fwnode has a "compatible" property, but is never populated as a
|
||||
* struct device. Instead we simply parse it to read the properties.
|
||||
@@ -6578,6 +6698,17 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
|
||||
goto out_destroy_wq;
|
||||
|
||||
port->try_role = port->typec_caps.prefer_role;
|
||||
+#ifdef CONFIG_EXTCON
|
||||
+ port->extcon = devm_extcon_dev_allocate(dev, port->extcon_cables);
|
||||
+ if (IS_ERR(port->extcon)) {
|
||||
+ dev_err(dev, "Failed to allocate extcon device: %ld", PTR_ERR(port->extcon));
|
||||
+ goto out_destroy_wq;
|
||||
+ }
|
||||
+ if((err = devm_extcon_dev_register(dev, port->extcon))) {
|
||||
+ dev_err(dev, "Failed to register extcon device: %d", err);
|
||||
+ goto out_destroy_wq;
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
port->typec_caps.fwnode = tcpc->fwnode;
|
||||
port->typec_caps.revision = 0x0120; /* Type-C spec release 1.2 */
|
||||
@@ -6618,6 +6749,12 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
|
||||
port->port_altmode, ALTMODE_DISCOVERY_MAX);
|
||||
port->registered = true;
|
||||
|
||||
+ err = tcpm_fw_get_caps_late(port, tcpc->fwnode);
|
||||
+ if (err < 0) {
|
||||
+ dev_err(dev, "Failed to get altmodes from fwnode");
|
||||
+ goto out_destroy_wq;
|
||||
+ }
|
||||
+
|
||||
mutex_lock(&port->lock);
|
||||
tcpm_init(port);
|
||||
mutex_unlock(&port->lock);
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: krachlatte <krachlatte1977@gmail.com>
|
||||
Date: Wed, 17 May 2023 00:55:30 +0200
|
||||
Subject: [ARCHEOLOGY] Improve SD card compatibility on Radxa E25 (#5165)
|
||||
|
||||
> X-Git-Archeology: - Revision 45c85878613108c238e491aa69650fcad1fba4bb: https://github.com/armbian/build/commit/45c85878613108c238e491aa69650fcad1fba4bb
|
||||
> X-Git-Archeology: Date: Wed, 17 May 2023 00:55:30 +0200
|
||||
> X-Git-Archeology: From: krachlatte <krachlatte1977@gmail.com>
|
||||
> X-Git-Archeology: Subject: Improve SD card compatibility on Radxa E25 (#5165)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision f6a0c53d08f53aadd0588a571662dc199232825b: https://github.com/armbian/build/commit/f6a0c53d08f53aadd0588a571662dc199232825b
|
||||
> X-Git-Archeology: Date: Wed, 24 May 2023 10:39:21 +0200
|
||||
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
|
||||
> X-Git-Archeology: Subject: manual e25 patch fix
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts
|
||||
index 63c4bd873188..9bc67abff3ea 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts
|
||||
@@ -186,7 +186,7 @@ &sdmmc0 {
|
||||
disable-wp;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd>;
|
||||
- sd-uhs-sdr104;
|
||||
+ sd-uhs-sdr50;
|
||||
vmmc-supply = <&vcc3v3_sd>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
status = "okay";
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: krachlatte <krachlatte1977@gmail.com>
|
||||
Date: Wed, 17 May 2023 00:55:30 +0200
|
||||
Subject: [ARCHEOLOGY] Improve SD card compatibility on Radxa E25 (#5165)
|
||||
|
||||
> X-Git-Archeology: - Revision 45c85878613108c238e491aa69650fcad1fba4bb: https://github.com/armbian/build/commit/45c85878613108c238e491aa69650fcad1fba4bb
|
||||
> X-Git-Archeology: Date: Wed, 17 May 2023 00:55:30 +0200
|
||||
> X-Git-Archeology: From: krachlatte <krachlatte1977@gmail.com>
|
||||
> X-Git-Archeology: Subject: Improve SD card compatibility on Radxa E25 (#5165)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision f6a0c53d08f53aadd0588a571662dc199232825b: https://github.com/armbian/build/commit/f6a0c53d08f53aadd0588a571662dc199232825b
|
||||
> X-Git-Archeology: Date: Wed, 24 May 2023 10:39:21 +0200
|
||||
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
|
||||
> X-Git-Archeology: Subject: manual e25 patch fix
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi | 12 ++++++++++
|
||||
arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts | 2 ++
|
||||
2 files changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
|
||||
index c50fbdd48680..67328c2b5e4d 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
|
||||
@@ -392,6 +392,17 @@ &sdhci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&sfc {
|
||||
+ status = "okay";
|
||||
+ flash@0 {
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <108000000>;
|
||||
+ spi-rx-bus-width = <2>;
|
||||
+ spi-tx-bus-width = <2>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&tsadc {
|
||||
rockchip,hw-tshut-mode = <1>;
|
||||
rockchip,hw-tshut-polarity = <0>;
|
||||
@@ -412,4 +423,5 @@ &usb2phy1 {
|
||||
|
||||
&usb_host0_xhci {
|
||||
extcon = <&usb2phy0>;
|
||||
+ dr_mode = "host";
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts
|
||||
index 9bc67abff3ea..8046c941e611 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts
|
||||
@@ -201,6 +201,8 @@ &usb_host0_ohci {
|
||||
};
|
||||
|
||||
&usb_host0_xhci {
|
||||
+ extcon = <&usb2phy0>;
|
||||
+ dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Tue, 12 Oct 2021 18:31:28 +0000
|
||||
Subject: enable roc-cc dmc
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts | 38 ++++++++++
|
||||
1 file changed, 38 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
|
||||
index 5d5d9574088c..be5d064d6a93 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
|
||||
@@ -4,6 +4,7 @@
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
+#include "rk3328-dram-renegade-timing.dtsi"
|
||||
#include "rk3328.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -19,6 +20,32 @@ chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
+ /delete-node/ dmc-opp-table;
|
||||
+ dmc_opp_table: dmc-opp-table {
|
||||
+ compatible = "operating-points-v2";
|
||||
+
|
||||
+ opp-786000000 {
|
||||
+ opp-hz = /bits/ 64 <786000000>;
|
||||
+ opp-microvolt = <1075000 1075000 12000000>;
|
||||
+ };
|
||||
+ opp-798000000 {
|
||||
+ opp-hz = /bits/ 64 <798000000>;
|
||||
+ opp-microvolt = <1075000 1075000 12000000>;
|
||||
+ };
|
||||
+ opp-840000000 {
|
||||
+ opp-hz = /bits/ 64 <840000000>;
|
||||
+ opp-microvolt = <1075000 1075000 12000000>;
|
||||
+ };
|
||||
+ opp-924000000 {
|
||||
+ opp-hz = /bits/ 64 <924000000>;
|
||||
+ opp-microvolt = <1100000 1100000 12000000>;
|
||||
+ };
|
||||
+ opp-1068000000 {
|
||||
+ opp-hz = /bits/ 64 <1068000000>;
|
||||
+ opp-microvolt = <1175000 1175000 12000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
gmac_clkin: external-gmac-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
@@ -115,6 +142,17 @@ &codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&dfi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dmc {
|
||||
+ center-supply = <&vdd_logic>;
|
||||
+ ddr_timing = <&ddr_timing>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+
|
||||
&cpu0 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,330 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: tonymac32 <tonymckahan@gmail.com>
|
||||
Date: Wed, 7 Oct 2020 23:39:54 -0400
|
||||
Subject: board-rk3328-roc-cc-adjust-DMC-opps
|
||||
|
||||
Signed-off-by: tonymac32 <tonymckahan@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-dram-renegade-timing.dtsi | 311 ++++++++++
|
||||
1 file changed, 311 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-dram-renegade-timing.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-dram-renegade-timing.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..303428153094
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-dram-renegade-timing.dtsi
|
||||
@@ -0,0 +1,311 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This library 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 library 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.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+#include <dt-bindings/clock/rockchip-ddr.h>
|
||||
+#include <dt-bindings/memory/rk3328-dram.h>
|
||||
+
|
||||
+/ {
|
||||
+ ddr_timing: ddr_timing {
|
||||
+ compatible = "rockchip,ddr-timing";
|
||||
+ ddr3_speed_bin = <DDR3_DEFAULT>;
|
||||
+ ddr4_speed_bin = <DDR4_DEFAULT>;
|
||||
+ pd_idle = <0>;
|
||||
+ sr_idle = <0>;
|
||||
+ sr_mc_gate_idle = <0>;
|
||||
+ srpd_lite_idle = <0>;
|
||||
+ standby_idle = <0>;
|
||||
+
|
||||
+ auto_pd_dis_freq = <1066>;
|
||||
+ auto_sr_dis_freq = <800>;
|
||||
+ ddr3_dll_dis_freq = <300>;
|
||||
+ ddr4_dll_dis_freq = <625>;
|
||||
+ phy_dll_dis_freq = <400>;
|
||||
+
|
||||
+ ddr3_odt_dis_freq = <100>;
|
||||
+ phy_ddr3_odt_dis_freq = <100>;
|
||||
+ ddr3_drv = <DDR3_DS_40ohm>;
|
||||
+ ddr3_odt = <DDR3_ODT_120ohm>;
|
||||
+ phy_ddr3_ca_drv = <PHY_DDR3_RON_RTT_34ohm>;
|
||||
+ phy_ddr3_ck_drv = <PHY_DDR3_RON_RTT_45ohm>;
|
||||
+ phy_ddr3_dq_drv = <PHY_DDR3_RON_RTT_34ohm>;
|
||||
+ phy_ddr3_odt = <PHY_DDR3_RON_RTT_225ohm>;
|
||||
+
|
||||
+ lpddr3_odt_dis_freq = <666>;
|
||||
+ phy_lpddr3_odt_dis_freq = <666>;
|
||||
+ lpddr3_drv = <LP3_DS_40ohm>;
|
||||
+ lpddr3_odt = <LP3_ODT_240ohm>;
|
||||
+ phy_lpddr3_ca_drv = <PHY_DDR4_LPDDR3_RON_RTT_34ohm>;
|
||||
+ phy_lpddr3_ck_drv = <PHY_DDR4_LPDDR3_RON_RTT_43ohm>;
|
||||
+ phy_lpddr3_dq_drv = <PHY_DDR4_LPDDR3_RON_RTT_34ohm>;
|
||||
+ phy_lpddr3_odt = <PHY_DDR4_LPDDR3_RON_RTT_240ohm>;
|
||||
+
|
||||
+ lpddr4_odt_dis_freq = <800>;
|
||||
+ phy_lpddr4_odt_dis_freq = <800>;
|
||||
+ lpddr4_drv = <LP4_PDDS_60ohm>;
|
||||
+ lpddr4_dq_odt = <LP4_DQ_ODT_40ohm>;
|
||||
+ lpddr4_ca_odt = <LP4_CA_ODT_40ohm>;
|
||||
+ phy_lpddr4_ca_drv = <PHY_DDR4_LPDDR3_RON_RTT_40ohm>;
|
||||
+ phy_lpddr4_ck_cs_drv = <PHY_DDR4_LPDDR3_RON_RTT_80ohm>;
|
||||
+ phy_lpddr4_dq_drv = <PHY_DDR4_LPDDR3_RON_RTT_80ohm>;
|
||||
+ phy_lpddr4_odt = <PHY_DDR4_LPDDR3_RON_RTT_60ohm>;
|
||||
+
|
||||
+ ddr4_odt_dis_freq = <666>;
|
||||
+ phy_ddr4_odt_dis_freq = <666>;
|
||||
+ ddr4_drv = <DDR4_DS_34ohm>;
|
||||
+ ddr4_odt = <DDR4_RTT_NOM_240ohm>;
|
||||
+ phy_ddr4_ca_drv = <PHY_DDR4_LPDDR3_RON_RTT_34ohm>;
|
||||
+ phy_ddr4_ck_drv = <PHY_DDR4_LPDDR3_RON_RTT_43ohm>;
|
||||
+ phy_ddr4_dq_drv = <PHY_DDR4_LPDDR3_RON_RTT_34ohm>;
|
||||
+ phy_ddr4_odt = <PHY_DDR4_LPDDR3_RON_RTT_240ohm>;
|
||||
+
|
||||
+ /* CA de-skew, one step is 47.8ps, range 0-15 */
|
||||
+ ddr3a1_ddr4a9_de-skew = <0>;
|
||||
+ ddr3a0_ddr4a10_de-skew = <0>;
|
||||
+ ddr3a3_ddr4a6_de-skew = <1>;
|
||||
+ ddr3a2_ddr4a4_de-skew = <1>;
|
||||
+ ddr3a5_ddr4a8_de-skew = <0>;
|
||||
+ ddr3a4_ddr4a5_de-skew = <2>;
|
||||
+ ddr3a7_ddr4a11_de-skew = <0>;
|
||||
+ ddr3a6_ddr4a7_de-skew = <2>;
|
||||
+ ddr3a9_ddr4a0_de-skew = <1>;
|
||||
+ ddr3a8_ddr4a13_de-skew = <0>;
|
||||
+ ddr3a11_ddr4a3_de-skew = <2>;
|
||||
+ ddr3a10_ddr4cs0_de-skew = <0>;
|
||||
+ ddr3a13_ddr4a2_de-skew = <1>;
|
||||
+ ddr3a12_ddr4ba1_de-skew = <0>;
|
||||
+ ddr3a15_ddr4odt0_de-skew = <0>;
|
||||
+ ddr3a14_ddr4a1_de-skew = <1>;
|
||||
+ ddr3ba1_ddr4a15_de-skew = <0>;
|
||||
+ ddr3ba0_ddr4bg0_de-skew = <0>;
|
||||
+ ddr3ras_ddr4cke_de-skew = <0>;
|
||||
+ ddr3ba2_ddr4ba0_de-skew = <1>;
|
||||
+ ddr3we_ddr4bg1_de-skew = <1>;
|
||||
+ ddr3cas_ddr4a12_de-skew = <0>;
|
||||
+ ddr3ckn_ddr4ckn_de-skew = <5>;
|
||||
+ ddr3ckp_ddr4ckp_de-skew = <5>;
|
||||
+ ddr3cke_ddr4a16_de-skew = <1>;
|
||||
+ ddr3odt0_ddr4a14_de-skew = <0>;
|
||||
+ ddr3cs0_ddr4act_de-skew = <1>;
|
||||
+ ddr3reset_ddr4reset_de-skew = <0>;
|
||||
+ ddr3cs1_ddr4cs1_de-skew = <0>;
|
||||
+ ddr3odt1_ddr4odt1_de-skew = <0>;
|
||||
+
|
||||
+ /* DATA de-skew
|
||||
+ * RX one step is 25.1ps, range 0-15
|
||||
+ * TX one step is 47.8ps, range 0-15
|
||||
+ */
|
||||
+ cs0_dm0_rx_de-skew = <7>;
|
||||
+ cs0_dm0_tx_de-skew = <8>;
|
||||
+ cs0_dq0_rx_de-skew = <7>;
|
||||
+ cs0_dq0_tx_de-skew = <8>;
|
||||
+ cs0_dq1_rx_de-skew = <7>;
|
||||
+ cs0_dq1_tx_de-skew = <8>;
|
||||
+ cs0_dq2_rx_de-skew = <7>;
|
||||
+ cs0_dq2_tx_de-skew = <8>;
|
||||
+ cs0_dq3_rx_de-skew = <7>;
|
||||
+ cs0_dq3_tx_de-skew = <8>;
|
||||
+ cs0_dq4_rx_de-skew = <7>;
|
||||
+ cs0_dq4_tx_de-skew = <8>;
|
||||
+ cs0_dq5_rx_de-skew = <7>;
|
||||
+ cs0_dq5_tx_de-skew = <8>;
|
||||
+ cs0_dq6_rx_de-skew = <7>;
|
||||
+ cs0_dq6_tx_de-skew = <8>;
|
||||
+ cs0_dq7_rx_de-skew = <7>;
|
||||
+ cs0_dq7_tx_de-skew = <8>;
|
||||
+ cs0_dqs0_rx_de-skew = <6>;
|
||||
+ cs0_dqs0p_tx_de-skew = <9>;
|
||||
+ cs0_dqs0n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs0_dm1_rx_de-skew = <7>;
|
||||
+ cs0_dm1_tx_de-skew = <7>;
|
||||
+ cs0_dq8_rx_de-skew = <7>;
|
||||
+ cs0_dq8_tx_de-skew = <8>;
|
||||
+ cs0_dq9_rx_de-skew = <7>;
|
||||
+ cs0_dq9_tx_de-skew = <7>;
|
||||
+ cs0_dq10_rx_de-skew = <7>;
|
||||
+ cs0_dq10_tx_de-skew = <8>;
|
||||
+ cs0_dq11_rx_de-skew = <7>;
|
||||
+ cs0_dq11_tx_de-skew = <7>;
|
||||
+ cs0_dq12_rx_de-skew = <7>;
|
||||
+ cs0_dq12_tx_de-skew = <8>;
|
||||
+ cs0_dq13_rx_de-skew = <7>;
|
||||
+ cs0_dq13_tx_de-skew = <7>;
|
||||
+ cs0_dq14_rx_de-skew = <7>;
|
||||
+ cs0_dq14_tx_de-skew = <8>;
|
||||
+ cs0_dq15_rx_de-skew = <7>;
|
||||
+ cs0_dq15_tx_de-skew = <7>;
|
||||
+ cs0_dqs1_rx_de-skew = <7>;
|
||||
+ cs0_dqs1p_tx_de-skew = <9>;
|
||||
+ cs0_dqs1n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs0_dm2_rx_de-skew = <7>;
|
||||
+ cs0_dm2_tx_de-skew = <8>;
|
||||
+ cs0_dq16_rx_de-skew = <7>;
|
||||
+ cs0_dq16_tx_de-skew = <8>;
|
||||
+ cs0_dq17_rx_de-skew = <7>;
|
||||
+ cs0_dq17_tx_de-skew = <8>;
|
||||
+ cs0_dq18_rx_de-skew = <7>;
|
||||
+ cs0_dq18_tx_de-skew = <8>;
|
||||
+ cs0_dq19_rx_de-skew = <7>;
|
||||
+ cs0_dq19_tx_de-skew = <8>;
|
||||
+ cs0_dq20_rx_de-skew = <7>;
|
||||
+ cs0_dq20_tx_de-skew = <8>;
|
||||
+ cs0_dq21_rx_de-skew = <7>;
|
||||
+ cs0_dq21_tx_de-skew = <8>;
|
||||
+ cs0_dq22_rx_de-skew = <7>;
|
||||
+ cs0_dq22_tx_de-skew = <8>;
|
||||
+ cs0_dq23_rx_de-skew = <7>;
|
||||
+ cs0_dq23_tx_de-skew = <8>;
|
||||
+ cs0_dqs2_rx_de-skew = <6>;
|
||||
+ cs0_dqs2p_tx_de-skew = <9>;
|
||||
+ cs0_dqs2n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs0_dm3_rx_de-skew = <7>;
|
||||
+ cs0_dm3_tx_de-skew = <7>;
|
||||
+ cs0_dq24_rx_de-skew = <7>;
|
||||
+ cs0_dq24_tx_de-skew = <8>;
|
||||
+ cs0_dq25_rx_de-skew = <7>;
|
||||
+ cs0_dq25_tx_de-skew = <7>;
|
||||
+ cs0_dq26_rx_de-skew = <7>;
|
||||
+ cs0_dq26_tx_de-skew = <7>;
|
||||
+ cs0_dq27_rx_de-skew = <7>;
|
||||
+ cs0_dq27_tx_de-skew = <7>;
|
||||
+ cs0_dq28_rx_de-skew = <7>;
|
||||
+ cs0_dq28_tx_de-skew = <7>;
|
||||
+ cs0_dq29_rx_de-skew = <7>;
|
||||
+ cs0_dq29_tx_de-skew = <7>;
|
||||
+ cs0_dq30_rx_de-skew = <7>;
|
||||
+ cs0_dq30_tx_de-skew = <7>;
|
||||
+ cs0_dq31_rx_de-skew = <7>;
|
||||
+ cs0_dq31_tx_de-skew = <7>;
|
||||
+ cs0_dqs3_rx_de-skew = <7>;
|
||||
+ cs0_dqs3p_tx_de-skew = <9>;
|
||||
+ cs0_dqs3n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm0_rx_de-skew = <7>;
|
||||
+ cs1_dm0_tx_de-skew = <8>;
|
||||
+ cs1_dq0_rx_de-skew = <7>;
|
||||
+ cs1_dq0_tx_de-skew = <8>;
|
||||
+ cs1_dq1_rx_de-skew = <7>;
|
||||
+ cs1_dq1_tx_de-skew = <8>;
|
||||
+ cs1_dq2_rx_de-skew = <7>;
|
||||
+ cs1_dq2_tx_de-skew = <8>;
|
||||
+ cs1_dq3_rx_de-skew = <7>;
|
||||
+ cs1_dq3_tx_de-skew = <8>;
|
||||
+ cs1_dq4_rx_de-skew = <7>;
|
||||
+ cs1_dq4_tx_de-skew = <8>;
|
||||
+ cs1_dq5_rx_de-skew = <7>;
|
||||
+ cs1_dq5_tx_de-skew = <8>;
|
||||
+ cs1_dq6_rx_de-skew = <7>;
|
||||
+ cs1_dq6_tx_de-skew = <8>;
|
||||
+ cs1_dq7_rx_de-skew = <7>;
|
||||
+ cs1_dq7_tx_de-skew = <8>;
|
||||
+ cs1_dqs0_rx_de-skew = <6>;
|
||||
+ cs1_dqs0p_tx_de-skew = <9>;
|
||||
+ cs1_dqs0n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm1_rx_de-skew = <7>;
|
||||
+ cs1_dm1_tx_de-skew = <7>;
|
||||
+ cs1_dq8_rx_de-skew = <7>;
|
||||
+ cs1_dq8_tx_de-skew = <8>;
|
||||
+ cs1_dq9_rx_de-skew = <7>;
|
||||
+ cs1_dq9_tx_de-skew = <7>;
|
||||
+ cs1_dq10_rx_de-skew = <7>;
|
||||
+ cs1_dq10_tx_de-skew = <8>;
|
||||
+ cs1_dq11_rx_de-skew = <7>;
|
||||
+ cs1_dq11_tx_de-skew = <7>;
|
||||
+ cs1_dq12_rx_de-skew = <7>;
|
||||
+ cs1_dq12_tx_de-skew = <8>;
|
||||
+ cs1_dq13_rx_de-skew = <7>;
|
||||
+ cs1_dq13_tx_de-skew = <7>;
|
||||
+ cs1_dq14_rx_de-skew = <7>;
|
||||
+ cs1_dq14_tx_de-skew = <8>;
|
||||
+ cs1_dq15_rx_de-skew = <7>;
|
||||
+ cs1_dq15_tx_de-skew = <7>;
|
||||
+ cs1_dqs1_rx_de-skew = <7>;
|
||||
+ cs1_dqs1p_tx_de-skew = <9>;
|
||||
+ cs1_dqs1n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm2_rx_de-skew = <7>;
|
||||
+ cs1_dm2_tx_de-skew = <8>;
|
||||
+ cs1_dq16_rx_de-skew = <7>;
|
||||
+ cs1_dq16_tx_de-skew = <8>;
|
||||
+ cs1_dq17_rx_de-skew = <7>;
|
||||
+ cs1_dq17_tx_de-skew = <8>;
|
||||
+ cs1_dq18_rx_de-skew = <7>;
|
||||
+ cs1_dq18_tx_de-skew = <8>;
|
||||
+ cs1_dq19_rx_de-skew = <7>;
|
||||
+ cs1_dq19_tx_de-skew = <8>;
|
||||
+ cs1_dq20_rx_de-skew = <7>;
|
||||
+ cs1_dq20_tx_de-skew = <8>;
|
||||
+ cs1_dq21_rx_de-skew = <7>;
|
||||
+ cs1_dq21_tx_de-skew = <8>;
|
||||
+ cs1_dq22_rx_de-skew = <7>;
|
||||
+ cs1_dq22_tx_de-skew = <8>;
|
||||
+ cs1_dq23_rx_de-skew = <7>;
|
||||
+ cs1_dq23_tx_de-skew = <8>;
|
||||
+ cs1_dqs2_rx_de-skew = <6>;
|
||||
+ cs1_dqs2p_tx_de-skew = <9>;
|
||||
+ cs1_dqs2n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm3_rx_de-skew = <7>;
|
||||
+ cs1_dm3_tx_de-skew = <7>;
|
||||
+ cs1_dq24_rx_de-skew = <7>;
|
||||
+ cs1_dq24_tx_de-skew = <8>;
|
||||
+ cs1_dq25_rx_de-skew = <7>;
|
||||
+ cs1_dq25_tx_de-skew = <7>;
|
||||
+ cs1_dq26_rx_de-skew = <7>;
|
||||
+ cs1_dq26_tx_de-skew = <7>;
|
||||
+ cs1_dq27_rx_de-skew = <7>;
|
||||
+ cs1_dq27_tx_de-skew = <7>;
|
||||
+ cs1_dq28_rx_de-skew = <7>;
|
||||
+ cs1_dq28_tx_de-skew = <7>;
|
||||
+ cs1_dq29_rx_de-skew = <7>;
|
||||
+ cs1_dq29_tx_de-skew = <7>;
|
||||
+ cs1_dq30_rx_de-skew = <7>;
|
||||
+ cs1_dq30_tx_de-skew = <7>;
|
||||
+ cs1_dq31_rx_de-skew = <7>;
|
||||
+ cs1_dq31_tx_de-skew = <7>;
|
||||
+ cs1_dqs3_rx_de-skew = <7>;
|
||||
+ cs1_dqs3p_tx_de-skew = <9>;
|
||||
+ cs1_dqs3n_tx_de-skew = <9>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,301 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Tony <tonymckahan@gmail.com>
|
||||
Date: Thu, 8 Oct 2020 01:56:28 -0400
|
||||
Subject: [ARCHEOLOGY] Add files via upload
|
||||
|
||||
> X-Git-Archeology: - Revision 8fc20a15b12561e76e92d5bd29b5afd1c62f08ac: https://github.com/armbian/build/commit/8fc20a15b12561e76e92d5bd29b5afd1c62f08ac
|
||||
> X-Git-Archeology: Date: Thu, 08 Oct 2020 01:56:28 -0400
|
||||
> X-Git-Archeology: From: Tony <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: Add files via upload
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2788adccedc25f12fc9e71e01a92863d97683979: https://github.com/armbian/build/commit/2788adccedc25f12fc9e71e01a92863d97683979
|
||||
> X-Git-Archeology: Date: Tue, 26 Jan 2021 21:22:04 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Enable DMC for Station M1 in current and dev (#2575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-roc-pc-dram-timing.dtsi | 223 ++++++++++
|
||||
1 file changed, 223 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc-dram-timing.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc-dram-timing.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..8b2077d086f5
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc-dram-timing.dtsi
|
||||
@@ -0,0 +1,223 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
|
||||
+ *
|
||||
+ */
|
||||
+#include <dt-bindings/clock/rockchip-ddr.h>
|
||||
+#include <dt-bindings/memory/rk3328-dram.h>
|
||||
+
|
||||
+/ {
|
||||
+ ddr_timing: ddr_timing {
|
||||
+ /* CA de-skew, one step is 47.8ps, range 0-15 */
|
||||
+ ddr3a1_ddr4a9_de-skew = <0>;
|
||||
+ ddr3a0_ddr4a10_de-skew = <0>;
|
||||
+ ddr3a3_ddr4a6_de-skew = <1>;
|
||||
+ ddr3a2_ddr4a4_de-skew = <1>;
|
||||
+ ddr3a5_ddr4a8_de-skew = <0>;
|
||||
+ ddr3a4_ddr4a5_de-skew = <2>;
|
||||
+ ddr3a7_ddr4a11_de-skew = <0>;
|
||||
+ ddr3a6_ddr4a7_de-skew = <2>;
|
||||
+ ddr3a9_ddr4a0_de-skew = <1>;
|
||||
+ ddr3a8_ddr4a13_de-skew = <0>;
|
||||
+ ddr3a11_ddr4a3_de-skew = <2>;
|
||||
+ ddr3a10_ddr4cs0_de-skew = <0>;
|
||||
+ ddr3a13_ddr4a2_de-skew = <1>;
|
||||
+ ddr3a12_ddr4ba1_de-skew = <0>;
|
||||
+ ddr3a15_ddr4odt0_de-skew = <0>;
|
||||
+ ddr3a14_ddr4a1_de-skew = <1>;
|
||||
+ ddr3ba1_ddr4a15_de-skew = <0>;
|
||||
+ ddr3ba0_ddr4bg0_de-skew = <0>;
|
||||
+ ddr3ras_ddr4cke_de-skew = <0>;
|
||||
+ ddr3ba2_ddr4ba0_de-skew = <1>;
|
||||
+ ddr3we_ddr4bg1_de-skew = <1>;
|
||||
+ ddr3cas_ddr4a12_de-skew = <0>;
|
||||
+ ddr3ckn_ddr4ckn_de-skew = <5>;
|
||||
+ ddr3ckp_ddr4ckp_de-skew = <5>;
|
||||
+ ddr3cke_ddr4a16_de-skew = <1>;
|
||||
+ ddr3odt0_ddr4a14_de-skew = <0>;
|
||||
+ ddr3cs0_ddr4act_de-skew = <1>;
|
||||
+ ddr3reset_ddr4reset_de-skew = <0>;
|
||||
+ ddr3cs1_ddr4cs1_de-skew = <0>;
|
||||
+ ddr3odt1_ddr4odt1_de-skew = <0>;
|
||||
+
|
||||
+ /* DATA de-skew
|
||||
+ * RX one step is 25.1ps, range 0-15
|
||||
+ * TX one step is 47.8ps, range 0-15
|
||||
+ */
|
||||
+ cs0_dm0_rx_de-skew = <7>;
|
||||
+ cs0_dm0_tx_de-skew = <8>;
|
||||
+ cs0_dq0_rx_de-skew = <7>;
|
||||
+ cs0_dq0_tx_de-skew = <8>;
|
||||
+ cs0_dq1_rx_de-skew = <7>;
|
||||
+ cs0_dq1_tx_de-skew = <8>;
|
||||
+ cs0_dq2_rx_de-skew = <7>;
|
||||
+ cs0_dq2_tx_de-skew = <8>;
|
||||
+ cs0_dq3_rx_de-skew = <7>;
|
||||
+ cs0_dq3_tx_de-skew = <8>;
|
||||
+ cs0_dq4_rx_de-skew = <7>;
|
||||
+ cs0_dq4_tx_de-skew = <8>;
|
||||
+ cs0_dq5_rx_de-skew = <7>;
|
||||
+ cs0_dq5_tx_de-skew = <8>;
|
||||
+ cs0_dq6_rx_de-skew = <7>;
|
||||
+ cs0_dq6_tx_de-skew = <8>;
|
||||
+ cs0_dq7_rx_de-skew = <7>;
|
||||
+ cs0_dq7_tx_de-skew = <8>;
|
||||
+ cs0_dqs0_rx_de-skew = <6>;
|
||||
+ cs0_dqs0p_tx_de-skew = <9>;
|
||||
+ cs0_dqs0n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs0_dm1_rx_de-skew = <7>;
|
||||
+ cs0_dm1_tx_de-skew = <7>;
|
||||
+ cs0_dq8_rx_de-skew = <7>;
|
||||
+ cs0_dq8_tx_de-skew = <8>;
|
||||
+ cs0_dq9_rx_de-skew = <7>;
|
||||
+ cs0_dq9_tx_de-skew = <7>;
|
||||
+ cs0_dq10_rx_de-skew = <7>;
|
||||
+ cs0_dq10_tx_de-skew = <8>;
|
||||
+ cs0_dq11_rx_de-skew = <7>;
|
||||
+ cs0_dq11_tx_de-skew = <7>;
|
||||
+ cs0_dq12_rx_de-skew = <7>;
|
||||
+ cs0_dq12_tx_de-skew = <8>;
|
||||
+ cs0_dq13_rx_de-skew = <7>;
|
||||
+ cs0_dq13_tx_de-skew = <7>;
|
||||
+ cs0_dq14_rx_de-skew = <7>;
|
||||
+ cs0_dq14_tx_de-skew = <8>;
|
||||
+ cs0_dq15_rx_de-skew = <7>;
|
||||
+ cs0_dq15_tx_de-skew = <7>;
|
||||
+ cs0_dqs1_rx_de-skew = <7>;
|
||||
+ cs0_dqs1p_tx_de-skew = <9>;
|
||||
+ cs0_dqs1n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs0_dm2_rx_de-skew = <7>;
|
||||
+ cs0_dm2_tx_de-skew = <8>;
|
||||
+ cs0_dq16_rx_de-skew = <7>;
|
||||
+ cs0_dq16_tx_de-skew = <8>;
|
||||
+ cs0_dq17_rx_de-skew = <7>;
|
||||
+ cs0_dq17_tx_de-skew = <8>;
|
||||
+ cs0_dq18_rx_de-skew = <7>;
|
||||
+ cs0_dq18_tx_de-skew = <8>;
|
||||
+ cs0_dq19_rx_de-skew = <7>;
|
||||
+ cs0_dq19_tx_de-skew = <8>;
|
||||
+ cs0_dq20_rx_de-skew = <7>;
|
||||
+ cs0_dq20_tx_de-skew = <8>;
|
||||
+ cs0_dq21_rx_de-skew = <7>;
|
||||
+ cs0_dq21_tx_de-skew = <8>;
|
||||
+ cs0_dq22_rx_de-skew = <7>;
|
||||
+ cs0_dq22_tx_de-skew = <8>;
|
||||
+ cs0_dq23_rx_de-skew = <7>;
|
||||
+ cs0_dq23_tx_de-skew = <8>;
|
||||
+ cs0_dqs2_rx_de-skew = <6>;
|
||||
+ cs0_dqs2p_tx_de-skew = <9>;
|
||||
+ cs0_dqs2n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs0_dm3_rx_de-skew = <7>;
|
||||
+ cs0_dm3_tx_de-skew = <7>;
|
||||
+ cs0_dq24_rx_de-skew = <7>;
|
||||
+ cs0_dq24_tx_de-skew = <8>;
|
||||
+ cs0_dq25_rx_de-skew = <7>;
|
||||
+ cs0_dq25_tx_de-skew = <7>;
|
||||
+ cs0_dq26_rx_de-skew = <7>;
|
||||
+ cs0_dq26_tx_de-skew = <7>;
|
||||
+ cs0_dq27_rx_de-skew = <7>;
|
||||
+ cs0_dq27_tx_de-skew = <7>;
|
||||
+ cs0_dq28_rx_de-skew = <7>;
|
||||
+ cs0_dq28_tx_de-skew = <7>;
|
||||
+ cs0_dq29_rx_de-skew = <7>;
|
||||
+ cs0_dq29_tx_de-skew = <7>;
|
||||
+ cs0_dq30_rx_de-skew = <7>;
|
||||
+ cs0_dq30_tx_de-skew = <7>;
|
||||
+ cs0_dq31_rx_de-skew = <7>;
|
||||
+ cs0_dq31_tx_de-skew = <7>;
|
||||
+ cs0_dqs3_rx_de-skew = <7>;
|
||||
+ cs0_dqs3p_tx_de-skew = <9>;
|
||||
+ cs0_dqs3n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm0_rx_de-skew = <7>;
|
||||
+ cs1_dm0_tx_de-skew = <8>;
|
||||
+ cs1_dq0_rx_de-skew = <7>;
|
||||
+ cs1_dq0_tx_de-skew = <8>;
|
||||
+ cs1_dq1_rx_de-skew = <7>;
|
||||
+ cs1_dq1_tx_de-skew = <8>;
|
||||
+ cs1_dq2_rx_de-skew = <7>;
|
||||
+ cs1_dq2_tx_de-skew = <8>;
|
||||
+ cs1_dq3_rx_de-skew = <7>;
|
||||
+ cs1_dq3_tx_de-skew = <8>;
|
||||
+ cs1_dq4_rx_de-skew = <7>;
|
||||
+ cs1_dq4_tx_de-skew = <8>;
|
||||
+ cs1_dq5_rx_de-skew = <7>;
|
||||
+ cs1_dq5_tx_de-skew = <8>;
|
||||
+ cs1_dq6_rx_de-skew = <7>;
|
||||
+ cs1_dq6_tx_de-skew = <8>;
|
||||
+ cs1_dq7_rx_de-skew = <7>;
|
||||
+ cs1_dq7_tx_de-skew = <8>;
|
||||
+ cs1_dqs0_rx_de-skew = <6>;
|
||||
+ cs1_dqs0p_tx_de-skew = <9>;
|
||||
+ cs1_dqs0n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm1_rx_de-skew = <7>;
|
||||
+ cs1_dm1_tx_de-skew = <7>;
|
||||
+ cs1_dq8_rx_de-skew = <7>;
|
||||
+ cs1_dq8_tx_de-skew = <8>;
|
||||
+ cs1_dq9_rx_de-skew = <7>;
|
||||
+ cs1_dq9_tx_de-skew = <7>;
|
||||
+ cs1_dq10_rx_de-skew = <7>;
|
||||
+ cs1_dq10_tx_de-skew = <8>;
|
||||
+ cs1_dq11_rx_de-skew = <7>;
|
||||
+ cs1_dq11_tx_de-skew = <7>;
|
||||
+ cs1_dq12_rx_de-skew = <7>;
|
||||
+ cs1_dq12_tx_de-skew = <8>;
|
||||
+ cs1_dq13_rx_de-skew = <7>;
|
||||
+ cs1_dq13_tx_de-skew = <7>;
|
||||
+ cs1_dq14_rx_de-skew = <7>;
|
||||
+ cs1_dq14_tx_de-skew = <8>;
|
||||
+ cs1_dq15_rx_de-skew = <7>;
|
||||
+ cs1_dq15_tx_de-skew = <7>;
|
||||
+ cs1_dqs1_rx_de-skew = <7>;
|
||||
+ cs1_dqs1p_tx_de-skew = <9>;
|
||||
+ cs1_dqs1n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm2_rx_de-skew = <7>;
|
||||
+ cs1_dm2_tx_de-skew = <8>;
|
||||
+ cs1_dq16_rx_de-skew = <7>;
|
||||
+ cs1_dq16_tx_de-skew = <8>;
|
||||
+ cs1_dq17_rx_de-skew = <7>;
|
||||
+ cs1_dq17_tx_de-skew = <8>;
|
||||
+ cs1_dq18_rx_de-skew = <7>;
|
||||
+ cs1_dq18_tx_de-skew = <8>;
|
||||
+ cs1_dq19_rx_de-skew = <7>;
|
||||
+ cs1_dq19_tx_de-skew = <8>;
|
||||
+ cs1_dq20_rx_de-skew = <7>;
|
||||
+ cs1_dq20_tx_de-skew = <8>;
|
||||
+ cs1_dq21_rx_de-skew = <7>;
|
||||
+ cs1_dq21_tx_de-skew = <8>;
|
||||
+ cs1_dq22_rx_de-skew = <7>;
|
||||
+ cs1_dq22_tx_de-skew = <8>;
|
||||
+ cs1_dq23_rx_de-skew = <7>;
|
||||
+ cs1_dq23_tx_de-skew = <8>;
|
||||
+ cs1_dqs2_rx_de-skew = <6>;
|
||||
+ cs1_dqs2p_tx_de-skew = <9>;
|
||||
+ cs1_dqs2n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm3_rx_de-skew = <7>;
|
||||
+ cs1_dm3_tx_de-skew = <7>;
|
||||
+ cs1_dq24_rx_de-skew = <7>;
|
||||
+ cs1_dq24_tx_de-skew = <8>;
|
||||
+ cs1_dq25_rx_de-skew = <7>;
|
||||
+ cs1_dq25_tx_de-skew = <7>;
|
||||
+ cs1_dq26_rx_de-skew = <7>;
|
||||
+ cs1_dq26_tx_de-skew = <7>;
|
||||
+ cs1_dq27_rx_de-skew = <7>;
|
||||
+ cs1_dq27_tx_de-skew = <7>;
|
||||
+ cs1_dq28_rx_de-skew = <7>;
|
||||
+ cs1_dq28_tx_de-skew = <7>;
|
||||
+ cs1_dq29_rx_de-skew = <7>;
|
||||
+ cs1_dq29_tx_de-skew = <7>;
|
||||
+ cs1_dq30_rx_de-skew = <7>;
|
||||
+ cs1_dq30_tx_de-skew = <7>;
|
||||
+ cs1_dq31_rx_de-skew = <7>;
|
||||
+ cs1_dq31_tx_de-skew = <7>;
|
||||
+ cs1_dqs3_rx_de-skew = <7>;
|
||||
+ cs1_dqs3p_tx_de-skew = <9>;
|
||||
+ cs1_dqs3n_tx_de-skew = <9>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
Armbian
|
||||
|
||||
593
patch/kernel/archive/rockchip64-6.4/board-rk3328-roc-pc.patch
Normal file
593
patch/kernel/archive/rockchip64-6.4/board-rk3328-roc-pc.patch
Normal file
@@ -0,0 +1,593 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Tue, 12 Oct 2021 19:34:29 +0000
|
||||
Subject: enable dmc for rk3328-roc-pc
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts | 525 ++++++++--
|
||||
1 file changed, 466 insertions(+), 59 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
|
||||
index e3e3984d01d4..02047f049822 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
|
||||
@@ -1,110 +1,517 @@
|
||||
-// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
-// Copyright (c) 2021 T-Chip Intelligent Technology Co., Ltd
|
||||
+/*
|
||||
+ * SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||
+ * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
|
||||
+ */
|
||||
|
||||
/dts-v1/;
|
||||
-
|
||||
+#include "rk3328-roc-pc-dram-timing.dtsi"
|
||||
+#include "rk3328.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
-#include "rk3328-roc-cc.dts"
|
||||
-
|
||||
/ {
|
||||
- model = "Firefly ROC-RK3328-PC";
|
||||
+ model = "Firefly roc-rk3328-pc";
|
||||
compatible = "firefly,roc-rk3328-pc", "rockchip,rk3328";
|
||||
|
||||
- adc-keys {
|
||||
- compatible = "adc-keys";
|
||||
- io-channels = <&saradc 0>;
|
||||
- io-channel-names = "buttons";
|
||||
- keyup-threshold-microvolt = <1750000>;
|
||||
+ aliases {
|
||||
+ mmc0 = &sdmmc;
|
||||
+ mmc1 = &emmc; /* MMC boot device */
|
||||
+ };
|
||||
+
|
||||
+ gmac_clkin: external-gmac-clock {
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <125000000>;
|
||||
+ clock-output-names = "gmac_clkin";
|
||||
+ #clock-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ simple-audio-card,name = "rockchip,rk3328";
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s1>;
|
||||
+ };
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&codec>;
|
||||
+ };
|
||||
+ };
|
||||
|
||||
- /* This button is unpopulated out of the factory. */
|
||||
- button-recovery {
|
||||
- label = "Recovery";
|
||||
- linux,code = <KEY_VENDOR>;
|
||||
- press-threshold-microvolt = <10000>;
|
||||
+ hdmi-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,mclk-fs = <128>;
|
||||
+ simple-audio-card,name = "rockchip,hdmi";
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s0>;
|
||||
};
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&hdmi>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_host_5v: vcc-host-5v-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&usb30_host_drv>;
|
||||
+ regulator-name = "vcc_host_5v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vcc_sys>;
|
||||
+ };
|
||||
+
|
||||
+ vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc_phy";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
};
|
||||
|
||||
- ir-receiver {
|
||||
- compatible = "gpio-ir-receiver";
|
||||
- gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
- linux,rc-map-name = "rc-khadas";
|
||||
+ vcc_phy: vcc-phy-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
- pinctrl-0 = <&ir_int>;
|
||||
+ pinctrl-0 = <&usb20_host_drv>;
|
||||
+ regulator-name = "vcc_host1_5v";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
- sdio_pwrseq: sdio-pwrseq {
|
||||
- compatible = "mmc-pwrseq-simple";
|
||||
+ vcc_sd: sdmmc-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
- pinctrl-0 = <&wifi_en>, <&wifi_host_wake>;
|
||||
- reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
||||
+ pinctrl-0 = <&sdmmc0m1_pin>;
|
||||
+ regulator-name = "vcc_sd";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&vcc_io>;
|
||||
+ };
|
||||
+
|
||||
+ vcc_sys: vcc-sys {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc_sys";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ };
|
||||
+
|
||||
+ xin32k: xin32k {
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <32768>;
|
||||
+ clock-output-names = "xin32k";
|
||||
+ #clock-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ power_led: led-0 {
|
||||
+ label = "firefly:blue:power";
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
|
||||
+ default-state = "on";
|
||||
+ mode = <0x23>;
|
||||
+ };
|
||||
+
|
||||
+ user_led: led-1 {
|
||||
+ label = "firefly:yellow:user";
|
||||
+ linux,default-trigger = "mmc1";
|
||||
+ gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
|
||||
+ default-state = "off";
|
||||
+ mode = <0x05>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ /delete-node/ dmc-opp-table;
|
||||
+ dmc_opp_table: dmc-opp-table {
|
||||
+ compatible = "operating-points-v2";
|
||||
+
|
||||
+ opp-786000000 {
|
||||
+ opp-hz = /bits/ 64 <786000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-798000000 {
|
||||
+ opp-hz = /bits/ 64 <798000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-840000000 {
|
||||
+ opp-hz = /bits/ 64 <840000000>;
|
||||
+ opp-microvolt = <1075000 1075000 1200000>;
|
||||
+ };
|
||||
+ opp-924000000 {
|
||||
+ status = "disabled"; // unstable
|
||||
+ opp-hz = /bits/ 64 <924000000>;
|
||||
+ opp-microvolt = <1100000 1100000 1200000>;
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
-&codec {
|
||||
- mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
|
||||
+&dfi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dmc {
|
||||
+ center-supply = <&vdd_logic>;
|
||||
+ ddr_timing = <&ddr_timing>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&io_domains {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ vccio1-supply = <&vcc_io>;
|
||||
+ vccio2-supply = <&vcc_18emmc>;
|
||||
+ vccio3-supply = <&vcc_io>;
|
||||
+ vccio4-supply = <&vcc_io>;
|
||||
+ vccio5-supply = <&vcc_io>;
|
||||
+ vccio6-supply = <&vcc_io>;
|
||||
+ pmuio-supply = <&vcc_io>;
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&gpu {
|
||||
+ status = "okay";
|
||||
mali-supply = <&vdd_logic>;
|
||||
};
|
||||
|
||||
-&pinctrl {
|
||||
- ir {
|
||||
- ir_int: ir-int {
|
||||
- rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+&gmac2phy {
|
||||
+ phy-supply = <&vcc_phy>;
|
||||
+ clock_in_out = "output";
|
||||
+ assigned-clocks = <&cru SCLK_MAC2PHY_SRC>;
|
||||
+ assigned-clock-rate = <50000000>;
|
||||
+ assigned-clocks = <&cru SCLK_MAC2PHY>;
|
||||
+ assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&gmac2io {
|
||||
+ phy-supply = <&vcc_io>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ clock_in_out = "input";
|
||||
+ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
+ snps,reset-active-low;
|
||||
+ snps,reset-delays-us = <0 10000 50000>;
|
||||
+ assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
|
||||
+ assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&rgmiim1_pins>;
|
||||
+ snps,aal;
|
||||
+ snps,rxpbl = <0x4>;
|
||||
+ snps,txpbl = <0x4>;
|
||||
+ tx_delay = <0x24>;
|
||||
+ rx_delay = <0x18>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&display_subsystem {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ ddc-i2c-scl-high-time-ns = <9625>;
|
||||
+ ddc-i2c-scl-low-time-ns = <10000>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmiphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_sound {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/*&h265e {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vdec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vepu {
|
||||
+ status = "okay";
|
||||
+};*/
|
||||
+
|
||||
+&vop {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vop_mmu {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/*&vpu_service {
|
||||
+ status = "okay";
|
||||
+};*/
|
||||
+
|
||||
+&i2s0 {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ rockchip,bclk-fs = <128>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2s1 {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&emmc {
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ supports-emmc;
|
||||
+ disable-wp;
|
||||
+ non-removable;
|
||||
+ num-slots = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdmmc {
|
||||
+ bus-width = <4>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ cap-sd-highspeed;
|
||||
+ disable-wp;
|
||||
+ max-frequency = <150000000>;
|
||||
+ num-slots = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
|
||||
+ supports-sd;
|
||||
+ status = "okay";
|
||||
+ vmmc-supply = <&vcc_sd>;
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rk805: rk805@18 {
|
||||
+ compatible = "rockchip,rk805";
|
||||
+ status = "okay";
|
||||
+ reg = <0x18>;
|
||||
+ interrupt-parent = <&gpio2>;
|
||||
+ interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pmic_int_l>;
|
||||
+ rockchip,system-power-controller;
|
||||
+ wakeup-source;
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <2>;
|
||||
+ #clock-cells = <1>;
|
||||
+ clock-output-names = "xin32k", "rk805-clkout2";
|
||||
+
|
||||
+ vcc1-supply = <&vcc_sys>;
|
||||
+ vcc2-supply = <&vcc_sys>;
|
||||
+ vcc3-supply = <&vcc_sys>;
|
||||
+ vcc4-supply = <&vcc_sys>;
|
||||
+ vcc5-supply = <&vcc_io>;
|
||||
+ vcc6-supply = <&vcc_io>;
|
||||
+
|
||||
+ rtc {
|
||||
+ status = "okay";
|
||||
};
|
||||
- };
|
||||
|
||||
- sdmmcio {
|
||||
- sdio_per_pin: sdio-per-pin {
|
||||
- rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ pwrkey {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ gpio {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ regulators {
|
||||
+ compatible = "rk805-regulator";
|
||||
+ status = "okay";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ vdd_logic: DCDC_REG1 {
|
||||
+ regulator-name = "vdd_logic";
|
||||
+ regulator-min-microvolt = <712500>;
|
||||
+ regulator-max-microvolt = <1450000>;
|
||||
+ regulator-ramp-delay = <12500>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_arm: DCDC_REG2 {
|
||||
+ regulator-name = "vdd_arm";
|
||||
+ regulator-min-microvolt = <712500>;
|
||||
+ regulator-max-microvolt = <1450000>;
|
||||
+ regulator-ramp-delay = <12500>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <950000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_ddr: DCDC_REG3 {
|
||||
+ regulator-name = "vcc_ddr";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_io: DCDC_REG4 {
|
||||
+ regulator-name = "vcc_io";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3300000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_18: LDO_REG1 {
|
||||
+ regulator-name = "vdd_18";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_18emmc: LDO_REG2 {
|
||||
+ regulator-name = "vcc_18emmc";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_11: LDO_REG3 {
|
||||
+ regulator-name = "vdd_11";
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1100000>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
};
|
||||
+};
|
||||
+
|
||||
+&pinctrl {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&clk_32k_out>;
|
||||
|
||||
- wifi {
|
||||
- wifi_en: wifi-en {
|
||||
- rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ clk_32k {
|
||||
+ clk_32k_out: clk-32k-out {
|
||||
+ rockchip,pins =
|
||||
+ <1 RK_PD4 1 &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pmic {
|
||||
+ pmic_int_l: pmic-int-l {
|
||||
+ rockchip,pins =
|
||||
+ <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; /* gpio2_a6 */
|
||||
};
|
||||
+ };
|
||||
|
||||
- wifi_host_wake: wifi-host-wake {
|
||||
- rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none_4ma>;
|
||||
+ sdio-pwrseq {
|
||||
+ wifi_enable_h: wifi-enable-h {
|
||||
+ rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>,
|
||||
+ <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none_4ma>,
|
||||
+ <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>,
|
||||
+ <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
+ };
|
||||
|
||||
- bt_rst: bt-rst {
|
||||
- rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ usb2 {
|
||||
+ usb20_host_drv: usb20-host-drv {
|
||||
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
+ };
|
||||
|
||||
- bt_en: bt-en {
|
||||
- rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ usb3 {
|
||||
+ usb30_host_drv: usb30-host-drv {
|
||||
+ rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
-&pmic_int_l {
|
||||
- rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+&u2phy {
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
-&rk805 {
|
||||
- interrupt-parent = <&gpio0>;
|
||||
- interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
|
||||
+&u2phy_host {
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
-&saradc {
|
||||
- vref-supply = <&vcc_18>;
|
||||
+&u2phy_otg {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&usb20_host_drv {
|
||||
- rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+&usb20_otg {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
-&vcc_host1_5v {
|
||||
- gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
|
||||
+&usb_host0_ehci {
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
-&vcc_sdio {
|
||||
- gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&sdio_per_pin>;
|
||||
+&usb_host0_ohci {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbdrd3 {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&wdt {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ status = "okay";
|
||||
+ vref-supply = <&vdd_18>;
|
||||
+};
|
||||
+
|
||||
+&tsadc {
|
||||
+ status = "okay";
|
||||
+ rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
|
||||
+ rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
|
||||
};
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
Date: Wed, 3 Aug 2022 22:22:55 +0200
|
||||
Subject: [ARCHEOLOGY] update rockchip64 edge to 5.19 (#4039)
|
||||
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 11 ++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
|
||||
index 917f5b2b8aab..8353ca3a70ea 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
|
||||
@@ -756,6 +756,17 @@ &sdmmc2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&sfc {
|
||||
+ status = "okay";
|
||||
+ flash@0 {
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <108000000>;
|
||||
+ spi-rx-bus-width = <2>;
|
||||
+ spi-tx-bus-width = <2>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&tsadc {
|
||||
rockchip,hw-tshut-mode = <1>;
|
||||
rockchip,hw-tshut-polarity = <0>;
|
||||
--
|
||||
Armbian
|
||||
|
||||
44
patch/kernel/archive/rockchip64-6.4/board-rock3a-usb3.patch
Normal file
44
patch/kernel/archive/rockchip64-6.4/board-rock3a-usb3.patch
Normal file
@@ -0,0 +1,44 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
Date: Wed, 3 Aug 2022 22:22:55 +0200
|
||||
Subject: [ARCHEOLOGY] update rockchip64 edge to 5.19 (#4039)
|
||||
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
|
||||
index 8353ca3a70ea..5e72cc21a6ac 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
|
||||
@@ -808,6 +808,7 @@ &usb_host0_ohci {
|
||||
|
||||
&usb_host0_xhci {
|
||||
extcon = <&usb2phy0>;
|
||||
+ dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: tonymac32 <tonymckahan@gmail.com>
|
||||
Date: Sun, 8 Aug 2021 11:49:27 -0400
|
||||
Subject: board_rock64_mali-usb-supply
|
||||
|
||||
Signed-off-by: tonymac32 <tonymckahan@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 16 +++-------
|
||||
1 file changed, 5 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
|
||||
index f69a38f42d2d..a64a7713b418 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
|
||||
@@ -145,6 +134,11 @@ &emmc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&gpu {
|
||||
+ status = "okay";
|
||||
+ mali-supply = <&vdd_logic>;
|
||||
+};
|
||||
+
|
||||
&gmac2io {
|
||||
assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
|
||||
assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Wed, 8 Mar 2023 11:12:22 +0100
|
||||
Subject: [ARCHEOLOGY] rockchip64: enable dmc on Rock PI E board
|
||||
|
||||
> X-Git-Archeology: - Revision 4ea9330e5185e1c6e248af035cc615d23408316d: https://github.com/armbian/build/commit/4ea9330e5185e1c6e248af035cc615d23408316d
|
||||
> X-Git-Archeology: Date: Wed, 08 Mar 2023 11:12:22 +0100
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip64: enable dmc on Rock PI E board
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
|
||||
index 018a3a5075c7..9b3453cece85 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
|
||||
#include "rk3328.dtsi"
|
||||
+#include "rk3328-dram-default-timing.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Radxa ROCK Pi E";
|
||||
@@ -388,3 +389,9 @@ &usbdrd3 {
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&dmc {
|
||||
+ status = "okay";
|
||||
+ center-supply = <&vdd_log>;
|
||||
+ ddr_timing = <&ddr_timing>;
|
||||
+};
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Piotr Szczepanik <piter75@gmail.com>
|
||||
Date: Mon, 18 Nov 2019 18:23:10 +0100
|
||||
Subject: [ARCHEOLOGY] Rock Pi 4 enable PCIe in device tree for "dev" target
|
||||
(#1624)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * Rock Pi 4 enabled support for PCIe in device tree
|
||||
> X-Git-Archeology: > recovered message: > * Rockchip64-dev added possibility to enable PCIe Gen2 speed via overlay
|
||||
> X-Git-Archeology: - Revision b3bb9345439250d8247f0e24a8e1ef6290b2c279: https://github.com/armbian/build/commit/b3bb9345439250d8247f0e24a8e1ef6290b2c279
|
||||
> X-Git-Archeology: Date: Mon, 18 Nov 2019 18:23:10 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Rock Pi 4 enable PCIe in device tree for "dev" target (#1624)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
|
||||
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 812245def37a695bce9e7ece148b2920d82c8b37: https://github.com/armbian/build/commit/812245def37a695bce9e7ece148b2920d82c8b37
|
||||
> X-Git-Archeology: Date: Sat, 18 Jul 2020 23:07:01 +0200
|
||||
> X-Git-Archeology: From: Werner <EvilOlaf@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Move rockchip/64 current to 5.7.y (#2099)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dfd5cf9692e97774f7f0bfd72227144e36f58070: https://github.com/armbian/build/commit/dfd5cf9692e97774f7f0bfd72227144e36f58070
|
||||
> X-Git-Archeology: Date: Sun, 13 Dec 2020 22:13:03 -0500
|
||||
> X-Git-Archeology: From: tonymac32 <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ rockchip64 ] Clean up patchset
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 091d91468e383c3d12a03a465be36b76112ce798: https://github.com/armbian/build/commit/091d91468e383c3d12a03a465be36b76112ce798
|
||||
> X-Git-Archeology: Date: Sun, 17 Jan 2021 19:07:59 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switched rockchip64-current to 5.10.y (and synced -dev config/patches) (#2546)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 44c4cdf8653104bc395c504d7611d819906ff69b: https://github.com/armbian/build/commit/44c4cdf8653104bc395c504d7611d819906ff69b
|
||||
> X-Git-Archeology: Date: Fri, 30 Dec 2022 21:17:33 +0100
|
||||
> X-Git-Archeology: From: Konstantin Litvinov <koftikes@gmail.com>
|
||||
> X-Git-Archeology: Subject: Fixed issue with NVMe identification in rk3399-rock-pi-4.dts (#4627)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 44c95b7b0a64486a85f23c5630842ea1b877a695: https://github.com/armbian/build/commit/44c95b7b0a64486a85f23c5630842ea1b877a695
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:01 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: fix unidiff warning from patches of rockchip64-6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
|
||||
index 907071d4fe80..3f166847c101 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
|
||||
@@ -113,6 +113,8 @@ vcc3v3_pcie: vcc3v3-pcie-regulator {
|
||||
regulator-name = "vcc3v3_pcie";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
@@ -528,9 +530,11 @@ &pcie0 {
|
||||
num-lanes = <4>;
|
||||
pinctrl-0 = <&pcie_clkreqnb_cpm>;
|
||||
pinctrl-names = "default";
|
||||
+ vpcie12v-supply = <&vcc12v_dcin>;
|
||||
vpcie0v9-supply = <&vcc_0v9>;
|
||||
vpcie1v8-supply = <&vcc_1v8>;
|
||||
vpcie3v3-supply = <&vcc3v3_pcie>;
|
||||
+ bus-scan-delay-ms = <1500>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: zhouzhiwen2000 <zhouzhiwen2000@gmail.com>
|
||||
Date: Fri, 22 Jan 2021 13:12:49 +0100
|
||||
Subject: [ARCHEOLOGY] fix problems with mmc modules (#2566)
|
||||
|
||||
> X-Git-Archeology: - Revision b388750162173a1ebb2a3a5ed3599d66c2cba140: https://github.com/armbian/build/commit/b388750162173a1ebb2a3a5ed3599d66c2cba140
|
||||
> X-Git-Archeology: Date: Fri, 22 Jan 2021 13:12:49 +0100
|
||||
> X-Git-Archeology: From: zhouzhiwen2000 <zhouzhiwen2000@gmail.com>
|
||||
> X-Git-Archeology: Subject: fix problems with mmc modules (#2566)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
|
||||
index 3f166847c101..16eaf6587d22 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
|
||||
@@ -649,6 +649,7 @@ &saradc {
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
+ max-frequency = <150000000>;
|
||||
bus-width = <8>;
|
||||
mmc-hs400-1_8v;
|
||||
mmc-hs400-enhanced-strobe;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,405 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: brentr <brent@mbari.org>
|
||||
Date: Fri, 23 Dec 2022 21:57:53 +0100
|
||||
Subject: [ARCHEOLOGY] Rockpis devtree mainlined (#4603)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * moved rockpro64 patch out of rockpis patch sequence
|
||||
> X-Git-Archeology: > recovered message: > It had been misnamed
|
||||
> X-Git-Archeology: > recovered message: > * patch new mainline devtree for Rock Pi-S instead of overwritting it.
|
||||
> X-Git-Archeology: > recovered message: > Also restores lost bluetooth compatibility items on UART4
|
||||
> X-Git-Archeology: - Revision 588c2ec17e709dec19304fa50522459702ebfadd: https://github.com/armbian/build/commit/588c2ec17e709dec19304fa50522459702ebfadd
|
||||
> X-Git-Archeology: Date: Fri, 23 Dec 2022 21:57:53 +0100
|
||||
> X-Git-Archeology: From: brentr <brent@mbari.org>
|
||||
> X-Git-Archeology: Subject: Rockpis devtree mainlined (#4603)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts | 241 +++++++---
|
||||
1 file changed, 164 insertions(+), 77 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
|
||||
index a71f249ed384..0d917658d24a 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
|
||||
@@ -2,6 +2,7 @@
|
||||
/*
|
||||
* Copyright (c) 2019 Akash Gajjar <akash@openedev.com>
|
||||
* Copyright (c) 2019 Jagan Teki <jagan@openedev.com>
|
||||
+ * Revised: 2022 Brent Roman <brent@mbari.org>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
@@ -11,12 +12,6 @@ / {
|
||||
model = "Radxa ROCK Pi S";
|
||||
compatible = "radxa,rockpis", "rockchip,rk3308";
|
||||
|
||||
- aliases {
|
||||
- ethernet0 = &gmac;
|
||||
- mmc0 = &emmc;
|
||||
- mmc1 = &sdmmc;
|
||||
- };
|
||||
-
|
||||
chosen {
|
||||
stdout-path = "serial0:1500000n8";
|
||||
};
|
||||
@@ -27,44 +22,102 @@ leds {
|
||||
pinctrl-0 = <&green_led_gio>, <&heartbeat_led_gpio>;
|
||||
|
||||
green-led {
|
||||
- default-state = "on";
|
||||
- gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
label = "rockpis:green:power";
|
||||
+ gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "default-on";
|
||||
+ default-state = "on";
|
||||
};
|
||||
|
||||
blue-led {
|
||||
- default-state = "on";
|
||||
- gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
label = "rockpis:blue:user";
|
||||
+ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
+ default-state = "on";
|
||||
};
|
||||
};
|
||||
|
||||
+ codec: acodec-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,name = "rockchip,rk3308-acodec";
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ simple-audio-card,codec-hp-det;
|
||||
+ simple-audio-card,widgets =
|
||||
+ "Headphone", "Headphones";
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s_8ch_2>;
|
||||
+ };
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&acodec>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ simple-audio-card,name = "i2s_8ch_0";
|
||||
+
|
||||
+ simple-audio-card,dai-link@1 {
|
||||
+ format = "i2s";
|
||||
+ cpu {
|
||||
+ sound-dai = <&i2s_8ch_0>;
|
||||
+ };
|
||||
+
|
||||
+ codec {
|
||||
+ sound-dai = <&pcm5102a>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pcm5102a: pcm5102a {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ compatible = "ti,pcm5102a";
|
||||
+ pcm510x,format = "i2s";
|
||||
+ };
|
||||
+
|
||||
sdio_pwrseq: sdio-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-0 = <&wifi_enable_h>;
|
||||
pinctrl-names = "default";
|
||||
+ /*
|
||||
+ * On the module itself this is one of these (depending
|
||||
+ * on the actual card populated):
|
||||
+ * - SDIO_RESET_L_WL_REG_ON
|
||||
+ * - PDN (power down when low)
|
||||
+ */
|
||||
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
- vcc_1v8: vcc-1v8 {
|
||||
+ vcc5v0_sys: vcc5v0-sys {
|
||||
compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc_1v8";
|
||||
+ regulator-name = "vcc5v0_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
- regulator-min-microvolt = <1800000>;
|
||||
- regulator-max-microvolt = <1800000>;
|
||||
- vin-supply = <&vcc_io>;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
- vcc_io: vcc-io {
|
||||
+ vdd_core: vdd-core {
|
||||
+ compatible = "pwm-regulator";
|
||||
+ pwms = <&pwm0 0 5000 1>;
|
||||
+ regulator-name = "vdd_core";
|
||||
+ regulator-min-microvolt = <827000>;
|
||||
+ regulator-max-microvolt = <1340000>;
|
||||
+ regulator-init-microvolt = <1015000>;
|
||||
+ regulator-settling-time-up-us = <250>;
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ pwm-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+
|
||||
+ vdd_log: vdd-log {
|
||||
compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc_io";
|
||||
+ regulator-name = "vdd_log";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
+ regulator-min-microvolt = <1050000>;
|
||||
+ regulator-max-microvolt = <1050000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
@@ -78,50 +131,50 @@ vcc_ddr: vcc-ddr {
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
- vcc5v0_otg: vcc5v0-otg {
|
||||
+ vcc_1v8: vcc-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
- enable-active-high;
|
||||
- gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&otg_vbus_drv>;
|
||||
- regulator-name = "vcc5v0_otg";
|
||||
+ regulator-name = "vcc_1v8";
|
||||
regulator-always-on;
|
||||
- vin-supply = <&vcc5v0_sys>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
- vcc5v0_sys: vcc5v0-sys {
|
||||
+ vcc_io: vcc-io {
|
||||
compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc5v0_sys";
|
||||
+ regulator-name = "vcc_io";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
- regulator-min-microvolt = <5000000>;
|
||||
- regulator-max-microvolt = <5000000>;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
- vdd_core: vdd-core {
|
||||
- compatible = "pwm-regulator";
|
||||
- pwms = <&pwm0 0 5000 1>;
|
||||
- pwm-supply = <&vcc5v0_sys>;
|
||||
- regulator-name = "vdd_core";
|
||||
- regulator-min-microvolt = <827000>;
|
||||
- regulator-max-microvolt = <1340000>;
|
||||
- regulator-init-microvolt = <1015000>;
|
||||
- regulator-settling-time-up-us = <250>;
|
||||
+ vcc_phy: vcc-phy-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc_phy";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
- vdd_log: vdd-log {
|
||||
+ vcc5v0_otg: vcc5v0-otg {
|
||||
compatible = "regulator-fixed";
|
||||
- regulator-name = "vdd_log";
|
||||
+ regulator-name = "vcc5v0_otg";
|
||||
regulator-always-on;
|
||||
- regulator-boot-on;
|
||||
- regulator-min-microvolt = <1050000>;
|
||||
- regulator-max-microvolt = <1050000>;
|
||||
+ gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-active-high;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&otg_vbus_drv>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
};
|
||||
|
||||
+&acodec {
|
||||
+ status = "okay";
|
||||
+ #sound-dai-cells = <0>;
|
||||
+};
|
||||
+
|
||||
&cpu0 {
|
||||
cpu-supply = <&vdd_core>;
|
||||
};
|
||||
@@ -129,23 +182,60 @@ &cpu0 {
|
||||
&emmc {
|
||||
bus-width = <4>;
|
||||
cap-mmc-highspeed;
|
||||
- mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
- vmmc-supply = <&vcc_io>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&sdmmc {
|
||||
+ cap-mmc-highspeed;
|
||||
+ cap-sd-highspeed;
|
||||
+ disable-wp;
|
||||
+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
|
||||
+ card-detect-delay = <800>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdio {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cap-sdio-irq;
|
||||
+ keep-power-in-suspend;
|
||||
+ mmc-pwrseq = <&sdio_pwrseq>;
|
||||
+ non-removable;
|
||||
+ no-mmc;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rtl8723ds: wifi@1 {
|
||||
+ interrupt-parent = <&gpio0>;
|
||||
+ interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
+ interrupt-names = "host-wake";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&wifi_host_wake>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&gmac {
|
||||
+ phy-supply = <&vcc_phy>;
|
||||
clock_in_out = "output";
|
||||
- phy-supply = <&vcc_io>;
|
||||
+ assigned-clocks = <&cru SCLK_MAC>;
|
||||
+ assigned-clock-parents = <&cru SCLK_MAC_SRC>;
|
||||
snps,reset-gpio = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
snps,reset-active-low;
|
||||
snps,reset-delays-us = <0 50000 50000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&i2c1 {
|
||||
+&i2s_8ch_0 {
|
||||
+ assigned-clocks = <&cru SCLK_I2S0_8CH_RX>;
|
||||
+ assigned-clock-parents = <&cru SCLK_I2S0_8CH_TX_MUX>;
|
||||
+ rockchip,clk-trcm = <1>;
|
||||
+ #sound-dai-cells = <0>;
|
||||
+};
|
||||
+
|
||||
+&i2s_8ch_2 {
|
||||
status = "okay";
|
||||
+ #sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
@@ -172,7 +262,9 @@ sdio-pwrseq {
|
||||
wifi_enable_h: wifi-enable-h {
|
||||
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
+ };
|
||||
|
||||
+ wifi {
|
||||
wifi_host_wake: wifi-host-wake {
|
||||
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
@@ -189,42 +281,29 @@ &saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&sdio {
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
- cap-sd-highspeed;
|
||||
- cap-sdio-irq;
|
||||
- keep-power-in-suspend;
|
||||
- max-frequency = <1000000>;
|
||||
- mmc-pwrseq = <&sdio_pwrseq>;
|
||||
- non-removable;
|
||||
- sd-uhs-sdr104;
|
||||
+&tsadc {
|
||||
+ rockchip,hw-tshut-mode = <0>; /* 0:CRU */
|
||||
+ rockchip,hw-tshut-polarity = <1>; /* 1:HIGH */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&sdmmc {
|
||||
- cap-sd-highspeed;
|
||||
+&i2c1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&u2phy {
|
||||
- status = "okay";
|
||||
-
|
||||
- u2phy_host: host-port {
|
||||
- phy-supply = <&vcc5v0_otg>;
|
||||
- status = "okay";
|
||||
- };
|
||||
-
|
||||
- u2phy_otg: otg-port {
|
||||
- phy-supply = <&vcc5v0_otg>;
|
||||
- status = "okay";
|
||||
- };
|
||||
+&spi2 {
|
||||
+// status = "okay"; //conflicts with UART2
|
||||
+ max-freq = <10000000>;
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&uart2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&uart4 {
|
||||
status = "okay";
|
||||
|
||||
@@ -235,19 +314,27 @@ bluetooth {
|
||||
};
|
||||
};
|
||||
|
||||
-&usb_host_ehci {
|
||||
+&u2phy {
|
||||
status = "okay";
|
||||
+
|
||||
+ u2phy_host: host-port {
|
||||
+ phy-supply = <&vcc5v0_otg>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ u2phy_otg: otg-port {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
};
|
||||
|
||||
-&usb_host_ohci {
|
||||
+&usb20_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&usb20_otg {
|
||||
- dr_mode = "peripheral";
|
||||
+&usb_host_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&wdt {
|
||||
+&usb_host_ohci{
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: ashthespy <ashthespy@gmail.com>
|
||||
Date: Thu, 16 Jan 2020 21:13:09 +0100
|
||||
Subject: arm64: dts: rk3308: Add mac node at dtsi level
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
index dd228a256a32..9a8edd1c81a0 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
@@ -24,6 +24,7 @@ aliases {
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
i2c3 = &i2c3;
|
||||
+ ethernet0 = &gmac;
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
serial2 = &uart2;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: ashthespy <ashthespy@gmail.com>
|
||||
Date: Fri, 17 Jan 2020 15:57:53 +0100
|
||||
Subject: arm64: dts: rockchip: add cpu's thermal config for rk3308
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 64 ++++++++++
|
||||
1 file changed, 64 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
index 9a8edd1c81a0..5b92920426db 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
@@ -551,6 +551,70 @@ saradc: saradc@ff1e0000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ thermal_zones: thermal-zones {
|
||||
+
|
||||
+ soc_thermal: soc-thermal {
|
||||
+ polling-delay-passive = <20>;
|
||||
+ polling-delay = <1000>;
|
||||
+ sustainable-power = <300>;
|
||||
+
|
||||
+ thermal-sensors = <&tsadc 1>;
|
||||
+
|
||||
+ trips {
|
||||
+ threshold: trip-point-0 {
|
||||
+ temperature = <70000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+ target: trip-point-1 {
|
||||
+ temperature = <85000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+ soc_crit: soc-crit {
|
||||
+ temperature = <115000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cooling-maps {
|
||||
+ map0 {
|
||||
+ trip = <&target>;
|
||||
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
+ contribution = <4096>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ logic_thermal: logic-thermal {
|
||||
+ polling-delay-passive = <100>; /* milliseconds */
|
||||
+ polling-delay = <1000>; /* milliseconds */
|
||||
+
|
||||
+ thermal-sensors = <&tsadc 0>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsadc: tsadc@ff1f0000 {
|
||||
+ compatible = "rockchip,rk3308-tsadc";
|
||||
+ reg = <0x0 0xff1f0000 0x0 0x100>;
|
||||
+ interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
|
||||
+ clock-names = "tsadc", "apb_pclk";
|
||||
+ assigned-clocks = <&cru SCLK_TSADC>;
|
||||
+ assigned-clock-rates = <50000>;
|
||||
+ resets = <&cru SRST_TSADC>;
|
||||
+ reset-names = "tsadc-apb";
|
||||
+ pinctrl-names = "gpio", "otpout";
|
||||
+ pinctrl-0 = <&tsadc_otp_pin>;
|
||||
+ pinctrl-1 = <&tsadc_otp_out>;
|
||||
+ #thermal-sensor-cells = <1>;
|
||||
+ rockchip,hw-tshut-temp = <120000>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
dmac0: dma-controller@ff2c0000 {
|
||||
compatible = "arm,pl330", "arm,primecell";
|
||||
reg = <0x0 0xff2c0000 0x0 0x4000>;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Rocky Hao <rocky.hao@rock-chips.com>
|
||||
Date: Fri, 9 Mar 2018 17:36:39 +0800
|
||||
Subject: thermal: rockchip: add tsadc support for rk3308
|
||||
|
||||
Change-Id: Ibf1782ca471c8ad4b14d6fd64eeb123181903adc
|
||||
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
|
||||
---
|
||||
Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml | 1 +
|
||||
drivers/thermal/rockchip_thermal.c | 28 ++++++++++
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
|
||||
index f6c1be226aaa..f652dd535f1b 100644
|
||||
--- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
|
||||
+++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
|
||||
@@ -15,6 +15,7 @@ properties:
|
||||
- rockchip,px30-tsadc
|
||||
- rockchip,rk3228-tsadc
|
||||
- rockchip,rk3288-tsadc
|
||||
+ - rockchip,rk3308-tsadc
|
||||
- rockchip,rk3328-tsadc
|
||||
- rockchip,rk3368-tsadc
|
||||
- rockchip,rk3399-tsadc
|
||||
diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c
|
||||
index 4b7c43f34d1a..8d08b59bc06f 100644
|
||||
--- a/drivers/thermal/rockchip_thermal.c
|
||||
+++ b/drivers/thermal/rockchip_thermal.c
|
||||
@@ -924,6 +924,28 @@ static void rk_tsadcv2_tshut_mode(int chn, void __iomem *regs,
|
||||
writel_relaxed(val, regs + TSADCV2_INT_EN);
|
||||
}
|
||||
|
||||
+static const struct rockchip_tsadc_chip rk3308_tsadc_data = {
|
||||
+ .chn_num = 2, /* 2 channels for tsadc */
|
||||
+
|
||||
+ .tshut_mode = TSHUT_MODE_CRU, /* default TSHUT via CRU */
|
||||
+ .tshut_temp = 95000,
|
||||
+
|
||||
+ .initialize = rk_tsadcv4_initialize,
|
||||
+ .irq_ack = rk_tsadcv3_irq_ack,
|
||||
+ .control = rk_tsadcv3_control,
|
||||
+ .get_temp = rk_tsadcv2_get_temp,
|
||||
+ .set_alarm_temp = rk_tsadcv2_alarm_temp,
|
||||
+ .set_tshut_temp = rk_tsadcv2_tshut_temp,
|
||||
+ .set_tshut_mode = rk_tsadcv2_tshut_mode,
|
||||
+
|
||||
+ .table = {
|
||||
+ .id = rk3328_code_table,
|
||||
+ .length = ARRAY_SIZE(rk3328_code_table),
|
||||
+ .data_mask = TSADCV2_DATA_MASK,
|
||||
+ .mode = ADC_INCREMENT,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
static const struct rockchip_tsadc_chip px30_tsadc_data = {
|
||||
.chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
|
||||
.chn_id[SENSOR_GPU] = 1, /* gpu sensor is channel 1 */
|
||||
@@ -1160,6 +1184,10 @@ static const struct of_device_id of_rockchip_thermal_match[] = {
|
||||
.compatible = "rockchip,rk3288-tsadc",
|
||||
.data = (void *)&rk3288_tsadc_data,
|
||||
},
|
||||
+ {
|
||||
+ .compatible = "rockchip,rk3308-tsadc",
|
||||
+ .data = (void *)&rk3308_tsadc_data,
|
||||
+ },
|
||||
{
|
||||
.compatible = "rockchip,rk3328-tsadc",
|
||||
.data = (void *)&rk3328_tsadc_data,
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: ashthespy <ashthespy@gmail.com>
|
||||
Date: Fri, 17 Jan 2020 16:22:13 +0100
|
||||
Subject: arm64: dts: rockchip: add i2s_8ch for rk3308
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 103 ++++++++++
|
||||
1 file changed, 103 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
index 5b92920426db..1121f2852070 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
@@ -637,6 +637,109 @@ dmac1: dma-controller@ff2d0000 {
|
||||
#dma-cells = <1>;
|
||||
};
|
||||
|
||||
+ i2s_8ch_0: i2s@ff300000 {
|
||||
+ compatible = "rockchip,rk3308-i2s-tdm";
|
||||
+ reg = <0x0 0xff300000 0x0 0x1000>;
|
||||
+ interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&cru SCLK_I2S0_8CH_TX>, <&cru SCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>,
|
||||
+ <&cru SCLK_I2S0_8CH_TX_SRC>,
|
||||
+ <&cru SCLK_I2S0_8CH_RX_SRC>,
|
||||
+ <&cru PLL_VPLL0>,
|
||||
+ <&cru PLL_VPLL1>;
|
||||
+ clock-names = "mclk_tx", "mclk_rx", "hclk",
|
||||
+ "mclk_tx_src", "mclk_rx_src",
|
||||
+ "mclk_root0", "mclk_root1";
|
||||
+ dmas = <&dmac1 0>, <&dmac1 1>;
|
||||
+ dma-names = "tx", "rx";
|
||||
+ resets = <&cru SRST_I2S0_8CH_TX_M>, <&cru SRST_I2S0_8CH_RX_M>;
|
||||
+ reset-names = "tx-m", "rx-m";
|
||||
+ rockchip,cru = <&cru>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ rockchip,mclk-calibrate;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2s_8ch_0_sclktx
|
||||
+ &i2s_8ch_0_sclkrx
|
||||
+ &i2s_8ch_0_lrcktx
|
||||
+ &i2s_8ch_0_lrckrx
|
||||
+ &i2s_8ch_0_sdi0
|
||||
+ &i2s_8ch_0_sdi1
|
||||
+ &i2s_8ch_0_sdi2
|
||||
+ &i2s_8ch_0_sdi3
|
||||
+ &i2s_8ch_0_sdo0
|
||||
+ &i2s_8ch_0_sdo1
|
||||
+ &i2s_8ch_0_sdo2
|
||||
+ &i2s_8ch_0_sdo3
|
||||
+ &i2s_8ch_0_mclk>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2s_8ch_1: i2s@ff310000 {
|
||||
+ compatible = "rockchip,rk3308-i2s-tdm";
|
||||
+ reg = <0x0 0xff310000 0x0 0x1000>;
|
||||
+ interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&cru SCLK_I2S1_8CH_TX>, <&cru SCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>,
|
||||
+ <&cru SCLK_I2S1_8CH_TX_SRC>,
|
||||
+ <&cru SCLK_I2S1_8CH_RX_SRC>,
|
||||
+ <&cru PLL_VPLL0>,
|
||||
+ <&cru PLL_VPLL1>;
|
||||
+ clock-names = "mclk_tx", "mclk_rx", "hclk",
|
||||
+ "mclk_tx_src", "mclk_rx_src",
|
||||
+ "mclk_root0", "mclk_root1";
|
||||
+ dmas = <&dmac1 2>, <&dmac1 3>;
|
||||
+ dma-names = "tx", "rx";
|
||||
+ resets = <&cru SRST_I2S1_8CH_TX_M>, <&cru SRST_I2S1_8CH_RX_M>;
|
||||
+ reset-names = "tx-m", "rx-m";
|
||||
+ rockchip,cru = <&cru>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ rockchip,mclk-calibrate;
|
||||
+ rockchip,io-multiplex;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2s_8ch_2: i2s@ff320000 {
|
||||
+ compatible = "rockchip,rk3308-i2s-tdm";
|
||||
+ reg = <0x0 0xff320000 0x0 0x1000>;
|
||||
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&cru SCLK_I2S2_8CH_TX>, <&cru SCLK_I2S2_8CH_RX>, <&cru HCLK_I2S2_8CH>,
|
||||
+ <&cru SCLK_I2S2_8CH_TX_SRC>,
|
||||
+ <&cru SCLK_I2S2_8CH_RX_SRC>,
|
||||
+ <&cru PLL_VPLL0>,
|
||||
+ <&cru PLL_VPLL1>;
|
||||
+ clock-names = "mclk_tx", "mclk_rx", "hclk",
|
||||
+ "mclk_tx_src", "mclk_rx_src",
|
||||
+ "mclk_root0", "mclk_root1";
|
||||
+ dmas = <&dmac1 4>, <&dmac1 5>;
|
||||
+ dma-names = "tx", "rx";
|
||||
+ resets = <&cru SRST_I2S2_8CH_TX_M>, <&cru SRST_I2S2_8CH_RX_M>;
|
||||
+ reset-names = "tx-m", "rx-m";
|
||||
+ rockchip,cru = <&cru>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ rockchip,mclk-calibrate;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2s_8ch_3: i2s@ff330000 {
|
||||
+ compatible = "rockchip,rk3308-i2s-tdm";
|
||||
+ reg = <0x0 0xff330000 0x0 0x1000>;
|
||||
+ interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&cru SCLK_I2S3_8CH_TX>, <&cru SCLK_I2S3_8CH_RX>, <&cru HCLK_I2S3_8CH>,
|
||||
+ <&cru SCLK_I2S3_8CH_TX_SRC>,
|
||||
+ <&cru SCLK_I2S3_8CH_RX_SRC>,
|
||||
+ <&cru PLL_VPLL0>,
|
||||
+ <&cru PLL_VPLL1>;
|
||||
+ clock-names = "mclk_tx", "mclk_rx", "hclk",
|
||||
+ "mclk_tx_src", "mclk_rx_src",
|
||||
+ "mclk_root0", "mclk_root1";
|
||||
+ dmas = <&dmac1 7>;
|
||||
+ dma-names = "rx";
|
||||
+ resets = <&cru SRST_I2S3_8CH_TX_M>, <&cru SRST_I2S3_8CH_RX_M>;
|
||||
+ reset-names = "tx-m", "rx-m";
|
||||
+ rockchip,cru = <&cru>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ rockchip,mclk-calibrate;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
i2s_2ch_0: i2s@ff350000 {
|
||||
compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s";
|
||||
reg = <0x0 0xff350000 0x0 0x1000>;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: ashthespy <ashthespy@gmail.com>
|
||||
Date: Fri, 17 Jan 2020 17:12:51 +0100
|
||||
Subject: arm64: dts: rk3308: Add rk-timer-rtc
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 11 +++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
index 1121f2852070..e77bf353e3cb 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
@@ -539,6 +539,15 @@ rktimer: rktimer@ff1a0000 {
|
||||
clock-names = "pclk", "timer";
|
||||
};
|
||||
|
||||
+ rk_timer_rtc: rk-timer-rtc@ff1a0020 {
|
||||
+ compatible = "rockchip,rk3308-timer-rtc";
|
||||
+ reg = <0x0 0xff1a0020 0x0 0x20>;
|
||||
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER1>;
|
||||
+ clock-names = "pclk", "timer";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
saradc: saradc@ff1e0000 {
|
||||
compatible = "rockchip,rk3308-saradc", "rockchip,rk3399-saradc";
|
||||
reg = <0x0 0xff1e0000 0x0 0x100>;
|
||||
@@ -739,7 +748,7 @@ i2s_8ch_3: i2s@ff330000 {
|
||||
rockchip,mclk-calibrate;
|
||||
status = "disabled";
|
||||
};
|
||||
-
|
||||
+
|
||||
i2s_2ch_0: i2s@ff350000 {
|
||||
compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s";
|
||||
reg = <0x0 0xff350000 0x0 0x1000>;
|
||||
--
|
||||
Armbian
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: ashthespy <ashthespy@gmail.com>
|
||||
Date: Mon, 3 Feb 2020 17:19:33 +0100
|
||||
Subject: arm64: dts: rockchip: Add acodec node for rk3308
|
||||
|
||||
Change-Id: I76f4a877711d33620bdef295e9047bdba26d4da4
|
||||
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 18 +++++++++-
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
index e77bf353e3cb..37fe89b14a40 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
@@ -547,7 +547,7 @@ rk_timer_rtc: rk-timer-rtc@ff1a0020 {
|
||||
clock-names = "pclk", "timer";
|
||||
status = "disabled";
|
||||
};
|
||||
-
|
||||
+
|
||||
saradc: saradc@ff1e0000 {
|
||||
compatible = "rockchip,rk3308-saradc", "rockchip,rk3399-saradc";
|
||||
reg = <0x0 0xff1e0000 0x0 0x100>;
|
||||
@@ -932,6 +932,22 @@ cru: clock-controller@ff500000 {
|
||||
assigned-clock-rates = <32768>;
|
||||
};
|
||||
|
||||
+ acodec: acodec@ff560000 {
|
||||
+ compatible = "rockchip,rk3308-codec";
|
||||
+ reg = <0x0 0xff560000 0x0 0x10000>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ rockchip,detect-grf = <&detect_grf>;
|
||||
+ interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&cru PCLK_ACODEC>,
|
||||
+ <&cru SCLK_I2S2_8CH_TX_OUT>,
|
||||
+ <&cru SCLK_I2S2_8CH_RX_OUT>;
|
||||
+ clock-names = "acodec", "mclk_tx", "mclk_rx";
|
||||
+ resets = <&cru SRST_ACODEC_P>;
|
||||
+ reset-names = "acodec-reset";
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
gic: interrupt-controller@ff580000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x0 0xff581000 0x0 0x1000>,
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,459 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: ashthespy <ashthespy@gmail.com>
|
||||
Date: Mon, 3 Feb 2020 19:35:42 +0100
|
||||
Subject: ASoC: rk3308_codec: replace codec to component
|
||||
|
||||
---
|
||||
sound/soc/codecs/rk3308_codec.c | 159 +++++-----
|
||||
sound/soc/codecs/rk3308_codec_provider.h | 2 +-
|
||||
2 files changed, 84 insertions(+), 77 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/codecs/rk3308_codec.c b/sound/soc/codecs/rk3308_codec.c
|
||||
index 815e22fc346c..b6862fc5a3da 100644
|
||||
--- a/sound/soc/codecs/rk3308_codec.c
|
||||
+++ b/sound/soc/codecs/rk3308_codec.c
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/regulator/consumer.h>
|
||||
#include <linux/reset.h>
|
||||
-#include <linux/rockchip/grf.h>
|
||||
+// #include <linux/rockchip/grf.h>
|
||||
#include <linux/version.h>
|
||||
#include <sound/core.h>
|
||||
#include <sound/dmaengine_pcm.h>
|
||||
@@ -156,7 +156,7 @@ struct rk3308_codec_priv {
|
||||
struct gpio_desc *hp_ctl_gpio;
|
||||
struct gpio_desc *spk_ctl_gpio;
|
||||
struct gpio_desc *pa_drv_gpio;
|
||||
- struct snd_soc_codec *codec;
|
||||
+ struct snd_soc_component *component;
|
||||
struct snd_soc_jack *hpdet_jack;
|
||||
struct regulator *vcc_micbias;
|
||||
u32 codec_ver;
|
||||
@@ -883,8 +883,8 @@ static const struct snd_kcontrol_new rk3308_codec_dapm_controls[] = {
|
||||
static int rk3308_codec_agc_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
||||
|
||||
if (e->reg < 0 || e->reg > ADC_LR_GROUP_MAX - 1) {
|
||||
@@ -904,8 +904,8 @@ static int rk3308_codec_agc_get(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_agc_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
||||
unsigned int value = ucontrol->value.integer.value[0];
|
||||
int grp = e->reg;
|
||||
@@ -970,8 +970,8 @@ static int rk3308_codec_agc_put(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_agc_asr_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
||||
unsigned int value;
|
||||
int grp = e->reg;
|
||||
@@ -998,8 +998,8 @@ static int rk3308_codec_agc_asr_get(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_agc_asr_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
||||
unsigned int value;
|
||||
int grp = e->reg;
|
||||
@@ -1032,8 +1032,8 @@ static int rk3308_codec_agc_asr_put(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_mic_mute_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
||||
unsigned int value;
|
||||
int grp = e->reg;
|
||||
@@ -1064,8 +1064,8 @@ static int rk3308_codec_mic_mute_get(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_mic_mute_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
||||
unsigned int value;
|
||||
int grp = e->reg;
|
||||
@@ -1098,8 +1098,8 @@ static int rk3308_codec_mic_mute_put(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_micbias_volts_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
ucontrol->value.integer.value[0] = rk3308->micbias_volt;
|
||||
|
||||
@@ -1109,8 +1109,8 @@ static int rk3308_codec_micbias_volts_get(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_micbias_volts_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
unsigned int volt = ucontrol->value.integer.value[0];
|
||||
int ret;
|
||||
|
||||
@@ -1133,8 +1133,8 @@ static int rk3308_codec_micbias_volts_put(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_main_micbias_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
ucontrol->value.integer.value[0] = rk3308->enable_micbias;
|
||||
|
||||
@@ -1144,8 +1144,8 @@ static int rk3308_codec_main_micbias_get(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_main_micbias_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
unsigned int on = ucontrol->value.integer.value[0];
|
||||
|
||||
if (on) {
|
||||
@@ -1168,8 +1168,8 @@ static int rk3308_codec_mic_gain_get(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_mic_gain_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
unsigned int gain = ucontrol->value.integer.value[0];
|
||||
|
||||
if (gain > RK3308_ADC_CH1_MIC_GAIN_MAX) {
|
||||
@@ -1197,8 +1197,8 @@ static int rk3308_codec_mic_gain_put(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_hpf_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
||||
unsigned int value;
|
||||
|
||||
@@ -1222,8 +1222,8 @@ static int rk3308_codec_hpf_get(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_hpf_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
||||
unsigned int value = ucontrol->value.integer.value[0];
|
||||
|
||||
@@ -1259,8 +1259,8 @@ static int rk3308_codec_hpout_l_get_tlv(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_hpout_l_put_tlv(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
unsigned int dgain = ucontrol->value.integer.value[0];
|
||||
|
||||
if (dgain > RK3308_DAC_L_HPOUT_GAIN_MAX) {
|
||||
@@ -1283,8 +1283,8 @@ static int rk3308_codec_hpout_r_get_tlv(struct snd_kcontrol *kcontrol,
|
||||
static int rk3308_codec_hpout_r_put_tlv(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
- struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
unsigned int dgain = ucontrol->value.integer.value[0];
|
||||
|
||||
if (dgain > RK3308_DAC_R_HPOUT_GAIN_MAX) {
|
||||
@@ -1408,9 +1408,9 @@ static void rk3308_speaker_ctl(struct rk3308_codec_priv *rk3308, int on)
|
||||
}
|
||||
}
|
||||
|
||||
-static int rk3308_codec_reset(struct snd_soc_codec *codec)
|
||||
+static int rk3308_codec_reset(struct snd_soc_component *component)
|
||||
{
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
reset_control_assert(rk3308->reset);
|
||||
usleep_range(2000, 2500); /* estimated value */
|
||||
@@ -1452,10 +1452,10 @@ static int rk3308_codec_dac_dig_reset(struct rk3308_codec_priv *rk3308)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int rk3308_set_bias_level(struct snd_soc_codec *codec,
|
||||
+static int rk3308_set_bias_level(struct snd_soc_component *component,
|
||||
enum snd_soc_bias_level level)
|
||||
{
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
switch (level) {
|
||||
case SND_SOC_BIAS_ON:
|
||||
@@ -1473,11 +1473,11 @@ static int rk3308_set_bias_level(struct snd_soc_codec *codec,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int rk3308_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
||||
+static int rk3308_set_dai_fmt(struct snd_soc_dai *dai,
|
||||
unsigned int fmt)
|
||||
{
|
||||
- struct snd_soc_codec *codec = codec_dai->codec;
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = dai->component;
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
unsigned int adc_aif1 = 0, adc_aif2 = 0, dac_aif1 = 0, dac_aif2 = 0;
|
||||
int idx, grp, is_master;
|
||||
int type = ADC_TYPE_ALL;
|
||||
@@ -1721,8 +1721,8 @@ static int rk3308_codec_update_adc_grps(struct rk3308_codec_priv *rk3308,
|
||||
|
||||
static int rk3308_mute_stream(struct snd_soc_dai *dai, int mute, int stream)
|
||||
{
|
||||
- struct snd_soc_codec *codec = dai->codec;
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = dai->component;
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||
int dgain;
|
||||
@@ -3630,8 +3630,8 @@ static int rk3308_hw_params(struct snd_pcm_substream *substream,
|
||||
struct snd_pcm_hw_params *params,
|
||||
struct snd_soc_dai *dai)
|
||||
{
|
||||
- struct snd_soc_codec *codec = dai->codec;
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = dai->component;
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
struct snd_pcm_str *playback_str =
|
||||
&substream->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK];
|
||||
int type = ADC_TYPE_LOOPBACK;
|
||||
@@ -3705,8 +3705,8 @@ static int rk3308_hw_params(struct snd_pcm_substream *substream,
|
||||
static int rk3308_pcm_trigger(struct snd_pcm_substream *substream,
|
||||
int cmd, struct snd_soc_dai *dai)
|
||||
{
|
||||
- struct snd_soc_codec *codec = dai->codec;
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = dai->component;
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
int type = ADC_TYPE_LOOPBACK;
|
||||
int idx, grp;
|
||||
|
||||
@@ -3749,8 +3749,8 @@ static int rk3308_pcm_trigger(struct snd_pcm_substream *substream,
|
||||
static void rk3308_pcm_shutdown(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_dai *dai)
|
||||
{
|
||||
- struct snd_soc_codec *codec = dai->codec;
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct snd_soc_component *component = dai->component;
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||
rk3308_codec_close_playback(rk3308);
|
||||
@@ -3809,9 +3809,9 @@ static struct snd_soc_dai_driver rk3308_dai[] = {
|
||||
},
|
||||
};
|
||||
|
||||
-static int rk3308_suspend(struct snd_soc_codec *codec)
|
||||
+static int rk3308_suspend(struct snd_soc_component *component)
|
||||
{
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
if (rk3308->no_deep_low_power)
|
||||
goto out;
|
||||
@@ -3822,13 +3822,13 @@ static int rk3308_suspend(struct snd_soc_codec *codec)
|
||||
clk_disable_unprepare(rk3308->pclk);
|
||||
|
||||
out:
|
||||
- rk3308_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
||||
+ rk3308_set_bias_level(component, SND_SOC_BIAS_OFF);
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int rk3308_resume(struct snd_soc_codec *codec)
|
||||
+static int rk3308_resume(struct snd_soc_component *component)
|
||||
{
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
int ret = 0;
|
||||
|
||||
if (rk3308->no_deep_low_power)
|
||||
@@ -3857,7 +3857,7 @@ static int rk3308_resume(struct snd_soc_codec *codec)
|
||||
|
||||
rk3308_codec_dlp_up(rk3308);
|
||||
out:
|
||||
- rk3308_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
||||
+ rk3308_set_bias_level(component, SND_SOC_BIAS_STANDBY);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -3972,7 +3972,7 @@ static int rk3308_codec_dapm_mic_gains(struct rk3308_codec_priv *rk3308)
|
||||
int ret;
|
||||
|
||||
if (rk3308->codec_ver == ACODEC_VERSION_B) {
|
||||
- ret = snd_soc_add_codec_controls(rk3308->codec,
|
||||
+ ret = snd_soc_add_component_controls(rk3308->component,
|
||||
mic_gains_b,
|
||||
ARRAY_SIZE(mic_gains_b));
|
||||
if (ret) {
|
||||
@@ -3982,7 +3982,7 @@ static int rk3308_codec_dapm_mic_gains(struct rk3308_codec_priv *rk3308)
|
||||
return ret;
|
||||
}
|
||||
} else {
|
||||
- ret = snd_soc_add_codec_controls(rk3308->codec,
|
||||
+ ret = snd_soc_add_component_controls(rk3308->component,
|
||||
mic_gains_a,
|
||||
ARRAY_SIZE(mic_gains_a));
|
||||
if (ret) {
|
||||
@@ -4081,15 +4081,15 @@ static int rk3308_codec_prepare(struct rk3308_codec_priv *rk3308)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int rk3308_probe(struct snd_soc_codec *codec)
|
||||
+static int rk3308_probe(struct snd_soc_component *component)
|
||||
{
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
int ext_micbias;
|
||||
|
||||
- rk3308->codec = codec;
|
||||
+ rk3308->component = component;
|
||||
rk3308_codec_set_dac_path_state(rk3308, PATH_IDLE);
|
||||
|
||||
- rk3308_codec_reset(codec);
|
||||
+ rk3308_codec_reset(component);
|
||||
rk3308_codec_power_on(rk3308);
|
||||
|
||||
/* From vendor recommend, disable micbias at first. */
|
||||
@@ -4108,9 +4108,9 @@ static int rk3308_probe(struct snd_soc_codec *codec)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int rk3308_remove(struct snd_soc_codec *codec)
|
||||
+static void rk3308_remove(struct snd_soc_component *component)
|
||||
{
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
rk3308_headphone_ctl(rk3308, 0);
|
||||
rk3308_speaker_ctl(rk3308, 0);
|
||||
@@ -4124,17 +4124,25 @@ static int rk3308_remove(struct snd_soc_codec *codec)
|
||||
regcache_cache_only(rk3308->regmap, false);
|
||||
regcache_sync(rk3308->regmap);
|
||||
|
||||
- return 0;
|
||||
}
|
||||
|
||||
-static struct snd_soc_codec_driver soc_codec_dev_rk3308 = {
|
||||
- .probe = rk3308_probe,
|
||||
- .remove = rk3308_remove,
|
||||
- .suspend = rk3308_suspend,
|
||||
- .resume = rk3308_resume,
|
||||
- .set_bias_level = rk3308_set_bias_level,
|
||||
- .controls = rk3308_codec_dapm_controls,
|
||||
- .num_controls = ARRAY_SIZE(rk3308_codec_dapm_controls),
|
||||
+static const struct snd_soc_component_driver soc_codec_dev_rk3308_component = {
|
||||
+ .probe = rk3308_probe,
|
||||
+ .remove = rk3308_remove,
|
||||
+ .resume = rk3308_resume,
|
||||
+ .suspend = rk3308_suspend,
|
||||
+ .set_bias_level = rk3308_set_bias_level,
|
||||
+ .controls = rk3308_codec_dapm_controls,
|
||||
+ .num_controls = ARRAY_SIZE(rk3308_codec_dapm_controls),
|
||||
+ // .dapm_widgets = rk3308_dapm_widgets,
|
||||
+ // .num_dapm_widgets = ARRAY_SIZE(rk3308_dapm_widgets),
|
||||
+ // .dapm_routes = rk3308_dapm_routes,
|
||||
+ // .num_dapm_routes = ARRAY_SIZE(rk3308_dapm_routes),
|
||||
+ // .suspend_bias_off = 1,
|
||||
+ // .idle_bias_on = 1,
|
||||
+ // .use_pmdown_time = 1,
|
||||
+ .endianness = 1,
|
||||
+ .legacy_dai_naming = 1,
|
||||
};
|
||||
|
||||
static const struct reg_default rk3308_codec_reg_defaults[] = {
|
||||
@@ -4299,14 +4307,14 @@ static irqreturn_t rk3308_codec_hpdet_isr(int irq, void *data)
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
-void (*rk3308_codec_set_jack_detect_cb)(struct snd_soc_codec *codec,
|
||||
+void (*rk3308_codec_set_jack_detect_cb)(struct snd_soc_component *component,
|
||||
struct snd_soc_jack *hpdet_jack);
|
||||
EXPORT_SYMBOL_GPL(rk3308_codec_set_jack_detect_cb);
|
||||
|
||||
-static void rk3308_codec_set_jack_detect(struct snd_soc_codec *codec,
|
||||
+static void rk3308_codec_set_jack_detect(struct snd_soc_component *component,
|
||||
struct snd_soc_jack *hpdet_jack)
|
||||
{
|
||||
- struct rk3308_codec_priv *rk3308 = snd_soc_codec_get_drvdata(codec);
|
||||
+ struct rk3308_codec_priv *rk3308 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
rk3308->hpdet_jack = hpdet_jack;
|
||||
|
||||
@@ -5114,10 +5122,10 @@ static int rk3308_platform_probe(struct platform_device *pdev)
|
||||
|
||||
platform_set_drvdata(pdev, rk3308);
|
||||
|
||||
- ret = snd_soc_register_codec(&pdev->dev, &soc_codec_dev_rk3308,
|
||||
+ ret = devm_snd_soc_register_component(&pdev->dev, &soc_codec_dev_rk3308_component,
|
||||
rk3308_dai, ARRAY_SIZE(rk3308_dai));
|
||||
if (ret < 0) {
|
||||
- dev_err(&pdev->dev, "Failed to register codec: %d\n", ret);
|
||||
+ dev_err(&pdev->dev, "Failed to register component: %d\n", ret);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
@@ -5140,7 +5148,6 @@ static int rk3308_platform_remove(struct platform_device *pdev)
|
||||
clk_disable_unprepare(rk3308->mclk_rx);
|
||||
clk_disable_unprepare(rk3308->mclk_tx);
|
||||
clk_disable_unprepare(rk3308->pclk);
|
||||
- snd_soc_unregister_codec(&pdev->dev);
|
||||
device_unregister(&rk3308->dev);
|
||||
|
||||
return 0;
|
||||
diff --git a/sound/soc/codecs/rk3308_codec_provider.h b/sound/soc/codecs/rk3308_codec_provider.h
|
||||
index 68042b1328dc..34c1ef86a507 100644
|
||||
--- a/sound/soc/codecs/rk3308_codec_provider.h
|
||||
+++ b/sound/soc/codecs/rk3308_codec_provider.h
|
||||
@@ -21,7 +21,7 @@
|
||||
#define __RK3308_CODEC_PROVIDER_H__
|
||||
|
||||
#ifdef CONFIG_SND_SOC_RK3308
|
||||
-extern void (*rk3308_codec_set_jack_detect_cb)(struct snd_soc_codec *codec,
|
||||
+extern void (*rk3308_codec_set_jack_detect_cb)(struct snd_soc_component *component,
|
||||
struct snd_soc_jack *hpdet_jack);
|
||||
#endif
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
Date: Wed, 8 Sep 2021 17:51:34 +0200
|
||||
Subject: [ARCHEOLOGY] Bumping EDGE kernel to 5.14.y (#3125)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * Bumping EDGE kernel to 5.14.y
|
||||
> X-Git-Archeology: > recovered message: > Meson64:
|
||||
> X-Git-Archeology: > recovered message: > - removing Odroid reboot shutdown patch since its probably not needed anymore
|
||||
> X-Git-Archeology: > recovered message: > Rockchip64:
|
||||
> X-Git-Archeology: > recovered message: > - removing Rockpi S. No interest to maintain this any further
|
||||
> X-Git-Archeology: > recovered message: > - removing PBP suspend. Doesn't align. Need inspection if some other way was mainstreamed
|
||||
> X-Git-Archeology: > recovered message: > - temporally removing Orangepi R1
|
||||
> X-Git-Archeology: > recovered message: > * Re-adding rockpis, pbp suspend, HFLPS170 wifi and cleanup
|
||||
> X-Git-Archeology: > recovered message: > * Removing deprecated patch, fixing ap6256 wifi
|
||||
> X-Git-Archeology: > recovered message: > * Re-enable Opi R1 plus, untest
|
||||
> X-Git-Archeology: > recovered message: > * Add and fix Radxa Zero
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 29 ++++++++++
|
||||
1 file changed, 29 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
index 37fe89b14a40..9e5b0977ade6 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
@@ -137,6 +137,12 @@ arm-pmu {
|
||||
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
||||
};
|
||||
|
||||
+ cpuinfo {
|
||||
+ compatible = "rockchip,cpuinfo";
|
||||
+ nvmem-cells = <&cpu_id>;
|
||||
+ nvmem-cell-names = "id";
|
||||
+ };
|
||||
+
|
||||
mac_clkin: external-mac-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <50000000>;
|
||||
@@ -144,6 +150,29 @@ mac_clkin: external-mac-clock {
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
+ otp: otp@ff210000 {
|
||||
+ compatible = "rockchip,rk3308-otp";
|
||||
+ reg = <0x0 0xff210000 0x0 0x4000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>,
|
||||
+ <&cru PCLK_OTP_PHY>;
|
||||
+ clock-names = "otp", "apb_pclk", "phy";
|
||||
+ resets = <&cru SRST_OTP_PHY>;
|
||||
+ reset-names = "phy";
|
||||
+
|
||||
+ /* Data cells */
|
||||
+ cpu_id: id@7 {
|
||||
+ reg = <0x07 0x10>;
|
||||
+ };
|
||||
+ cpu_leakage: cpu-leakage@17 {
|
||||
+ reg = <0x17 0x1>;
|
||||
+ };
|
||||
+ logic_leakage: logic-leakage@18 {
|
||||
+ reg = <0x18 0x1>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
Date: Wed, 8 Sep 2021 17:51:34 +0200
|
||||
Subject: [ARCHEOLOGY] Bumping EDGE kernel to 5.14.y (#3125)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * Bumping EDGE kernel to 5.14.y
|
||||
> X-Git-Archeology: > recovered message: > Meson64:
|
||||
> X-Git-Archeology: > recovered message: > - removing Odroid reboot shutdown patch since its probably not needed anymore
|
||||
> X-Git-Archeology: > recovered message: > Rockchip64:
|
||||
> X-Git-Archeology: > recovered message: > - removing Rockpi S. No interest to maintain this any further
|
||||
> X-Git-Archeology: > recovered message: > - removing PBP suspend. Doesn't align. Need inspection if some other way was mainstreamed
|
||||
> X-Git-Archeology: > recovered message: > - temporally removing Orangepi R1
|
||||
> X-Git-Archeology: > recovered message: > * Re-adding rockpis, pbp suspend, HFLPS170 wifi and cleanup
|
||||
> X-Git-Archeology: > recovered message: > * Removing deprecated patch, fixing ap6256 wifi
|
||||
> X-Git-Archeology: > recovered message: > * Re-enable Opi R1 plus, untest
|
||||
> X-Git-Archeology: > recovered message: > * Add and fix Radxa Zero
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 20 ++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
index 9e5b0977ade6..acb5f7304065 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
@@ -178,6 +178,26 @@ psci {
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
+ reserved-memory {
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ drm_logo: drm-logo@00000000 {
|
||||
+ compatible = "rockchip,drm-logo";
|
||||
+ reg = <0x0 0x0 0x0 0x0>;
|
||||
+ };
|
||||
+
|
||||
+ ramoops: ramoops@110000 {
|
||||
+ compatible = "ramoops";
|
||||
+ reg = <0x0 0x110000 0x0 0xf0000>;
|
||||
+ record-size = <0x30000>;
|
||||
+ console-size = <0xc0000>;
|
||||
+ ftrace-size = <0x00000>;
|
||||
+ pmsg-size = <0x00000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Piotr Szczepanik <piter75@gmail.com>
|
||||
Date: Mon, 24 Aug 2020 22:47:03 +0200
|
||||
Subject: Rockpro64 add pcie bus scan delay
|
||||
|
||||
> X-Git-Archeology: - Revision 42e76b9277ad492e935cc76c2b37c9f6d882a675: https://github.com/armbian/build/commit/42e76b9277ad492e935cc76c2b37c9f6d882a675
|
||||
> X-Git-Archeology: Date: Mon, 24 Aug 2020 22:47:03 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch RockPro64 work led to heartbeat trigger
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 4d4c3f58ffc1cbfbb060cbabc9eb414036a2fda5: https://github.com/armbian/build/commit/4d4c3f58ffc1cbfbb060cbabc9eb414036a2fda5
|
||||
> X-Git-Archeology: Date: Wed, 02 Sep 2020 23:22:09 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switched rockchip64 curent to kernel 5.8.y (#2175)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 7be9e8b99590e32c0594365d00a2a2cfc3c4bd5a: https://github.com/armbian/build/commit/7be9e8b99590e32c0594365d00a2a2cfc3c4bd5a
|
||||
> X-Git-Archeology: Date: Thu, 16 Dec 2021 05:17:33 -0500
|
||||
> X-Git-Archeology: From: Dan Pasanen <dan.pasanen@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip-[current,edge]: add pcie hack and lsi scsi/sas support (#3351)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 588c2ec17e709dec19304fa50522459702ebfadd: https://github.com/armbian/build/commit/588c2ec17e709dec19304fa50522459702ebfadd
|
||||
> X-Git-Archeology: Date: Fri, 23 Dec 2022 21:57:53 +0100
|
||||
> X-Git-Archeology: From: brentr <brent@mbari.org>
|
||||
> X-Git-Archeology: Subject: Rockpis devtree mainlined (#4603)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
index bca2b50e0a93..1e7295215b58 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
@@ -663,6 +663,7 @@ &pcie0 {
|
||||
pinctrl-0 = <&pcie_perst>;
|
||||
vpcie12v-supply = <&vcc12v_dcin>;
|
||||
vpcie3v3-supply = <&vcc3v3_pcie>;
|
||||
+ bus-scan-delay-ms = <1000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ayufan <ayufan@ayufan.eu>
|
||||
Date: Sun, 30 Dec 2018 13:32:47 +0100
|
||||
Subject: ayufan: dts: rockpro64: change rx_delay for gmac
|
||||
|
||||
Change-Id: Ib3899f684188aa1ed1545717af004bba53fe0e07
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
index 1e7295215b58..25ee84e06874 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
@@ -307,7 +307,7 @@ &gmac {
|
||||
snps,reset-active-low;
|
||||
snps,reset-delays-us = <0 10000 50000>;
|
||||
tx_delay = <0x28>;
|
||||
- rx_delay = <0x11>;
|
||||
+ rx_delay = <0x20>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
Date: Wed, 5 Dec 2018 14:09:24 -0500
|
||||
Subject: [ARCHEOLOGY] fix PMIC_INT_L gpio conflicting with I2C8_SCL in
|
||||
RockPro64
|
||||
|
||||
> X-Git-Archeology: - Revision 9324bde9b94db6c2f43ff1e75bedb74fbe6e29a1: https://github.com/armbian/build/commit/9324bde9b94db6c2f43ff1e75bedb74fbe6e29a1
|
||||
> X-Git-Archeology: Date: Wed, 05 Dec 2018 14:09:24 -0500
|
||||
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
> X-Git-Archeology: Subject: fix PMIC_INT_L gpio conflicting with I2C8_SCL in RockPro64
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8f82cb60b958ad235ee91899ab2ca8e4a8a2a33b: https://github.com/armbian/build/commit/8f82cb60b958ad235ee91899ab2ca8e4a8a2a33b
|
||||
> X-Git-Archeology: Date: Mon, 31 Dec 2018 12:29:56 -0500
|
||||
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
> X-Git-Archeology: Subject: set lower speed for RockPro64 eMMC
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision cbbbf0631969bf0e4578f4b1eef62c1aab115d79: https://github.com/armbian/build/commit/cbbbf0631969bf0e4578f4b1eef62c1aab115d79
|
||||
> X-Git-Archeology: Date: Tue, 01 Jan 2019 19:37:27 -0500
|
||||
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
> X-Git-Archeology: Subject: fix RockPi-4B naming + fix vcc5v0_host gpio pin
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision a186fd498404fdae7d3a25dec64f014c590027d6: https://github.com/armbian/build/commit/a186fd498404fdae7d3a25dec64f014c590027d6
|
||||
> X-Git-Archeology: Date: Wed, 05 Feb 2020 00:19:00 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switched rockchip64-dev to mainline kernel 5.5.y (#1781)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 5e251dc4148f7a7e3fa61d440c5a268626624de3: https://github.com/armbian/build/commit/5e251dc4148f7a7e3fa61d440c5a268626624de3
|
||||
> X-Git-Archeology: Date: Mon, 06 Apr 2020 19:06:28 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Merged rockpi-s dev info rockchip64-dev and moved to 5.6.y (#1874)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 812245def37a695bce9e7ece148b2920d82c8b37: https://github.com/armbian/build/commit/812245def37a695bce9e7ece148b2920d82c8b37
|
||||
> X-Git-Archeology: Date: Sat, 18 Jul 2020 23:07:01 +0200
|
||||
> X-Git-Archeology: From: Werner <EvilOlaf@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Move rockchip/64 current to 5.7.y (#2099)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dfd5cf9692e97774f7f0bfd72227144e36f58070: https://github.com/armbian/build/commit/dfd5cf9692e97774f7f0bfd72227144e36f58070
|
||||
> X-Git-Archeology: Date: Sun, 13 Dec 2020 22:13:03 -0500
|
||||
> X-Git-Archeology: From: tonymac32 <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ rockchip64 ] Clean up patchset
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
index 25ee84e06874..f5f521986d43 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
@@ -17,6 +17,7 @@ aliases {
|
||||
};
|
||||
|
||||
chosen {
|
||||
+ bootargs = "mmc_cmdqueue=0 earlycon=uart8250,mmio32,0xff1a0000";
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
@@ -815,6 +816,7 @@ &sdmmc {
|
||||
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
+ keep-power-in-suspend;
|
||||
mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
Date: Sat, 5 Jan 2019 09:50:02 -0500
|
||||
Subject: [ARCHEOLOGY] slow SPIFlash to avoid errors
|
||||
|
||||
> X-Git-Archeology: - Revision ea20f750bfead37ced7b604a44f8f014e317abad: https://github.com/armbian/build/commit/ea20f750bfead37ced7b604a44f8f014e317abad
|
||||
> X-Git-Archeology: Date: Sat, 05 Jan 2019 09:50:02 -0500
|
||||
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
> X-Git-Archeology: Subject: slow SPIFlash to avoid errors
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision a186fd498404fdae7d3a25dec64f014c590027d6: https://github.com/armbian/build/commit/a186fd498404fdae7d3a25dec64f014c590027d6
|
||||
> X-Git-Archeology: Date: Wed, 05 Feb 2020 00:19:00 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switched rockchip64-dev to mainline kernel 5.5.y (#1781)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 5e251dc4148f7a7e3fa61d440c5a268626624de3: https://github.com/armbian/build/commit/5e251dc4148f7a7e3fa61d440c5a268626624de3
|
||||
> X-Git-Archeology: Date: Mon, 06 Apr 2020 19:06:28 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Merged rockpi-s dev info rockchip64-dev and moved to 5.6.y (#1874)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 812245def37a695bce9e7ece148b2920d82c8b37: https://github.com/armbian/build/commit/812245def37a695bce9e7ece148b2920d82c8b37
|
||||
> X-Git-Archeology: Date: Sat, 18 Jul 2020 23:07:01 +0200
|
||||
> X-Git-Archeology: From: Werner <EvilOlaf@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Move rockchip/64 current to 5.7.y (#2099)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 40665cde86285060e6bdd5ef7dc33be6c301ec66: https://github.com/armbian/build/commit/40665cde86285060e6bdd5ef7dc33be6c301ec66
|
||||
> X-Git-Archeology: Date: Sun, 13 Dec 2020 23:22:08 -0500
|
||||
> X-Git-Archeology: From: tonymac32 <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ rockchip64 ] Patch reorg round 2
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
index f5f521986d43..6eddc07a958f 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
@@ -838,7 +838,7 @@ &spi1 {
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
- spi-max-frequency = <10000000>;
|
||||
+ spi-max-frequency = <3000000>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Piotr Szczepanik <piter75@gmail.com>
|
||||
Date: Mon, 24 Aug 2020 22:47:03 +0200
|
||||
Subject: [ARCHEOLOGY] Switch RockPro64 work led to heartbeat trigger
|
||||
|
||||
> X-Git-Archeology: - Revision 42e76b9277ad492e935cc76c2b37c9f6d882a675: https://github.com/armbian/build/commit/42e76b9277ad492e935cc76c2b37c9f6d882a675
|
||||
> X-Git-Archeology: Date: Mon, 24 Aug 2020 22:47:03 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch RockPro64 work led to heartbeat trigger
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision d1eb0003854909824d17b529cd513feb542bf228: https://github.com/armbian/build/commit/d1eb0003854909824d17b529cd513feb542bf228
|
||||
> X-Git-Archeology: Date: Mon, 24 Aug 2020 23:11:20 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch RockPro64 work led to heartbeat trigger (in legacy too)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 4d4c3f58ffc1cbfbb060cbabc9eb414036a2fda5: https://github.com/armbian/build/commit/4d4c3f58ffc1cbfbb060cbabc9eb414036a2fda5
|
||||
> X-Git-Archeology: Date: Wed, 02 Sep 2020 23:22:09 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switched rockchip64 curent to kernel 5.8.y (#2175)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
index 6eddc07a958f..eb1eebadb637 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
|
||||
@@ -66,7 +66,7 @@ leds {
|
||||
|
||||
work_led: led-0 {
|
||||
label = "work";
|
||||
- default-state = "on";
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
362
patch/kernel/archive/rockchip64-6.4/board-tvbox-rk3318.patch
Normal file
362
patch/kernel/archive/rockchip64-6.4/board-tvbox-rk3318.patch
Normal file
@@ -0,0 +1,362 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo <paolo.sabatino@gmail.com>
|
||||
Date: Thu, 23 Jun 2022 08:30:54 +0200
|
||||
Subject: [ARCHEOLOGY] rockchip64: add rk3318-box tvbox board patch and
|
||||
configurations (#3921)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * rockchip64: add rk3318-box tvbox board patch and configurations
|
||||
> X-Git-Archeology: > recovered message: > * rockchip64: add missing bcm43342 patch for edge kernel
|
||||
> X-Git-Archeology: - Revision 2ca6a9381db4b875533926e0eae9d3d17f68ad06: https://github.com/armbian/build/commit/2ca6a9381db4b875533926e0eae9d3d17f68ad06
|
||||
> X-Git-Archeology: Date: Thu, 23 Jun 2022 08:30:54 +0200
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip64: add rk3318-box tvbox board patch and configurations (#3921)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0310f955051adafee3a9701e7e54f01d6a496ff5: https://github.com/armbian/build/commit/0310f955051adafee3a9701e7e54f01d6a496ff5
|
||||
> X-Git-Archeology: Date: Sat, 09 Jul 2022 16:30:16 +0200
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip64: fix rk3318-box cpu voltages (#3976)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3318-dram-default-timing.dtsi | 311 ++++++++++
|
||||
1 file changed, 311 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3318-dram-default-timing.dtsi b/arch/arm64/boot/dts/rockchip/rk3318-dram-default-timing.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..31a28d82952f
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3318-dram-default-timing.dtsi
|
||||
@@ -0,0 +1,311 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This library 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 library 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.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+#include <dt-bindings/clock/rockchip-ddr.h>
|
||||
+#include <dt-bindings/memory/rk3328-dram.h>
|
||||
+
|
||||
+/ {
|
||||
+ ddr_timing: ddr_timing {
|
||||
+ compatible = "rockchip,ddr-timing";
|
||||
+ ddr3_speed_bin = <DDR3_DEFAULT>;
|
||||
+ ddr4_speed_bin = <DDR4_DEFAULT>;
|
||||
+ pd_idle = <0>;
|
||||
+ sr_idle = <0>;
|
||||
+ sr_mc_gate_idle = <0>;
|
||||
+ srpd_lite_idle = <0>;
|
||||
+ standby_idle = <0>;
|
||||
+
|
||||
+ auto_pd_dis_freq = <1066>;
|
||||
+ auto_sr_dis_freq = <800>;
|
||||
+ ddr3_dll_dis_freq = <300>;
|
||||
+ ddr4_dll_dis_freq = <625>;
|
||||
+ phy_dll_dis_freq = <400>;
|
||||
+
|
||||
+ ddr3_odt_dis_freq = <100>;
|
||||
+ phy_ddr3_odt_dis_freq = <100>;
|
||||
+ ddr3_drv = <DDR3_DS_40ohm>;
|
||||
+ ddr3_odt = <DDR3_ODT_120ohm>;
|
||||
+ phy_ddr3_ca_drv = <PHY_DDR3_RON_RTT_23ohm>;
|
||||
+ phy_ddr3_ck_drv = <PHY_DDR3_RON_RTT_34ohm>;
|
||||
+ phy_ddr3_dq_drv = <PHY_DDR3_RON_RTT_34ohm>;
|
||||
+ phy_ddr3_odt = <PHY_DDR3_RON_RTT_150ohm>;
|
||||
+
|
||||
+ lpddr3_odt_dis_freq = <666>;
|
||||
+ phy_lpddr3_odt_dis_freq = <666>;
|
||||
+ lpddr3_drv = <LP3_DS_40ohm>;
|
||||
+ lpddr3_odt = <LP3_ODT_240ohm>;
|
||||
+ phy_lpddr3_ca_drv = <PHY_DDR4_LPDDR3_RON_RTT_34ohm>;
|
||||
+ phy_lpddr3_ck_drv = <PHY_DDR4_LPDDR3_RON_RTT_43ohm>;
|
||||
+ phy_lpddr3_dq_drv = <PHY_DDR4_LPDDR3_RON_RTT_34ohm>;
|
||||
+ phy_lpddr3_odt = <PHY_DDR4_LPDDR3_RON_RTT_240ohm>;
|
||||
+
|
||||
+ lpddr4_odt_dis_freq = <800>;
|
||||
+ phy_lpddr4_odt_dis_freq = <800>;
|
||||
+ lpddr4_drv = <LP4_PDDS_60ohm>;
|
||||
+ lpddr4_dq_odt = <LP4_DQ_ODT_40ohm>;
|
||||
+ lpddr4_ca_odt = <LP4_CA_ODT_40ohm>;
|
||||
+ phy_lpddr4_ca_drv = <PHY_DDR4_LPDDR3_RON_RTT_40ohm>;
|
||||
+ phy_lpddr4_ck_cs_drv = <PHY_DDR4_LPDDR3_RON_RTT_80ohm>;
|
||||
+ phy_lpddr4_dq_drv = <PHY_DDR4_LPDDR3_RON_RTT_80ohm>;
|
||||
+ phy_lpddr4_odt = <PHY_DDR4_LPDDR3_RON_RTT_60ohm>;
|
||||
+
|
||||
+ ddr4_odt_dis_freq = <666>;
|
||||
+ phy_ddr4_odt_dis_freq = <666>;
|
||||
+ ddr4_drv = <DDR4_DS_34ohm>;
|
||||
+ ddr4_odt = <DDR4_RTT_NOM_240ohm>;
|
||||
+ phy_ddr4_ca_drv = <PHY_DDR4_LPDDR3_RON_RTT_34ohm>;
|
||||
+ phy_ddr4_ck_drv = <PHY_DDR4_LPDDR3_RON_RTT_43ohm>;
|
||||
+ phy_ddr4_dq_drv = <PHY_DDR4_LPDDR3_RON_RTT_34ohm>;
|
||||
+ phy_ddr4_odt = <PHY_DDR4_LPDDR3_RON_RTT_240ohm>;
|
||||
+
|
||||
+ /* CA de-skew, one step is 47.8ps, range 0-15 */
|
||||
+ ddr3a1_ddr4a9_de-skew = <2>;
|
||||
+ ddr3a0_ddr4a10_de-skew = <3>;
|
||||
+ ddr3a3_ddr4a6_de-skew = <3>;
|
||||
+ ddr3a2_ddr4a4_de-skew = <2>;
|
||||
+ ddr3a5_ddr4a8_de-skew = <3>;
|
||||
+ ddr3a4_ddr4a5_de-skew = <2>;
|
||||
+ ddr3a7_ddr4a11_de-skew = <3>;
|
||||
+ ddr3a6_ddr4a7_de-skew = <2>;
|
||||
+ ddr3a9_ddr4a0_de-skew = <2>;
|
||||
+ ddr3a8_ddr4a13_de-skew = <1>;
|
||||
+ ddr3a11_ddr4a3_de-skew = <2>;
|
||||
+ ddr3a10_ddr4cs0_de-skew = <2>;
|
||||
+ ddr3a13_ddr4a2_de-skew = <1>;
|
||||
+ ddr3a12_ddr4ba1_de-skew = <2>;
|
||||
+ ddr3a15_ddr4odt0_de-skew = <3>;
|
||||
+ ddr3a14_ddr4a1_de-skew = <2>;
|
||||
+ ddr3ba1_ddr4a15_de-skew = <2>;
|
||||
+ ddr3ba0_ddr4bg0_de-skew = <4>;
|
||||
+ ddr3ras_ddr4cke_de-skew = <4>;
|
||||
+ ddr3ba2_ddr4ba0_de-skew = <3>;
|
||||
+ ddr3we_ddr4bg1_de-skew = <2>;
|
||||
+ ddr3cas_ddr4a12_de-skew = <2>;
|
||||
+ ddr3ckn_ddr4ckn_de-skew = <11>;
|
||||
+ ddr3ckp_ddr4ckp_de-skew = <11>;
|
||||
+ ddr3cke_ddr4a16_de-skew = <2>;
|
||||
+ ddr3odt0_ddr4a14_de-skew = <4>;
|
||||
+ ddr3cs0_ddr4act_de-skew = <4>;
|
||||
+ ddr3reset_ddr4reset_de-skew = <7>;
|
||||
+ ddr3cs1_ddr4cs1_de-skew = <7>;
|
||||
+ ddr3odt1_ddr4odt1_de-skew = <7>;
|
||||
+
|
||||
+ /* DATA de-skew
|
||||
+ * RX one step is 25.1ps, range 0-15
|
||||
+ * TX one step is 47.8ps, range 0-15
|
||||
+ */
|
||||
+ cs0_dm0_rx_de-skew = <12>;
|
||||
+ cs0_dm0_tx_de-skew = <10>;
|
||||
+ cs0_dq0_rx_de-skew = <12>;
|
||||
+ cs0_dq0_tx_de-skew = <10>;
|
||||
+ cs0_dq1_rx_de-skew = <12>;
|
||||
+ cs0_dq1_tx_de-skew = <10>;
|
||||
+ cs0_dq2_rx_de-skew = <12>;
|
||||
+ cs0_dq2_tx_de-skew = <10>;
|
||||
+ cs0_dq3_rx_de-skew = <12>;
|
||||
+ cs0_dq3_tx_de-skew = <10>;
|
||||
+ cs0_dq4_rx_de-skew = <12>;
|
||||
+ cs0_dq4_tx_de-skew = <10>;
|
||||
+ cs0_dq5_rx_de-skew = <12>;
|
||||
+ cs0_dq5_tx_de-skew = <10>;
|
||||
+ cs0_dq6_rx_de-skew = <12>;
|
||||
+ cs0_dq6_tx_de-skew = <10>;
|
||||
+ cs0_dq7_rx_de-skew = <12>;
|
||||
+ cs0_dq7_tx_de-skew = <10>;
|
||||
+ cs0_dqs0_rx_de-skew = <10>;
|
||||
+ cs0_dqs0p_tx_de-skew = <12>;
|
||||
+ cs0_dqs0n_tx_de-skew = <12>;
|
||||
+
|
||||
+ cs0_dm1_rx_de-skew = <10>;
|
||||
+ cs0_dm1_tx_de-skew = <8>;
|
||||
+ cs0_dq8_rx_de-skew = <10>;
|
||||
+ cs0_dq8_tx_de-skew = <8>;
|
||||
+ cs0_dq9_rx_de-skew = <10>;
|
||||
+ cs0_dq9_tx_de-skew = <8>;
|
||||
+ cs0_dq10_rx_de-skew = <10>;
|
||||
+ cs0_dq10_tx_de-skew = <8>;
|
||||
+ cs0_dq11_rx_de-skew = <10>;
|
||||
+ cs0_dq11_tx_de-skew = <8>;
|
||||
+ cs0_dq12_rx_de-skew = <10>;
|
||||
+ cs0_dq12_tx_de-skew = <8>;
|
||||
+ cs0_dq13_rx_de-skew = <10>;
|
||||
+ cs0_dq13_tx_de-skew = <8>;
|
||||
+ cs0_dq14_rx_de-skew = <10>;
|
||||
+ cs0_dq14_tx_de-skew = <8>;
|
||||
+ cs0_dq15_rx_de-skew = <10>;
|
||||
+ cs0_dq15_tx_de-skew = <8>;
|
||||
+ cs0_dqs1_rx_de-skew = <9>;
|
||||
+ cs0_dqs1p_tx_de-skew = <10>;
|
||||
+ cs0_dqs1n_tx_de-skew = <10>;
|
||||
+
|
||||
+ cs0_dm2_rx_de-skew = <10>;
|
||||
+ cs0_dm2_tx_de-skew = <9>;
|
||||
+ cs0_dq16_rx_de-skew = <10>;
|
||||
+ cs0_dq16_tx_de-skew = <9>;
|
||||
+ cs0_dq17_rx_de-skew = <10>;
|
||||
+ cs0_dq17_tx_de-skew = <9>;
|
||||
+ cs0_dq18_rx_de-skew = <10>;
|
||||
+ cs0_dq18_tx_de-skew = <9>;
|
||||
+ cs0_dq19_rx_de-skew = <10>;
|
||||
+ cs0_dq19_tx_de-skew = <9>;
|
||||
+ cs0_dq20_rx_de-skew = <10>;
|
||||
+ cs0_dq20_tx_de-skew = <9>;
|
||||
+ cs0_dq21_rx_de-skew = <10>;
|
||||
+ cs0_dq21_tx_de-skew = <9>;
|
||||
+ cs0_dq22_rx_de-skew = <10>;
|
||||
+ cs0_dq22_tx_de-skew = <9>;
|
||||
+ cs0_dq23_rx_de-skew = <10>;
|
||||
+ cs0_dq23_tx_de-skew = <9>;
|
||||
+ cs0_dqs2_rx_de-skew = <9>;
|
||||
+ cs0_dqs2p_tx_de-skew = <11>;
|
||||
+ cs0_dqs2n_tx_de-skew = <11>;
|
||||
+
|
||||
+ cs0_dm3_rx_de-skew = <7>;
|
||||
+ cs0_dm3_tx_de-skew = <7>;
|
||||
+ cs0_dq24_rx_de-skew = <7>;
|
||||
+ cs0_dq24_tx_de-skew = <7>;
|
||||
+ cs0_dq25_rx_de-skew = <7>;
|
||||
+ cs0_dq25_tx_de-skew = <7>;
|
||||
+ cs0_dq26_rx_de-skew = <7>;
|
||||
+ cs0_dq26_tx_de-skew = <7>;
|
||||
+ cs0_dq27_rx_de-skew = <7>;
|
||||
+ cs0_dq27_tx_de-skew = <7>;
|
||||
+ cs0_dq28_rx_de-skew = <7>;
|
||||
+ cs0_dq28_tx_de-skew = <7>;
|
||||
+ cs0_dq29_rx_de-skew = <7>;
|
||||
+ cs0_dq29_tx_de-skew = <7>;
|
||||
+ cs0_dq30_rx_de-skew = <7>;
|
||||
+ cs0_dq30_tx_de-skew = <7>;
|
||||
+ cs0_dq31_rx_de-skew = <7>;
|
||||
+ cs0_dq31_tx_de-skew = <7>;
|
||||
+ cs0_dqs3_rx_de-skew = <7>;
|
||||
+ cs0_dqs3p_tx_de-skew = <10>;
|
||||
+ cs0_dqs3n_tx_de-skew = <10>;
|
||||
+
|
||||
+ cs1_dm0_rx_de-skew = <7>;
|
||||
+ cs1_dm0_tx_de-skew = <8>;
|
||||
+ cs1_dq0_rx_de-skew = <7>;
|
||||
+ cs1_dq0_tx_de-skew = <8>;
|
||||
+ cs1_dq1_rx_de-skew = <7>;
|
||||
+ cs1_dq1_tx_de-skew = <8>;
|
||||
+ cs1_dq2_rx_de-skew = <7>;
|
||||
+ cs1_dq2_tx_de-skew = <8>;
|
||||
+ cs1_dq3_rx_de-skew = <7>;
|
||||
+ cs1_dq3_tx_de-skew = <8>;
|
||||
+ cs1_dq4_rx_de-skew = <7>;
|
||||
+ cs1_dq4_tx_de-skew = <8>;
|
||||
+ cs1_dq5_rx_de-skew = <7>;
|
||||
+ cs1_dq5_tx_de-skew = <8>;
|
||||
+ cs1_dq6_rx_de-skew = <7>;
|
||||
+ cs1_dq6_tx_de-skew = <8>;
|
||||
+ cs1_dq7_rx_de-skew = <7>;
|
||||
+ cs1_dq7_tx_de-skew = <8>;
|
||||
+ cs1_dqs0_rx_de-skew = <6>;
|
||||
+ cs1_dqs0p_tx_de-skew = <9>;
|
||||
+ cs1_dqs0n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm1_rx_de-skew = <7>;
|
||||
+ cs1_dm1_tx_de-skew = <7>;
|
||||
+ cs1_dq8_rx_de-skew = <7>;
|
||||
+ cs1_dq8_tx_de-skew = <8>;
|
||||
+ cs1_dq9_rx_de-skew = <7>;
|
||||
+ cs1_dq9_tx_de-skew = <7>;
|
||||
+ cs1_dq10_rx_de-skew = <7>;
|
||||
+ cs1_dq10_tx_de-skew = <8>;
|
||||
+ cs1_dq11_rx_de-skew = <7>;
|
||||
+ cs1_dq11_tx_de-skew = <7>;
|
||||
+ cs1_dq12_rx_de-skew = <7>;
|
||||
+ cs1_dq12_tx_de-skew = <8>;
|
||||
+ cs1_dq13_rx_de-skew = <7>;
|
||||
+ cs1_dq13_tx_de-skew = <7>;
|
||||
+ cs1_dq14_rx_de-skew = <7>;
|
||||
+ cs1_dq14_tx_de-skew = <8>;
|
||||
+ cs1_dq15_rx_de-skew = <7>;
|
||||
+ cs1_dq15_tx_de-skew = <7>;
|
||||
+ cs1_dqs1_rx_de-skew = <7>;
|
||||
+ cs1_dqs1p_tx_de-skew = <9>;
|
||||
+ cs1_dqs1n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm2_rx_de-skew = <7>;
|
||||
+ cs1_dm2_tx_de-skew = <8>;
|
||||
+ cs1_dq16_rx_de-skew = <7>;
|
||||
+ cs1_dq16_tx_de-skew = <8>;
|
||||
+ cs1_dq17_rx_de-skew = <7>;
|
||||
+ cs1_dq17_tx_de-skew = <8>;
|
||||
+ cs1_dq18_rx_de-skew = <7>;
|
||||
+ cs1_dq18_tx_de-skew = <8>;
|
||||
+ cs1_dq19_rx_de-skew = <7>;
|
||||
+ cs1_dq19_tx_de-skew = <8>;
|
||||
+ cs1_dq20_rx_de-skew = <7>;
|
||||
+ cs1_dq20_tx_de-skew = <8>;
|
||||
+ cs1_dq21_rx_de-skew = <7>;
|
||||
+ cs1_dq21_tx_de-skew = <8>;
|
||||
+ cs1_dq22_rx_de-skew = <7>;
|
||||
+ cs1_dq22_tx_de-skew = <8>;
|
||||
+ cs1_dq23_rx_de-skew = <7>;
|
||||
+ cs1_dq23_tx_de-skew = <8>;
|
||||
+ cs1_dqs2_rx_de-skew = <6>;
|
||||
+ cs1_dqs2p_tx_de-skew = <9>;
|
||||
+ cs1_dqs2n_tx_de-skew = <9>;
|
||||
+
|
||||
+ cs1_dm3_rx_de-skew = <7>;
|
||||
+ cs1_dm3_tx_de-skew = <7>;
|
||||
+ cs1_dq24_rx_de-skew = <7>;
|
||||
+ cs1_dq24_tx_de-skew = <8>;
|
||||
+ cs1_dq25_rx_de-skew = <7>;
|
||||
+ cs1_dq25_tx_de-skew = <7>;
|
||||
+ cs1_dq26_rx_de-skew = <7>;
|
||||
+ cs1_dq26_tx_de-skew = <7>;
|
||||
+ cs1_dq27_rx_de-skew = <7>;
|
||||
+ cs1_dq27_tx_de-skew = <7>;
|
||||
+ cs1_dq28_rx_de-skew = <7>;
|
||||
+ cs1_dq28_tx_de-skew = <7>;
|
||||
+ cs1_dq29_rx_de-skew = <7>;
|
||||
+ cs1_dq29_tx_de-skew = <7>;
|
||||
+ cs1_dq30_rx_de-skew = <7>;
|
||||
+ cs1_dq30_tx_de-skew = <7>;
|
||||
+ cs1_dq31_rx_de-skew = <7>;
|
||||
+ cs1_dq31_tx_de-skew = <7>;
|
||||
+ cs1_dqs3_rx_de-skew = <7>;
|
||||
+ cs1_dqs3p_tx_de-skew = <9>;
|
||||
+ cs1_dqs3n_tx_de-skew = <9>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 11:56:51 +0300
|
||||
Subject: drv:spi:spidev remove warnings
|
||||
|
||||
---
|
||||
drivers/spi/spidev.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
|
||||
index 5a038c667401..86e98cdd2b6d 100644
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -703,6 +703,7 @@ static const struct file_operations spidev_fops = {
|
||||
static struct class *spidev_class;
|
||||
|
||||
static const struct spi_device_id spidev_spi_ids[] = {
|
||||
+ { .name = "spi-dev" },
|
||||
{ .name = "dh2228fv" },
|
||||
{ .name = "ltc2488" },
|
||||
{ .name = "sx1301" },
|
||||
@@ -731,6 +732,7 @@ static int spidev_of_check(struct device *dev)
|
||||
}
|
||||
|
||||
static const struct of_device_id spidev_dt_ids[] = {
|
||||
+ { .compatible = "armbian,spi-dev", .data = &spidev_of_check },
|
||||
{ .compatible = "cisco,spi-petra", .data = &spidev_of_check },
|
||||
{ .compatible = "dh,dhcom-board", .data = &spidev_of_check },
|
||||
{ .compatible = "lineartechnology,ltc2488", .data = &spidev_of_check },
|
||||
--
|
||||
Armbian
|
||||
|
||||
736
patch/kernel/archive/rockchip64-6.4/dt/rk3318-box.dts
Normal file
736
patch/kernel/archive/rockchip64-6.4/dt/rk3318-box.dts
Normal file
@@ -0,0 +1,736 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2020 Paolo Sabatino
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "dt-bindings/pwm/pwm.h"
|
||||
#include "dt-bindings/input/input.h"
|
||||
#include "rk3328.dtsi"
|
||||
#include "rk3318-dram-default-timing.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Rockchip RK3318 BOX";
|
||||
compatible = "rockchip,rk3318-box", "rockchip,rk3328-box", "rockchip,rk3328";
|
||||
|
||||
aliases {
|
||||
mmc0 = &sdmmc;
|
||||
mmc1 = &sdio;
|
||||
mmc2 = &emmc;
|
||||
mmc3 = &sdmmc_ext;
|
||||
mmc4 = &sdio_ext;
|
||||
};
|
||||
|
||||
/delete-node/ opp-table-0;
|
||||
/delete-node/ gpu-opp-table;
|
||||
|
||||
cpu0_opp_table: opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp-600000000 {
|
||||
opp-hz = /bits/ 64 <600000000>;
|
||||
opp-microvolt = <950000>;
|
||||
clock-latency-ns = <40000>;
|
||||
opp-suspend;
|
||||
};
|
||||
opp-816000000 {
|
||||
opp-hz = /bits/ 64 <816000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
opp-1008000000 {
|
||||
opp-hz = /bits/ 64 <1008000000>;
|
||||
opp-microvolt = <1100000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
status = "disabled";
|
||||
};
|
||||
opp-1296000000 {
|
||||
opp-hz = /bits/ 64 <1296000000>;
|
||||
opp-microvolt = <1275000>;
|
||||
clock-latency-ns = <40000>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
gpu_opp_table: gpu-opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-200000000 {
|
||||
opp-hz = /bits/ 64 <200000000>;
|
||||
opp-microvolt = <1000000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-300000000 {
|
||||
opp-hz = /bits/ 64 <300000000>;
|
||||
opp-microvolt = <1050000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-400000000 {
|
||||
opp-hz = /bits/ 64 <400000000>;
|
||||
opp-microvolt = <1050000 950000 1200000>;
|
||||
};
|
||||
|
||||
opp-500000000 {
|
||||
opp-hz = /bits/ 64 <500000000>;
|
||||
opp-microvolt = <1100000 950000 1200000>;
|
||||
};
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
adc_keys: adc-keys {
|
||||
|
||||
compatible = "adc-keys";
|
||||
io-channels = <&saradc 0>;
|
||||
io-channel-names = "buttons";
|
||||
keyup-threshold-microvolt = <1800000>;
|
||||
poll-interval = <100>;
|
||||
|
||||
recovery {
|
||||
label = "recovery";
|
||||
linux,code = <KEY_VENDOR>;
|
||||
press-threshold-microvolt = <17000>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
xin32k: xin32k {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
gmac_clkin: gmac-clkin {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "gmac_clkin";
|
||||
#clock-cells = <0x00>;
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <0x01>;
|
||||
#size-cells = <0x00>;
|
||||
|
||||
vcc_18: regulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vccio_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc_io: regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vccio_3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_phy: vcc-phy-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_phy";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vcc_sys: vcc-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
vcc_sd: sdmmc-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc0m1_pin>;
|
||||
regulator-name = "vcc_sd";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
/*
|
||||
* USB3 vbus
|
||||
*/
|
||||
vcc_host_vbus: vcc-host-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb30_host_drv>;
|
||||
regulator-name = "vcc_host_vbus";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
/*
|
||||
* USB2 OTG vbus
|
||||
*/
|
||||
vcc_otg_vbus: vcc-otg-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb20_host_drv>;
|
||||
regulator-name = "vcc_otg_vbus";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
vdd_arm: vdd-arm {
|
||||
compatible = "pwm-regulator";
|
||||
pwms = <&pwm0 0 5000 PWM_POLARITY_INVERTED>;
|
||||
pwm-supply = <&vcc_sys>;
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-settling-time-up-us = <250>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vdd_logic: vdd-log {
|
||||
compatible = "pwm-regulator";
|
||||
pwms = <&pwm1 0 5000 PWM_POLARITY_INVERTED>;
|
||||
pwm-supply = <&vcc_sys>;
|
||||
regulator-name = "vdd_log";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-settling-time-up-us = <250>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
gpio_led: gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&working_led>;
|
||||
|
||||
working {
|
||||
gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "timer";
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
ir-receiver {
|
||||
compatible = "gpio-ir-receiver";
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-0 = <&ir_int>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
sdio_pwrseq: sdio-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&wifi_enable_h>;
|
||||
|
||||
/*
|
||||
* On the module itself this is one of these (depending
|
||||
* on the actual card populated):
|
||||
* - SDIO_RESET_L_WL_REG_ON
|
||||
* - PDN (power down when low)
|
||||
*/
|
||||
reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
/*
|
||||
wireless-bluetooth {
|
||||
compatible = "bluetooth-platdata";
|
||||
uart_rts_gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default", "rts_gpio";
|
||||
pinctrl-0 = <&uart0_rts>;
|
||||
pinctrl-1 = <&uart0_rts_gpio>;
|
||||
BT,power_gpio = <&gpio1 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
BT,wake_host_irq = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
wireless-wlan {
|
||||
compatible = "wlan-platdata";
|
||||
rockchip,grf = <&grf>;
|
||||
wifi_chip_type = "ap6330";
|
||||
sdio_vref = <1800>;
|
||||
WIFI,host_wake_irq = <&gpio1 RK_PC3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
*/
|
||||
|
||||
fd628_dev {
|
||||
compatible = "fd628_dev";
|
||||
fd628_gpio_clk = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
|
||||
fd628_gpio_dat = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
analog-sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,mclk-fs = <256>;
|
||||
simple-audio-card,name = "ANALOG";
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&i2s1>;
|
||||
};
|
||||
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&codec>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi-sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,mclk-fs = <128>;
|
||||
simple-audio-card,name = "HDMI";
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&i2s0>;
|
||||
};
|
||||
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&hdmi>;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* This node is a duplicate of sdmmc_ext: most common board do not use sdmmc_ext
|
||||
* controller, so it is left unused. Some other boards use it as sdio controller
|
||||
* for wifi and some others use it as sdcard controller.
|
||||
* To handle the most critical situation, the controller will be configured as
|
||||
* sdcard controller by default. An overlay can be set to disable the sdmmc_ext
|
||||
* node and enable this sdio_ext in case wifi chips are attached to this.
|
||||
*/
|
||||
sdio_ext: mmc@ff5f0000 {
|
||||
compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
|
||||
reg = <0x0 0xff5f0000 0x0 0x4000>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cru HCLK_SDMMC_EXT>, <&cru SCLK_SDMMC_EXT>,
|
||||
<&cru SCLK_SDMMC_EXT_DRV>, <&cru SCLK_SDMMC_EXT_SAMPLE>;
|
||||
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
||||
fifo-depth = <0x100>;
|
||||
max-frequency = <150000000>;
|
||||
resets = <&cru SRST_SDMMCEXT>;
|
||||
reset-names = "reset";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
cap-sdio-irq;
|
||||
disable-wp;
|
||||
keep-power-in-suspend;
|
||||
mmc-pwrseq = <>;
|
||||
non-removable;
|
||||
num-slots = <1>;
|
||||
pinctrl-0 = <&sdmmc0ext_cmd &sdmmc0ext_clk &sdmmc0ext_bus4>;
|
||||
pinctrl-names = "default";
|
||||
supports-sdio;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&dfi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dmc {
|
||||
center-supply = <&vdd_logic>;
|
||||
ddr_timing = <&ddr_timing>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&codec {
|
||||
status = "okay";
|
||||
mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu1 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu2 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu3 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&display_subsystem {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&emmc {
|
||||
|
||||
supports-emmc;
|
||||
no-sdio;
|
||||
no-sd;
|
||||
cap-mmc-highspeed;
|
||||
disable-wp;
|
||||
non-removable;
|
||||
bus-width = <8>;
|
||||
num-slots = <0x01>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
|
||||
|
||||
vmmc-supply = <&vcc_io>;
|
||||
vqmmc-supply = <&vcc_18>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
bus-width = <4>;
|
||||
cap-mmc-highspeed;
|
||||
cap-sd-highspeed;
|
||||
card-detect-delay = <500>;
|
||||
cd-gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
disable-wp;
|
||||
no-sdio;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
|
||||
supports-sd;
|
||||
status = "okay";
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
};
|
||||
|
||||
&sdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
cap-sdio-irq;
|
||||
disable-wp;
|
||||
keep-power-in-suspend;
|
||||
mmc-pwrseq = <&sdio_pwrseq>;
|
||||
non-removable;
|
||||
num-slots = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
|
||||
supports-sdio;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* sdmmc_ext is configured as sdcard controller and enabled by default.
|
||||
* In this way boards which have the sdcard attached to sdmmc_ext will work
|
||||
* by default. In case the controller is not attached to anything, the
|
||||
* kernel will just autodetect and give up.
|
||||
*/
|
||||
&sdmmc_ext {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
bus-width = <4>;
|
||||
cap-mmc-highspeed;
|
||||
cap-sd-highspeed;
|
||||
card-detect-delay = <500>;
|
||||
cd-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
disable-wp;
|
||||
no-sdio;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc0ext_clk &sdmmc0ext_cmd &sdmmc0ext_dectn &sdmmc0ext_bus4>;
|
||||
supports-sd;
|
||||
status = "okay";
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
};
|
||||
|
||||
&gmac2phy {
|
||||
phy-supply = <&vcc_phy>;
|
||||
|
||||
phy-mode = "rmii";
|
||||
|
||||
clock_in_out = "output";
|
||||
assigned-clocks = <&cru SCLK_MAC2PHY>;
|
||||
assigned-clock-rate = <50000000>;
|
||||
assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
|
||||
tx_delay = <0x30>;
|
||||
rx_delay = <0x10>;
|
||||
|
||||
status = "okay";
|
||||
|
||||
};
|
||||
|
||||
&gpu {
|
||||
status = "okay";
|
||||
mali-supply = <&vdd_logic>;
|
||||
};
|
||||
|
||||
/*
|
||||
&h265e {
|
||||
status = "okay";
|
||||
};
|
||||
*/
|
||||
|
||||
&h265e_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spdif {
|
||||
pinctrl-0 = <&spdifm0_tx>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spdif_out {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spdif_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmiphy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2s0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2s1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
status = "okay";
|
||||
|
||||
vccio1-supply = <&vcc_io>;
|
||||
vccio2-supply = <&vcc_18>;
|
||||
vccio3-supply = <&vcc_io>;
|
||||
vccio4-supply = <&vcc_18>;
|
||||
vccio5-supply = <&vcc_io>;
|
||||
vccio6-supply = <&vcc_io>;
|
||||
pmuio-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&clk_32k_out>;
|
||||
|
||||
clk_32k {
|
||||
clk_32k_out: clk-32k-out {
|
||||
rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
working_led: working-led {
|
||||
rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none_2ma>;
|
||||
};
|
||||
};
|
||||
|
||||
ir {
|
||||
ir_int: ir-int {
|
||||
rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
pmic {
|
||||
pmic_int_l: pmic-int-l {
|
||||
rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
sdio-pwrseq {
|
||||
wifi_enable_h: wifi-enable-h {
|
||||
rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none_4ma>;/*,
|
||||
<1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none_4ma>;*/
|
||||
};
|
||||
};
|
||||
|
||||
usb2 {
|
||||
usb20_host_drv: usb20-host-drv {
|
||||
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
usb3 {
|
||||
usb30_host_drv: usb30-host-drv {
|
||||
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
wireless-wlan {
|
||||
|
||||
/*
|
||||
* SDIO host wake interrupt on YX_RK3328 board (sdio is attached to
|
||||
* regular mmc controller mmc@ff510000)
|
||||
*/
|
||||
sdio_host_wake: sdio-host-wake {
|
||||
rockchip,pins = <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
/*
|
||||
* SDIO host wake interrupt on X88_PRO_B board (sdio is attached to
|
||||
* alternative mmc controller mmc@ff5f0000)
|
||||
*/
|
||||
sdio_host_wake_ext: sdio-host-wake-ext {
|
||||
rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
&vdec {
|
||||
status = "okay";
|
||||
vcodec-supply = <&vdd_logic>;
|
||||
};
|
||||
*/
|
||||
|
||||
&vdec_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&threshold {
|
||||
temperature = <80000>; /* millicelsius */
|
||||
};
|
||||
|
||||
&target {
|
||||
temperature = <95000>; /* millicelsius */
|
||||
};
|
||||
|
||||
&soc_crit {
|
||||
temperature = <100000>; /* millicelsius */
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
rockchip,hw-tshut-mode = <0>;
|
||||
rockchip,hw-tshut-polarity = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
|
||||
status = "okay";
|
||||
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
/delete-property/ dmas;
|
||||
/delete-property/ dma-names;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy {
|
||||
status = "okay";
|
||||
|
||||
u2phy_host: host-port {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
u2phy_otg: otg-port {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&usb20_otg {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbdrd3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vop {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vop_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vpu {
|
||||
status = "okay";
|
||||
vcodec-supply = <&vdd_logic>;
|
||||
};
|
||||
|
||||
&vpu_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
&vepu {
|
||||
status = "okay";
|
||||
};
|
||||
*/
|
||||
|
||||
&vepu_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcc_18>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
&rga {
|
||||
status = "okay";
|
||||
};
|
||||
*/
|
||||
|
||||
&pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&analog_sound {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -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-r2s.dts"
|
||||
|
||||
/ {
|
||||
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>;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
// 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-r2s.dts"
|
||||
|
||||
/ {
|
||||
model = "FriendlyElec NanoPi R2S";
|
||||
compatible = "friendlyelec,nanopi-r2", "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>;
|
||||
};
|
||||
};
|
||||
|
||||
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 = <0>;
|
||||
model = "NanoPi R2S";
|
||||
};
|
||||
|
||||
&emmc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&leds {
|
||||
status = "okay";
|
||||
|
||||
led@2 {
|
||||
gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
label = "lan_led";
|
||||
};
|
||||
|
||||
led@3 {
|
||||
gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
|
||||
label = "wan_led";
|
||||
};
|
||||
};
|
||||
|
||||
&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>;
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,89 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2021 FriendlyElec Computer Tech. Co., Ltd.
|
||||
* (http://www.friendlyarm.com)
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "rk3328-nanopi-r2-rev00.dts"
|
||||
|
||||
/ {
|
||||
model = "FriendlyElec NanoPi R2C";
|
||||
compatible = "friendlyelec,nanopi-r2", "rockchip,rk3328";
|
||||
};
|
||||
|
||||
&mach {
|
||||
hwrev = <6>;
|
||||
model = "NanoPi R2C";
|
||||
};
|
||||
|
||||
&rgmiim1_pins {
|
||||
rockchip,pins =
|
||||
/* mac_txclk */
|
||||
<1 RK_PB4 2 &pcfg_pull_none_8ma>,
|
||||
/* mac_rxclk */
|
||||
<1 RK_PB5 2 &pcfg_pull_none>,
|
||||
/* mac_mdio */
|
||||
<1 RK_PC3 2 &pcfg_pull_none_2ma>,
|
||||
/* mac_txen */
|
||||
<1 RK_PD1 2 &pcfg_pull_none_8ma>,
|
||||
/* mac_clk */
|
||||
<1 RK_PC5 2 &pcfg_pull_none_2ma>,
|
||||
/* mac_rxdv */
|
||||
<1 RK_PC6 2 &pcfg_pull_none>,
|
||||
/* mac_mdc */
|
||||
<1 RK_PC7 2 &pcfg_pull_none_2ma>,
|
||||
/* mac_rxd1 */
|
||||
<1 RK_PB2 2 &pcfg_pull_none>,
|
||||
/* mac_rxd0 */
|
||||
<1 RK_PB3 2 &pcfg_pull_none>,
|
||||
/* mac_txd1 */
|
||||
<1 RK_PB0 2 &pcfg_pull_none_8ma>,
|
||||
/* mac_txd0 */
|
||||
<1 RK_PB1 2 &pcfg_pull_none_8ma>,
|
||||
/* mac_rxd3 */
|
||||
<1 RK_PB6 2 &pcfg_pull_none>,
|
||||
/* mac_rxd2 */
|
||||
<1 RK_PB7 2 &pcfg_pull_none>,
|
||||
/* mac_txd3 */
|
||||
<1 RK_PC0 2 &pcfg_pull_none_8ma>,
|
||||
/* mac_txd2 */
|
||||
<1 RK_PC1 2 &pcfg_pull_none_8ma>,
|
||||
|
||||
/* mac_txclk */
|
||||
<0 RK_PB0 1 &pcfg_pull_none>,
|
||||
/* mac_txen */
|
||||
<0 RK_PB4 1 &pcfg_pull_none>,
|
||||
/* mac_clk */
|
||||
<0 RK_PD0 1 &pcfg_pull_none>,
|
||||
/* mac_txd1 */
|
||||
<0 RK_PC0 1 &pcfg_pull_none>,
|
||||
/* mac_txd0 */
|
||||
<0 RK_PC1 1 &pcfg_pull_none>,
|
||||
/* mac_txd3 */
|
||||
<0 RK_PC7 1 &pcfg_pull_none>,
|
||||
/* mac_txd2 */
|
||||
<0 RK_PC6 1 &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
/delete-node/ &rtl8211e;
|
||||
|
||||
&gmac2io {
|
||||
phy-handle = <ðphy3>;
|
||||
snps,reset-delays-us = <0 15000 50000>;
|
||||
tx_delay = <0x22>;
|
||||
rx_delay = <0x12>;
|
||||
mdio {
|
||||
|
||||
ethphy3: ethernet-phy@3 {
|
||||
compatible = "ethernet-phy-id0000.011a",
|
||||
"ethernet-phy-ieee802.3-c22";
|
||||
reg = <3>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <RK_PC4 IRQ_TYPE_EDGE_FALLING>;
|
||||
//reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
keep-clkout-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,39 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 FriendlyElec Computer Tech. Co., Ltd.
|
||||
* (http://www.friendlyarm.com)
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3328-nanopi-r2s.dts"
|
||||
|
||||
/ {
|
||||
model = "FriendlyElec NanoPi R2";
|
||||
compatible = "friendlyelec,nanopi-r2", "rockchip,rk3328";
|
||||
};
|
||||
|
||||
&mach {
|
||||
hwrev = <0x20>;
|
||||
model = "NanoPi R2";
|
||||
};
|
||||
|
||||
&gmac2io {
|
||||
pinctrl-0 = <&rgmiim1_pins>, <&phy_intb>, <&phy_rstb>;
|
||||
};
|
||||
|
||||
&rtl8211e {
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <RK_PD0 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
phy {
|
||||
phy_intb: phy-intb {
|
||||
rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
phy_rstb: phy-rstb {
|
||||
rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,449 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/* Copyright (c) 2020 David Bauer <mail@david-bauer.net>
|
||||
* Copyright (c) 2020 Shenzhen Xunlong Software CO.,Limited
|
||||
* Copyright (c) 2021 AmadeusGhost <amadeus@jmu.edu.cn>
|
||||
* Revised for Orange Pi R1 Plus LTS (c) 2022 schwar3kat
|
||||
* Based on Orange Pi R1 plus
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "rk3328.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Xunlong Orange Pi R1 Plus LTS";
|
||||
compatible = "xunlong,orangepi-r1-plus-lts", "rockchip,rk3328";
|
||||
|
||||
aliases {
|
||||
ethernet1 = &rtl8153;
|
||||
mmc0 = &sdmmc;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
gmac_clk: gmac-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "gmac_clkin";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&reset_button_pin>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
debounce-interval = <50>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
lan_led: led-0 {
|
||||
gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
label = "orangepi-r1-plus-lts:green:lan";
|
||||
};
|
||||
|
||||
sys_led: led-1 {
|
||||
gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
label = "orangepi-r1-plus-lts:red:status";
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
|
||||
wan_led: led-2 {
|
||||
gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
|
||||
label = "orangepi-r1-plus-lts:green:wan";
|
||||
};
|
||||
};
|
||||
|
||||
vcc_io_sdio: sdmmcio-regulator {
|
||||
compatible = "regulator-gpio";
|
||||
enable-active-high;
|
||||
gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-0 = <&sdio_vcc_pin>;
|
||||
pinctrl-names = "default";
|
||||
regulator-name = "vcc_io_sdio";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-settling-time-us = <5000>;
|
||||
regulator-type = "voltage";
|
||||
startup-delay-us = <2000>;
|
||||
states = <1800000 0x1>,
|
||||
<3300000 0x0>;
|
||||
vin-supply = <&vcc_io_33>;
|
||||
};
|
||||
|
||||
vcc_sd: sdmmc-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-0 = <&sdmmc0m1_pin>;
|
||||
pinctrl-names = "default";
|
||||
regulator-name = "vcc_sd";
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vcc_io_33>;
|
||||
};
|
||||
|
||||
vdd_5v: vdd-5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vdd_5v";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
vdd_5v_lan: vdd-5v-lan {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-0 = <&lan_vdd_pin>;
|
||||
pinctrl-names = "default";
|
||||
regulator-name = "vdd_5v_lan";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vdd_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu1 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu2 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu3 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&display_subsystem {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&gmac2io {
|
||||
assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
|
||||
assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
|
||||
clock_in_out = "input";
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <&vcc_io_33>;
|
||||
pinctrl-0 = <&rgmiim1_pins>;
|
||||
pinctrl-names = "default";
|
||||
snps,aal;
|
||||
status = "okay";
|
||||
phy-handle = <&yt8531c>;
|
||||
tx_delay = <0x19>;
|
||||
rx_delay = <0x05>;
|
||||
|
||||
mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
yt8531c: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-id4f51.e91b",
|
||||
"ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
motorcomm,clk-out-frequency-hz = <125000000>;
|
||||
motorcomm,keep-pll-enabled;
|
||||
motorcomm,auto-sleep-disabled;
|
||||
pinctrl-0 = <ð_phy_reset_pin>;
|
||||
pinctrl-names = "default";
|
||||
reset-assert-us = <15000>;
|
||||
reset-deassert-us = <50000>;
|
||||
reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
rk805: pmic@18 {
|
||||
compatible = "rockchip,rk805";
|
||||
reg = <0x18>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "xin32k", "rk805-clkout2";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
pinctrl-0 = <&pmic_int_l>;
|
||||
pinctrl-names = "default";
|
||||
rockchip,system-power-controller;
|
||||
wakeup-source;
|
||||
|
||||
vcc1-supply = <&vdd_5v>;
|
||||
vcc2-supply = <&vdd_5v>;
|
||||
vcc3-supply = <&vdd_5v>;
|
||||
vcc4-supply = <&vdd_5v>;
|
||||
vcc5-supply = <&vcc_io_33>;
|
||||
vcc6-supply = <&vdd_5v>;
|
||||
|
||||
regulators {
|
||||
vdd_log: DCDC_REG1 {
|
||||
regulator-name = "vdd_log";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_arm: DCDC_REG2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <950000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_ddr: DCDC_REG3 {
|
||||
regulator-name = "vcc_ddr";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_io_33: DCDC_REG4 {
|
||||
regulator-name = "vcc_io_33";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_18: LDO_REG1 {
|
||||
regulator-name = "vcc_18";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc18_emmc: LDO_REG2 {
|
||||
regulator-name = "vcc18_emmc";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_10: LDO_REG3 {
|
||||
regulator-name = "vdd_10";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
pmuio-supply = <&vcc_io_33>;
|
||||
vccio1-supply = <&vcc_io_33>;
|
||||
vccio2-supply = <&vcc18_emmc>;
|
||||
vccio3-supply = <&vcc_io_sdio>;
|
||||
vccio4-supply = <&vcc_18>;
|
||||
vccio5-supply = <&vcc_io_33>;
|
||||
vccio6-supply = <&vcc_io_33>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
button {
|
||||
reset_button_pin: reset-button-pin {
|
||||
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
gmac2io {
|
||||
eth_phy_reset_pin: eth-phy-reset-pin {
|
||||
rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
lan_led_pin: lan-led-pin {
|
||||
rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
sys_led_pin: sys-led-pin {
|
||||
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
wan_led_pin: wan-led-pin {
|
||||
rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
lan {
|
||||
lan_vdd_pin: lan-vdd-pin {
|
||||
rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
pmic {
|
||||
pmic_int_l: pmic-int-l {
|
||||
rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
sd {
|
||||
sdio_vcc_pin: sdio-vcc-pin {
|
||||
rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pwm2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
disable-wp;
|
||||
pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
|
||||
pinctrl-names = "default";
|
||||
sd-uhs-sdr12;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
vqmmc-supply = <&vcc_io_sdio>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
rockchip,hw-tshut-mode = <0>;
|
||||
rockchip,hw-tshut-polarity = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy_host {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb20_otg {
|
||||
status = "okay";
|
||||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&usbdrd3 {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
snps,xhci-trb-ent-quirk;
|
||||
|
||||
/* Second port is for USB 3.0 */
|
||||
rtl8153: device@2 {
|
||||
compatible = "usbbda,8153";
|
||||
reg = <2>;
|
||||
realtek,led-data = <0x87>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
max-freq = <48000000>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <10000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dmc_opp_table {
|
||||
opp-798000000 {
|
||||
status = "disabled";
|
||||
};
|
||||
opp-840000000 {
|
||||
status = "disabled";
|
||||
};
|
||||
opp-924000000 {
|
||||
status = "disabled";
|
||||
};
|
||||
opp-1056000000 {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
1
patch/kernel/archive/rockchip64-6.4/dt/rk3328-z28pro.dts
Normal file
1
patch/kernel/archive/rockchip64-6.4/dt/rk3328-z28pro.dts
Normal file
@@ -0,0 +1 @@
|
||||
#include "rk3328-rock64.dts"
|
||||
@@ -0,0 +1,87 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* FriendlyElec NanoPi M4V2 board device tree source
|
||||
*
|
||||
* Copyright (c) 2018 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 M4 Ver2.0";
|
||||
compatible = "friendlyarm,nanopi-m4", "rockchip,rk3399";
|
||||
|
||||
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>;
|
||||
};
|
||||
|
||||
vdd_log: vdd-log {
|
||||
compatible = "pwm-regulator";
|
||||
pwms = <&pwm2 0 25000 1>;
|
||||
regulator-name = "vdd_log";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-init-microvolt = <900000>;
|
||||
vin-supply = <&vcc5v0_core>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac {
|
||||
rx_delay = <0x16>;
|
||||
};
|
||||
|
||||
&rk808 {
|
||||
max-buck-steps-per-change = <4>;
|
||||
};
|
||||
|
||||
&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,17 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3399-nanopi-r4s-enterprise.dts"
|
||||
|
||||
/ {
|
||||
model = "FriendlyElec NanoPi R4SE";
|
||||
compatible = "friendlyarm,nanopi-r4se", "rockchip,rk3399";
|
||||
};
|
||||
|
||||
&emmc_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
status = "okay";
|
||||
};
|
||||
1274
patch/kernel/archive/rockchip64-6.4/dt/rk3399-orangepi-4-lts.dts
Normal file
1274
patch/kernel/archive/rockchip64-6.4/dt/rk3399-orangepi-4-lts.dts
Normal file
File diff suppressed because it is too large
Load Diff
1194
patch/kernel/archive/rockchip64-6.4/dt/rk3399-orangepi-4.dts
Normal file
1194
patch/kernel/archive/rockchip64-6.4/dt/rk3399-orangepi-4.dts
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
#include "rk3399-rock-pi-4b.dts"
|
||||
69
patch/kernel/archive/rockchip64-6.4/dt/rk3399-rock-pi-4c.dts
Normal file
69
patch/kernel/archive/rockchip64-6.4/dt/rk3399-rock-pi-4c.dts
Normal file
@@ -0,0 +1,69 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
|
||||
* Copyright (c) 2019 Radxa Limited
|
||||
* Copyright (c) 2019 Amarula Solutions(India)
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3399-rock-pi-4.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Radxa ROCK Pi 4C";
|
||||
compatible = "radxa,rockpi4c", "radxa,rockpi4", "rockchip,rk3399";
|
||||
|
||||
aliases {
|
||||
mmc2 = &sdio0;
|
||||
};
|
||||
};
|
||||
|
||||
&es8316 {
|
||||
pinctrl-0 = <&hp_detect &hp_int>;
|
||||
pinctrl-names = "default";
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <RK_PA1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&sdio0 {
|
||||
status = "okay";
|
||||
|
||||
brcmf: wifi@1 {
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
reg = <1>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "host-wake";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&wifi_host_wake_l>;
|
||||
};
|
||||
};
|
||||
|
||||
&sound {
|
||||
hp-det-gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm4345c5";
|
||||
clocks = <&rk808 1>;
|
||||
clock-names = "lpo";
|
||||
device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
|
||||
host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||
shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
|
||||
max-speed = <1500000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
|
||||
vbat-supply = <&vcc3v3_sys>;
|
||||
vddio-supply = <&vcc_1v8>;
|
||||
};
|
||||
};
|
||||
|
||||
&vcc5v0_host {
|
||||
gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&vcc5v0_host_en {
|
||||
rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
751
patch/kernel/archive/rockchip64-6.4/dt/rk3399-tinker-2.dts
Normal file
751
patch/kernel/archive/rockchip64-6.4/dt/rk3399-tinker-2.dts
Normal file
@@ -0,0 +1,751 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
|
||||
* Copyright (c) 2021 Thomas McKahan
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
#include <dt-bindings/usb/pd.h>
|
||||
#include "rk3399.dtsi"
|
||||
#include "rk3399-op1-opp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Asus Tinker Board 2/2S";
|
||||
compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
board_info: board-info {
|
||||
compatible = "board-info";
|
||||
|
||||
hw-id0 = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
|
||||
hw-id1 = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
hw-id2 = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
pid-id0 = <&gpio2 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
pid-id1 = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
pid-id2 = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
ddr-id1 = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||
ddr-id2 = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
pmic-reset = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
clkin_gmac: external-gmac-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "clkin_gmac";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
pwr-led {
|
||||
gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "default-on";
|
||||
retain-state-suspended = <1>;
|
||||
};
|
||||
|
||||
act-led {
|
||||
gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger="mmc0";
|
||||
};
|
||||
|
||||
rsv-led {
|
||||
gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger="heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
vcc_lcd: vcc-lcd {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_lcd";
|
||||
gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
|
||||
startup-delay-us = <20000>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
vcc3v3_sys: vcc3v3-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vcc5v0_host: vcc5v0-host-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vcc5v0_host_en>;
|
||||
regulator-name = "vcc5v0_host";
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
vcc5v0_sys: vcc5v0-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc5v0_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
vcc_phy: vcc-phy-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_phy";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vbus_typec: vbus-5vout {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vcc5v0_typec0_en_pin>;
|
||||
regulator-name = "vbus_5vout";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_log: vdd-log {
|
||||
compatible = "pwm-regulator";
|
||||
pwms = <&pwm2 0 25000 1>;
|
||||
regulator-name = "vdd_log";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
||||
/* for rockchip boot on */
|
||||
rockchip,pwm_id= <2>;
|
||||
rockchip,pwm_voltage = <900000>;
|
||||
};
|
||||
|
||||
xin32k: xin32k {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&cdn_dp {
|
||||
status = "okay";
|
||||
extcon = <&fusb0>;
|
||||
};
|
||||
|
||||
&cpu_l0 {
|
||||
cpu-supply = <&vdd_cpu_l>;
|
||||
};
|
||||
|
||||
&cpu_l1 {
|
||||
cpu-supply = <&vdd_cpu_l>;
|
||||
};
|
||||
|
||||
&cpu_l2 {
|
||||
cpu-supply = <&vdd_cpu_l>;
|
||||
};
|
||||
|
||||
&cpu_l3 {
|
||||
cpu-supply = <&vdd_cpu_l>;
|
||||
};
|
||||
|
||||
&cpu_b0 {
|
||||
cpu-supply = <&vdd_cpu_b>;
|
||||
};
|
||||
|
||||
&cpu_b1 {
|
||||
cpu-supply = <&vdd_cpu_b>;
|
||||
};
|
||||
|
||||
&emmc_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gmac {
|
||||
assigned-clocks = <&cru SCLK_RMII_SRC>;
|
||||
assigned-clock-parents = <&cru SCLK_MAC>;
|
||||
clock_in_out = "input";
|
||||
assigned-clock-rates = <125000000>;
|
||||
phy-supply = <&vcc_phy>;
|
||||
phy-mode = "rgmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&rgmii_pins>;
|
||||
snps,reset-gpio = <&gpio3 15 GPIO_ACTIVE_LOW>;
|
||||
snps,reset-active-low;
|
||||
snps,reset-delays-us = <0 16000 72000>;
|
||||
tx_delay = <0x25>;
|
||||
rx_delay = <0x20>;
|
||||
wakeup-enable = "0";
|
||||
status = "okay";
|
||||
};
|
||||
&gpu {
|
||||
mali-supply = <&vdd_gpu>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
ddc-i2c-bus = <&i2c3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
rk808: pmic@1b {
|
||||
compatible = "rockchip,rk808";
|
||||
reg = <0x1b>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int_l>;
|
||||
rockchip,system-power-controller;
|
||||
wakeup-source;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "rk808-clkout1", "rk808-clkout2";
|
||||
|
||||
vcc1-supply = <&vcc3v3_sys>;
|
||||
vcc2-supply = <&vcc3v3_sys>;
|
||||
vcc3-supply = <&vcc3v3_sys>;
|
||||
vcc4-supply = <&vcc3v3_sys>;
|
||||
vcc6-supply = <&vcc3v3_sys>;
|
||||
vcc7-supply = <&vcc3v3_sys>;
|
||||
vcc8-supply = <&vcc3v3_sys>;
|
||||
vcc9-supply = <&vcc3v3_sys>;
|
||||
vcc10-supply = <&vcc3v3_sys>;
|
||||
vcc11-supply = <&vcc3v3_sys>;
|
||||
vcc12-supply = <&vcc3v3_sys>;
|
||||
vddio-supply = <&vcc1v8_pmu>;
|
||||
|
||||
regulators {
|
||||
vdd_center: DCDC_REG1 {
|
||||
regulator-name = "vdd_center";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <900000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_cpu_l: DCDC_REG2 {
|
||||
regulator-name = "vdd_cpu_l";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_ddr: DCDC_REG3 {
|
||||
regulator-name = "vcc_ddr";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_1v8: DCDC_REG4 {
|
||||
regulator-name = "vcc_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc3v3_dsi: LDO_REG1 {
|
||||
regulator-name = "vcc3v3_dsi";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcca1v8_hdmi: LDO_REG2 {
|
||||
regulator-name = "vcca1v8_hdmi";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc1v8_pmu: LDO_REG3 {
|
||||
regulator-name = "vcc1v8_pmu";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vccio_sd: LDO_REG4 {
|
||||
regulator-name = "vccio_sd";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc3v3_csi: LDO_REG5 {
|
||||
regulator-name = "vcc3v3_csi";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_1v5: LDO_REG6 {
|
||||
regulator-name = "vcc_1v5";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1500000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcca0v9_hdmi: LDO_REG7 {
|
||||
regulator-name = "vcca0v9_hdmi";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_3v0: LDO_REG8 {
|
||||
regulator-name = "vcc_3v0";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc3v3_s3: SWITCH_REG1 {
|
||||
regulator-name = "vcc3v3_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc3v3_s0: SWITCH_REG2 {
|
||||
regulator-name = "vcc3v3_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
vdd_cpu_b: vdd_cpu_b@60 {
|
||||
compatible = "fcs,fan53200";
|
||||
reg = <0x60>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
regulator-compatible = "fan53555-regulator";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vsel1_gpio>;
|
||||
vsel-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
|
||||
regulator-name = "vdd_cpu_b";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-ramp-delay = <1000>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
status = "okay";
|
||||
|
||||
regulator-initial-state = <3>;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
|
||||
status = "okay";
|
||||
i2c-scl-rising-time-ns = <475>;
|
||||
i2c-scl-falling-time-ns = <26>;
|
||||
fusb0: fusb30x@22 {
|
||||
compatible = "fcs,fusb302";
|
||||
reg = <0x22>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&fusb0_int>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
|
||||
vbus-supply = <&vbus_typec>;
|
||||
status = "okay";
|
||||
|
||||
connector {
|
||||
compatible = "usb-c-connector";
|
||||
data-role = "dual";
|
||||
label = "USB-C";
|
||||
op-sink-microwatt = <1000000>;
|
||||
power-role = "dual";
|
||||
sink-pdos =
|
||||
<PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
|
||||
source-pdos =
|
||||
<PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
|
||||
try-power-role = "sink";
|
||||
|
||||
extcon-cables = <1 2 5 6 9 10 12 44>;
|
||||
typec-altmodes = <0xff01 1 0x001c0000 1>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
usbc_hs: endpoint {
|
||||
remote-endpoint =
|
||||
<&u2phy0_typec_hs>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
usbc_ss: endpoint {
|
||||
remote-endpoint =
|
||||
<&tcphy0_typec_ss>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
usbc_dp: endpoint {
|
||||
remote-endpoint =
|
||||
<&tcphy0_typec_dp>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
vdd_gpu: vdd_gpu@60 {
|
||||
compatible = "fcs,fan53200";
|
||||
reg = <0x60>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
regulator-compatible = "fan53555-regulator";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vsel2_gpio>;
|
||||
vsel-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
|
||||
regulator-name = "vdd_gpu";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-ramp-delay = <1000>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
status = "okay";
|
||||
|
||||
regulator-initial-state = <3>;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c8 {
|
||||
|
||||
m24c08: m24c08@50 {
|
||||
compatible = "atmel,24c08";
|
||||
reg = <0x50>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2s0 {
|
||||
rockchip,playback-channels = <8>;
|
||||
rockchip,capture-channels = <8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2s2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
ep-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
|
||||
num-lanes = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie_clkreqn_cpm>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm0 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pwm2 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm2_pin_pull_down>;
|
||||
};
|
||||
|
||||
&pwm3 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
mmc-hs200-1_8v;
|
||||
supports-emmc;
|
||||
//mmc-hs400-enhanced-strobe;
|
||||
non-removable;
|
||||
keep-power-in-suspend;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
clock-frequency = <150000000>;
|
||||
clock-freq-min-max = <100000 150000000>;
|
||||
supports-sd;
|
||||
bus-width = <4>;
|
||||
cap-mmc-highspeed;
|
||||
cap-sd-highspeed;
|
||||
disable-wp;
|
||||
num-slots = <1>;
|
||||
//sd-uhs-sdr104;
|
||||
vmmc-supply = <&vcc3v3_s3>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tcphy0 {
|
||||
extcon = <&fusb0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tcphy0_dp {
|
||||
port {
|
||||
tcphy0_typec_dp: endpoint {
|
||||
remote-endpoint = <&usbc_dp>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tcphy0_usb3 {
|
||||
port {
|
||||
tcphy0_typec_ss: endpoint {
|
||||
remote-endpoint = <&usbc_ss>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tcphy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
/* tshut mode 0:CRU 1:GPIO */
|
||||
rockchip,hw-tshut-mode = <1>;
|
||||
/* tshut polarity 0:LOW 1:HIGH */
|
||||
rockchip,hw-tshut-polarity = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy0 {
|
||||
status = "okay";
|
||||
|
||||
u2phy0_otg: otg-port {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
u2phy0_host: host-port {
|
||||
phy-supply = <&vcc5v0_host>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
port {
|
||||
u2phy0_typec_hs: endpoint {
|
||||
remote-endpoint = <&usbc_hs>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&u2phy1 {
|
||||
status = "okay";
|
||||
|
||||
u2phy1_otg: otg-port {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
u2phy1_host: host-port {
|
||||
phy-supply = <&vcc5v0_host>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&usbdrd3_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbdrd_dwc3_0 {
|
||||
status = "okay";
|
||||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&usbdrd3_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbdrd_dwc3_1 {
|
||||
status = "okay";
|
||||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host1_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host1_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
|
||||
pmic {
|
||||
pmic_int_l: pmic-int-l {
|
||||
rockchip,pins =
|
||||
<1 18 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<0 9 RK_FUNC_GPIO &pcfg_pull_none>; /* GPIO0_B1 */
|
||||
};
|
||||
vsel1_gpio: vsel1-gpio {
|
||||
rockchip,pins =
|
||||
<1 17 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
vsel2_gpio: vsel2-gpio {
|
||||
rockchip,pins =
|
||||
<1 14 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
|
||||
usb2 {
|
||||
vcc5v0_host_en: vcc5v0-host-en {
|
||||
rockchip,pins =
|
||||
<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
usb-typec {
|
||||
vcc5v0_typec0_en_pin: vcc5v0-typec0-en-pin {
|
||||
rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
fusb30x {
|
||||
fusb0_int: fusb0-int {
|
||||
rockchip,pins = <1 2 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&vopl {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopl_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopb {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopb_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
579
patch/kernel/archive/rockchip64-6.4/dt/rk3566-panther-x2.dts
Executable file
579
patch/kernel/archive/rockchip64-6.4/dt/rk3566-panther-x2.dts
Executable file
@@ -0,0 +1,579 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2023 tdleiyao <tdleiyao@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
#include "rk3566.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Panther X2";
|
||||
compatible = "panther,x2", "rockchip,rk3566";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &gmac1;
|
||||
mmc0 = &sdmmc0;
|
||||
mmc1 = &sdhci;
|
||||
mmc2 = &sdmmc1;
|
||||
};
|
||||
|
||||
chosen: chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
gmac1_clkin: external-gmac1-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "gmac1_clkin";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
//Corresponds to the actual order
|
||||
led_pwr: led-pwr {
|
||||
label = "led-pwr";
|
||||
default-state = "on";
|
||||
gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pwr_enable_h>;
|
||||
retain-state-suspended;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
led_wifi: led-wifi {
|
||||
label = "led-wifi";
|
||||
default-state = "off";
|
||||
gpios = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_wifi_enable_h>;
|
||||
retain-state-suspended;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
led_eth: led-eth {
|
||||
label = "led-eth";
|
||||
default-state = "off";
|
||||
gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_eth_enable_h>;
|
||||
retain-state-suspended;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
led_status: led-status {
|
||||
label = "led-status";
|
||||
default-state = "on";
|
||||
gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_status_enable_h>;
|
||||
retain-state-suspended;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
vbus: vbus-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vbus";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
vcc5v0_sys: vcc5v0-sys-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc5v0_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vbus>;
|
||||
};
|
||||
|
||||
vcc3v3_sys: vcc3v3-sys-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
sdio_pwrseq: sdio-pwrseq {
|
||||
status = "okay";
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
clocks = <&rk809 1>;
|
||||
clock-names = "ext_clock";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&wifi_enable_h>;
|
||||
reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
|
||||
post-power-on-delay-ms = <100>;
|
||||
};
|
||||
|
||||
wireless_wlan: wireless-wlan {
|
||||
compatible = "wlan-platdata";
|
||||
rockchip,grf = <&grf>;
|
||||
wifi_chip_type = "ap6236";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&wifi_host_wake_irq>;
|
||||
WIFI,host_wake_irq = <&gpio2 RK_PB2 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <&vdd_cpu>;
|
||||
};
|
||||
|
||||
&cpu1 {
|
||||
cpu-supply = <&vdd_cpu>;
|
||||
};
|
||||
|
||||
&cpu2 {
|
||||
cpu-supply = <&vdd_cpu>;
|
||||
};
|
||||
|
||||
&cpu3 {
|
||||
cpu-supply = <&vdd_cpu>;
|
||||
};
|
||||
|
||||
&gpu {
|
||||
mali-supply = <&vdd_gpu>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
|
||||
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
|
||||
clock_in_out = "input";
|
||||
phy-supply = <&vcc_3v3>;
|
||||
phy-mode = "rgmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac1m0_miim
|
||||
&gmac1m0_tx_bus2
|
||||
&gmac1m0_rx_bus2
|
||||
&gmac1m0_rgmii_clk
|
||||
&gmac1m0_clkinout
|
||||
&gmac1m0_rgmii_bus>;
|
||||
snps,reset-gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
snps,reset-active-low;
|
||||
/* Reset time is 20ms, 100ms for rtl8211f, also works well here */
|
||||
snps,reset-delays-us = <0 20000 100000>;
|
||||
tx_delay = <0x30>;
|
||||
rx_delay = <0x10>;
|
||||
phy-handle = <&rgmii_phy1>;
|
||||
status = "okay";
|
||||
};
|
||||
&mdio1 {
|
||||
rgmii_phy1: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
vdd_cpu: regulator@1c {
|
||||
compatible = "tcs,tcs4525";
|
||||
reg = <0x1c>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_cpu";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-ramp-delay = <2300>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
rk809: pmic@20 {
|
||||
compatible = "rockchip,rk809";
|
||||
reg = <0x20>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "rk808-clkout1", "rk808-clkout2";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int_l>;
|
||||
rockchip,system-power-controller;
|
||||
wakeup-source;
|
||||
|
||||
vcc1-supply = <&vcc3v3_sys>;
|
||||
vcc2-supply = <&vcc3v3_sys>;
|
||||
vcc3-supply = <&vcc3v3_sys>;
|
||||
vcc4-supply = <&vcc3v3_sys>;
|
||||
vcc5-supply = <&vcc3v3_sys>;
|
||||
vcc6-supply = <&vcc3v3_sys>;
|
||||
vcc7-supply = <&vcc3v3_sys>;
|
||||
vcc8-supply = <&vcc3v3_sys>;
|
||||
vcc9-supply = <&vcc3v3_sys>;
|
||||
|
||||
regulators {
|
||||
vdd_logic: DCDC_REG1 {
|
||||
regulator-name = "vdd_logic";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-init-microvolt = <900000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-initial-mode = <0x2>;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <900000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_gpu: DCDC_REG2 {
|
||||
regulator-name = "vdd_gpu";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-init-microvolt = <900000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-initial-mode = <0x2>;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_ddr: DCDC_REG3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-initial-mode = <0x2>;
|
||||
regulator-name = "vcc_ddr";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_npu: DCDC_REG4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-init-microvolt = <900000>;
|
||||
regulator-initial-mode = <0x2>;
|
||||
regulator-name = "vdd_npu";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_1v8: DCDC_REG5 {
|
||||
regulator-name = "vcc_1v8";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdda0v9_image: LDO_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-name = "vdda0v9_image";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <900000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdda_0v9: LDO_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-name = "vdda_0v9";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdda0v9_pmu: LDO_REG3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-name = "vdda0v9_pmu";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <900000>;
|
||||
};
|
||||
};
|
||||
|
||||
vccio_acodec: LDO_REG4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vccio_acodec";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vccio_sd: LDO_REG5 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vccio_sd";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc3v3_pmu: LDO_REG6 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc3v3_pmu";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcca_1v8: LDO_REG7 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcca_1v8";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcca1v8_pmu: LDO_REG8 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcca1v8_pmu";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcca1v8_image: LDO_REG9 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcca1v8_image";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_3v3: SWITCH_REG1 {
|
||||
regulator-name = "vcc_3v3";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc3v3_sd: SWITCH_REG2 {
|
||||
regulator-name = "vcc3v3_sd";
|
||||
status = "disabled";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2s1_8ch {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2s1m1_sclktx &i2s1m1_sclkrx
|
||||
&i2s1m1_lrcktx &i2s1m1_lrckrx
|
||||
&i2s1m1_sdi0 &i2s1m1_sdi1
|
||||
&i2s1m1_sdi2 &i2s1m1_sdi3
|
||||
&i2s1m1_sdo0 &i2s1m1_sdo1
|
||||
&i2s1m1_sdo2 &i2s1m1_sdo3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
sdio-pwrseq {
|
||||
wifi_enable_h: wifi-enable-h {
|
||||
rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
wireless-wlan {
|
||||
wifi_host_wake_irq: wifi-host-wake-irq {
|
||||
rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
|
||||
bt {
|
||||
bt_enable_h: bt-enable-h {
|
||||
rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
bt_host_wake_l: bt-host-wake-l {
|
||||
rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
bt_wake_l: bt-wake-l {
|
||||
rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
led_pwr_enable_h: led-pwr-enable-h {
|
||||
rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
led_wifi_enable_h: led-wifi-enable-h {
|
||||
rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
led_eth_enable_h: led-eth-enable-h {
|
||||
rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
led_status_enable_h: led-status-enable-h {
|
||||
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
pmic {
|
||||
pmic_int_l: pmic-int-l {
|
||||
rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&pmu_io_domains {
|
||||
pmuio1-supply = <&vcc3v3_pmu>;
|
||||
pmuio2-supply = <&vcc3v3_pmu>;
|
||||
vccio1-supply = <&vcc_3v3>;
|
||||
vccio2-supply = <&vcc_1v8>;
|
||||
vccio3-supply = <&vccio_sd>;
|
||||
vccio4-supply = <&vcc_1v8>;
|
||||
vccio5-supply = <&vcc_3v3>;
|
||||
vccio6-supply = <&vcc_3v3>;
|
||||
vccio7-supply = <&vcc_3v3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcca_1v8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
vmmc-supply = <&vcc_3v3>;
|
||||
vqmmc-supply = <&vcc_1v8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc0 {
|
||||
broken-cd;
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
disable-wp;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc1 {
|
||||
supports-sdio;
|
||||
bus-width = <4>;
|
||||
disable-wp;
|
||||
cap-sd-highspeed;
|
||||
cap-sdio-irq;
|
||||
keep-power-in-suspend;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
|
||||
non-removable;
|
||||
mmc-pwrseq = <&sdio_pwrseq>;
|
||||
status = "okay";
|
||||
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm43438-bt";
|
||||
clocks = <&rk809 1>;
|
||||
clock-names = "lpo";
|
||||
device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
|
||||
host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
|
||||
shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
max-speed = <1500000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
|
||||
vbat-supply = <&vcc3v3_sys>;
|
||||
vddio-supply = <&vcca1v8_pmu>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_xhci {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host1_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2phy0_host {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2phy0_otg {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,133 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Tony <tonymckahan@gmail.com>
|
||||
Date: Wed, 3 Mar 2021 07:59:25 +0100
|
||||
Subject: [ARCHEOLOGY] RK3399 Typec DP (#2676)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * RK3399 NanoPC-T4 Add Type-C alt mode DP
|
||||
> X-Git-Archeology: > recovered message: > * rk3399 rockpi 4C add mini-DP (WIP)
|
||||
> X-Git-Archeology: > recovered message: > * [ rockchip64 ] revert rockPi 4C DP patch
|
||||
> X-Git-Archeology: > recovered message: > Add an extension to disable it, but leave for future work.
|
||||
> X-Git-Archeology: - Revision 4971535c774a1f49a811baebc083ea028ced0300: https://github.com/armbian/build/commit/4971535c774a1f49a811baebc083ea028ced0300
|
||||
> X-Git-Archeology: Date: Wed, 03 Mar 2021 07:59:25 +0100
|
||||
> X-Git-Archeology: From: Tony <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: RK3399 Typec DP (#2676)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
Documentation/devicetree/bindings/extcon/extcon-usbc-virtual-pd.yaml | 66 ++++++++++
|
||||
1 file changed, 66 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/extcon/extcon-usbc-virtual-pd.yaml b/Documentation/devicetree/bindings/extcon/extcon-usbc-virtual-pd.yaml
|
||||
new file mode 100644
|
||||
index 000000000000..8110fbe2ddc2
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/extcon/extcon-usbc-virtual-pd.yaml
|
||||
@@ -0,0 +1,66 @@
|
||||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
+%YAML 1.2
|
||||
+---
|
||||
+$id: http://devicetree.org/schemas/extcon/extcon-usbc-virtual-pd.yaml#
|
||||
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
+
|
||||
+title: Type-C Virtual PD extcon
|
||||
+
|
||||
+maintainers:
|
||||
+ - Jagan Teki <jagan@amarulasolutions.com>
|
||||
+
|
||||
+description: |
|
||||
+ USB Type-C protocol supports various modes of operations includes PD,
|
||||
+ USB3, and Altmode. If the platform design supports a Type-C connector
|
||||
+ then configuring these modes can be done via enumeration.
|
||||
+
|
||||
+ However, there are some platforms that design these modes as separate
|
||||
+ protocol connectors like design Display Port from on-chip USB3 controller.
|
||||
+ So we can access Type-C Altmode Display Port via onboard Display Port
|
||||
+ connector instead of a Type-C connector. These kinds of platforms require
|
||||
+ an explicit extcon driver in order to handle Power Delivery and
|
||||
+ Port Detection.
|
||||
+
|
||||
+properties:
|
||||
+ compatible:
|
||||
+ const: linux,extcon-usbc-virtual-pd
|
||||
+
|
||||
+ det-gpios:
|
||||
+ description: Detect GPIO pin. Pin can be Display Port Detect or USB ID.
|
||||
+ maxItems: 1
|
||||
+
|
||||
+ vpd-polarity:
|
||||
+ description: USB Type-C Polarity. false for Normal and true for Flip.
|
||||
+ type: boolean
|
||||
+
|
||||
+ vpd-super-speed:
|
||||
+ description: USB Super Speed. false for USB2 and true for USB3.
|
||||
+ type: boolean
|
||||
+
|
||||
+ vpd-data-role:
|
||||
+ description: USB Data roles for Virtual Type-C.
|
||||
+ $ref: /schemas/types.yaml#definitions/string
|
||||
+
|
||||
+ enum:
|
||||
+ - host
|
||||
+ - device
|
||||
+ - display-port
|
||||
+
|
||||
+required:
|
||||
+ - compatible
|
||||
+ - det-gpios
|
||||
+ - vpd-data-role
|
||||
+
|
||||
+additionalProperties: false
|
||||
+
|
||||
+examples:
|
||||
+ - |
|
||||
+ #include <dt-bindings/gpio/gpio.h>
|
||||
+ #include <dt-bindings/pinctrl/rockchip.h>
|
||||
+
|
||||
+ virtual_pd: virtual-pd {
|
||||
+ compatible = "linux,extcon-usbc-virtual-pd";
|
||||
+ det-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_LOW>;
|
||||
+ vpd-data-role = "display-port";
|
||||
+ vpd-super-speed;
|
||||
+ };
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,382 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Tony <tonymckahan@gmail.com>
|
||||
Date: Wed, 3 Mar 2021 07:59:25 +0100
|
||||
Subject: [ARCHEOLOGY] RK3399 Typec DP (#2676)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * RK3399 NanoPC-T4 Add Type-C alt mode DP
|
||||
> X-Git-Archeology: > recovered message: > * rk3399 rockpi 4C add mini-DP (WIP)
|
||||
> X-Git-Archeology: > recovered message: > * [ rockchip64 ] revert rockPi 4C DP patch
|
||||
> X-Git-Archeology: > recovered message: > Add an extension to disable it, but leave for future work.
|
||||
> X-Git-Archeology: - Revision 4971535c774a1f49a811baebc083ea028ced0300: https://github.com/armbian/build/commit/4971535c774a1f49a811baebc083ea028ced0300
|
||||
> X-Git-Archeology: Date: Wed, 03 Mar 2021 07:59:25 +0100
|
||||
> X-Git-Archeology: From: Tony <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: RK3399 Typec DP (#2676)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
drivers/extcon/Kconfig | 10 +
|
||||
drivers/extcon/Makefile | 1 +
|
||||
drivers/extcon/extcon-usbc-virtual-pd.c | 285 ++++++++++
|
||||
3 files changed, 296 insertions(+)
|
||||
|
||||
diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig
|
||||
index 290186e44e6b..ac0b6164d88e 100644
|
||||
--- a/drivers/extcon/Kconfig
|
||||
+++ b/drivers/extcon/Kconfig
|
||||
@@ -189,4 +189,14 @@ config EXTCON_USBC_TUSB320
|
||||
Say Y here to enable support for USB Type C cable detection extcon
|
||||
support using a TUSB320.
|
||||
|
||||
+config EXTCON_USBC_VIRTUAL_PD
|
||||
+ tristate "Virtual Type-C PD EXTCON support"
|
||||
+ depends on GPIOLIB || COMPILE_TEST
|
||||
+ help
|
||||
+ Say Y here to enable Virtual Type-C PD extcon driver support, if
|
||||
+ hardware platform designed Type-C modes separately.
|
||||
+
|
||||
+ Example, of designing Display Port separately from Type-C Altmode
|
||||
+ instead of accessing Altmode Display Port in Type-C connector.
|
||||
+
|
||||
endif
|
||||
diff --git a/drivers/extcon/Makefile b/drivers/extcon/Makefile
|
||||
index 1b390d934ca9..57c1e65bfcfd 100644
|
||||
--- a/drivers/extcon/Makefile
|
||||
+++ b/drivers/extcon/Makefile
|
||||
@@ -25,3 +25,4 @@ obj-$(CONFIG_EXTCON_SM5502) += extcon-sm5502.o
|
||||
obj-$(CONFIG_EXTCON_USB_GPIO) += extcon-usb-gpio.o
|
||||
obj-$(CONFIG_EXTCON_USBC_CROS_EC) += extcon-usbc-cros-ec.o
|
||||
obj-$(CONFIG_EXTCON_USBC_TUSB320) += extcon-usbc-tusb320.o
|
||||
+obj-$(CONFIG_EXTCON_USBC_VIRTUAL_PD) += extcon-usbc-virtual-pd.o
|
||||
diff --git a/drivers/extcon/extcon-usbc-virtual-pd.c b/drivers/extcon/extcon-usbc-virtual-pd.c
|
||||
new file mode 100644
|
||||
index 000000000000..e0713670e33d
|
||||
--- /dev/null
|
||||
+++ b/drivers/extcon/extcon-usbc-virtual-pd.c
|
||||
@@ -0,0 +1,285 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-only
|
||||
+/*
|
||||
+ * Type-C Virtual PD Extcon driver
|
||||
+ *
|
||||
+ * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
|
||||
+ * Copyright (c) 2019 Radxa Limited
|
||||
+ * Copyright (c) 2019 Amarula Solutions(India)
|
||||
+ */
|
||||
+
|
||||
+#include <linux/extcon-provider.h>
|
||||
+#include <linux/gpio.h>
|
||||
+#include <linux/interrupt.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/irq.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/of_gpio.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/slab.h>
|
||||
+
|
||||
+static const unsigned int vpd_cable[] = {
|
||||
+ EXTCON_USB,
|
||||
+ EXTCON_USB_HOST,
|
||||
+ EXTCON_DISP_DP,
|
||||
+ EXTCON_NONE,
|
||||
+};
|
||||
+
|
||||
+enum vpd_data_role {
|
||||
+ DR_NONE,
|
||||
+ DR_HOST,
|
||||
+ DR_DEVICE,
|
||||
+ DR_DISPLAY_PORT,
|
||||
+};
|
||||
+
|
||||
+enum vpd_polarity {
|
||||
+ POLARITY_NORMAL,
|
||||
+ POLARITY_FLIP,
|
||||
+};
|
||||
+
|
||||
+enum vpd_usb_ss {
|
||||
+ USB_SS_USB2,
|
||||
+ USB_SS_USB3,
|
||||
+};
|
||||
+
|
||||
+struct vpd_extcon {
|
||||
+ struct device *dev;
|
||||
+ struct extcon_dev *extcon;
|
||||
+ struct gpio_desc *det_gpio;
|
||||
+
|
||||
+ u8 polarity;
|
||||
+ u8 usb_ss;
|
||||
+ enum vpd_data_role data_role;
|
||||
+
|
||||
+ int irq;
|
||||
+ bool enable_irq;
|
||||
+ struct work_struct work;
|
||||
+ struct delayed_work irq_work;
|
||||
+};
|
||||
+
|
||||
+static void vpd_extcon_irq_work(struct work_struct *work)
|
||||
+{
|
||||
+ struct vpd_extcon *vpd = container_of(work, struct vpd_extcon, irq_work.work);
|
||||
+ bool host_connected = false, device_connected = false, dp_connected = false;
|
||||
+ union extcon_property_value property;
|
||||
+ int det;
|
||||
+
|
||||
+ det = vpd->det_gpio ? gpiod_get_raw_value(vpd->det_gpio) : 0;
|
||||
+ if (det) {
|
||||
+ device_connected = (vpd->data_role == DR_DEVICE) ? true : false;
|
||||
+ host_connected = (vpd->data_role == DR_HOST) ? true : false;
|
||||
+ dp_connected = (vpd->data_role == DR_DISPLAY_PORT) ? true : false;
|
||||
+ }
|
||||
+
|
||||
+ extcon_set_state(vpd->extcon, EXTCON_USB, host_connected);
|
||||
+ extcon_set_state(vpd->extcon, EXTCON_USB_HOST, device_connected);
|
||||
+ extcon_set_state(vpd->extcon, EXTCON_DISP_DP, dp_connected);
|
||||
+
|
||||
+ property.intval = vpd->polarity;
|
||||
+ extcon_set_property(vpd->extcon, EXTCON_USB,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY, property);
|
||||
+ extcon_set_property(vpd->extcon, EXTCON_USB_HOST,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY, property);
|
||||
+ extcon_set_property(vpd->extcon, EXTCON_DISP_DP,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY, property);
|
||||
+
|
||||
+ property.intval = vpd->usb_ss;
|
||||
+ extcon_set_property(vpd->extcon, EXTCON_USB,
|
||||
+ EXTCON_PROP_USB_SS, property);
|
||||
+ extcon_set_property(vpd->extcon, EXTCON_USB_HOST,
|
||||
+ EXTCON_PROP_USB_SS, property);
|
||||
+ extcon_set_property(vpd->extcon, EXTCON_DISP_DP,
|
||||
+ EXTCON_PROP_USB_SS, property);
|
||||
+
|
||||
+ extcon_sync(vpd->extcon, EXTCON_USB);
|
||||
+ extcon_sync(vpd->extcon, EXTCON_USB_HOST);
|
||||
+ extcon_sync(vpd->extcon, EXTCON_DISP_DP);
|
||||
+}
|
||||
+
|
||||
+static irqreturn_t vpd_extcon_irq_handler(int irq, void *dev_id)
|
||||
+{
|
||||
+ struct vpd_extcon *vpd = dev_id;
|
||||
+
|
||||
+ schedule_delayed_work(&vpd->irq_work, msecs_to_jiffies(10));
|
||||
+
|
||||
+ return IRQ_HANDLED;
|
||||
+}
|
||||
+
|
||||
+static enum vpd_data_role vpd_extcon_data_role(struct vpd_extcon *vpd)
|
||||
+{
|
||||
+ const char *const data_roles[] = {
|
||||
+ [DR_NONE] = "NONE",
|
||||
+ [DR_HOST] = "host",
|
||||
+ [DR_DEVICE] = "device",
|
||||
+ [DR_DISPLAY_PORT] = "display-port",
|
||||
+ };
|
||||
+ struct device *dev = vpd->dev;
|
||||
+ int ret;
|
||||
+ const char *dr;
|
||||
+
|
||||
+ ret = device_property_read_string(dev, "vpd-data-role", &dr);
|
||||
+ if (ret < 0)
|
||||
+ return DR_NONE;
|
||||
+
|
||||
+ ret = match_string(data_roles, ARRAY_SIZE(data_roles), dr);
|
||||
+
|
||||
+ return (ret < 0) ? DR_NONE : ret;
|
||||
+}
|
||||
+
|
||||
+static int vpd_extcon_parse_dts(struct vpd_extcon *vpd)
|
||||
+{
|
||||
+ struct device *dev = vpd->dev;
|
||||
+ bool val = false;
|
||||
+ int ret;
|
||||
+
|
||||
+ val = device_property_read_bool(dev, "vpd-polarity");
|
||||
+ if (val)
|
||||
+ vpd->polarity = POLARITY_FLIP;
|
||||
+ else
|
||||
+ vpd->polarity = POLARITY_NORMAL;
|
||||
+
|
||||
+ val = device_property_read_bool(dev, "vpd-super-speed");
|
||||
+ if (val)
|
||||
+ vpd->usb_ss = USB_SS_USB3;
|
||||
+ else
|
||||
+ vpd->usb_ss = USB_SS_USB2;
|
||||
+
|
||||
+ vpd->data_role = vpd_extcon_data_role(vpd);
|
||||
+
|
||||
+ vpd->det_gpio = devm_gpiod_get_optional(dev, "det", GPIOD_OUT_LOW);
|
||||
+ if (IS_ERR(vpd->det_gpio)) {
|
||||
+ ret = PTR_ERR(vpd->det_gpio);
|
||||
+ dev_warn(dev, "failed to get det gpio: %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ vpd->irq = gpiod_to_irq(vpd->det_gpio);
|
||||
+ if (vpd->irq < 0) {
|
||||
+ dev_err(dev, "failed to get irq for gpio: %d\n", vpd->irq);
|
||||
+ return vpd->irq;
|
||||
+ }
|
||||
+
|
||||
+ ret = devm_request_threaded_irq(dev, vpd->irq, NULL,
|
||||
+ vpd_extcon_irq_handler,
|
||||
+ IRQF_TRIGGER_FALLING |
|
||||
+ IRQF_TRIGGER_RISING | IRQF_ONESHOT,
|
||||
+ NULL, vpd);
|
||||
+ if (ret)
|
||||
+ dev_err(dev, "failed to request gpio irq\n");
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int vpd_extcon_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct vpd_extcon *vpd;
|
||||
+ struct device *dev = &pdev->dev;
|
||||
+ int ret;
|
||||
+
|
||||
+ vpd = devm_kzalloc(dev, sizeof(*vpd), GFP_KERNEL);
|
||||
+ if (!vpd)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ vpd->dev = dev;
|
||||
+ ret = vpd_extcon_parse_dts(vpd);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ INIT_DELAYED_WORK(&vpd->irq_work, vpd_extcon_irq_work);
|
||||
+
|
||||
+ vpd->extcon = devm_extcon_dev_allocate(dev, vpd_cable);
|
||||
+ if (IS_ERR(vpd->extcon)) {
|
||||
+ dev_err(dev, "allocat extcon failed\n");
|
||||
+ return PTR_ERR(vpd->extcon);
|
||||
+ }
|
||||
+
|
||||
+ ret = devm_extcon_dev_register(dev, vpd->extcon);
|
||||
+ if (ret) {
|
||||
+ dev_err(dev, "register extcon failed: %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ extcon_set_property_capability(vpd->extcon, EXTCON_USB,
|
||||
+ EXTCON_PROP_USB_VBUS);
|
||||
+ extcon_set_property_capability(vpd->extcon, EXTCON_USB_HOST,
|
||||
+ EXTCON_PROP_USB_VBUS);
|
||||
+
|
||||
+ extcon_set_property_capability(vpd->extcon, EXTCON_USB,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY);
|
||||
+ extcon_set_property_capability(vpd->extcon, EXTCON_USB_HOST,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY);
|
||||
+ extcon_set_property_capability(vpd->extcon, EXTCON_USB,
|
||||
+ EXTCON_PROP_USB_SS);
|
||||
+ extcon_set_property_capability(vpd->extcon, EXTCON_USB_HOST,
|
||||
+ EXTCON_PROP_USB_SS);
|
||||
+
|
||||
+ extcon_set_property_capability(vpd->extcon, EXTCON_DISP_DP,
|
||||
+ EXTCON_PROP_USB_SS);
|
||||
+ extcon_set_property_capability(vpd->extcon, EXTCON_DISP_DP,
|
||||
+ EXTCON_PROP_USB_TYPEC_POLARITY);
|
||||
+
|
||||
+ platform_set_drvdata(pdev, vpd);
|
||||
+
|
||||
+ vpd_extcon_irq_work(&vpd->irq_work.work);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int vpd_extcon_remove(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct vpd_extcon *vpd = platform_get_drvdata(pdev);
|
||||
+
|
||||
+ cancel_delayed_work_sync(&vpd->irq_work);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#ifdef CONFIG_PM_SLEEP
|
||||
+static int vpd_extcon_suspend(struct device *dev)
|
||||
+{
|
||||
+ struct vpd_extcon *vpd = dev_get_drvdata(dev);
|
||||
+
|
||||
+ if (!vpd->enable_irq) {
|
||||
+ disable_irq_nosync(vpd->irq);
|
||||
+ vpd->enable_irq = true;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int vpd_extcon_resume(struct device *dev)
|
||||
+{
|
||||
+ struct vpd_extcon *vpd = dev_get_drvdata(dev);
|
||||
+
|
||||
+ if (vpd->enable_irq) {
|
||||
+ enable_irq(vpd->irq);
|
||||
+ vpd->enable_irq = false;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static SIMPLE_DEV_PM_OPS(vpd_extcon_pm_ops,
|
||||
+ vpd_extcon_suspend, vpd_extcon_resume);
|
||||
+
|
||||
+static const struct of_device_id vpd_extcon_dt_match[] = {
|
||||
+ { .compatible = "linux,extcon-usbc-virtual-pd", },
|
||||
+ { /* sentinel */ }
|
||||
+};
|
||||
+
|
||||
+static struct platform_driver vpd_extcon_driver = {
|
||||
+ .probe = vpd_extcon_probe,
|
||||
+ .remove = vpd_extcon_remove,
|
||||
+ .driver = {
|
||||
+ .name = "extcon-usbc-virtual-pd",
|
||||
+ .pm = &vpd_extcon_pm_ops,
|
||||
+ .of_match_table = vpd_extcon_dt_match,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+module_platform_driver(vpd_extcon_driver);
|
||||
+
|
||||
+MODULE_AUTHOR("Jagan Teki <jagan@amarulasolutions.com>");
|
||||
+MODULE_DESCRIPTION("Type-C Virtual PD extcon driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,413 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
||||
Date: Sat, 11 Feb 2017 20:32:53 +0300
|
||||
Subject: [ARCHEOLOGY] Rename, split and improve H3 DT overlays
|
||||
|
||||
> X-Git-Archeology: > recovered message: > Fix OPi Zero DT
|
||||
> X-Git-Archeology: > recovered message: > Improve DT loading reliability
|
||||
> X-Git-Archeology: - Revision bacf56710491e3307e0fb2bc1c828dad828c9f23: https://github.com/armbian/build/commit/bacf56710491e3307e0fb2bc1c828dad828c9f23
|
||||
> X-Git-Archeology: Date: Sat, 11 Feb 2017 20:32:53 +0300
|
||||
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Rename, split and improve H3 DT overlays
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision c7bbc3257e8dcbf75398301602150fe9f1666c86: https://github.com/armbian/build/commit/c7bbc3257e8dcbf75398301602150fe9f1666c86
|
||||
> X-Git-Archeology: Date: Sun, 26 Feb 2017 19:46:15 +0300
|
||||
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Initial A20 overlays support for sunxi-next kernel
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision caf4b1b037e7510cae7edd1b5f75482eed41b547: https://github.com/armbian/build/commit/caf4b1b037e7510cae7edd1b5f75482eed41b547
|
||||
> X-Git-Archeology: Date: Mon, 13 Mar 2017 20:32:37 +0300
|
||||
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Add new A20 overlays
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision b30fcea3f95804175199bc1865a7e39cdf07cf73: https://github.com/armbian/build/commit/b30fcea3f95804175199bc1865a7e39cdf07cf73
|
||||
> X-Git-Archeology: Date: Sun, 14 May 2017 17:59:35 +0300
|
||||
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Update sunxi-next branch to 4.11
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 20240e9669055030076e69452cf6a1ccb368cc2e: https://github.com/armbian/build/commit/20240e9669055030076e69452cf6a1ccb368cc2e
|
||||
> X-Git-Archeology: Date: Tue, 30 May 2017 21:30:38 -0400
|
||||
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
> X-Git-Archeology: Subject: add overlays to sunxi-dev
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision b0fcb64aaca589359338a500e7bc07eb7ca1cb71: https://github.com/armbian/build/commit/b0fcb64aaca589359338a500e7bc07eb7ca1cb71
|
||||
> X-Git-Archeology: Date: Thu, 07 Dec 2017 07:09:10 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Temporally disabling broken patches on sunxi DEV branch
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2123e539ed288e3355ef3d3adc79788a187f62df: https://github.com/armbian/build/commit/2123e539ed288e3355ef3d3adc79788a187f62df
|
||||
> X-Git-Archeology: Date: Thu, 15 Feb 2018 11:21:51 +0200
|
||||
> X-Git-Archeology: From: Stefan Mavrodiev <stefan@olimex.com>
|
||||
> X-Git-Archeology: Subject: Add overlays support for upstream kernel
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2c08ec8f5a210de35f9482f482ac01ea15381792: https://github.com/armbian/build/commit/2c08ec8f5a210de35f9482f482ac01ea15381792
|
||||
> X-Git-Archeology: Date: Thu, 24 May 2018 13:32:29 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Merge sunxi family into stable
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 1a12994e79b6ef173dc58efe4df8919cb6cc7781: https://github.com/armbian/build/commit/1a12994e79b6ef173dc58efe4df8919cb6cc7781
|
||||
> X-Git-Archeology: Date: Tue, 17 Jul 2018 15:53:30 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Moving sunxi-next to 4.17.y (#1049)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision a57ce78b37f8dd2eb94a3836f4a7f6969f2ffd72: https://github.com/armbian/build/commit/a57ce78b37f8dd2eb94a3836f4a7f6969f2ffd72
|
||||
> X-Git-Archeology: Date: Tue, 21 Aug 2018 10:41:10 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Reverting sunxi/sunxi64 NEXT to 4.14. (#1087)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 871bed1a24e21952f7aeb1981c26ad5fc573be9d: https://github.com/armbian/build/commit/871bed1a24e21952f7aeb1981c26ad5fc573be9d
|
||||
> X-Git-Archeology: Date: Tue, 04 Dec 2018 16:25:53 -0500
|
||||
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
> X-Git-Archeology: Subject: add overlay-compilation-support to meson64-dev
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 7c5fb27d79d1c737fc2ca92a1069226e9aae2154: https://github.com/armbian/build/commit/7c5fb27d79d1c737fc2ca92a1069226e9aae2154
|
||||
> X-Git-Archeology: Date: Wed, 09 Jan 2019 23:33:47 -0500
|
||||
> X-Git-Archeology: From: Thomas McKahan <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ meson64-next ] Shift Next to 4.19
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2fa7c680c29a144214706dda35c2a6afdd708858: https://github.com/armbian/build/commit/2fa7c680c29a144214706dda35c2a6afdd708858
|
||||
> X-Git-Archeology: Date: Thu, 21 Mar 2019 14:57:07 -0400
|
||||
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
> X-Git-Archeology: Subject: fix overlay patch
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision a040785d4299e10255d87fdfcfa70b56e0b6779f: https://github.com/armbian/build/commit/a040785d4299e10255d87fdfcfa70b56e0b6779f
|
||||
> X-Git-Archeology: Date: Sun, 04 Aug 2019 18:05:50 -0400
|
||||
> X-Git-Archeology: From: chwe17 <weberc18@gmail.com>
|
||||
> X-Git-Archeology: Subject: Tinkerboard camera support (#1482)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
|
||||
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 23604e8a0dcdf81ec6c28ccd4b2a64b90816d8e7: https://github.com/armbian/build/commit/23604e8a0dcdf81ec6c28ccd4b2a64b90816d8e7
|
||||
> X-Git-Archeology: Date: Fri, 19 Jun 2020 17:27:27 +0200
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: Introducing Rockchip RK322X SoC support (#2032)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 99afbdfe7e08334bb5dde05c4f3dab536e87224e: https://github.com/armbian/build/commit/99afbdfe7e08334bb5dde05c4f3dab536e87224e
|
||||
> X-Git-Archeology: Date: Fri, 26 Jun 2020 15:53:20 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump meson64 current to 5.7.y (#2069)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 812245def37a695bce9e7ece148b2920d82c8b37: https://github.com/armbian/build/commit/812245def37a695bce9e7ece148b2920d82c8b37
|
||||
> X-Git-Archeology: Date: Sat, 18 Jul 2020 23:07:01 +0200
|
||||
> X-Git-Archeology: From: Werner <EvilOlaf@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Move rockchip/64 current to 5.7.y (#2099)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision caa47bad650f82cb8045d19c384595b1760bd9e1: https://github.com/armbian/build/commit/caa47bad650f82cb8045d19c384595b1760bd9e1
|
||||
> X-Git-Archeology: Date: Sat, 18 Jul 2020 23:08:52 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Move sunxi/64 current to 5.7, legacy to 5.4 (#2098)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 804a6b60d4c2724ada9eb975e3caf2d9753beba9: https://github.com/armbian/build/commit/804a6b60d4c2724ada9eb975e3caf2d9753beba9
|
||||
> X-Git-Archeology: Date: Fri, 28 Aug 2020 18:48:55 +0200
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: Moved rk322x-dev to rk322x-current (current now is 5.7.y) (#2153)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 661371868def63655e46e8c513d8ba0f42cf4066: https://github.com/armbian/build/commit/661371868def63655e46e8c513d8ba0f42cf4066
|
||||
> X-Git-Archeology: Date: Fri, 28 Aug 2020 19:26:08 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Enable overlays for rk3399-legacy (#2144)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 4cdf3c3d0e31fb9fa05d9b818915d54c465dffa0: https://github.com/armbian/build/commit/4cdf3c3d0e31fb9fa05d9b818915d54c465dffa0
|
||||
> X-Git-Archeology: Date: Sun, 18 Oct 2020 14:43:30 -0400
|
||||
> X-Git-Archeology: From: tonymac32 <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ rockchip ] add overlay compilation support
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 3b3d85e25c2ecde30df7b5274fc6f1b9c0299ea2: https://github.com/armbian/build/commit/3b3d85e25c2ecde30df7b5274fc6f1b9c0299ea2
|
||||
> X-Git-Archeology: Date: Sat, 22 May 2021 17:08:44 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Upgrade EDGE to 5.12.y (#2825)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e21e82b546d3817e69ec062bb1e56c63c33e9c21: https://github.com/armbian/build/commit/e21e82b546d3817e69ec062bb1e56c63c33e9c21
|
||||
> X-Git-Archeology: Date: Wed, 21 Jul 2021 00:46:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Upgrading sunxi, sunxi64, imx6, jetson-nano, mvebu and mvebu64 EDGE to 5.13 (#3042)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision f15bc37276f8a06c024628b41905a7255934e93b: https://github.com/armbian/build/commit/f15bc37276f8a06c024628b41905a7255934e93b
|
||||
> X-Git-Archeology: Date: Sat, 11 Sep 2021 12:51:28 +0000
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rk322x: add back edge kernel patches lost in the process, hardware cursor dedicated plane
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 4c3dcbf4fcd3616999cb91a1dddfa74668eb6de9: https://github.com/armbian/build/commit/4c3dcbf4fcd3616999cb91a1dddfa74668eb6de9
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 21:58:35 +0100
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: Rockchip 5.15 (#3242)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6b490e16944b30ff69bf9c13678905187df0d9d4: https://github.com/armbian/build/commit/6b490e16944b30ff69bf9c13678905187df0d9d4
|
||||
> X-Git-Archeology: Date: Tue, 11 Jan 2022 15:26:11 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel edge to 5.16 (#3387)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 1e37959e5381a0a1d1eaf0629cdc19658f30df9a: https://github.com/armbian/build/commit/1e37959e5381a0a1d1eaf0629cdc19658f30df9a
|
||||
> X-Git-Archeology: Date: Thu, 10 Feb 2022 20:32:58 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision f52a4193d02ef88333ba117c68d49486dfd7ff41: https://github.com/armbian/build/commit/f52a4193d02ef88333ba117c68d49486dfd7ff41
|
||||
> X-Git-Archeology: Date: Sun, 20 Mar 2022 22:58:21 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: Adding Pine64 Quartz64a as WIP target (#3539)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2fe1ddfe451d3a3dba01e4ba1204d2b9fe7eb44e: https://github.com/armbian/build/commit/2fe1ddfe451d3a3dba01e4ba1204d2b9fe7eb44e
|
||||
> X-Git-Archeology: Date: Sat, 26 Mar 2022 17:59:23 +0000
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip: add tinkerboard overlays for current 5.15 kernel
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0777be9e754c8bd24cff0297226b5158564bbc96: https://github.com/armbian/build/commit/0777be9e754c8bd24cff0297226b5158564bbc96
|
||||
> X-Git-Archeology: Date: Sun, 10 Apr 2022 16:45:06 +0200
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rk322x: move edge flavour to kernel 5.17, adapt patches were necessary
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 49b2aba89124b15a0f6b81ccf44b3792b6b35497: https://github.com/armbian/build/commit/49b2aba89124b15a0f6b81ccf44b3792b6b35497
|
||||
> X-Git-Archeology: Date: Mon, 11 Apr 2022 22:05:28 +0200
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip: copy patch archive from 5.16 to 5.17
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0afe24c95729044910e0b3f84dc5500bcdc6524c: https://github.com/armbian/build/commit/0afe24c95729044910e0b3f84dc5500bcdc6524c
|
||||
> X-Git-Archeology: Date: Sun, 24 Apr 2022 22:33:47 +0200
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel media edge to 5.17 (#3704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 3c4189e311ca60427d47dae796620a9fc98dc1f3: https://github.com/armbian/build/commit/3c4189e311ca60427d47dae796620a9fc98dc1f3
|
||||
> X-Git-Archeology: Date: Sun, 29 May 2022 17:15:36 +0200
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip: upgrade edge kernel to v5.18 (#3842)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 809ce98a75163e3d37cffae811e1d19fd0758ef4: https://github.com/armbian/build/commit/809ce98a75163e3d37cffae811e1d19fd0758ef4
|
||||
> X-Git-Archeology: Date: Sun, 29 May 2022 17:26:16 +0200
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rk322x: move edge kernel to v5.18 (#3844)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision d064b2dce2a58299bff98e8ccb275fec861777e9: https://github.com/armbian/build/commit/d064b2dce2a58299bff98e8ccb275fec861777e9
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 19:10:25 +0200
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rk322x: advance edge kernel to 5.19
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision c87542aba26b01703746d3db94ac0820575b23b2: https://github.com/armbian/build/commit/c87542aba26b01703746d3db94ac0820575b23b2
|
||||
> X-Git-Archeology: Date: Thu, 04 Aug 2022 11:20:06 +0200
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip: switch edge kernel to v5.19 (#4045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 73691a9e24440e0a8104b2c25d168ba8947a10ad: https://github.com/armbian/build/commit/73691a9e24440e0a8104b2c25d168ba8947a10ad
|
||||
> X-Git-Archeology: Date: Thu, 04 Aug 2022 21:50:40 +0200
|
||||
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
|
||||
> X-Git-Archeology: Subject: meson64: edge: rework to kernel 5.19 (#3941)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 1b12209ded2c356df514e3dd99bd945c0afd7a32: https://github.com/armbian/build/commit/1b12209ded2c356df514e3dd99bd945c0afd7a32
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 20:38:31 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump meson64 edge to 6.0.y (#4341)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 35db7a3995d0d6e92638a0ed173e7252a927e339: https://github.com/armbian/build/commit/35db7a3995d0d6e92638a0ed173e7252a927e339
|
||||
> X-Git-Archeology: Date: Tue, 15 Nov 2022 20:19:17 +0100
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rk322x: bump kernel to 6.0 (#4443)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ed2c6d3c6764e9da4f54cb3b210e5106864dfa0f: https://github.com/armbian/build/commit/ed2c6d3c6764e9da4f54cb3b210e5106864dfa0f
|
||||
> X-Git-Archeology: Date: Tue, 15 Nov 2022 20:22:47 +0100
|
||||
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip: advance edge kernel to v6.0 (#4445)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 5b46bd7273909a2a9688efe85c4d45d00d407865: https://github.com/armbian/build/commit/5b46bd7273909a2a9688efe85c4d45d00d407865
|
||||
> X-Git-Archeology: Date: Mon, 12 Dec 2022 08:02:25 +0100
|
||||
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
|
||||
> X-Git-Archeology: Subject: `meson64-6.0` kernel patches: mbox formatting, archeology to find lost authors/descriptions; rebase against 6.0.12; no actual changes (#4546)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision eb7d4a0bd20e56118f9c8c9089c063154c58a239: https://github.com/armbian/build/commit/eb7d4a0bd20e56118f9c8c9089c063154c58a239
|
||||
> X-Git-Archeology: Date: Mon, 12 Dec 2022 08:02:49 +0100
|
||||
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
|
||||
> X-Git-Archeology: Subject: `meson64`: bump `edge` to `6.1-rc8` (#4554)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision c0001d566b3770dae722c47180dcb942bed7006a: https://github.com/armbian/build/commit/c0001d566b3770dae722c47180dcb942bed7006a
|
||||
> X-Git-Archeology: Date: Wed, 14 Dec 2022 01:43:31 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump bcm, imx, mvebu64 and xu4 EDGE to 6.1.y (#4560)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 80dffbc7611bd76d675fcf74d352e1c55ce51f29: https://github.com/armbian/build/commit/80dffbc7611bd76d675fcf74d352e1c55ce51f29
|
||||
> X-Git-Archeology: Date: Tue, 10 Jan 2023 00:31:35 +0100
|
||||
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
|
||||
> X-Git-Archeology: Subject: `meson64`: `edge`: bump to `6.2` - copy patches as-is from 6.1
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0ea5a3547b393059da92da9925a76bccef93631a: https://github.com/armbian/build/commit/0ea5a3547b393059da92da9925a76bccef93631a
|
||||
> X-Git-Archeology: Date: Tue, 10 Jan 2023 00:31:41 +0100
|
||||
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
|
||||
> X-Git-Archeology: Subject: `meson64`: `edge`: bump to `6.2` - rebased patches against tag `v6.2-rc3`
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8652bf3d37c9d9f7d87588dc1f97e82626dac489: https://github.com/armbian/build/commit/8652bf3d37c9d9f7d87588dc1f97e82626dac489
|
||||
> X-Git-Archeology: Date: Sun, 12 Feb 2023 21:20:35 +0100
|
||||
> X-Git-Archeology: From: Joao Assuncao <joao@joaoassuncao.com>
|
||||
> X-Git-Archeology: Subject: Adds SPI, I2C, and PWM DTS overlays for odroid-m1 (#4825)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 3f704692a7933a67b5e8cc6ff690d92ef3a5e735: https://github.com/armbian/build/commit/3f704692a7933a67b5e8cc6ff690d92ef3a5e735
|
||||
> X-Git-Archeology: Date: Fri, 24 Mar 2023 23:12:56 +0100
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip: bump edge kernel to 6.2
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 5930e5e536d6b2f1a1446b8910648d7b0183919e: https://github.com/armbian/build/commit/5930e5e536d6b2f1a1446b8910648d7b0183919e
|
||||
> X-Git-Archeology: Date: Fri, 24 Mar 2023 23:14:09 +0100
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rk322x: move edge kernel to 6.2
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 98b6aec55439c5aa8cee13898451e0969f7df9ce: https://github.com/armbian/build/commit/98b6aec55439c5aa8cee13898451e0969f7df9ce
|
||||
> X-Git-Archeology: Date: Thu, 27 Apr 2023 21:30:02 +0200
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rk322x: bump edge kernel to 6.3
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision da0ab48b7939235608c8fc042c61ae997681e865: https://github.com/armbian/build/commit/da0ab48b7939235608c8fc042c61ae997681e865
|
||||
> X-Git-Archeology: Date: Thu, 27 Apr 2023 21:31:27 +0200
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip: bump edge kernel to 6.3
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 7a5cd0b246d3f0ae5949b6afa5a59081bd2376e9: https://github.com/armbian/build/commit/7a5cd0b246d3f0ae5949b6afa5a59081bd2376e9
|
||||
> X-Git-Archeology: Date: Sat, 29 Apr 2023 07:46:18 +0200
|
||||
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: rockchip: fix dtbs_install step for overlays
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm/boot/.gitignore | 2 +
|
||||
scripts/Makefile.dtbinst | 14 ++++++-
|
||||
scripts/Makefile.lib | 20 ++++++++++
|
||||
3 files changed, 35 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore
|
||||
index 8c759326baf4..e6ce8f6ad4b1 100644
|
||||
--- a/arch/arm/boot/.gitignore
|
||||
+++ b/arch/arm/boot/.gitignore
|
||||
@@ -4,3 +4,5 @@ zImage
|
||||
xipImage
|
||||
bootpImage
|
||||
uImage
|
||||
+*.dtb*
|
||||
+*.scr
|
||||
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
|
||||
index 2ab936e4179d..39a199e5e9b4 100644
|
||||
--- a/scripts/Makefile.dtbinst
|
||||
+++ b/scripts/Makefile.dtbinst
|
||||
@@ -18,9 +18,12 @@ include $(srctree)/scripts/Kbuild.include
|
||||
include $(kbuild-file)
|
||||
|
||||
dtbs := $(addprefix $(dst)/, $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-)))
|
||||
+dtbos := $(addprefix $(dst)/, $(dtbo-y))
|
||||
+scrs := $(addprefix $(dst)/, $(scr-y))
|
||||
+readmes := $(addprefix $(dst)/, $(dtbotxt-y))
|
||||
subdirs := $(addprefix $(obj)/, $(subdir-y) $(subdir-m))
|
||||
|
||||
-__dtbs_install: $(dtbs) $(subdirs)
|
||||
+__dtbs_install: $(dtbs) $(dtbos) $(scrs) $(readmes) $(subdirs)
|
||||
@:
|
||||
|
||||
quiet_cmd_dtb_install = INSTALL $@
|
||||
@@ -32,6 +35,15 @@ $(dst)/%.dtb: $(obj)/%.dtb
|
||||
$(dst)/%.dtbo: $(obj)/%.dtbo
|
||||
$(call cmd,dtb_install)
|
||||
|
||||
+$(dst)/%.dtbo: $(obj)/%.dtbo
|
||||
+ $(call cmd,dtb_install)
|
||||
+
|
||||
+$(dst)/%.scr: $(obj)/%.scr
|
||||
+ $(call cmd,dtb_install)
|
||||
+
|
||||
+$(dst)/README.rockchip-overlays: $(src)/README.rockchip-overlays
|
||||
+ $(call cmd,dtb_install)
|
||||
+
|
||||
PHONY += $(subdirs)
|
||||
$(subdirs):
|
||||
$(Q)$(MAKE) $(dtbinst)=$@ dst=$(patsubst $(obj)/%,$(dst)/%,$@)
|
||||
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
|
||||
index 100a386fcd71..1680499136ee 100644
|
||||
--- a/scripts/Makefile.lib
|
||||
+++ b/scripts/Makefile.lib
|
||||
@@ -343,6 +343,9 @@ DTC ?= $(objtree)/scripts/dtc/dtc
|
||||
DTC_FLAGS += -Wno-interrupt_provider \
|
||||
-Wno-unique_unit_address
|
||||
|
||||
+# Overlay support
|
||||
+DTC_FLAGS += -@ -Wno-unit_address_format -Wno-simple_bus_reg
|
||||
+
|
||||
# Disable noisy checks by default
|
||||
ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
|
||||
DTC_FLAGS += -Wno-unit_address_vs_reg \
|
||||
@@ -424,6 +427,23 @@ $(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE
|
||||
$(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE
|
||||
$(call if_changed_dep,dtc)
|
||||
|
||||
+quiet_cmd_dtco = DTCO $@
|
||||
+cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \
|
||||
+ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
||||
+ $(DTC) -O dtb -o $@ -b 0 \
|
||||
+ -i $(dir $<) $(DTC_FLAGS) \
|
||||
+ -d $(depfile).dtc.tmp $(dtc-tmp) ; \
|
||||
+ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
|
||||
+
|
||||
+$(obj)/%.dtbo: $(src)/%.dts FORCE
|
||||
+ $(call if_changed_dep,dtco)
|
||||
+
|
||||
+quiet_cmd_scr = MKIMAGE $@
|
||||
+cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@
|
||||
+
|
||||
+$(obj)/%.scr: $(src)/%.scr-cmd FORCE
|
||||
+ $(call if_changed,scr)
|
||||
+
|
||||
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
|
||||
|
||||
# Bzip2
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,401 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: schwar3kat <61094841+schwar3kat@users.noreply.github.com>
|
||||
Date: Mon, 16 Jan 2023 22:57:26 +1300
|
||||
Subject: OF: DT-Overlay configfs interface
|
||||
|
||||
Commit message: Clean up mbox format in general-add-overlay-configfs.patch. No diff changes.
|
||||
|
||||
Below patch is a squash of 4 commits borrowed from ayufan's
|
||||
https://github.com/ayufan-rock64/linux-mainline-kernel repo:
|
||||
|
||||
This is a port of Pantelis Antoniou's v3 port that makes use of the
|
||||
upstreamed configfs support for binary attributes.
|
||||
|
||||
Original commit message:
|
||||
Add a runtime interface to using configfs for generic device tree overlay
|
||||
usage. With it its possible to use device tree overlays without having
|
||||
to use a per-platform overlay manager.
|
||||
Please see Documentation/devicetree/configfs-overlays.txt for more info.
|
||||
|
||||
Changes since v2:
|
||||
- Removed ifdef CONFIG_OF_OVERLAY (since for now it's required)
|
||||
- Created a documentation entry
|
||||
- Slight rewording in Kconfig
|
||||
- Fix build errors
|
||||
|
||||
Changes since v1:
|
||||
- of_resolve() -> of_resolve_phandles().
|
||||
|
||||
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
|
||||
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
---
|
||||
Documentation/devicetree/configfs-overlays.txt | 31 +
|
||||
drivers/of/Kconfig | 7 +
|
||||
drivers/of/Makefile | 1 +
|
||||
drivers/of/configfs.c | 290 ++++++++++
|
||||
4 files changed, 329 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt
|
||||
new file mode 100644
|
||||
index 000000000000..5fa43e064307
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/configfs-overlays.txt
|
||||
@@ -0,0 +1,31 @@
|
||||
+Howto use the configfs overlay interface.
|
||||
+
|
||||
+A device-tree configfs entry is created in /config/device-tree/overlays
|
||||
+and and it is manipulated using standard file system I/O.
|
||||
+Note that this is a debug level interface, for use by developers and
|
||||
+not necessarily something accessed by normal users due to the
|
||||
+security implications of having direct access to the kernel's device tree.
|
||||
+
|
||||
+* To create an overlay you mkdir the directory:
|
||||
+
|
||||
+ # mkdir /config/device-tree/overlays/foo
|
||||
+
|
||||
+* Either you echo the overlay firmware file to the path property file.
|
||||
+
|
||||
+ # echo foo.dtbo >/config/device-tree/overlays/foo/path
|
||||
+
|
||||
+* Or you cat the contents of the overlay to the dtbo file
|
||||
+
|
||||
+ # cat foo.dtbo >/config/device-tree/overlays/foo/dtbo
|
||||
+
|
||||
+The overlay file will be applied, and devices will be created/destroyed
|
||||
+as required.
|
||||
+
|
||||
+To remove it simply rmdir the directory.
|
||||
+
|
||||
+ # rmdir /config/device-tree/overlays/foo
|
||||
+
|
||||
+The rationalle of the dual interface (firmware & direct copy) is that each is
|
||||
+better suited to different use patterns. The firmware interface is what's
|
||||
+intended to be used by hardware managers in the kernel, while the copy interface
|
||||
+make sense for developers (since it avoids problems with namespaces).
|
||||
diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
|
||||
index 644386833a7b..622237fd6145 100644
|
||||
--- a/drivers/of/Kconfig
|
||||
+++ b/drivers/of/Kconfig
|
||||
@@ -106,4 +106,11 @@ config OF_DMA_DEFAULT_COHERENT
|
||||
# arches should select this if DMA is coherent by default for OF devices
|
||||
bool
|
||||
|
||||
+config OF_CONFIGFS
|
||||
+ bool "Device Tree Overlay ConfigFS interface"
|
||||
+ select CONFIGFS_FS
|
||||
+ select OF_OVERLAY
|
||||
+ help
|
||||
+ Enable a simple user-space driven DT overlay interface.
|
||||
+
|
||||
endif # OF
|
||||
diff --git a/drivers/of/Makefile b/drivers/of/Makefile
|
||||
index e0360a44306e..90c92ced24e6 100644
|
||||
--- a/drivers/of/Makefile
|
||||
+++ b/drivers/of/Makefile
|
||||
@@ -1,6 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
obj-y = base.o device.o platform.o property.o
|
||||
obj-$(CONFIG_OF_KOBJ) += kobj.o
|
||||
+obj-$(CONFIG_OF_CONFIGFS) += configfs.o
|
||||
obj-$(CONFIG_OF_DYNAMIC) += dynamic.o
|
||||
obj-$(CONFIG_OF_FLATTREE) += fdt.o
|
||||
obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o
|
||||
diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c
|
||||
new file mode 100644
|
||||
index 000000000000..5dd509e8fc87
|
||||
--- /dev/null
|
||||
+++ b/drivers/of/configfs.c
|
||||
@@ -0,0 +1,290 @@
|
||||
+/*
|
||||
+ * Configfs entries for device-tree
|
||||
+ *
|
||||
+ * Copyright (C) 2013 - Pantelis Antoniou <panto@antoniou-consulting.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.
|
||||
+ */
|
||||
+#include <linux/ctype.h>
|
||||
+#include <linux/cpu.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/of.h>
|
||||
+#include <linux/of_fdt.h>
|
||||
+#include <linux/spinlock.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/proc_fs.h>
|
||||
+#include <linux/configfs.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/stat.h>
|
||||
+#include <linux/limits.h>
|
||||
+#include <linux/file.h>
|
||||
+#include <linux/vmalloc.h>
|
||||
+#include <linux/firmware.h>
|
||||
+#include <linux/sizes.h>
|
||||
+
|
||||
+#include "of_private.h"
|
||||
+
|
||||
+struct cfs_overlay_item {
|
||||
+ struct config_item item;
|
||||
+
|
||||
+ char path[PATH_MAX];
|
||||
+
|
||||
+ const struct firmware *fw;
|
||||
+ struct device_node *overlay;
|
||||
+ int ov_id;
|
||||
+
|
||||
+ void *dtbo;
|
||||
+ int dtbo_size;
|
||||
+};
|
||||
+
|
||||
+static int create_overlay(struct cfs_overlay_item *overlay, void *blob, u32 blob_size)
|
||||
+{
|
||||
+ int err;
|
||||
+
|
||||
+ err = of_overlay_fdt_apply(blob, blob_size, &overlay->ov_id);
|
||||
+ if (err < 0) {
|
||||
+ pr_err("%s: Failed to create overlay (err=%d)\n",
|
||||
+ __func__, err);
|
||||
+ goto out_err;
|
||||
+ }
|
||||
+
|
||||
+out_err:
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+static inline struct cfs_overlay_item *to_cfs_overlay_item(
|
||||
+ struct config_item *item)
|
||||
+{
|
||||
+ return item ? container_of(item, struct cfs_overlay_item, item) : NULL;
|
||||
+}
|
||||
+
|
||||
+static ssize_t cfs_overlay_item_path_show(struct config_item *item,
|
||||
+ char *page)
|
||||
+{
|
||||
+ struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
|
||||
+ return sprintf(page, "%s\n", overlay->path);
|
||||
+}
|
||||
+
|
||||
+static ssize_t cfs_overlay_item_path_store(struct config_item *item,
|
||||
+ const char *page, size_t count)
|
||||
+{
|
||||
+ struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
|
||||
+ const char *p = page;
|
||||
+ char *s;
|
||||
+ int err;
|
||||
+
|
||||
+ /* if it's set do not allow changes */
|
||||
+ if (overlay->path[0] != '\0' || overlay->dtbo_size > 0)
|
||||
+ return -EPERM;
|
||||
+
|
||||
+ /* copy to path buffer (and make sure it's always zero terminated */
|
||||
+ count = snprintf(overlay->path, sizeof(overlay->path) - 1, "%s", p);
|
||||
+ overlay->path[sizeof(overlay->path) - 1] = '\0';
|
||||
+
|
||||
+ /* strip trailing newlines */
|
||||
+ s = overlay->path + strlen(overlay->path);
|
||||
+ while (s > overlay->path && *--s == '\n')
|
||||
+ *s = '\0';
|
||||
+
|
||||
+ pr_debug("%s: path is '%s'\n", __func__, overlay->path);
|
||||
+
|
||||
+ err = request_firmware(&overlay->fw, overlay->path, NULL);
|
||||
+ if (err != 0)
|
||||
+ goto out_err;
|
||||
+
|
||||
+ err = create_overlay(overlay, (void *)overlay->fw->data, overlay->fw->size);
|
||||
+ if (err != 0)
|
||||
+ goto out_err;
|
||||
+
|
||||
+ return count;
|
||||
+
|
||||
+out_err:
|
||||
+
|
||||
+ release_firmware(overlay->fw);
|
||||
+ overlay->fw = NULL;
|
||||
+
|
||||
+ overlay->path[0] = '\0';
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+static ssize_t cfs_overlay_item_status_show(struct config_item *item,
|
||||
+ char *page)
|
||||
+{
|
||||
+ struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
|
||||
+
|
||||
+ return sprintf(page, "%s\n",
|
||||
+ overlay->ov_id >= 0 ? "applied" : "unapplied");
|
||||
+}
|
||||
+
|
||||
+CONFIGFS_ATTR(cfs_overlay_item_, path);
|
||||
+CONFIGFS_ATTR_RO(cfs_overlay_item_, status);
|
||||
+
|
||||
+static struct configfs_attribute *cfs_overlay_attrs[] = {
|
||||
+ &cfs_overlay_item_attr_path,
|
||||
+ &cfs_overlay_item_attr_status,
|
||||
+ NULL,
|
||||
+};
|
||||
+
|
||||
+ssize_t cfs_overlay_item_dtbo_read(struct config_item *item,
|
||||
+ void *buf, size_t max_count)
|
||||
+{
|
||||
+ struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
|
||||
+
|
||||
+ pr_debug("%s: buf=%p max_count=%zu\n", __func__,
|
||||
+ buf, max_count);
|
||||
+
|
||||
+ if (overlay->dtbo == NULL)
|
||||
+ return 0;
|
||||
+
|
||||
+ /* copy if buffer provided */
|
||||
+ if (buf != NULL) {
|
||||
+ /* the buffer must be large enough */
|
||||
+ if (overlay->dtbo_size > max_count)
|
||||
+ return -ENOSPC;
|
||||
+
|
||||
+ memcpy(buf, overlay->dtbo, overlay->dtbo_size);
|
||||
+ }
|
||||
+
|
||||
+ return overlay->dtbo_size;
|
||||
+}
|
||||
+
|
||||
+ssize_t cfs_overlay_item_dtbo_write(struct config_item *item,
|
||||
+ const void *buf, size_t count)
|
||||
+{
|
||||
+ struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
|
||||
+ int err;
|
||||
+
|
||||
+ /* if it's set do not allow changes */
|
||||
+ if (overlay->path[0] != '\0' || overlay->dtbo_size > 0)
|
||||
+ return -EPERM;
|
||||
+
|
||||
+ /* copy the contents */
|
||||
+ overlay->dtbo = kmemdup(buf, count, GFP_KERNEL);
|
||||
+ if (overlay->dtbo == NULL)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ overlay->dtbo_size = count;
|
||||
+
|
||||
+ err = create_overlay(overlay, overlay->dtbo, overlay->dtbo_size);
|
||||
+ if (err != 0)
|
||||
+ goto out_err;
|
||||
+
|
||||
+ return count;
|
||||
+
|
||||
+out_err:
|
||||
+ kfree(overlay->dtbo);
|
||||
+ overlay->dtbo = NULL;
|
||||
+ overlay->dtbo_size = 0;
|
||||
+
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+CONFIGFS_BIN_ATTR(cfs_overlay_item_, dtbo, NULL, SZ_1M);
|
||||
+
|
||||
+static struct configfs_bin_attribute *cfs_overlay_bin_attrs[] = {
|
||||
+ &cfs_overlay_item_attr_dtbo,
|
||||
+ NULL,
|
||||
+};
|
||||
+
|
||||
+static void cfs_overlay_release(struct config_item *item)
|
||||
+{
|
||||
+ struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
|
||||
+
|
||||
+ if (overlay->ov_id >= 0)
|
||||
+ of_overlay_remove(&overlay->ov_id);
|
||||
+ if (overlay->fw)
|
||||
+ release_firmware(overlay->fw);
|
||||
+ /* kfree with NULL is safe */
|
||||
+ kfree(overlay->dtbo);
|
||||
+ kfree(overlay);
|
||||
+}
|
||||
+
|
||||
+static struct configfs_item_operations cfs_overlay_item_ops = {
|
||||
+ .release = cfs_overlay_release,
|
||||
+};
|
||||
+
|
||||
+static struct config_item_type cfs_overlay_type = {
|
||||
+ .ct_item_ops = &cfs_overlay_item_ops,
|
||||
+ .ct_attrs = cfs_overlay_attrs,
|
||||
+ .ct_bin_attrs = cfs_overlay_bin_attrs,
|
||||
+ .ct_owner = THIS_MODULE,
|
||||
+};
|
||||
+
|
||||
+static struct config_item *cfs_overlay_group_make_item(
|
||||
+ struct config_group *group, const char *name)
|
||||
+{
|
||||
+ struct cfs_overlay_item *overlay;
|
||||
+
|
||||
+ overlay = kzalloc(sizeof(*overlay), GFP_KERNEL);
|
||||
+ if (!overlay)
|
||||
+ return ERR_PTR(-ENOMEM);
|
||||
+ overlay->ov_id = -1;
|
||||
+
|
||||
+ config_item_init_type_name(&overlay->item, name, &cfs_overlay_type);
|
||||
+ return &overlay->item;
|
||||
+}
|
||||
+
|
||||
+static void cfs_overlay_group_drop_item(struct config_group *group,
|
||||
+ struct config_item *item)
|
||||
+{
|
||||
+ struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
|
||||
+
|
||||
+ config_item_put(&overlay->item);
|
||||
+}
|
||||
+
|
||||
+static struct configfs_group_operations overlays_ops = {
|
||||
+ .make_item = cfs_overlay_group_make_item,
|
||||
+ .drop_item = cfs_overlay_group_drop_item,
|
||||
+};
|
||||
+
|
||||
+static struct config_item_type overlays_type = {
|
||||
+ .ct_group_ops = &overlays_ops,
|
||||
+ .ct_owner = THIS_MODULE,
|
||||
+};
|
||||
+
|
||||
+static struct configfs_group_operations of_cfs_ops = {
|
||||
+ /* empty - we don't allow anything to be created */
|
||||
+};
|
||||
+
|
||||
+static struct config_item_type of_cfs_type = {
|
||||
+ .ct_group_ops = &of_cfs_ops,
|
||||
+ .ct_owner = THIS_MODULE,
|
||||
+};
|
||||
+
|
||||
+struct config_group of_cfs_overlay_group;
|
||||
+
|
||||
+static struct configfs_subsystem of_cfs_subsys = {
|
||||
+ .su_group = {
|
||||
+ .cg_item = {
|
||||
+ .ci_namebuf = "device-tree",
|
||||
+ .ci_type = &of_cfs_type,
|
||||
+ },
|
||||
+ },
|
||||
+ .su_mutex = __MUTEX_INITIALIZER(of_cfs_subsys.su_mutex),
|
||||
+};
|
||||
+
|
||||
+static int __init of_cfs_init(void)
|
||||
+{
|
||||
+ int ret;
|
||||
+
|
||||
+ pr_info("%s\n", __func__);
|
||||
+
|
||||
+ config_group_init(&of_cfs_subsys.su_group);
|
||||
+ config_group_init_type_name(&of_cfs_overlay_group, "overlays",
|
||||
+ &overlays_type);
|
||||
+ configfs_add_default_group(&of_cfs_overlay_group,
|
||||
+ &of_cfs_subsys.su_group);
|
||||
+
|
||||
+ ret = configfs_register_subsystem(&of_cfs_subsys);
|
||||
+ if (ret != 0) {
|
||||
+ pr_err("%s: failed to register subsys\n", __func__);
|
||||
+ goto out;
|
||||
+ }
|
||||
+ pr_info("%s: OK\n", __func__);
|
||||
+out:
|
||||
+ return ret;
|
||||
+}
|
||||
+late_initcall(of_cfs_init);
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,856 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: simple <991605149@qq.com>
|
||||
Date: Sun, 12 Sep 2021 20:06:02 +0200
|
||||
Subject: [ARCHEOLOGY] general add panel simple dsi (#3140)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * Backporting patch to 5.10 kernel makes sense. Lets do it.
|
||||
> X-Git-Archeology: > recovered message: > Co-authored-by: iamdrq <iamdrq@qq.com>
|
||||
> X-Git-Archeology: > recovered message: > Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: - Revision 15819f00e21238e36ca70f6d8445efd6157fbe66: https://github.com/armbian/build/commit/15819f00e21238e36ca70f6d8445efd6157fbe66
|
||||
> X-Git-Archeology: Date: Sun, 12 Sep 2021 20:06:02 +0200
|
||||
> X-Git-Archeology: From: simple <991605149@qq.com>
|
||||
> X-Git-Archeology: Subject: general add panel simple dsi (#3140)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6b490e16944b30ff69bf9c13678905187df0d9d4: https://github.com/armbian/build/commit/6b490e16944b30ff69bf9c13678905187df0d9d4
|
||||
> X-Git-Archeology: Date: Tue, 11 Jan 2022 15:26:11 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel edge to 5.16 (#3387)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 3b78b57fe367e60ad874d9e16ff1cd67957f8382: https://github.com/armbian/build/commit/3b78b57fe367e60ad874d9e16ff1cd67957f8382
|
||||
> X-Git-Archeology: Date: Sat, 24 Dec 2022 09:43:51 +0100
|
||||
> X-Git-Archeology: From: simple <991605149@qq.com>
|
||||
> X-Git-Archeology: Subject: Fix general-add-panel-simple-dsi.patch on linux6.1 (#4607)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
drivers/gpu/drm/panel/Makefile | 1 +
|
||||
drivers/gpu/drm/panel/panel-simple-dsi.c | 772 ++++++++++
|
||||
2 files changed, 773 insertions(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile
|
||||
index c05aa9e23907..7bdeb4f8ce3e 100644
|
||||
--- a/drivers/gpu/drm/panel/Makefile
|
||||
+++ b/drivers/gpu/drm/panel/Makefile
|
||||
@@ -9,6 +9,7 @@ obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o
|
||||
obj-$(CONFIG_DRM_PANEL_DSI_CM) += panel-dsi-cm.o
|
||||
obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o
|
||||
obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o
|
||||
+obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple-dsi.o
|
||||
obj-$(CONFIG_DRM_PANEL_EDP) += panel-edp.o
|
||||
obj-$(CONFIG_DRM_PANEL_EBBG_FT8719) += panel-ebbg-ft8719.o
|
||||
obj-$(CONFIG_DRM_PANEL_ELIDA_KD35T133) += panel-elida-kd35t133.o
|
||||
diff --git a/drivers/gpu/drm/panel/panel-simple-dsi.c b/drivers/gpu/drm/panel/panel-simple-dsi.c
|
||||
new file mode 100644
|
||||
index 000000000000..e3c8dcf8cb5e
|
||||
--- /dev/null
|
||||
+++ b/drivers/gpu/drm/panel/panel-simple-dsi.c
|
||||
@@ -0,0 +1,772 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2021
|
||||
+ * This simple dsi driver porting from rock-chip panel-simple.c on linux-4.4
|
||||
+ */
|
||||
+
|
||||
+#include <linux/backlight.h>
|
||||
+#include <linux/gpio/consumer.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/of_platform.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/regulator/consumer.h>
|
||||
+
|
||||
+#include <drm/drm_crtc.h>
|
||||
+#include <drm/drm_mipi_dsi.h>
|
||||
+#include <drm/drm_panel.h>
|
||||
+
|
||||
+#include <video/display_timing.h>
|
||||
+#include <video/mipi_display.h>
|
||||
+#include <linux/of_device.h>
|
||||
+#include <video/of_display_timing.h>
|
||||
+#include <linux/of_graph.h>
|
||||
+#include <video/videomode.h>
|
||||
+#include <linux/delay.h>
|
||||
+
|
||||
+struct cmd_ctrl_hdr {
|
||||
+ u8 dtype; /* data type */
|
||||
+ u8 wait; /* ms */
|
||||
+ u8 dlen; /* payload len */
|
||||
+} __packed;
|
||||
+
|
||||
+struct cmd_desc {
|
||||
+ struct cmd_ctrl_hdr dchdr;
|
||||
+ u8 *payload;
|
||||
+};
|
||||
+
|
||||
+struct panel_cmds {
|
||||
+ u8 *buf;
|
||||
+ int blen;
|
||||
+ struct cmd_desc *cmds;
|
||||
+ int cmd_cnt;
|
||||
+};
|
||||
+
|
||||
+struct panel_desc {
|
||||
+ const struct drm_display_mode *modes;
|
||||
+ unsigned int num_modes;
|
||||
+ const struct display_timing *timings;
|
||||
+ unsigned int num_timings;
|
||||
+
|
||||
+ unsigned int bpc;
|
||||
+
|
||||
+ struct {
|
||||
+ unsigned int width;
|
||||
+ unsigned int height;
|
||||
+ } size;
|
||||
+
|
||||
+ /**
|
||||
+ * @reset: the time (in milliseconds) indicates the delay time
|
||||
+ * after the panel to operate reset gpio
|
||||
+ * @init: the time (in milliseconds) that it takes for the panel to
|
||||
+ * power on and dsi host can send command to panel
|
||||
+ * @prepare: the time (in milliseconds) that it takes for the panel to
|
||||
+ * become ready and start receiving video data
|
||||
+ * @enable: the time (in milliseconds) that it takes for the panel to
|
||||
+ * display the first valid frame after starting to receive
|
||||
+ * video data
|
||||
+ * @disable: the time (in milliseconds) that it takes for the panel to
|
||||
+ * turn the display off (no content is visible)
|
||||
+ * @unprepare: the time (in milliseconds) that it takes for the panel
|
||||
+ * to power itself down completely
|
||||
+ */
|
||||
+ struct {
|
||||
+ unsigned int reset;
|
||||
+ unsigned int init;
|
||||
+ unsigned int prepare;
|
||||
+ unsigned int enable;
|
||||
+ unsigned int disable;
|
||||
+ unsigned int unprepare;
|
||||
+ } delay;
|
||||
+
|
||||
+ u32 bus_format;
|
||||
+};
|
||||
+
|
||||
+struct panel_simple {
|
||||
+ struct drm_panel base;
|
||||
+ struct mipi_dsi_device *dsi;
|
||||
+ bool prepared;
|
||||
+ bool enabled;
|
||||
+ bool power_invert;
|
||||
+
|
||||
+ struct device *dev;
|
||||
+ const struct panel_desc *desc;
|
||||
+
|
||||
+ struct regulator *supply;
|
||||
+
|
||||
+ struct gpio_desc *enable_gpio;
|
||||
+ struct gpio_desc *reset_gpio;
|
||||
+ int cmd_type;
|
||||
+
|
||||
+ struct panel_cmds *on_cmds;
|
||||
+ struct panel_cmds *off_cmds;
|
||||
+ struct device_node *np_crtc;
|
||||
+
|
||||
+ int reset_level;
|
||||
+ enum drm_panel_orientation orientation;
|
||||
+};
|
||||
+
|
||||
+enum rockchip_cmd_type {
|
||||
+ CMD_TYPE_DEFAULT,
|
||||
+ CMD_TYPE_SPI,
|
||||
+ CMD_TYPE_MCU
|
||||
+};
|
||||
+
|
||||
+static void panel_simple_sleep(unsigned int msec)
|
||||
+{
|
||||
+ if (msec > 20)
|
||||
+ msleep(msec);
|
||||
+ else
|
||||
+ usleep_range(msec * 1000, (msec + 1) * 1000);
|
||||
+}
|
||||
+
|
||||
+static inline struct panel_simple *to_panel_simple(struct drm_panel *panel)
|
||||
+{
|
||||
+ return container_of(panel, struct panel_simple, base);
|
||||
+}
|
||||
+
|
||||
+static void panel_simple_cmds_cleanup(struct panel_simple *p)
|
||||
+{
|
||||
+ if (p->on_cmds) {
|
||||
+ kfree(p->on_cmds->buf);
|
||||
+ kfree(p->on_cmds->cmds);
|
||||
+ }
|
||||
+
|
||||
+ if (p->off_cmds) {
|
||||
+ kfree(p->off_cmds->buf);
|
||||
+ kfree(p->off_cmds->cmds);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_parse_cmds(struct device *dev,
|
||||
+ const u8 *data, int blen,
|
||||
+ struct panel_cmds *pcmds)
|
||||
+{
|
||||
+ unsigned int len;
|
||||
+ char *buf, *bp;
|
||||
+ struct cmd_ctrl_hdr *dchdr;
|
||||
+ int i, cnt;
|
||||
+
|
||||
+ if (!pcmds)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ buf = kmemdup(data, blen, GFP_KERNEL);
|
||||
+ if (!buf)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ /* scan init commands */
|
||||
+ bp = buf;
|
||||
+ len = blen;
|
||||
+ cnt = 0;
|
||||
+ while (len > sizeof(*dchdr)) {
|
||||
+ dchdr = (struct cmd_ctrl_hdr *)bp;
|
||||
+
|
||||
+ if (dchdr->dlen > len) {
|
||||
+ dev_err(dev, "%s: error, len=%d", __func__,
|
||||
+ dchdr->dlen);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ bp += sizeof(*dchdr);
|
||||
+ len -= sizeof(*dchdr);
|
||||
+ bp += dchdr->dlen;
|
||||
+ len -= dchdr->dlen;
|
||||
+ cnt++;
|
||||
+ }
|
||||
+
|
||||
+ if (len != 0) {
|
||||
+ dev_err(dev, "%s: dcs_cmd=%x len=%d error!",
|
||||
+ __func__, buf[0], blen);
|
||||
+ kfree(buf);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ pcmds->cmds = kcalloc(cnt, sizeof(struct cmd_desc), GFP_KERNEL);
|
||||
+ if (!pcmds->cmds) {
|
||||
+ kfree(buf);
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ pcmds->cmd_cnt = cnt;
|
||||
+ pcmds->buf = buf;
|
||||
+ pcmds->blen = blen;
|
||||
+
|
||||
+ bp = buf;
|
||||
+ len = blen;
|
||||
+ for (i = 0; i < cnt; i++) {
|
||||
+ dchdr = (struct cmd_ctrl_hdr *)bp;
|
||||
+ len -= sizeof(*dchdr);
|
||||
+ bp += sizeof(*dchdr);
|
||||
+ pcmds->cmds[i].dchdr = *dchdr;
|
||||
+ pcmds->cmds[i].payload = bp;
|
||||
+ bp += dchdr->dlen;
|
||||
+ len -= dchdr->dlen;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_dsi_send_cmds(struct panel_simple *panel,
|
||||
+ struct panel_cmds *cmds)
|
||||
+{
|
||||
+ struct mipi_dsi_device *dsi = panel->dsi;
|
||||
+ int i, err;
|
||||
+
|
||||
+ if (!cmds)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ for (i = 0; i < cmds->cmd_cnt; i++) {
|
||||
+ struct cmd_desc *cmd = &cmds->cmds[i];
|
||||
+
|
||||
+ switch (cmd->dchdr.dtype) {
|
||||
+ case MIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM:
|
||||
+ case MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM:
|
||||
+ case MIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM:
|
||||
+ case MIPI_DSI_GENERIC_LONG_WRITE:
|
||||
+ err = mipi_dsi_generic_write(dsi, cmd->payload,
|
||||
+ cmd->dchdr.dlen);
|
||||
+ break;
|
||||
+ case MIPI_DSI_DCS_SHORT_WRITE:
|
||||
+ case MIPI_DSI_DCS_SHORT_WRITE_PARAM:
|
||||
+ case MIPI_DSI_DCS_LONG_WRITE:
|
||||
+ err = mipi_dsi_dcs_write_buffer(dsi, cmd->payload,
|
||||
+ cmd->dchdr.dlen);
|
||||
+ break;
|
||||
+ default:
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (err < 0)
|
||||
+ dev_err(panel->dev, "failed to write dcs cmd: %d\n",
|
||||
+ err);
|
||||
+
|
||||
+ if (cmd->dchdr.wait)
|
||||
+ panel_simple_sleep(cmd->dchdr.wait);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_get_cmds(struct panel_simple *panel)
|
||||
+{
|
||||
+ const void *data;
|
||||
+ int len;
|
||||
+ int err;
|
||||
+
|
||||
+ data = of_get_property(panel->dev->of_node, "panel-init-sequence",
|
||||
+ &len);
|
||||
+ if (data) {
|
||||
+ panel->on_cmds = devm_kzalloc(panel->dev,
|
||||
+ sizeof(*panel->on_cmds),
|
||||
+ GFP_KERNEL);
|
||||
+ if (!panel->on_cmds)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ err = panel_simple_parse_cmds(panel->dev, data, len,
|
||||
+ panel->on_cmds);
|
||||
+ if (err) {
|
||||
+ dev_err(panel->dev, "failed to parse panel init sequence\n");
|
||||
+ return err;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ data = of_get_property(panel->dev->of_node, "panel-exit-sequence",
|
||||
+ &len);
|
||||
+ if (data) {
|
||||
+ panel->off_cmds = devm_kzalloc(panel->dev,
|
||||
+ sizeof(*panel->off_cmds),
|
||||
+ GFP_KERNEL);
|
||||
+ if (!panel->off_cmds)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ err = panel_simple_parse_cmds(panel->dev, data, len,
|
||||
+ panel->off_cmds);
|
||||
+ if (err) {
|
||||
+ dev_err(panel->dev, "failed to parse panel exit sequence\n");
|
||||
+ return err;
|
||||
+ }
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_get_modes(struct drm_panel *panel,struct drm_connector *connector)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+ struct drm_device *drm = connector->dev;
|
||||
+ struct drm_display_mode *mode;
|
||||
+ struct device_node *timings_np;
|
||||
+ int ret;
|
||||
+
|
||||
+ timings_np = of_get_child_by_name(panel->dev->of_node,
|
||||
+ "display-timings");
|
||||
+ if (!timings_np) {
|
||||
+ dev_dbg(panel->dev, "failed to find display-timings node\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ of_node_put(timings_np);
|
||||
+ mode = drm_mode_create(drm);
|
||||
+ if (!mode)
|
||||
+ return 0;
|
||||
+
|
||||
+ ret = of_get_drm_display_mode(panel->dev->of_node, mode, p->desc->bus_format,
|
||||
+ OF_USE_NATIVE_MODE);
|
||||
+ if (ret) {
|
||||
+ dev_dbg(panel->dev, "failed to find dts display timings\n");
|
||||
+ drm_mode_destroy(drm, mode);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ drm_mode_set_name(mode);
|
||||
+ mode->type |= DRM_MODE_TYPE_PREFERRED;
|
||||
+
|
||||
+ connector->display_info.width_mm = mode->width_mm;
|
||||
+ connector->display_info.height_mm = mode->height_mm;
|
||||
+
|
||||
+ drm_mode_probed_add(connector, mode);
|
||||
+
|
||||
+ /*
|
||||
+ * TODO: Remove once all drm drivers call
|
||||
+ * drm_connector_set_orientation_from_panel()
|
||||
+ */
|
||||
+ drm_connector_set_panel_orientation(connector, p->orientation);
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_regulator_enable(struct drm_panel *panel)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+ int err = 0;
|
||||
+
|
||||
+ if (p->power_invert) {
|
||||
+ if (regulator_is_enabled(p->supply) > 0)
|
||||
+ regulator_disable(p->supply);
|
||||
+ } else {
|
||||
+ err = regulator_enable(p->supply);
|
||||
+ if (err < 0) {
|
||||
+ dev_err(panel->dev, "failed to enable supply: %d\n",
|
||||
+ err);
|
||||
+ return err;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_regulator_disable(struct drm_panel *panel)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+ int err = 0;
|
||||
+
|
||||
+ if (p->power_invert) {
|
||||
+ if (!regulator_is_enabled(p->supply)) {
|
||||
+ err = regulator_enable(p->supply);
|
||||
+ if (err < 0) {
|
||||
+ dev_err(panel->dev, "failed to enable supply: %d\n",
|
||||
+ err);
|
||||
+ return err;
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ regulator_disable(p->supply);
|
||||
+ }
|
||||
+
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_disable(struct drm_panel *panel)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+ int err = 0;
|
||||
+
|
||||
+ if (!p->enabled)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (p->desc && p->desc->delay.disable)
|
||||
+ panel_simple_sleep(p->desc->delay.disable);
|
||||
+
|
||||
+ p->enabled = false;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_unprepare(struct drm_panel *panel)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+ int err = 0;
|
||||
+
|
||||
+ if (!p->prepared)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (p->off_cmds) {
|
||||
+ if (p->dsi)
|
||||
+ err = panel_simple_dsi_send_cmds(p, p->off_cmds);
|
||||
+ if (err)
|
||||
+ dev_err(p->dev, "failed to send off cmds\n");
|
||||
+ }
|
||||
+
|
||||
+ if (p->reset_gpio)
|
||||
+ gpiod_direction_output(p->reset_gpio, !p->reset_level);
|
||||
+
|
||||
+ if (p->enable_gpio)
|
||||
+ gpiod_direction_output(p->enable_gpio, 0);
|
||||
+
|
||||
+ panel_simple_regulator_disable(panel);
|
||||
+
|
||||
+ if (p->desc && p->desc->delay.unprepare)
|
||||
+ panel_simple_sleep(p->desc->delay.unprepare);
|
||||
+
|
||||
+ p->prepared = false;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_prepare(struct drm_panel *panel)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+ int err;
|
||||
+
|
||||
+ if (p->prepared)
|
||||
+ return 0;
|
||||
+
|
||||
+ err = panel_simple_regulator_enable(panel);
|
||||
+ if (err < 0) {
|
||||
+ dev_err(panel->dev, "failed to enable supply: %d\n", err);
|
||||
+ return err;
|
||||
+ }
|
||||
+
|
||||
+ if (p->enable_gpio)
|
||||
+ gpiod_direction_output(p->enable_gpio, 1);
|
||||
+
|
||||
+ if (p->desc && p->desc->delay.prepare)
|
||||
+ panel_simple_sleep(p->desc->delay.prepare);
|
||||
+
|
||||
+ if (p->reset_gpio)
|
||||
+ gpiod_direction_output(p->reset_gpio, !p->reset_level);
|
||||
+
|
||||
+ if (p->desc && p->desc->delay.reset)
|
||||
+ panel_simple_sleep(p->desc->delay.reset);
|
||||
+
|
||||
+ if (p->reset_gpio)
|
||||
+ gpiod_direction_output(p->reset_gpio, p->reset_level);
|
||||
+
|
||||
+ if (p->desc && p->desc->delay.init)
|
||||
+ panel_simple_sleep(p->desc->delay.init);
|
||||
+
|
||||
+ if (p->on_cmds) {
|
||||
+ if (p->dsi)
|
||||
+ err = panel_simple_dsi_send_cmds(p, p->on_cmds);
|
||||
+ if (err)
|
||||
+ dev_err(p->dev, "failed to send on cmds\n");
|
||||
+ }
|
||||
+
|
||||
+ p->prepared = true;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_enable(struct drm_panel *panel)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+ int err = 0;
|
||||
+
|
||||
+ if (p->enabled)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (p->desc && p->desc->delay.enable)
|
||||
+ panel_simple_sleep(p->desc->delay.enable);
|
||||
+
|
||||
+ p->enabled = true;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_get_timings(struct drm_panel *panel,
|
||||
+ unsigned int num_timings,
|
||||
+ struct display_timing *timings)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+ unsigned int i;
|
||||
+
|
||||
+ if (!p->desc)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (p->desc->num_timings < num_timings)
|
||||
+ num_timings = p->desc->num_timings;
|
||||
+
|
||||
+ if (timings)
|
||||
+ for (i = 0; i < num_timings; i++)
|
||||
+ timings[i] = p->desc->timings[i];
|
||||
+
|
||||
+ return p->desc->num_timings;
|
||||
+}
|
||||
+
|
||||
+static enum drm_panel_orientation panel_simple_get_orientation(struct drm_panel *panel)
|
||||
+{
|
||||
+ struct panel_simple *p = to_panel_simple(panel);
|
||||
+
|
||||
+ return p->orientation;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static const struct drm_panel_funcs panel_simple_funcs = {
|
||||
+ .disable = panel_simple_disable,
|
||||
+ .unprepare = panel_simple_unprepare,
|
||||
+ .prepare = panel_simple_prepare,
|
||||
+ .enable = panel_simple_enable,
|
||||
+ .get_modes = panel_simple_get_modes,
|
||||
+ .get_orientation = panel_simple_get_orientation,
|
||||
+ .get_timings = panel_simple_get_timings,
|
||||
+};
|
||||
+
|
||||
+static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
|
||||
+{
|
||||
+ struct panel_simple *panel;
|
||||
+ struct panel_desc *of_desc;
|
||||
+ const char *cmd_type;
|
||||
+ u32 val;
|
||||
+ int err;
|
||||
+
|
||||
+ panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL);
|
||||
+ if (!panel)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ if (!desc)
|
||||
+ of_desc = devm_kzalloc(dev, sizeof(*of_desc), GFP_KERNEL);
|
||||
+ else
|
||||
+ of_desc = devm_kmemdup(dev, desc, sizeof(*of_desc), GFP_KERNEL);
|
||||
+
|
||||
+ if (!of_property_read_u32(dev->of_node, "bus-format", &val))
|
||||
+ of_desc->bus_format = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "bpc", &val))
|
||||
+ of_desc->bpc = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "prepare-delay-ms", &val))
|
||||
+ of_desc->delay.prepare = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "enable-delay-ms", &val))
|
||||
+ of_desc->delay.enable = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "disable-delay-ms", &val))
|
||||
+ of_desc->delay.disable = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "unprepare-delay-ms", &val))
|
||||
+ of_desc->delay.unprepare = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "reset-delay-ms", &val))
|
||||
+ of_desc->delay.reset = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "init-delay-ms", &val))
|
||||
+ of_desc->delay.init = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "width-mm", &val))
|
||||
+ of_desc->size.width = val;
|
||||
+ if (!of_property_read_u32(dev->of_node, "height-mm", &val))
|
||||
+ of_desc->size.height = val;
|
||||
+
|
||||
+ panel->enabled = false;
|
||||
+ panel->prepared = false;
|
||||
+ panel->desc = of_desc;
|
||||
+ panel->dev = dev;
|
||||
+
|
||||
+ err = panel_simple_get_cmds(panel);
|
||||
+ if (err) {
|
||||
+ dev_err(dev, "failed to get init cmd: %d\n", err);
|
||||
+ return err;
|
||||
+ }
|
||||
+ panel->supply = devm_regulator_get(dev, "power");
|
||||
+ if (IS_ERR(panel->supply))
|
||||
+ return PTR_ERR(panel->supply);
|
||||
+
|
||||
+ panel->enable_gpio = devm_gpiod_get_optional(dev, "enable", 0);
|
||||
+ if (IS_ERR(panel->enable_gpio)) {
|
||||
+ err = PTR_ERR(panel->enable_gpio);
|
||||
+ dev_err(dev, "failed to request enable GPIO: %d\n", err);
|
||||
+ return err;
|
||||
+ }
|
||||
+
|
||||
+ panel->reset_gpio = devm_gpiod_get_optional(dev, "reset", 0);
|
||||
+ if (IS_ERR(panel->reset_gpio)) {
|
||||
+ err = PTR_ERR(panel->reset_gpio);
|
||||
+ dev_err(dev, "failed to request reset GPIO: %d\n", err);
|
||||
+ return err;
|
||||
+ }
|
||||
+
|
||||
+ if (!of_property_read_u32(dev->of_node, "reset-level", &val)) {
|
||||
+ panel->reset_level = val;
|
||||
+ } else {
|
||||
+ panel->reset_level = 0;
|
||||
+ }
|
||||
+
|
||||
+ err = of_drm_get_panel_orientation(dev->of_node, &panel->orientation);
|
||||
+ if (err) {
|
||||
+ dev_err(dev, "%pOF: failed to get orientation %d\n", dev->of_node, err);
|
||||
+ return err;
|
||||
+ }
|
||||
+
|
||||
+ panel->cmd_type = CMD_TYPE_DEFAULT;
|
||||
+
|
||||
+ panel->power_invert =
|
||||
+ of_property_read_bool(dev->of_node, "power-invert");
|
||||
+
|
||||
+ drm_panel_init(&panel->base, dev, &panel_simple_funcs,DRM_MODE_CONNECTOR_DSI);
|
||||
+ panel->base.dev = dev;
|
||||
+ panel->base.funcs = &panel_simple_funcs;
|
||||
+
|
||||
+ err = drm_panel_of_backlight(&panel->base);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ drm_panel_add(&panel->base);
|
||||
+
|
||||
+ dev_set_drvdata(dev, panel);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int panel_simple_remove(struct device *dev)
|
||||
+{
|
||||
+ struct panel_simple *panel = dev_get_drvdata(dev);
|
||||
+
|
||||
+ drm_panel_remove(&panel->base);
|
||||
+
|
||||
+ panel_simple_disable(&panel->base);
|
||||
+ panel_simple_unprepare(&panel->base);
|
||||
+
|
||||
+ panel_simple_cmds_cleanup(panel);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void panel_simple_shutdown(struct device *dev)
|
||||
+{
|
||||
+ struct panel_simple *panel = dev_get_drvdata(dev);
|
||||
+
|
||||
+ panel_simple_disable(&panel->base);
|
||||
+
|
||||
+ if (panel->prepared) {
|
||||
+ if (panel->reset_gpio)
|
||||
+ gpiod_direction_output(panel->reset_gpio, !panel->reset_level);
|
||||
+
|
||||
+ if (panel->enable_gpio)
|
||||
+ gpiod_direction_output(panel->enable_gpio, 0);
|
||||
+
|
||||
+ panel_simple_regulator_disable(&panel->base);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+struct panel_desc_dsi {
|
||||
+ struct panel_desc desc;
|
||||
+
|
||||
+ unsigned long flags;
|
||||
+ enum mipi_dsi_pixel_format format;
|
||||
+ unsigned int lanes;
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+static const struct drm_display_mode panasonic_vvx10f004b00_mode = {
|
||||
+ .clock = 157200,
|
||||
+ .hdisplay = 1920,
|
||||
+ .hsync_start = 1920 + 154,
|
||||
+ .hsync_end = 1920 + 154 + 16,
|
||||
+ .htotal = 1920 + 154 + 16 + 32,
|
||||
+ .vdisplay = 1200,
|
||||
+ .vsync_start = 1200 + 17,
|
||||
+ .vsync_end = 1200 + 17 + 2,
|
||||
+ .vtotal = 1200 + 17 + 2 + 16,
|
||||
+ .vrefresh = 60,
|
||||
+};
|
||||
+static const struct panel_desc_dsi panasonic_vvx10f004b00 = {
|
||||
+ .desc = {
|
||||
+ .modes = &panasonic_vvx10f004b00_mode,
|
||||
+ .num_modes = 1,
|
||||
+ .bpc = 8,
|
||||
+ .size = {
|
||||
+ .width = 217,
|
||||
+ .height = 136,
|
||||
+ },
|
||||
+ },
|
||||
+ .flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
|
||||
+ MIPI_DSI_CLOCK_NON_CONTINUOUS,
|
||||
+ .format = MIPI_DSI_FMT_RGB888,
|
||||
+ .lanes = 4,
|
||||
+};
|
||||
+*/
|
||||
+
|
||||
+static const struct of_device_id dsi_of_match[] = {
|
||||
+ {
|
||||
+ .compatible = "panel-dsi-simple",
|
||||
+ .data = NULL
|
||||
+ }, {
|
||||
+ /* sentinel */
|
||||
+ }
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(of, dsi_of_match);
|
||||
+
|
||||
+static int panel_simple_dsi_probe(struct mipi_dsi_device *dsi)
|
||||
+{
|
||||
+ struct device *dev = &dsi->dev;
|
||||
+ struct panel_simple *panel;
|
||||
+ const struct panel_desc_dsi *desc;
|
||||
+ const struct of_device_id *id;
|
||||
+ const struct panel_desc *pdesc;
|
||||
+ int err;
|
||||
+ u32 val;
|
||||
+
|
||||
+ id = of_match_node(dsi_of_match, dev->of_node);
|
||||
+ if (!id)
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ desc = id->data;
|
||||
+
|
||||
+ if (desc) {
|
||||
+ dsi->mode_flags = desc->flags;
|
||||
+ dsi->format = desc->format;
|
||||
+ dsi->lanes = desc->lanes;
|
||||
+ pdesc = &desc->desc;
|
||||
+ } else {
|
||||
+ pdesc = NULL;
|
||||
+ }
|
||||
+
|
||||
+ err = panel_simple_probe(dev, pdesc);
|
||||
+ if (err < 0)
|
||||
+ return err;
|
||||
+
|
||||
+ panel = dev_get_drvdata(dev);
|
||||
+ panel->dsi = dsi;
|
||||
+
|
||||
+ if (!of_property_read_u32(dev->of_node, "dsi,flags", &val))
|
||||
+ dsi->mode_flags = val;
|
||||
+
|
||||
+ if (!of_property_read_u32(dev->of_node, "dsi,format", &val))
|
||||
+ dsi->format = val;
|
||||
+
|
||||
+ if (!of_property_read_u32(dev->of_node, "dsi,lanes", &val))
|
||||
+ dsi->lanes = val;
|
||||
+
|
||||
+ return mipi_dsi_attach(dsi);
|
||||
+}
|
||||
+
|
||||
+static void panel_simple_dsi_remove(struct mipi_dsi_device *dsi)
|
||||
+{
|
||||
+ int err;
|
||||
+
|
||||
+ err = mipi_dsi_detach(dsi);
|
||||
+ if (err < 0)
|
||||
+ dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", err);
|
||||
+
|
||||
+ panel_simple_remove(&dsi->dev);
|
||||
+}
|
||||
+
|
||||
+static void panel_simple_dsi_shutdown(struct mipi_dsi_device *dsi)
|
||||
+{
|
||||
+ panel_simple_shutdown(&dsi->dev);
|
||||
+}
|
||||
+
|
||||
+static struct mipi_dsi_driver panel_simple_dsi_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "panel-dsi-simple",
|
||||
+ .of_match_table = dsi_of_match,
|
||||
+ },
|
||||
+ .probe = panel_simple_dsi_probe,
|
||||
+ .remove = panel_simple_dsi_remove,
|
||||
+ .shutdown = panel_simple_dsi_shutdown,
|
||||
+};
|
||||
+
|
||||
+module_mipi_dsi_driver(panel_simple_dsi_driver);
|
||||
+
|
||||
+MODULE_AUTHOR("iamdrq <iamdrq@qq.com>");
|
||||
+MODULE_DESCRIPTION("DRM Driver for DSI Simple Panels");
|
||||
+MODULE_LICENSE("GPL");
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: paolo <paolo.sabatino@gmail.com>
|
||||
Date: Sun, 17 Jan 2021 10:20:21 +0000
|
||||
Subject: [ARCHEOLOGY] Adding pll hdmi timing to rockchip64-dev too
|
||||
|
||||
> X-Git-Archeology: > recovered message: > Fixed rk3328 mali node, shortening memory range to 0x30000 as per-stated in official documentation
|
||||
> X-Git-Archeology: - Revision 3a037e899b06452043e23cd2a17f40fe1a932c5f: https://github.com/armbian/build/commit/3a037e899b06452043e23cd2a17f40fe1a932c5f
|
||||
> X-Git-Archeology: Date: Sun, 17 Jan 2021 10:20:21 +0000
|
||||
> X-Git-Archeology: From: paolo <paolo.sabatino@gmail.com>
|
||||
> X-Git-Archeology: Subject: Adding pll hdmi timing to rockchip64-dev too
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c | 71 ++++++++++
|
||||
1 file changed, 71 insertions(+)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c b/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
||||
index 80acca4e9e14..2643de0344d3 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
||||
@@ -316,6 +316,77 @@ static const struct pre_pll_config pre_pll_cfg_table[] = {
|
||||
{594000000, 371250000, 4, 495, 1, 2, 0, 1, 3, 1, 1, 1, 0},
|
||||
{593407000, 593407000, 1, 98, 0, 2, 0, 1, 0, 1, 1, 0, 0xE6AE6B},
|
||||
{594000000, 594000000, 1, 99, 0, 2, 0, 1, 0, 1, 1, 0, 0},
|
||||
+ { 25175000, 25175000, 30, 1007, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ { 31500000, 31500000, 1, 21, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ { 33750000, 33750000, 1, 45, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ { 35500000, 35500000, 3, 71, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ { 36000000, 36000000, 1, 12, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ { 49500000, 49500000, 1, 33, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ { 50000000, 50000000, 3, 50, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ { 56250000, 56250000, 1, 75, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ { 65000000, 65000000, 3, 65, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ { 68250000, 68250000, 1, 91, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ { 71000000, 71000000, 3, 71, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ { 72000000, 72000000, 1, 24, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ { 73250000, 73250000, 3, 293, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ { 75000000, 75000000, 1, 25, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ { 78750000, 78750000, 1, 105, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ { 79500000, 79500000, 1, 53, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ { 83500000, 83500000, 3, 167, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ { 85500000, 85500000, 1, 57, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ { 88750000, 88750000, 3, 355, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ { 94500000, 94500000, 1, 63, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {101000000, 101000000, 3, 101, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {102250000, 102250000, 3, 409, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {106500000, 106500000, 1, 71, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {108000000, 108000000, 1, 36, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {115500000, 115500000, 1, 77, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {117500000, 117500000, 3, 235, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {119000000, 119000000, 3, 119, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {121750000, 121750000, 3, 487, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {122500000, 122500000, 3, 245, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {135000000, 135000000, 1, 45, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {136750000, 136750000, 3, 547, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {140250000, 140250000, 1, 187, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {146250000, 146250000, 1, 195, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {148250000, 148250000, 3, 593, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {154000000, 154000000, 3, 154, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {156000000, 156000000, 1, 52, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {156750000, 156750000, 1, 209, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {157000000, 157000000, 3, 157, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {157500000, 157500000, 1, 105, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {162000000, 162000000, 1, 54, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {175500000, 175500000, 1, 117, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {179500000, 179500000, 3, 359, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {182750000, 182750000, 3, 731, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {187000000, 187000000, 3, 187, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {187250000, 187250000, 3, 749, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {189000000, 189000000, 1, 63, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {193250000, 193250000, 3, 773, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {202500000, 202500000, 1, 135, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {204750000, 204750000, 1, 273, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {208000000, 208000000, 3, 208, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {214750000, 214750000, 3, 859, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {218250000, 218250000, 1, 291, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {229500000, 229500000, 1, 153, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {234000000, 234000000, 1, 78, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {241500000, 241500000, 1, 161, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {245250000, 245250000, 1, 327, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {245500000, 245500000, 3, 491, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {261000000, 261000000, 1, 87, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {268250000, 268250000, 3, 1073, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {268500000, 268500000, 1, 179, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {281250000, 281250000, 1, 375, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {288000000, 288000000, 1, 96, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {312250000, 312250000, 3, 1249, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {317000000, 317000000, 3, 317, 0, 1, 1, 1, 0, 2, 2, 0, 0},
|
||||
+ {333250000, 333250000, 3, 1333, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {348500000, 348500000, 3, 697, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {356500000, 356500000, 3, 713, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {380500000, 380500000, 3, 761, 1, 1, 1, 1, 2, 2, 2, 0, 0},
|
||||
+ {443250000, 443250000, 1, 591, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {505250000, 505250000, 3, 2021, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
+ {552750000, 552750000, 1, 737, 1, 2, 2, 1, 2, 3, 4, 0, 0},
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: microcai <microcaicai@gmail.com>
|
||||
Date: Mon, 29 Jun 2020 23:36:40 +0800
|
||||
Subject: spi-nor: Add support for xt25f32b/xt25f128b
|
||||
|
||||
The RockPi4b dev board ship with xt25f32b solded. add these ids so the
|
||||
board's spi flash can be accessed within linux.
|
||||
|
||||
Signed-off-by: microcai <microcaicai@gmail.com>
|
||||
---
|
||||
drivers/mtd/spi-nor/Makefile | 1 +
|
||||
drivers/mtd/spi-nor/core.c | 1 +
|
||||
drivers/mtd/spi-nor/core.h | 1 +
|
||||
drivers/mtd/spi-nor/xtx.c | 21 ++++++++++
|
||||
4 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/drivers/mtd/spi-nor/Makefile b/drivers/mtd/spi-nor/Makefile
|
||||
index e347b435a038..364413da729b 100644
|
||||
--- a/drivers/mtd/spi-nor/Makefile
|
||||
+++ b/drivers/mtd/spi-nor/Makefile
|
||||
@@ -18,6 +18,7 @@ spi-nor-objs += winbond.o
|
||||
spi-nor-objs += xilinx.o
|
||||
spi-nor-objs += xmc.o
|
||||
spi-nor-$(CONFIG_DEBUG_FS) += debugfs.o
|
||||
+spi-nor-objs += xtx.o
|
||||
obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o
|
||||
|
||||
obj-$(CONFIG_MTD_SPI_NOR) += controllers/
|
||||
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
|
||||
index bcc181c425de..5d94df551e6d 100644
|
||||
--- a/drivers/mtd/spi-nor/core.c
|
||||
+++ b/drivers/mtd/spi-nor/core.c
|
||||
@@ -1632,6 +1632,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = {
|
||||
&spi_nor_winbond,
|
||||
&spi_nor_xilinx,
|
||||
&spi_nor_xmc,
|
||||
+ &spi_nor_xtx,
|
||||
};
|
||||
|
||||
static const struct flash_info spi_nor_generic_flash = {
|
||||
diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h
|
||||
index 6eece1754ec0..1b99ad7f0de8 100644
|
||||
--- a/drivers/mtd/spi-nor/core.h
|
||||
+++ b/drivers/mtd/spi-nor/core.h
|
||||
@@ -630,6 +630,7 @@ extern const struct spi_nor_manufacturer spi_nor_sst;
|
||||
extern const struct spi_nor_manufacturer spi_nor_winbond;
|
||||
extern const struct spi_nor_manufacturer spi_nor_xilinx;
|
||||
extern const struct spi_nor_manufacturer spi_nor_xmc;
|
||||
+extern const struct spi_nor_manufacturer spi_nor_xtx;
|
||||
|
||||
extern const struct attribute_group *spi_nor_sysfs_groups[];
|
||||
|
||||
diff --git a/drivers/mtd/spi-nor/xtx.c b/drivers/mtd/spi-nor/xtx.c
|
||||
new file mode 100644
|
||||
index 000000000000..5a7ec40c9701
|
||||
--- /dev/null
|
||||
+++ b/drivers/mtd/spi-nor/xtx.c
|
||||
@@ -0,0 +1,21 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * Copyright (C) 2005, Intec Automation Inc.
|
||||
+ * Copyright (C) 2014, Freescale Semiconductor, Inc.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/mtd/spi-nor.h>
|
||||
+
|
||||
+#include "core.h"
|
||||
+
|
||||
+static const struct flash_info xtx_parts[] = {
|
||||
+ /* XTX (Shenzhen Xin Tian Xia Tech) */
|
||||
+ { "xt25f32b", INFO(0x0b4016, 0, 64 * 1024, 64) },
|
||||
+ { "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256) },
|
||||
+};
|
||||
+
|
||||
+const struct spi_nor_manufacturer spi_nor_xtx = {
|
||||
+ .name = "xtx",
|
||||
+ .parts = xtx_parts,
|
||||
+ .nparts = ARRAY_SIZE(xtx_parts),
|
||||
+};
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
Date: Wed, 21 Jul 2021 20:59:39 +0000
|
||||
Subject: Disable MTU validation
|
||||
|
||||
This patch reverts: https://github.com/torvalds/linux/commit/eaf4fac478077d4ed57cbca2c044c4b58a96bd98
|
||||
|
||||
It works around following issues:
|
||||
- no way to change MTU (tx_fifo_size is reported as 0 for Rockchip's dwmac)
|
||||
|
||||
Signed-off-by: Piotr Szczepanik <piter75@gmail.com>
|
||||
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
---
|
||||
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 12 ----------
|
||||
1 file changed, 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
index f9cd063f1fe3..a3a8b1e479ed 100644
|
||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
@@ -5575,27 +5575,15 @@ static void stmmac_set_rx_mode(struct net_device *dev)
|
||||
static int stmmac_change_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
struct stmmac_priv *priv = netdev_priv(dev);
|
||||
- int txfifosz = priv->plat->tx_fifo_size;
|
||||
struct stmmac_dma_conf *dma_conf;
|
||||
const int mtu = new_mtu;
|
||||
int ret;
|
||||
|
||||
- if (txfifosz == 0)
|
||||
- txfifosz = priv->dma_cap.tx_fifo_size;
|
||||
-
|
||||
- txfifosz /= priv->plat->tx_queues_to_use;
|
||||
-
|
||||
if (stmmac_xdp_is_enabled(priv) && new_mtu > ETH_DATA_LEN) {
|
||||
netdev_dbg(priv->dev, "Jumbo frames not supported for XDP\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- new_mtu = STMMAC_ALIGN(new_mtu);
|
||||
-
|
||||
- /* If condition true, FIFO is too small or MTU too large */
|
||||
- if ((txfifosz < new_mtu) || (new_mtu > BUF_SIZE_16KiB))
|
||||
- return -EINVAL;
|
||||
-
|
||||
if (netif_running(dev)) {
|
||||
netdev_dbg(priv->dev, "restarting interface to change its MTU\n");
|
||||
/* Try to allocate the new DMA conf with the new mtu */
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Yannick Adam <yannick.adam@gmail.com>
|
||||
Date: Tue, 14 Apr 2020 17:15:09 +0200
|
||||
Subject: [ARCHEOLOGY] Enable es8316 on RockPi4 (#1885)
|
||||
|
||||
> X-Git-Archeology: - Revision 454038a50d1d24e636626213ad65b3463d632aa0: https://github.com/armbian/build/commit/454038a50d1d24e636626213ad65b3463d632aa0
|
||||
> X-Git-Archeology: Date: Tue, 14 Apr 2020 17:15:09 +0200
|
||||
> X-Git-Archeology: From: Yannick Adam <yannick.adam@gmail.com>
|
||||
> X-Git-Archeology: Subject: Enable es8316 on RockPi4 (#1885)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision bd486c75623e75bdf2bdcaf09dc5a0affe9706c1: https://github.com/armbian/build/commit/bd486c75623e75bdf2bdcaf09dc5a0affe9706c1
|
||||
> X-Git-Archeology: Date: Tue, 14 Apr 2020 20:14:24 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Enable es8316 on RockPi4 for Rockchip64 current too https://github.com/armbian/build/pull/1885
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6b490e16944b30ff69bf9c13678905187df0d9d4: https://github.com/armbian/build/commit/6b490e16944b30ff69bf9c13678905187df0d9d4
|
||||
> X-Git-Archeology: Date: Tue, 11 Jan 2022 15:26:11 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel edge to 5.16 (#3387)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision f52a4193d02ef88333ba117c68d49486dfd7ff41: https://github.com/armbian/build/commit/f52a4193d02ef88333ba117c68d49486dfd7ff41
|
||||
> X-Git-Archeology: Date: Sun, 20 Mar 2022 22:58:21 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: Adding Pine64 Quartz64a as WIP target (#3539)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0afe24c95729044910e0b3f84dc5500bcdc6524c: https://github.com/armbian/build/commit/0afe24c95729044910e0b3f84dc5500bcdc6524c
|
||||
> X-Git-Archeology: Date: Sun, 24 Apr 2022 22:33:47 +0200
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel media edge to 5.17 (#3704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
sound/soc/codecs/es8316.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c
|
||||
index f7d7a9c91e04..2d10469bb7d2 100644
|
||||
--- a/sound/soc/codecs/es8316.c
|
||||
+++ b/sound/soc/codecs/es8316.c
|
||||
@@ -696,7 +696,7 @@ static void es8316_disable_jack_detect(struct snd_soc_component *component)
|
||||
snd_soc_component_update_bits(component, ES8316_GPIO_DEBOUNCE,
|
||||
ES8316_GPIO_ENABLE_INTERRUPT, 0);
|
||||
|
||||
- if (es8316->jack->status & SND_JACK_MICROPHONE) {
|
||||
+ if (es8316->jack && (es8316->jack->status & SND_JACK_MICROPHONE)) {
|
||||
es8316_disable_micbias_for_mic_gnd_short_detect(component);
|
||||
snd_soc_jack_report(es8316->jack, 0, SND_JACK_BTN_0);
|
||||
}
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Mon, 22 Aug 2022 20:51:22 +0000
|
||||
Subject: remove usb2phy extcon initialization causing kernel oops
|
||||
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 5 -----
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index a0bc10aa7961..c2405f84e9e8 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -1169,11 +1169,6 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy,
|
||||
goto out;
|
||||
}
|
||||
|
||||
- if (!of_property_read_bool(rphy->dev->of_node, "extcon")) {
|
||||
- /* do initial sync of usb state */
|
||||
- id = property_enabled(rphy->grf, &rport->port_cfg->utmi_id);
|
||||
- extcon_set_state_sync(rphy->edev, EXTCON_USB_HOST, !id);
|
||||
- }
|
||||
}
|
||||
|
||||
out:
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Karlman <jonas@kwiboo.se>
|
||||
Date: Sun, 17 Feb 2019 22:14:38 +0000
|
||||
Subject: mmc: core: set initial signal voltage on power off
|
||||
|
||||
Some boards have SD card connectors where the power rail cannot be switched
|
||||
off by the driver. If the card has not been power cycled, it may still be
|
||||
using 1.8V signaling after a warm re-boot. Bootroms expecting 3.3V signaling
|
||||
will fail to boot from a UHS card that continue to use 1.8V signaling.
|
||||
|
||||
Set initial signal voltage in mmc_power_off() to allow re-boot to function.
|
||||
|
||||
This fixes re-boot with UHS cards on Asus Tinker Board (Rockchip RK3288),
|
||||
same issue have been seen on some Rockchip RK3399 boards.
|
||||
|
||||
I am sending this as a RFC because I have no insights into SD/MMC subsystem,
|
||||
this change fix a re-boot issue on my boards and does not break emmc/sdio.
|
||||
Is this an acceptable workaround? Any advice is appreciated.
|
||||
|
||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
---
|
||||
drivers/mmc/core/core.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
|
||||
index 426c7f66b349..5f491c67e2c9 100644
|
||||
--- a/drivers/mmc/core/core.c
|
||||
+++ b/drivers/mmc/core/core.c
|
||||
@@ -1363,6 +1363,14 @@ void mmc_power_off(struct mmc_host *host)
|
||||
if (host->ios.power_mode == MMC_POWER_OFF)
|
||||
return;
|
||||
|
||||
+ mmc_set_initial_signal_voltage(host);
|
||||
+
|
||||
+ /*
|
||||
+ * This delay should be sufficient to allow the power supply
|
||||
+ * to reach the minimum voltage.
|
||||
+ */
|
||||
+ mmc_delay(host->ios.power_delay_ms);
|
||||
+
|
||||
mmc_pwrseq_power_off(host);
|
||||
|
||||
host->ios.clock = 0;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,232 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
Date: Mon, 21 Aug 2017 08:54:53 +0200
|
||||
Subject: [ARCHEOLOGY] Increasing DMA block memory allocation to 2048k on all
|
||||
relevant kernels.
|
||||
|
||||
> X-Git-Archeology: > recovered message: > https://forum.armbian.com/index.php?/topic/4811-uas-mainline-kernel-coherent-pool-memory-size
|
||||
> X-Git-Archeology: - Revision 908bb199ec2defd77f7f05d2016980abf100d627: https://github.com/armbian/build/commit/908bb199ec2defd77f7f05d2016980abf100d627
|
||||
> X-Git-Archeology: Date: Mon, 21 Aug 2017 08:54:53 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Increasing DMA block memory allocation to 2048k on all relevant kernels.
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision a3cf7b74858e1f862db8ca238bd44f6406be6662: https://github.com/armbian/build/commit/a3cf7b74858e1f862db8ca238bd44f6406be6662
|
||||
> X-Git-Archeology: Date: Mon, 21 Aug 2017 17:52:29 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Revert "Increasing DMA block memory allocation to 2048k on all relevant kernels."
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2be21aad5dc965b3bc67e136a1e1170119d60f74: https://github.com/armbian/build/commit/2be21aad5dc965b3bc67e136a1e1170119d60f74
|
||||
> X-Git-Archeology: Date: Mon, 21 Aug 2017 17:52:48 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Increasing DMA block memory allocation to 2048k on all relevant kernels. https://forum.armbian.com/index.php?/topic/4811-uas-mainline-kernel-coherent-pool-memory-size
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision b3d2bd4864d89ce032344051e6ced2ba9371084b: https://github.com/armbian/build/commit/b3d2bd4864d89ce032344051e6ced2ba9371084b
|
||||
> X-Git-Archeology: Date: Wed, 30 Aug 2017 05:42:08 +0000
|
||||
> X-Git-Archeology: From: Tonymac32 <tonymckahan@gmail.com>
|
||||
> X-Git-Archeology: Subject: Meson64 Dev increase DMA block memory allocation
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2c59bb9934b749b5df74d4134cd393dc24fd5160: https://github.com/armbian/build/commit/2c59bb9934b749b5df74d4134cd393dc24fd5160
|
||||
> X-Git-Archeology: Date: Mon, 18 Sep 2017 12:06:30 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Lepotato. Added NEXT, added patches from C2 NEXT, au, config update, removed deprecated patches, ...
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 13e94e58f04be27db51d18b7dac1d15a1864b79e: https://github.com/armbian/build/commit/13e94e58f04be27db51d18b7dac1d15a1864b79e
|
||||
> X-Git-Archeology: Date: Fri, 27 Oct 2017 16:14:21 +0300
|
||||
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Remove random executable bits from patch files
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2c08ec8f5a210de35f9482f482ac01ea15381792: https://github.com/armbian/build/commit/2c08ec8f5a210de35f9482f482ac01ea15381792
|
||||
> X-Git-Archeology: Date: Thu, 24 May 2018 13:32:29 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Merge sunxi family into stable
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 7d2f3af08f23049c91c88eec5062613bbfbc85d4: https://github.com/armbian/build/commit/7d2f3af08f23049c91c88eec5062613bbfbc85d4
|
||||
> X-Git-Archeology: Date: Thu, 24 May 2018 15:44:15 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Merging Rockchip family
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 99a34c7be1e342247a981f99c7930ee73c144f3e: https://github.com/armbian/build/commit/99a34c7be1e342247a981f99c7930ee73c144f3e
|
||||
> X-Git-Archeology: Date: Tue, 26 Jun 2018 12:47:49 +0000
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Move Odroid C2 from 4.14.y to 4.16.y, added patch for ethernet, DEV to master, both tested ... not perfect but in a better condition.
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision fcb85f17675990514d8fadc905e6ccc3bded7138: https://github.com/armbian/build/commit/fcb85f17675990514d8fadc905e6ccc3bded7138
|
||||
> X-Git-Archeology: Date: Thu, 28 Jun 2018 08:27:08 +0000
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: Major Amlogic RFC and cleanup
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision c57ebd663cf1b15ad193d4a761f9c044ba3b2acf: https://github.com/armbian/build/commit/c57ebd663cf1b15ad193d4a761f9c044ba3b2acf
|
||||
> X-Git-Archeology: Date: Tue, 17 Jul 2018 16:11:07 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: - attach Odroid XU4 4.14.y back to Hardkernel kernel branch
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision a26ccdee627f1fa27b3285e3840434cddb5aae62: https://github.com/armbian/build/commit/a26ccdee627f1fa27b3285e3840434cddb5aae62
|
||||
> X-Git-Archeology: Date: Wed, 07 Nov 2018 11:11:51 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: [odroid xu4] Drop kernel 3.10.y, default -> offical 4.14.y, next = vanilla 4.19.y http://ix.io/1rcZ & dev = n/a
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision a156fddf8f5bb5a6ac28ffc528ba0ec28ff9df81: https://github.com/armbian/build/commit/a156fddf8f5bb5a6ac28ffc528ba0ec28ff9df81
|
||||
> X-Git-Archeology: Date: Fri, 18 Jan 2019 20:10:35 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ odroidxu4 ] Reverting NEXT back to stock 4.14.y due to many troubles, DEV = 4.19.y
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 79c1c2781915c59bd24576af92b9dbe57da24fac: https://github.com/armbian/build/commit/79c1c2781915c59bd24576af92b9dbe57da24fac
|
||||
> X-Git-Archeology: Date: Fri, 17 May 2019 10:46:57 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
> X-Git-Archeology: Subject: [ odroidxu4 dev ] Move to 5.1.y
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e261c6f82835bd9b12e07ba837b55fbf1aaa4327: https://github.com/armbian/build/commit/e261c6f82835bd9b12e07ba837b55fbf1aaa4327
|
||||
> X-Git-Archeology: Date: Wed, 31 Jul 2019 12:51:00 +0200
|
||||
> X-Git-Archeology: From: Aditya Prayoga <aprayoga@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Move mvebu DEFAULT, NEXT and DEV branch to next kernel (LTS) and U-boot #1426 (#1487)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
|
||||
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0da16dfc3daacae374ece2778966297783ef004e: https://github.com/armbian/build/commit/0da16dfc3daacae374ece2778966297783ef004e
|
||||
> X-Git-Archeology: Date: Sun, 19 Jan 2020 15:54:02 +0100
|
||||
> X-Git-Archeology: From: Jannis <jannis@imserv.org>
|
||||
> X-Git-Archeology: Subject: [ mvebu ] Update patches to fit new legacy, current, dev
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 4d4c3f58ffc1cbfbb060cbabc9eb414036a2fda5: https://github.com/armbian/build/commit/4d4c3f58ffc1cbfbb060cbabc9eb414036a2fda5
|
||||
> X-Git-Archeology: Date: Wed, 02 Sep 2020 23:22:09 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switched rockchip64 curent to kernel 5.8.y (#2175)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 2fe5e6f7553174c2b2be69d70398145e11af00b6: https://github.com/armbian/build/commit/2fe5e6f7553174c2b2be69d70398145e11af00b6
|
||||
> X-Git-Archeology: Date: Thu, 03 Dec 2020 10:24:27 +0100
|
||||
> X-Git-Archeology: From: Jannis <52237708+heisath@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: [AR-558] Switch mvebu current to LK5.9 (based on previous mvebu-dev) (#2405)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision aa3d60f57e84d02887c63cae176bdec96b560e38: https://github.com/armbian/build/commit/aa3d60f57e84d02887c63cae176bdec96b560e38
|
||||
> X-Git-Archeology: Date: Thu, 10 Dec 2020 11:47:33 +0100
|
||||
> X-Git-Archeology: From: Rosen Penev <rosenp@gmail.com>
|
||||
> X-Git-Archeology: Subject: refreshed mvebu with quilt (#2419)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision bd4c2c67f07ec0bcd823332da00cc8d3a7d733d7: https://github.com/armbian/build/commit/bd4c2c67f07ec0bcd823332da00cc8d3a7d733d7
|
||||
> X-Git-Archeology: Date: Fri, 22 Jan 2021 13:20:44 +0100
|
||||
> X-Git-Archeology: From: Jannis <52237708+heisath@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: [AR-609] Switch mvebu-current to 5.10.y (reusing config and patches from -dev) (#2547)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 3b3d85e25c2ecde30df7b5274fc6f1b9c0299ea2: https://github.com/armbian/build/commit/3b3d85e25c2ecde30df7b5274fc6f1b9c0299ea2
|
||||
> X-Git-Archeology: Date: Sat, 22 May 2021 17:08:44 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Upgrade EDGE to 5.12.y (#2825)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 5a8513360cdcca63d26759f51ff9a670cbbcfb71: https://github.com/armbian/build/commit/5a8513360cdcca63d26759f51ff9a670cbbcfb71
|
||||
> X-Git-Archeology: Date: Sun, 10 Oct 2021 21:30:56 +0200
|
||||
> X-Git-Archeology: From: Heisath <jannis@imserv.org>
|
||||
> X-Git-Archeology: Subject: Switch mvebu-edge to kernel 5.14
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6b490e16944b30ff69bf9c13678905187df0d9d4: https://github.com/armbian/build/commit/6b490e16944b30ff69bf9c13678905187df0d9d4
|
||||
> X-Git-Archeology: Date: Tue, 11 Jan 2022 15:26:11 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel edge to 5.16 (#3387)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 4de4c42e6f641eb6fc8eb02066486a7c42a7f73e: https://github.com/armbian/build/commit/4de4c42e6f641eb6fc8eb02066486a7c42a7f73e
|
||||
> X-Git-Archeology: Date: Fri, 11 Feb 2022 11:00:57 +0100
|
||||
> X-Git-Archeology: From: Heisath <jannis@imserv.org>
|
||||
> X-Git-Archeology: Subject: Bump mvebu-current to 5.15 and mvebu-edge to 5.16
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision f52a4193d02ef88333ba117c68d49486dfd7ff41: https://github.com/armbian/build/commit/f52a4193d02ef88333ba117c68d49486dfd7ff41
|
||||
> X-Git-Archeology: Date: Sun, 20 Mar 2022 22:58:21 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: Adding Pine64 Quartz64a as WIP target (#3539)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0afe24c95729044910e0b3f84dc5500bcdc6524c: https://github.com/armbian/build/commit/0afe24c95729044910e0b3f84dc5500bcdc6524c
|
||||
> X-Git-Archeology: Date: Sun, 24 Apr 2022 22:33:47 +0200
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel media edge to 5.17 (#3704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision b619876210d23cc34652b4b4fa15cf7f61703079: https://github.com/armbian/build/commit/b619876210d23cc34652b4b4fa15cf7f61703079
|
||||
> X-Git-Archeology: Date: Wed, 04 Jan 2023 18:37:42 +0100
|
||||
> X-Git-Archeology: From: Jannis <52237708+Heisath@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: [AR-1313] Move mvebu edge to 6.1 (#4652)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 46ae5155c52c2d45b2658291831542813a1f1f96: https://github.com/armbian/build/commit/46ae5155c52c2d45b2658291831542813a1f1f96
|
||||
> X-Git-Archeology: Date: Sun, 12 Mar 2023 22:30:56 +0100
|
||||
> X-Git-Archeology: From: Heisath <jannis@imserv.org>
|
||||
> X-Git-Archeology: Subject: Correctly create a new mvebu-6.2 patch folder, update symlink, update/fix patches for mvebu-edge
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
kernel/dma/pool.c | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c
|
||||
index 1acec2e22827..17bfd809546b 100644
|
||||
--- a/kernel/dma/pool.c
|
||||
+++ b/kernel/dma/pool.c
|
||||
@@ -189,13 +189,11 @@ static int __init dma_atomic_pool_init(void)
|
||||
int ret = 0;
|
||||
|
||||
/*
|
||||
- * If coherent_pool was not used on the command line, default the pool
|
||||
- * sizes to 128KB per 1GB of memory, min 128KB, max MAX_ORDER.
|
||||
+ * Always use 2MiB as default pool size.
|
||||
+ * See: https://forum.armbian.com/topic/4811-uas-mainline-kernel-coherent-pool-memory-size/
|
||||
*/
|
||||
if (!atomic_pool_size) {
|
||||
- unsigned long pages = totalram_pages() / (SZ_1G / SZ_128K);
|
||||
- pages = min_t(unsigned long, pages, MAX_ORDER_NR_PAGES);
|
||||
- atomic_pool_size = max_t(size_t, pages << PAGE_SHIFT, SZ_128K);
|
||||
+ atomic_pool_size = SZ_2M;
|
||||
}
|
||||
INIT_WORK(&atomic_pool_work, atomic_pool_work_fn);
|
||||
|
||||
@@ -0,0 +1,436 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: brentr <brent@mbari.org>
|
||||
Date: Sat, 15 Oct 2022 10:46:04 +0200
|
||||
Subject: [ARCHEOLOGY] Restored Hardware Random Number Generator from legacy
|
||||
(4.4) kernel (#4286)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > so boot no longer starves for entropy, delaying for up to 15 seconds
|
||||
> X-Git-Archeology: > recovered message: > Advances kernel to v5.19.15
|
||||
> X-Git-Archeology: - Revision f6f3f1b8b034bf7c1f069e831fc42a46940d2239: https://github.com/armbian/build/commit/f6f3f1b8b034bf7c1f069e831fc42a46940d2239
|
||||
> X-Git-Archeology: Date: Sat, 15 Oct 2022 10:46:04 +0200
|
||||
> X-Git-Archeology: From: brentr <brent@mbari.org>
|
||||
> X-Git-Archeology: Subject: Restored Hardware Random Number Generator from legacy (4.4) kernel (#4286)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 15 +
|
||||
drivers/char/hw_random/Kconfig | 13 +
|
||||
drivers/char/hw_random/Makefile | 1 +
|
||||
drivers/char/hw_random/rockchip-rng.c | 330 ++++++++++
|
||||
4 files changed, 359 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
index acb5f7304065..4ff96497888a 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
|
||||
@@ -654,6 +654,21 @@ logic_thermal: logic-thermal {
|
||||
};
|
||||
};
|
||||
|
||||
+ rng: rng@ff2f0000 {
|
||||
+ compatible = "rockchip,cryptov2-rng";
|
||||
+ reg = <0x0 0xff2f0000 0x0 0x4000>;
|
||||
+ clocks = <&cru SCLK_CRYPTO>, <&cru SCLK_CRYPTO_APK>,
|
||||
+ <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>;
|
||||
+ clock-names = "clk_crypto", "clk_crypto_apk",
|
||||
+ "aclk_crypto", "hclk_crypto";
|
||||
+ assigned-clocks = <&cru SCLK_CRYPTO>, <&cru SCLK_CRYPTO_APK>,
|
||||
+ <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>;
|
||||
+ assigned-clock-rates = <150000000>, <150000000>,
|
||||
+ <200000000>, <100000000>;
|
||||
+ resets = <&cru SRST_CRYPTO>;
|
||||
+ reset-names = "reset";
|
||||
+ };
|
||||
+
|
||||
tsadc: tsadc@ff1f0000 {
|
||||
compatible = "rockchip,rk3308-tsadc";
|
||||
reg = <0x0 0xff1f0000 0x0 0x100>;
|
||||
diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
|
||||
index 4fdf07ae3c54..78b15a30d9d4 100644
|
||||
--- a/drivers/char/hw_random/Kconfig
|
||||
+++ b/drivers/char/hw_random/Kconfig
|
||||
@@ -372,6 +372,19 @@ config HW_RANDOM_STM32
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
+config HW_RANDOM_ROCKCHIP
|
||||
+ tristate "Rockchip Random Number Generator support"
|
||||
+ depends on ARCH_ROCKCHIP
|
||||
+ default HW_RANDOM
|
||||
+ help
|
||||
+ This driver provides kernel-side support for the Random Number
|
||||
+ Generator hardware found on Rockchip cpus.
|
||||
+
|
||||
+ To compile this driver as a module, choose M here: the
|
||||
+ module will be called rockchip-rng.
|
||||
+
|
||||
+ If unsure, say Y.
|
||||
+
|
||||
config HW_RANDOM_PIC32
|
||||
tristate "Microchip PIC32 Random Number Generator support"
|
||||
depends on HW_RANDOM && MACH_PIC32
|
||||
diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile
|
||||
index 09bde4a0f971..1aa2d1892d21 100644
|
||||
--- a/drivers/char/hw_random/Makefile
|
||||
+++ b/drivers/char/hw_random/Makefile
|
||||
@@ -34,6 +34,7 @@ obj-$(CONFIG_HW_RANDOM_IPROC_RNG200) += iproc-rng200.o
|
||||
obj-$(CONFIG_HW_RANDOM_ST) += st-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_XGENE) += xgene-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_STM32) += stm32-rng.o
|
||||
+obj-$(CONFIG_HW_RANDOM_ROCKCHIP) += rockchip-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_PIC32) += pic32-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_MESON) += meson-rng.o
|
||||
obj-$(CONFIG_HW_RANDOM_CAVIUM) += cavium-rng.o cavium-rng-vf.o
|
||||
diff --git a/drivers/char/hw_random/rockchip-rng.c b/drivers/char/hw_random/rockchip-rng.c
|
||||
new file mode 100644
|
||||
index 000000000000..c0121f1f542e
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/hw_random/rockchip-rng.c
|
||||
@@ -0,0 +1,330 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * rockchip-rng.c Random Number Generator driver for the Rockchip
|
||||
+ *
|
||||
+ * Copyright (c) 2018, Fuzhou Rockchip Electronics Co., Ltd.
|
||||
+ * Author: Lin Jinhan <troy.lin@rock-chips.com>
|
||||
+ *
|
||||
+ */
|
||||
+#include <linux/clk.h>
|
||||
+#include <linux/hw_random.h>
|
||||
+#include <linux/iopoll.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/mod_devicetable.h>
|
||||
+#include <linux/of.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/pm_runtime.h>
|
||||
+
|
||||
+#define _SBF(s, v) ((v) << (s))
|
||||
+#define HIWORD_UPDATE(val, mask, shift) \
|
||||
+ ((val) << (shift) | (mask) << ((shift) + 16))
|
||||
+
|
||||
+#define ROCKCHIP_AUTOSUSPEND_DELAY 100
|
||||
+#define ROCKCHIP_POLL_PERIOD_US 100
|
||||
+#define ROCKCHIP_POLL_TIMEOUT_US 10000
|
||||
+#define RK_MAX_RNG_BYTE (32)
|
||||
+
|
||||
+#define CRYPTO_V1_CTRL 0x0008
|
||||
+#define CRYPTO_V1_RNG_START BIT(8)
|
||||
+#define CRYPTO_V1_RNG_FLUSH BIT(9)
|
||||
+#define CRYPTO_V1_TRNG_CTRL 0x0200
|
||||
+#define CRYPTO_V1_OSC_ENABLE BIT(16)
|
||||
+#define CRYPTO_V1_TRNG_SAMPLE_PERIOD(x) (x)
|
||||
+#define CRYPTO_V1_TRNG_DOUT_0 0x0204
|
||||
+
|
||||
+#define CRYPTO_V2_RNG_CTL 0x0400
|
||||
+#define CRYPTO_V2_RNG_64_BIT_LEN _SBF(4, 0x00)
|
||||
+#define CRYPTO_V2_RNG_128_BIT_LEN _SBF(4, 0x01)
|
||||
+#define CRYPTO_V2_RNG_192_BIT_LEN _SBF(4, 0x02)
|
||||
+#define CRYPTO_V2_RNG_256_BIT_LEN _SBF(4, 0x03)
|
||||
+#define CRYPTO_V2_RNG_FATESY_SOC_RING _SBF(2, 0x00)
|
||||
+#define CRYPTO_V2_RNG_SLOWER_SOC_RING_0 _SBF(2, 0x01)
|
||||
+#define CRYPTO_V2_RNG_SLOWER_SOC_RING_1 _SBF(2, 0x02)
|
||||
+#define CRYPTO_V2_RNG_SLOWEST_SOC_RING _SBF(2, 0x03)
|
||||
+#define CRYPTO_V2_RNG_ENABLE BIT(1)
|
||||
+#define CRYPTO_V2_RNG_START BIT(0)
|
||||
+#define CRYPTO_V2_RNG_SAMPLE_CNT 0x0404
|
||||
+#define CRYPTO_V2_RNG_DOUT_0 0x0410
|
||||
+
|
||||
+struct rk_rng_soc_data {
|
||||
+ const char * const *clks;
|
||||
+ int clks_num;
|
||||
+ int (*rk_rng_read)(struct hwrng *rng, void *buf, size_t max, bool wait);
|
||||
+};
|
||||
+
|
||||
+struct rk_rng {
|
||||
+ struct device *dev;
|
||||
+ struct hwrng rng;
|
||||
+ void __iomem *mem;
|
||||
+ struct rk_rng_soc_data *soc_data;
|
||||
+ u32 clk_num;
|
||||
+ struct clk_bulk_data *clk_bulks;
|
||||
+};
|
||||
+
|
||||
+static const char * const rk_rng_v1_clks[] = {
|
||||
+ "hclk_crypto",
|
||||
+ "clk_crypto",
|
||||
+};
|
||||
+
|
||||
+static const char * const rk_rng_v2_clks[] = {
|
||||
+ "hclk_crypto",
|
||||
+ "aclk_crypto",
|
||||
+ "clk_crypto",
|
||||
+ "clk_crypto_apk",
|
||||
+};
|
||||
+
|
||||
+static void rk_rng_writel(struct rk_rng *rng, u32 val, u32 offset)
|
||||
+{
|
||||
+ __raw_writel(val, rng->mem + offset);
|
||||
+}
|
||||
+
|
||||
+static u32 rk_rng_readl(struct rk_rng *rng, u32 offset)
|
||||
+{
|
||||
+ return __raw_readl(rng->mem + offset);
|
||||
+}
|
||||
+
|
||||
+static int rk_rng_init(struct hwrng *rng)
|
||||
+{
|
||||
+ int ret;
|
||||
+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
+
|
||||
+ ret = clk_bulk_prepare_enable(rk_rng->clk_num, rk_rng->clk_bulks);
|
||||
+ if (ret < 0) {
|
||||
+ dev_err(rk_rng->dev, "failed to enable clks %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void rk_rng_cleanup(struct hwrng *rng)
|
||||
+{
|
||||
+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
+
|
||||
+ clk_bulk_disable_unprepare(rk_rng->clk_num, rk_rng->clk_bulks);
|
||||
+}
|
||||
+
|
||||
+static void rk_rng_read_regs(struct rk_rng *rng, u32 offset, void *buf,
|
||||
+ size_t size)
|
||||
+{
|
||||
+ u32 i, sample;
|
||||
+
|
||||
+ for (i = 0; i < size; i += 4) {
|
||||
+ sample = rk_rng_readl(rng, offset + i);
|
||||
+ memcpy(buf + i, &sample, sizeof(sample));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int rk_rng_v1_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+ u32 reg_ctrl = 0;
|
||||
+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
+
|
||||
+ ret = pm_runtime_get_sync(rk_rng->dev);
|
||||
+ if (ret < 0) {
|
||||
+ pm_runtime_put_noidle(rk_rng->dev);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ /* enable osc_ring to get entropy, sample period is set as 100 */
|
||||
+ reg_ctrl = CRYPTO_V1_OSC_ENABLE | CRYPTO_V1_TRNG_SAMPLE_PERIOD(100);
|
||||
+ rk_rng_writel(rk_rng, reg_ctrl, CRYPTO_V1_TRNG_CTRL);
|
||||
+
|
||||
+ reg_ctrl = HIWORD_UPDATE(CRYPTO_V1_RNG_START, CRYPTO_V1_RNG_START, 0);
|
||||
+
|
||||
+ rk_rng_writel(rk_rng, reg_ctrl, CRYPTO_V1_CTRL);
|
||||
+
|
||||
+ ret = readl_poll_timeout(rk_rng->mem + CRYPTO_V1_CTRL, reg_ctrl,
|
||||
+ !(reg_ctrl & CRYPTO_V1_RNG_START),
|
||||
+ ROCKCHIP_POLL_PERIOD_US,
|
||||
+ ROCKCHIP_POLL_TIMEOUT_US);
|
||||
+ if (ret < 0)
|
||||
+ goto out;
|
||||
+
|
||||
+ ret = min_t(size_t, max, RK_MAX_RNG_BYTE);
|
||||
+
|
||||
+ rk_rng_read_regs(rk_rng, CRYPTO_V1_TRNG_DOUT_0, buf, ret);
|
||||
+
|
||||
+out:
|
||||
+ /* close TRNG */
|
||||
+ rk_rng_writel(rk_rng, HIWORD_UPDATE(0, CRYPTO_V1_RNG_START, 0),
|
||||
+ CRYPTO_V1_CTRL);
|
||||
+
|
||||
+ pm_runtime_mark_last_busy(rk_rng->dev);
|
||||
+ pm_runtime_put_sync_autosuspend(rk_rng->dev);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int rk_rng_v2_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+ u32 reg_ctrl = 0;
|
||||
+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
+
|
||||
+ ret = pm_runtime_get_sync(rk_rng->dev);
|
||||
+ if (ret < 0) {
|
||||
+ pm_runtime_put_noidle(rk_rng->dev);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ /* enable osc_ring to get entropy, sample period is set as 100 */
|
||||
+ rk_rng_writel(rk_rng, 100, CRYPTO_V2_RNG_SAMPLE_CNT);
|
||||
+
|
||||
+ reg_ctrl |= CRYPTO_V2_RNG_256_BIT_LEN;
|
||||
+ reg_ctrl |= CRYPTO_V2_RNG_SLOWER_SOC_RING_0;
|
||||
+ reg_ctrl |= CRYPTO_V2_RNG_ENABLE;
|
||||
+ reg_ctrl |= CRYPTO_V2_RNG_START;
|
||||
+
|
||||
+ rk_rng_writel(rk_rng, HIWORD_UPDATE(reg_ctrl, 0xffff, 0),
|
||||
+ CRYPTO_V2_RNG_CTL);
|
||||
+
|
||||
+ ret = readl_poll_timeout(rk_rng->mem + CRYPTO_V2_RNG_CTL, reg_ctrl,
|
||||
+ !(reg_ctrl & CRYPTO_V2_RNG_START),
|
||||
+ ROCKCHIP_POLL_PERIOD_US,
|
||||
+ ROCKCHIP_POLL_TIMEOUT_US);
|
||||
+ if (ret < 0)
|
||||
+ goto out;
|
||||
+
|
||||
+ ret = min_t(size_t, max, RK_MAX_RNG_BYTE);
|
||||
+
|
||||
+ rk_rng_read_regs(rk_rng, CRYPTO_V2_RNG_DOUT_0, buf, ret);
|
||||
+
|
||||
+out:
|
||||
+ /* close TRNG */
|
||||
+ rk_rng_writel(rk_rng, HIWORD_UPDATE(0, 0xffff, 0), CRYPTO_V2_RNG_CTL);
|
||||
+
|
||||
+ pm_runtime_mark_last_busy(rk_rng->dev);
|
||||
+ pm_runtime_put_sync_autosuspend(rk_rng->dev);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static const struct rk_rng_soc_data rk_rng_v1_soc_data = {
|
||||
+ .clks_num = ARRAY_SIZE(rk_rng_v1_clks),
|
||||
+ .clks = rk_rng_v1_clks,
|
||||
+ .rk_rng_read = rk_rng_v1_read,
|
||||
+};
|
||||
+
|
||||
+static const struct rk_rng_soc_data rk_rng_v2_soc_data = {
|
||||
+ .clks_num = ARRAY_SIZE(rk_rng_v2_clks),
|
||||
+ .clks = rk_rng_v2_clks,
|
||||
+ .rk_rng_read = rk_rng_v2_read,
|
||||
+};
|
||||
+
|
||||
+static const struct of_device_id rk_rng_dt_match[] = {
|
||||
+ {
|
||||
+ .compatible = "rockchip,cryptov1-rng",
|
||||
+ .data = (void *)&rk_rng_v1_soc_data,
|
||||
+ },
|
||||
+ {
|
||||
+ .compatible = "rockchip,cryptov2-rng",
|
||||
+ .data = (void *)&rk_rng_v2_soc_data,
|
||||
+ },
|
||||
+ { },
|
||||
+};
|
||||
+
|
||||
+MODULE_DEVICE_TABLE(of, rk_rng_dt_match);
|
||||
+
|
||||
+static int rk_rng_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ int i;
|
||||
+ int ret;
|
||||
+ struct rk_rng *rk_rng;
|
||||
+ struct device_node *np = pdev->dev.of_node;
|
||||
+ const struct of_device_id *match;
|
||||
+
|
||||
+ rk_rng = devm_kzalloc(&pdev->dev, sizeof(struct rk_rng), GFP_KERNEL);
|
||||
+ if (!rk_rng)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ match = of_match_node(rk_rng_dt_match, np);
|
||||
+ rk_rng->soc_data = (struct rk_rng_soc_data *)match->data;
|
||||
+
|
||||
+ rk_rng->dev = &pdev->dev;
|
||||
+ rk_rng->rng.name = "rockchip";
|
||||
+#ifndef CONFIG_PM
|
||||
+ rk_rng->rng.init = rk_rng_init;
|
||||
+ rk_rng->rng.cleanup = rk_rng_cleanup,
|
||||
+#endif
|
||||
+ rk_rng->rng.read = rk_rng->soc_data->rk_rng_read;
|
||||
+ rk_rng->rng.quality = 1024;
|
||||
+
|
||||
+ rk_rng->clk_bulks =
|
||||
+ devm_kzalloc(&pdev->dev, sizeof(*rk_rng->clk_bulks) *
|
||||
+ rk_rng->soc_data->clks_num, GFP_KERNEL);
|
||||
+
|
||||
+ rk_rng->clk_num = rk_rng->soc_data->clks_num;
|
||||
+
|
||||
+ for (i = 0; i < rk_rng->soc_data->clks_num; i++)
|
||||
+ rk_rng->clk_bulks[i].id = rk_rng->soc_data->clks[i];
|
||||
+
|
||||
+ rk_rng->mem = devm_of_iomap(&pdev->dev, pdev->dev.of_node, 0, NULL);
|
||||
+ if (IS_ERR(rk_rng->mem))
|
||||
+ return PTR_ERR(rk_rng->mem);
|
||||
+
|
||||
+ ret = devm_clk_bulk_get(&pdev->dev, rk_rng->clk_num,
|
||||
+ rk_rng->clk_bulks);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev, "failed to get clks property\n");
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ platform_set_drvdata(pdev, rk_rng);
|
||||
+
|
||||
+ pm_runtime_set_autosuspend_delay(&pdev->dev,
|
||||
+ ROCKCHIP_AUTOSUSPEND_DELAY);
|
||||
+ pm_runtime_use_autosuspend(&pdev->dev);
|
||||
+ pm_runtime_enable(&pdev->dev);
|
||||
+
|
||||
+ ret = devm_hwrng_register(&pdev->dev, &rk_rng->rng);
|
||||
+ if (ret) {
|
||||
+ pm_runtime_dont_use_autosuspend(&pdev->dev);
|
||||
+ pm_runtime_disable(&pdev->dev);
|
||||
+ }
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+#ifdef CONFIG_PM
|
||||
+static int rk_rng_runtime_suspend(struct device *dev)
|
||||
+{
|
||||
+ struct rk_rng *rk_rng = dev_get_drvdata(dev);
|
||||
+
|
||||
+ rk_rng_cleanup(&rk_rng->rng);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int rk_rng_runtime_resume(struct device *dev)
|
||||
+{
|
||||
+ struct rk_rng *rk_rng = dev_get_drvdata(dev);
|
||||
+
|
||||
+ return rk_rng_init(&rk_rng->rng);
|
||||
+}
|
||||
+
|
||||
+static const struct dev_pm_ops rk_rng_pm_ops = {
|
||||
+ SET_RUNTIME_PM_OPS(rk_rng_runtime_suspend,
|
||||
+ rk_rng_runtime_resume, NULL)
|
||||
+ SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
|
||||
+ pm_runtime_force_resume)
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
+static struct platform_driver rk_rng_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "rockchip-rng",
|
||||
+#ifdef CONFIG_PM
|
||||
+ .pm = &rk_rng_pm_ops,
|
||||
+#endif
|
||||
+ .of_match_table = rk_rng_dt_match,
|
||||
+ },
|
||||
+ .probe = rk_rng_probe,
|
||||
+};
|
||||
+
|
||||
+module_platform_driver(rk_rng_driver);
|
||||
+
|
||||
+MODULE_DESCRIPTION("ROCKCHIP H/W Random Number Generator driver");
|
||||
+MODULE_AUTHOR("Lin Jinhan <troy.lin@rock-chips.com>");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,523 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: brentr <brent@mbari.org>
|
||||
Date: Fri, 25 Nov 2022 18:02:13 +0100
|
||||
Subject: [ARCHEOLOGY] Updated v4.4 HW RND driver with that from v5.10 kernel
|
||||
(#4485)
|
||||
|
||||
> X-Git-Archeology: - Revision d8fd01bc54d666efc1145920ad5538b050a7ef2c: https://github.com/armbian/build/commit/d8fd01bc54d666efc1145920ad5538b050a7ef2c
|
||||
> X-Git-Archeology: Date: Fri, 25 Nov 2022 18:02:13 +0100
|
||||
> X-Git-Archeology: From: brentr <brent@mbari.org>
|
||||
> X-Git-Archeology: Subject: Updated v4.4 HW RND driver with that from v5.10 kernel (#4485)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
drivers/char/hw_random/rockchip-rng.c | 328 +++++++---
|
||||
1 file changed, 249 insertions(+), 79 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/hw_random/rockchip-rng.c b/drivers/char/hw_random/rockchip-rng.c
|
||||
index c0121f1f542e..13503c54fe62 100644
|
||||
--- a/drivers/char/hw_random/rockchip-rng.c
|
||||
+++ b/drivers/char/hw_random/rockchip-rng.c
|
||||
@@ -21,18 +21,24 @@
|
||||
|
||||
#define ROCKCHIP_AUTOSUSPEND_DELAY 100
|
||||
#define ROCKCHIP_POLL_PERIOD_US 100
|
||||
-#define ROCKCHIP_POLL_TIMEOUT_US 10000
|
||||
+#define ROCKCHIP_POLL_TIMEOUT_US 50000
|
||||
#define RK_MAX_RNG_BYTE (32)
|
||||
|
||||
+/* start of CRYPTO V1 register define */
|
||||
#define CRYPTO_V1_CTRL 0x0008
|
||||
#define CRYPTO_V1_RNG_START BIT(8)
|
||||
#define CRYPTO_V1_RNG_FLUSH BIT(9)
|
||||
+
|
||||
#define CRYPTO_V1_TRNG_CTRL 0x0200
|
||||
#define CRYPTO_V1_OSC_ENABLE BIT(16)
|
||||
#define CRYPTO_V1_TRNG_SAMPLE_PERIOD(x) (x)
|
||||
+
|
||||
#define CRYPTO_V1_TRNG_DOUT_0 0x0204
|
||||
+/* end of CRYPTO V1 register define */
|
||||
|
||||
-#define CRYPTO_V2_RNG_CTL 0x0400
|
||||
+/* start of CRYPTO V2 register define */
|
||||
+#define CRYPTO_V2_RNG_DEFAULT_OFFSET 0x0400
|
||||
+#define CRYPTO_V2_RNG_CTL 0x0
|
||||
#define CRYPTO_V2_RNG_64_BIT_LEN _SBF(4, 0x00)
|
||||
#define CRYPTO_V2_RNG_128_BIT_LEN _SBF(4, 0x01)
|
||||
#define CRYPTO_V2_RNG_192_BIT_LEN _SBF(4, 0x02)
|
||||
@@ -43,12 +49,48 @@
|
||||
#define CRYPTO_V2_RNG_SLOWEST_SOC_RING _SBF(2, 0x03)
|
||||
#define CRYPTO_V2_RNG_ENABLE BIT(1)
|
||||
#define CRYPTO_V2_RNG_START BIT(0)
|
||||
-#define CRYPTO_V2_RNG_SAMPLE_CNT 0x0404
|
||||
-#define CRYPTO_V2_RNG_DOUT_0 0x0410
|
||||
+#define CRYPTO_V2_RNG_SAMPLE_CNT 0x0004
|
||||
+#define CRYPTO_V2_RNG_DOUT_0 0x0010
|
||||
+/* end of CRYPTO V2 register define */
|
||||
+
|
||||
+/* start of TRNG_V1 register define */
|
||||
+/* TRNG is no longer subordinate to the Crypto module */
|
||||
+#define TRNG_V1_CTRL 0x0000
|
||||
+#define TRNG_V1_CTRL_NOP _SBF(0, 0x00)
|
||||
+#define TRNG_V1_CTRL_RAND _SBF(0, 0x01)
|
||||
+#define TRNG_V1_CTRL_SEED _SBF(0, 0x02)
|
||||
+
|
||||
+#define TRNG_V1_STAT 0x0004
|
||||
+#define TRNG_V1_STAT_SEEDED BIT(9)
|
||||
+#define TRNG_V1_STAT_GENERATING BIT(30)
|
||||
+#define TRNG_V1_STAT_RESEEDING BIT(31)
|
||||
+
|
||||
+#define TRNG_V1_MODE 0x0008
|
||||
+#define TRNG_V1_MODE_128_BIT _SBF(3, 0x00)
|
||||
+#define TRNG_V1_MODE_256_BIT _SBF(3, 0x01)
|
||||
+
|
||||
+#define TRNG_V1_IE 0x0010
|
||||
+#define TRNG_V1_IE_GLBL_EN BIT(31)
|
||||
+#define TRNG_V1_IE_SEED_DONE_EN BIT(1)
|
||||
+#define TRNG_V1_IE_RAND_RDY_EN BIT(0)
|
||||
+
|
||||
+#define TRNG_V1_ISTAT 0x0014
|
||||
+#define TRNG_V1_ISTAT_RAND_RDY BIT(0)
|
||||
+
|
||||
+/* RAND0 ~ RAND7 */
|
||||
+#define TRNG_V1_RAND0 0x0020
|
||||
+#define TRNG_V1_RAND7 0x003C
|
||||
+
|
||||
+#define TRNG_V1_AUTO_RQSTS 0x0060
|
||||
+
|
||||
+#define TRNG_V1_VERSION 0x00F0
|
||||
+#define TRNG_v1_VERSION_CODE 0x46bc
|
||||
+/* end of TRNG_V1 register define */
|
||||
|
||||
struct rk_rng_soc_data {
|
||||
- const char * const *clks;
|
||||
- int clks_num;
|
||||
+ u32 default_offset;
|
||||
+
|
||||
+ int (*rk_rng_init)(struct hwrng *rng);
|
||||
int (*rk_rng_read)(struct hwrng *rng, void *buf, size_t max, bool wait);
|
||||
};
|
||||
|
||||
@@ -57,22 +99,10 @@ struct rk_rng {
|
||||
struct hwrng rng;
|
||||
void __iomem *mem;
|
||||
struct rk_rng_soc_data *soc_data;
|
||||
- u32 clk_num;
|
||||
+ int clk_num;
|
||||
struct clk_bulk_data *clk_bulks;
|
||||
};
|
||||
|
||||
-static const char * const rk_rng_v1_clks[] = {
|
||||
- "hclk_crypto",
|
||||
- "clk_crypto",
|
||||
-};
|
||||
-
|
||||
-static const char * const rk_rng_v2_clks[] = {
|
||||
- "hclk_crypto",
|
||||
- "aclk_crypto",
|
||||
- "clk_crypto",
|
||||
- "clk_crypto_apk",
|
||||
-};
|
||||
-
|
||||
static void rk_rng_writel(struct rk_rng *rng, u32 val, u32 offset)
|
||||
{
|
||||
__raw_writel(val, rng->mem + offset);
|
||||
@@ -88,6 +118,8 @@ static int rk_rng_init(struct hwrng *rng)
|
||||
int ret;
|
||||
struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
|
||||
+ dev_dbg(rk_rng->dev, "clk_bulk_prepare_enable.\n");
|
||||
+
|
||||
ret = clk_bulk_prepare_enable(rk_rng->clk_num, rk_rng->clk_bulks);
|
||||
if (ret < 0) {
|
||||
dev_err(rk_rng->dev, "failed to enable clks %d\n", ret);
|
||||
@@ -101,32 +133,57 @@ static void rk_rng_cleanup(struct hwrng *rng)
|
||||
{
|
||||
struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
|
||||
+ dev_dbg(rk_rng->dev, "clk_bulk_disable_unprepare.\n");
|
||||
clk_bulk_disable_unprepare(rk_rng->clk_num, rk_rng->clk_bulks);
|
||||
}
|
||||
|
||||
+static int rk_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
+{
|
||||
+ int ret;
|
||||
+ int read_len = 0;
|
||||
+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
+
|
||||
+ if (!rk_rng->soc_data->rk_rng_read)
|
||||
+ return -EFAULT;
|
||||
+
|
||||
+ ret = pm_runtime_get_sync(rk_rng->dev);
|
||||
+ if (ret < 0) {
|
||||
+ pm_runtime_put_noidle(rk_rng->dev);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ ret = 0;
|
||||
+ while (max > ret) {
|
||||
+ read_len = rk_rng->soc_data->rk_rng_read(rng, buf + ret,
|
||||
+ max - ret, wait);
|
||||
+ if (read_len < 0) {
|
||||
+ ret = read_len;
|
||||
+ break;
|
||||
+ }
|
||||
+ ret += read_len;
|
||||
+ }
|
||||
+
|
||||
+ pm_runtime_mark_last_busy(rk_rng->dev);
|
||||
+ pm_runtime_put_sync_autosuspend(rk_rng->dev);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
static void rk_rng_read_regs(struct rk_rng *rng, u32 offset, void *buf,
|
||||
size_t size)
|
||||
{
|
||||
- u32 i, sample;
|
||||
+ u32 i;
|
||||
|
||||
- for (i = 0; i < size; i += 4) {
|
||||
- sample = rk_rng_readl(rng, offset + i);
|
||||
- memcpy(buf + i, &sample, sizeof(sample));
|
||||
- }
|
||||
+ for (i = 0; i < size; i += 4)
|
||||
+ *(u32 *)(buf + i) = be32_to_cpu(rk_rng_readl(rng, offset + i));
|
||||
}
|
||||
|
||||
-static int rk_rng_v1_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
+static int rk_crypto_v1_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
{
|
||||
int ret = 0;
|
||||
u32 reg_ctrl = 0;
|
||||
struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
|
||||
- ret = pm_runtime_get_sync(rk_rng->dev);
|
||||
- if (ret < 0) {
|
||||
- pm_runtime_put_noidle(rk_rng->dev);
|
||||
- return ret;
|
||||
- }
|
||||
-
|
||||
/* enable osc_ring to get entropy, sample period is set as 100 */
|
||||
reg_ctrl = CRYPTO_V1_OSC_ENABLE | CRYPTO_V1_TRNG_SAMPLE_PERIOD(100);
|
||||
rk_rng_writel(rk_rng, reg_ctrl, CRYPTO_V1_TRNG_CTRL);
|
||||
@@ -135,10 +192,12 @@ static int rk_rng_v1_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
|
||||
rk_rng_writel(rk_rng, reg_ctrl, CRYPTO_V1_CTRL);
|
||||
|
||||
- ret = readl_poll_timeout(rk_rng->mem + CRYPTO_V1_CTRL, reg_ctrl,
|
||||
- !(reg_ctrl & CRYPTO_V1_RNG_START),
|
||||
- ROCKCHIP_POLL_PERIOD_US,
|
||||
- ROCKCHIP_POLL_TIMEOUT_US);
|
||||
+ ret = read_poll_timeout(rk_rng_readl, reg_ctrl,
|
||||
+ !(reg_ctrl & CRYPTO_V1_RNG_START),
|
||||
+ ROCKCHIP_POLL_PERIOD_US,
|
||||
+ ROCKCHIP_POLL_TIMEOUT_US, false,
|
||||
+ rk_rng, CRYPTO_V1_CTRL);
|
||||
+
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
@@ -151,24 +210,15 @@ static int rk_rng_v1_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
rk_rng_writel(rk_rng, HIWORD_UPDATE(0, CRYPTO_V1_RNG_START, 0),
|
||||
CRYPTO_V1_CTRL);
|
||||
|
||||
- pm_runtime_mark_last_busy(rk_rng->dev);
|
||||
- pm_runtime_put_sync_autosuspend(rk_rng->dev);
|
||||
-
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static int rk_rng_v2_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
+static int rk_crypto_v2_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
{
|
||||
int ret = 0;
|
||||
u32 reg_ctrl = 0;
|
||||
struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
|
||||
- ret = pm_runtime_get_sync(rk_rng->dev);
|
||||
- if (ret < 0) {
|
||||
- pm_runtime_put_noidle(rk_rng->dev);
|
||||
- return ret;
|
||||
- }
|
||||
-
|
||||
/* enable osc_ring to get entropy, sample period is set as 100 */
|
||||
rk_rng_writel(rk_rng, 100, CRYPTO_V2_RNG_SAMPLE_CNT);
|
||||
|
||||
@@ -178,12 +228,13 @@ static int rk_rng_v2_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
reg_ctrl |= CRYPTO_V2_RNG_START;
|
||||
|
||||
rk_rng_writel(rk_rng, HIWORD_UPDATE(reg_ctrl, 0xffff, 0),
|
||||
- CRYPTO_V2_RNG_CTL);
|
||||
+ CRYPTO_V2_RNG_CTL);
|
||||
|
||||
- ret = readl_poll_timeout(rk_rng->mem + CRYPTO_V2_RNG_CTL, reg_ctrl,
|
||||
- !(reg_ctrl & CRYPTO_V2_RNG_START),
|
||||
- ROCKCHIP_POLL_PERIOD_US,
|
||||
- ROCKCHIP_POLL_TIMEOUT_US);
|
||||
+ ret = read_poll_timeout(rk_rng_readl, reg_ctrl,
|
||||
+ !(reg_ctrl & CRYPTO_V2_RNG_START),
|
||||
+ ROCKCHIP_POLL_PERIOD_US,
|
||||
+ ROCKCHIP_POLL_TIMEOUT_US, false,
|
||||
+ rk_rng, CRYPTO_V2_RNG_CTL);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
@@ -195,32 +246,141 @@ static int rk_rng_v2_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
/* close TRNG */
|
||||
rk_rng_writel(rk_rng, HIWORD_UPDATE(0, 0xffff, 0), CRYPTO_V2_RNG_CTL);
|
||||
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int rk_trng_v1_init(struct hwrng *rng)
|
||||
+{
|
||||
+ int ret;
|
||||
+ uint32_t auto_reseed_cnt = 1000;
|
||||
+ uint32_t reg_ctrl, status, version;
|
||||
+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
+
|
||||
+ ret = pm_runtime_get_sync(rk_rng->dev);
|
||||
+ if (ret < 0) {
|
||||
+ pm_runtime_put_noidle(rk_rng->dev);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ version = rk_rng_readl(rk_rng, TRNG_V1_VERSION);
|
||||
+ if (version != TRNG_v1_VERSION_CODE) {
|
||||
+ dev_err(rk_rng->dev,
|
||||
+ "wrong trng version, expected = %08x, actual = %08x\n",
|
||||
+ TRNG_V1_VERSION, version);
|
||||
+ ret = -EFAULT;
|
||||
+ goto exit;
|
||||
+ }
|
||||
+
|
||||
+ status = rk_rng_readl(rk_rng, TRNG_V1_STAT);
|
||||
+
|
||||
+ /* TRNG should wait RAND_RDY triggered if it is busy or not seeded */
|
||||
+ if (!(status & TRNG_V1_STAT_SEEDED) ||
|
||||
+ (status & TRNG_V1_STAT_GENERATING) ||
|
||||
+ (status & TRNG_V1_STAT_RESEEDING)) {
|
||||
+ uint32_t mask = TRNG_V1_STAT_SEEDED |
|
||||
+ TRNG_V1_STAT_GENERATING |
|
||||
+ TRNG_V1_STAT_RESEEDING;
|
||||
+
|
||||
+ udelay(10);
|
||||
+
|
||||
+ /* wait for GENERATING and RESEEDING flag to clear */
|
||||
+ read_poll_timeout(rk_rng_readl, reg_ctrl,
|
||||
+ (reg_ctrl & mask) == TRNG_V1_STAT_SEEDED,
|
||||
+ ROCKCHIP_POLL_PERIOD_US,
|
||||
+ ROCKCHIP_POLL_TIMEOUT_US, false,
|
||||
+ rk_rng, TRNG_V1_STAT);
|
||||
+ }
|
||||
+
|
||||
+ /* clear ISTAT flag because trng may auto reseeding when power on */
|
||||
+ reg_ctrl = rk_rng_readl(rk_rng, TRNG_V1_ISTAT);
|
||||
+ rk_rng_writel(rk_rng, reg_ctrl, TRNG_V1_ISTAT);
|
||||
+
|
||||
+ /* auto reseed after (auto_reseed_cnt * 16) byte rand generate */
|
||||
+ rk_rng_writel(rk_rng, auto_reseed_cnt, TRNG_V1_AUTO_RQSTS);
|
||||
+
|
||||
+ ret = 0;
|
||||
+exit:
|
||||
pm_runtime_mark_last_busy(rk_rng->dev);
|
||||
pm_runtime_put_sync_autosuspend(rk_rng->dev);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static const struct rk_rng_soc_data rk_rng_v1_soc_data = {
|
||||
- .clks_num = ARRAY_SIZE(rk_rng_v1_clks),
|
||||
- .clks = rk_rng_v1_clks,
|
||||
- .rk_rng_read = rk_rng_v1_read,
|
||||
+static int rk_trng_v1_read(struct hwrng *rng, void *buf, size_t max, bool wait)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+ u32 reg_ctrl = 0;
|
||||
+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
|
||||
+
|
||||
+ /* clear ISTAT anyway */
|
||||
+ reg_ctrl = rk_rng_readl(rk_rng, TRNG_V1_ISTAT);
|
||||
+ rk_rng_writel(rk_rng, reg_ctrl, TRNG_V1_ISTAT);
|
||||
+
|
||||
+ /* generate 256bit random */
|
||||
+ rk_rng_writel(rk_rng, TRNG_V1_MODE_256_BIT, TRNG_V1_MODE);
|
||||
+ rk_rng_writel(rk_rng, TRNG_V1_CTRL_RAND, TRNG_V1_CTRL);
|
||||
+
|
||||
+ /*
|
||||
+ * Generate2 56 bit random data will cost 1024 clock cycles.
|
||||
+ * Estimated at 150M RNG module frequency, it takes 6.7 microseconds.
|
||||
+ */
|
||||
+ udelay(10);
|
||||
+ reg_ctrl = rk_rng_readl(rk_rng, TRNG_V1_ISTAT);
|
||||
+ if (!(reg_ctrl & TRNG_V1_ISTAT_RAND_RDY)) {
|
||||
+ /* wait RAND_RDY triggered */
|
||||
+ ret = read_poll_timeout(rk_rng_readl, reg_ctrl,
|
||||
+ (reg_ctrl & TRNG_V1_ISTAT_RAND_RDY),
|
||||
+ ROCKCHIP_POLL_PERIOD_US,
|
||||
+ ROCKCHIP_POLL_TIMEOUT_US, false,
|
||||
+ rk_rng, TRNG_V1_ISTAT);
|
||||
+ if (ret < 0)
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ ret = min_t(size_t, max, RK_MAX_RNG_BYTE);
|
||||
+
|
||||
+ rk_rng_read_regs(rk_rng, TRNG_V1_RAND0, buf, ret);
|
||||
+
|
||||
+ /* clear all status flag */
|
||||
+ rk_rng_writel(rk_rng, reg_ctrl, TRNG_V1_ISTAT);
|
||||
+out:
|
||||
+ /* close TRNG */
|
||||
+ rk_rng_writel(rk_rng, TRNG_V1_CTRL_NOP, TRNG_V1_CTRL);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static const struct rk_rng_soc_data rk_crypto_v1_soc_data = {
|
||||
+ .default_offset = 0,
|
||||
+
|
||||
+ .rk_rng_read = rk_crypto_v1_read,
|
||||
};
|
||||
|
||||
-static const struct rk_rng_soc_data rk_rng_v2_soc_data = {
|
||||
- .clks_num = ARRAY_SIZE(rk_rng_v2_clks),
|
||||
- .clks = rk_rng_v2_clks,
|
||||
- .rk_rng_read = rk_rng_v2_read,
|
||||
+static const struct rk_rng_soc_data rk_crypto_v2_soc_data = {
|
||||
+ .default_offset = CRYPTO_V2_RNG_DEFAULT_OFFSET,
|
||||
+
|
||||
+ .rk_rng_read = rk_crypto_v2_read,
|
||||
+};
|
||||
+
|
||||
+static const struct rk_rng_soc_data rk_trng_v1_soc_data = {
|
||||
+ .default_offset = 0,
|
||||
+
|
||||
+ .rk_rng_init = rk_trng_v1_init,
|
||||
+ .rk_rng_read = rk_trng_v1_read,
|
||||
};
|
||||
|
||||
static const struct of_device_id rk_rng_dt_match[] = {
|
||||
{
|
||||
.compatible = "rockchip,cryptov1-rng",
|
||||
- .data = (void *)&rk_rng_v1_soc_data,
|
||||
+ .data = (void *)&rk_crypto_v1_soc_data,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,cryptov2-rng",
|
||||
- .data = (void *)&rk_rng_v2_soc_data,
|
||||
+ .data = (void *)&rk_crypto_v2_soc_data,
|
||||
+ },
|
||||
+ {
|
||||
+ .compatible = "rockchip,trngv1",
|
||||
+ .data = (void *)&rk_trng_v1_soc_data,
|
||||
},
|
||||
{ },
|
||||
};
|
||||
@@ -229,12 +389,13 @@ MODULE_DEVICE_TABLE(of, rk_rng_dt_match);
|
||||
|
||||
static int rk_rng_probe(struct platform_device *pdev)
|
||||
{
|
||||
- int i;
|
||||
int ret;
|
||||
struct rk_rng *rk_rng;
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
const struct of_device_id *match;
|
||||
+ resource_size_t map_size;
|
||||
|
||||
+ dev_dbg(&pdev->dev, "probing...\n");
|
||||
rk_rng = devm_kzalloc(&pdev->dev, sizeof(struct rk_rng), GFP_KERNEL);
|
||||
if (!rk_rng)
|
||||
return -ENOMEM;
|
||||
@@ -248,33 +409,37 @@ static int rk_rng_probe(struct platform_device *pdev)
|
||||
rk_rng->rng.init = rk_rng_init;
|
||||
rk_rng->rng.cleanup = rk_rng_cleanup,
|
||||
#endif
|
||||
- rk_rng->rng.read = rk_rng->soc_data->rk_rng_read;
|
||||
- rk_rng->rng.quality = 1024;
|
||||
-
|
||||
- rk_rng->clk_bulks =
|
||||
- devm_kzalloc(&pdev->dev, sizeof(*rk_rng->clk_bulks) *
|
||||
- rk_rng->soc_data->clks_num, GFP_KERNEL);
|
||||
+ rk_rng->rng.read = rk_rng_read;
|
||||
+ rk_rng->rng.quality = 999;
|
||||
|
||||
- rk_rng->clk_num = rk_rng->soc_data->clks_num;
|
||||
-
|
||||
- for (i = 0; i < rk_rng->soc_data->clks_num; i++)
|
||||
- rk_rng->clk_bulks[i].id = rk_rng->soc_data->clks[i];
|
||||
-
|
||||
- rk_rng->mem = devm_of_iomap(&pdev->dev, pdev->dev.of_node, 0, NULL);
|
||||
+ rk_rng->mem = devm_of_iomap(&pdev->dev, pdev->dev.of_node, 0, &map_size);
|
||||
if (IS_ERR(rk_rng->mem))
|
||||
return PTR_ERR(rk_rng->mem);
|
||||
|
||||
- ret = devm_clk_bulk_get(&pdev->dev, rk_rng->clk_num,
|
||||
- rk_rng->clk_bulks);
|
||||
- if (ret) {
|
||||
+ /* compatible with crypto v2 module */
|
||||
+ /*
|
||||
+ * With old dtsi configurations, the RNG base was equal to the crypto
|
||||
+ * base, so both drivers could not be enabled at the same time.
|
||||
+ * RNG base = CRYPTO base + RNG offset
|
||||
+ * (Since RK356X, RNG module is no longer belongs to CRYPTO module)
|
||||
+ *
|
||||
+ * With new dtsi configurations, CRYPTO regs is divided into two parts
|
||||
+ * |---cipher---|---rng---|---pka---|, and RNG base is real RNG base.
|
||||
+ * RNG driver and CRYPTO driver could be enabled at the same time.
|
||||
+ */
|
||||
+ if (map_size > rk_rng->soc_data->default_offset)
|
||||
+ rk_rng->mem += rk_rng->soc_data->default_offset;
|
||||
+
|
||||
+ rk_rng->clk_num = devm_clk_bulk_get_all(&pdev->dev, &rk_rng->clk_bulks);
|
||||
+ if (rk_rng->clk_num < 0) {
|
||||
dev_err(&pdev->dev, "failed to get clks property\n");
|
||||
- return ret;
|
||||
+ return -ENODEV;
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, rk_rng);
|
||||
|
||||
pm_runtime_set_autosuspend_delay(&pdev->dev,
|
||||
- ROCKCHIP_AUTOSUSPEND_DELAY);
|
||||
+ ROCKCHIP_AUTOSUSPEND_DELAY);
|
||||
pm_runtime_use_autosuspend(&pdev->dev);
|
||||
pm_runtime_enable(&pdev->dev);
|
||||
|
||||
@@ -284,6 +449,10 @@ static int rk_rng_probe(struct platform_device *pdev)
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
}
|
||||
|
||||
+ /* for some platform need hardware operation when probe */
|
||||
+ if (rk_rng->soc_data->rk_rng_init)
|
||||
+ ret = rk_rng->soc_data->rk_rng_init(&rk_rng->rng);
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -306,10 +475,11 @@ static int rk_rng_runtime_resume(struct device *dev)
|
||||
|
||||
static const struct dev_pm_ops rk_rng_pm_ops = {
|
||||
SET_RUNTIME_PM_OPS(rk_rng_runtime_suspend,
|
||||
- rk_rng_runtime_resume, NULL)
|
||||
+ rk_rng_runtime_resume, NULL)
|
||||
SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
|
||||
pm_runtime_force_resume)
|
||||
};
|
||||
+
|
||||
#endif
|
||||
|
||||
static struct platform_driver rk_rng_driver = {
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Piotr Szczepanik <piter75@gmail.com>
|
||||
Date: Sun, 24 Jan 2021 16:14:06 +0100
|
||||
Subject: add possibility of disabling rk808-rtc
|
||||
|
||||
To disable rk808-rtc driver from loading for specific board
|
||||
add the following stanza to rk808 node in device tree:
|
||||
|
||||
rtc {
|
||||
compatible = "rk808-rtc";
|
||||
status = "disabled";
|
||||
}
|
||||
|
||||
This is needed for roc-rk3399-pc plus (a.k.a. Station P1).
|
||||
Without the change rk808's rtc is initialised and used for time keeping
|
||||
although there is another rtc (hym8563) that should be actually used.
|
||||
|
||||
Signed-off-by: Piotr Szczepanik <piter75@gmail.com>
|
||||
---
|
||||
drivers/mfd/mfd-core.c | 2 +-
|
||||
drivers/mfd/rk808.c | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
|
||||
index 16d1861e9682..289fc5627484 100644
|
||||
--- a/drivers/mfd/mfd-core.c
|
||||
+++ b/drivers/mfd/mfd-core.c
|
||||
@@ -232,7 +232,7 @@ static int mfd_add_device(struct device *parent, int id,
|
||||
}
|
||||
|
||||
if (!pdev->dev.of_node)
|
||||
- pr_warn("%s: Failed to locate of_node [id: %d]\n",
|
||||
+ pr_debug("%s: Failed to locate of_node [id: %d]\n",
|
||||
cell->name, platform_id);
|
||||
}
|
||||
|
||||
diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c
|
||||
index 0f22ef61e817..f8291b84c95e 100644
|
||||
--- a/drivers/mfd/rk808.c
|
||||
+++ b/drivers/mfd/rk808.c
|
||||
@@ -158,6 +158,7 @@ static const struct mfd_cell rk808s[] = {
|
||||
{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
|
||||
{
|
||||
.name = "rk808-rtc",
|
||||
+ .of_compatible = "rk808-rtc",
|
||||
.num_resources = ARRAY_SIZE(rtc_resources),
|
||||
.resources = rtc_resources,
|
||||
.id = PLATFORM_DEVID_NONE,
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: schwar3kat <61094841+schwar3kat@users.noreply.github.com>
|
||||
Date: Sat, 7 May 2022 15:51:38 +0200
|
||||
Subject: [ARCHEOLOGY] Enable rockchip64: XHCI HCD USB TRB ENT quirk for RK3328
|
||||
(#3763)
|
||||
|
||||
> X-Git-Archeology: > recovered message: > This resolves a bug that affects r8153b USB network interface causing the RX interface to hang on load.
|
||||
> X-Git-Archeology: > recovered message: > On some xHCI controllers (e.g. Rockchip RK3399/RK3328/RK1808),
|
||||
> X-Git-Archeology: > recovered message: > they need to enable the ENT flag in the TRB data structure
|
||||
> X-Git-Archeology: > recovered message: > to force xHC to prefetch the next TRB of a TD.
|
||||
> X-Git-Archeology: > recovered message: > The quirk patch is already applied to dwc3 xhci usb on rockchip64.
|
||||
> X-Git-Archeology: > recovered message: > Enable the quirk on RK3328 through device tree node properties in rk3328.dtsi
|
||||
> X-Git-Archeology: - Revision 5e477fd42c734794edc13efd474ad1099d449446: https://github.com/armbian/build/commit/5e477fd42c734794edc13efd474ad1099d449446
|
||||
> X-Git-Archeology: Date: Sat, 07 May 2022 15:51:38 +0200
|
||||
> X-Git-Archeology: From: schwar3kat <61094841+schwar3kat@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Enable rockchip64: XHCI HCD USB TRB ENT quirk for RK3328 (#3763)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
index 1121c11abaa1..7a7bf3aafd31 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
@@ -1029,6 +1029,7 @@ usbdrd3: usb@ff600000 {
|
||||
snps,dis-del-phy-power-chg-quirk;
|
||||
snps,dis_enblslpm_quirk;
|
||||
snps,dis-tx-ipgap-linecheck-quirk;
|
||||
+ snps,xhci-trb-ent-quirk;
|
||||
snps,dis-u2-freeclk-exists-quirk;
|
||||
snps,dis_u2_susphy_quirk;
|
||||
snps,dis_u3_susphy_quirk;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Piotr Szczepanik <piter75@gmail.com>
|
||||
Date: Tue, 2 Mar 2021 21:07:22 +0100
|
||||
Subject: allows to change the way that BUCK1 and BUCK2 of rk808 PMIC
|
||||
|
||||
This patch allows to change the way that BUCK1 and BUCK2 of rk808 PMIC set voltage.
|
||||
|
||||
It allows to change the hardcoded max. 100mV per one change
|
||||
to any multiple of 12.5mV while keeping the 100mV default.
|
||||
|
||||
It was observed that making the steps smaller (eg. 50mV = 4 * 12.5mV)
|
||||
makes the NanoPi M4V2 running stable.
|
||||
|
||||
One can configure the max number of steps per single change using
|
||||
the "max-buck-steps-per-change" property of rk808 node in device tree.
|
||||
|
||||
Below example ensures that voltage is not changed in jumps larger than 50mV:
|
||||
|
||||
&rk808 {
|
||||
max-buck-steps-per-change = <4>;
|
||||
}
|
||||
|
||||
Be aware that changing this parameter affects the time taken to switch between
|
||||
OPPs of LiTTLE cores of rk3399.
|
||||
|
||||
For overclocked LiTTLE cores with base 408MHz @ 0.825V
|
||||
and max. 1.5GHz @ 1.2V it will take 7 steps of 50mV (at least 65uS each - caused by i2c),
|
||||
the final 25mV step and 1uS to settle: 7 x 65uS + 1uS = 456uS.
|
||||
|
||||
With default setting it would be 3 steps of 100mV (at least 65uS each - caused by i2c),
|
||||
the final 75mV step and 1uS to settle: 3 x 65uS + 1uS = 196uS.
|
||||
|
||||
Signed-off-by: Piotr Szczepanik <piter75@gmail.com>
|
||||
|
||||
> X-Git-Archeology: > recovered message: > * Explicitly set vdd_log voltage for NanoPi M4V2 - possibly fix stability issues
|
||||
> X-Git-Archeology: > recovered message: > * Regulator tweaks for NanoPi M4V2
|
||||
> X-Git-Archeology: > recovered message: > * Add vdd_log to kernel and switch vdd_center back to 900mV
|
||||
> X-Git-Archeology: > recovered message: > * Switch vdd_center to 0.95
|
||||
> X-Git-Archeology: > recovered message: > * Make rk80x bucks voltage steps shorter to make the NanoPi M4V2 stable
|
||||
> X-Git-Archeology: > recovered message: > * Tweak u-boot config for NanoPi M4V2
|
||||
> X-Git-Archeology: > recovered message: > * Made the rk808 voltage steps configurable and configured 50mV for NanoPi M4V2
|
||||
> X-Git-Archeology: - Revision a6ee913fae3afc7ae74bb1fdaf1f571ec30493ac: https://github.com/armbian/build/commit/a6ee913fae3afc7ae74bb1fdaf1f571ec30493ac
|
||||
> X-Git-Archeology: Date: Tue, 02 Mar 2021 21:07:22 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: NanoPi M4V2 stability fix for current and dev (#2663)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6b490e16944b30ff69bf9c13678905187df0d9d4: https://github.com/armbian/build/commit/6b490e16944b30ff69bf9c13678905187df0d9d4
|
||||
> X-Git-Archeology: Date: Tue, 11 Jan 2022 15:26:11 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel edge to 5.16 (#3387)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision f52a4193d02ef88333ba117c68d49486dfd7ff41: https://github.com/armbian/build/commit/f52a4193d02ef88333ba117c68d49486dfd7ff41
|
||||
> X-Git-Archeology: Date: Sun, 20 Mar 2022 22:58:21 +0100
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: Adding Pine64 Quartz64a as WIP target (#3539)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0afe24c95729044910e0b3f84dc5500bcdc6524c: https://github.com/armbian/build/commit/0afe24c95729044910e0b3f84dc5500bcdc6524c
|
||||
> X-Git-Archeology: Date: Sun, 24 Apr 2022 22:33:47 +0200
|
||||
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
|
||||
> X-Git-Archeology: Subject: move kernel media edge to 5.17 (#3704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
drivers/regulator/rk808-regulator.c | 17 +++++++---
|
||||
1 file changed, 13 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c
|
||||
index fa9fc1aa1ae3..94f359b88dea 100644
|
||||
--- a/drivers/regulator/rk808-regulator.c
|
||||
+++ b/drivers/regulator/rk808-regulator.c
|
||||
@@ -155,6 +155,7 @@
|
||||
|
||||
struct rk808_regulator_data {
|
||||
struct gpio_desc *dvs_gpio[2];
|
||||
+ unsigned max_buck_steps_per_change;
|
||||
};
|
||||
|
||||
static const struct linear_range rk808_ldo3_voltage_ranges[] = {
|
||||
@@ -240,7 +241,8 @@ static int rk808_buck1_2_get_voltage_sel_regmap(struct regulator_dev *rdev)
|
||||
}
|
||||
|
||||
static int rk808_buck1_2_i2c_set_voltage_sel(struct regulator_dev *rdev,
|
||||
- unsigned sel)
|
||||
+ unsigned sel,
|
||||
+ int max_steps)
|
||||
{
|
||||
int ret, delta_sel;
|
||||
unsigned int old_sel, tmp, val, mask = rdev->desc->vsel_mask;
|
||||
@@ -259,8 +261,8 @@ static int rk808_buck1_2_i2c_set_voltage_sel(struct regulator_dev *rdev,
|
||||
* the risk of overshoot. Put it into a multi-step, can effectively
|
||||
* avoid this problem, a step is 100mv here.
|
||||
*/
|
||||
- while (delta_sel > MAX_STEPS_ONE_TIME) {
|
||||
- old_sel += MAX_STEPS_ONE_TIME;
|
||||
+ while (delta_sel > max_steps) {
|
||||
+ old_sel += max_steps;
|
||||
val = old_sel << (ffs(mask) - 1);
|
||||
val |= tmp;
|
||||
|
||||
@@ -294,12 +296,13 @@ static int rk808_buck1_2_set_voltage_sel(struct regulator_dev *rdev,
|
||||
struct rk808_regulator_data *pdata = rdev_get_drvdata(rdev);
|
||||
int id = rdev_get_id(rdev);
|
||||
struct gpio_desc *gpio = pdata->dvs_gpio[id];
|
||||
+ int max_steps = pdata->max_buck_steps_per_change;
|
||||
unsigned int reg = rdev->desc->vsel_reg;
|
||||
unsigned old_sel;
|
||||
int ret, gpio_level;
|
||||
|
||||
if (!gpio)
|
||||
- return rk808_buck1_2_i2c_set_voltage_sel(rdev, sel);
|
||||
+ return rk808_buck1_2_i2c_set_voltage_sel(rdev, sel, max_steps);
|
||||
|
||||
gpio_level = gpiod_get_value(gpio);
|
||||
if (gpio_level == 0) {
|
||||
@@ -1277,6 +1280,12 @@ static int rk808_regulator_dt_parse_pdata(struct device *dev,
|
||||
0 : tmp);
|
||||
}
|
||||
|
||||
+ tmp = of_property_read_u32(client_dev->of_node, "max-buck-steps-per-change", &pdata->max_buck_steps_per_change);
|
||||
+ if (tmp) {
|
||||
+ pdata->max_buck_steps_per_change = MAX_STEPS_ONE_TIME;
|
||||
+ }
|
||||
+ dev_info(dev, "max buck steps per change: %d\n", pdata->max_buck_steps_per_change);
|
||||
+
|
||||
dt_parse_end:
|
||||
of_node_put(np);
|
||||
return ret;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Ayotte <martinayotte@yahoo.ca>
|
||||
Date: Wed, 5 Dec 2018 15:00:44 -0500
|
||||
Subject: add overlays framework for rockchip (scripts/Makefile.lib only)
|
||||
|
||||
- rpardini: real overlays are now bare in "overlay" directory and are handled
|
||||
directly by the patching scripts. No more null-patching of overlays.
|
||||
---
|
||||
scripts/Makefile.lib | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
|
||||
index 1680499136ee..9bfbceb659b5 100644
|
||||
--- a/scripts/Makefile.lib
|
||||
+++ b/scripts/Makefile.lib
|
||||
@@ -88,6 +88,9 @@ base-dtb-y := $(foreach m, $(multi-dtb-y), $(firstword $(call suffix-search, $m,
|
||||
|
||||
always-y += $(dtb-y)
|
||||
|
||||
+# Overlay targets
|
||||
+extra-y += $(dtbo-y) $(scr-y) $(dtbotxt-y)
|
||||
+
|
||||
# Add subdir path
|
||||
|
||||
ifneq ($(obj),.)
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Piotr Szczepanik <piter75@gmail.com>
|
||||
Date: Sun, 5 Apr 2020 18:15:06 +0200
|
||||
Subject: [ARCHEOLOGY] Fixed sound from rt5651 on OrangePi 4 (#1870)
|
||||
|
||||
> X-Git-Archeology: - Revision e14a61c229db1216fedc397e351c4bed15df820e: https://github.com/armbian/build/commit/e14a61c229db1216fedc397e351c4bed15df820e
|
||||
> X-Git-Archeology: Date: Sun, 05 Apr 2020 18:15:06 +0200
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Fixed sound from rt5651 on OrangePi 4 (#1870)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
|
||||
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
|
||||
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
|
||||
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
|
||||
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
|
||||
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
|
||||
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
|
||||
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
|
||||
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
|
||||
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
|
||||
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
|
||||
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
|
||||
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
|
||||
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
|
||||
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
|
||||
> X-Git-Archeology:
|
||||
> X-Git-Archeology: - Revision 34ae84fac5d0b66a1ab2d1e51534b7beb13ef245: https://github.com/armbian/build/commit/34ae84fac5d0b66a1ab2d1e51534b7beb13ef245
|
||||
> X-Git-Archeology: Date: Fri, 05 May 2023 14:22:00 +0200
|
||||
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
|
||||
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
sound/soc/codecs/rt5651.c | 16 ++++++++++
|
||||
sound/soc/codecs/rt5651.h | 1 +
|
||||
2 files changed, 17 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/codecs/rt5651.c b/sound/soc/codecs/rt5651.c
|
||||
index df90af906563..28e5b6fb9d8f 100644
|
||||
--- a/sound/soc/codecs/rt5651.c
|
||||
+++ b/sound/soc/codecs/rt5651.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <sound/initval.h>
|
||||
#include <sound/tlv.h>
|
||||
#include <sound/jack.h>
|
||||
+#include <linux/clk.h>
|
||||
|
||||
#include "rl6231.h"
|
||||
#include "rt5651.h"
|
||||
@@ -1511,6 +1512,7 @@ static int rt5651_set_dai_pll(struct snd_soc_dai *dai, int pll_id, int source,
|
||||
static int rt5651_set_bias_level(struct snd_soc_component *component,
|
||||
enum snd_soc_bias_level level)
|
||||
{
|
||||
+ struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component);
|
||||
switch (level) {
|
||||
case SND_SOC_BIAS_PREPARE:
|
||||
if (SND_SOC_BIAS_STANDBY == snd_soc_component_get_bias_level(component)) {
|
||||
@@ -1518,6 +1520,13 @@ static int rt5651_set_bias_level(struct snd_soc_component *component,
|
||||
snd_soc_component_update_bits(component, RT5651_D_MISC,
|
||||
0xc00, 0xc00);
|
||||
}
|
||||
+ if (!IS_ERR(rt5651->mclk)){
|
||||
+ if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_ON) {
|
||||
+ clk_disable_unprepare(rt5651->mclk);
|
||||
+ } else {
|
||||
+ clk_prepare_enable(rt5651->mclk);
|
||||
+ }
|
||||
+ }
|
||||
break;
|
||||
case SND_SOC_BIAS_STANDBY:
|
||||
if (SND_SOC_BIAS_OFF == snd_soc_component_get_bias_level(component)) {
|
||||
@@ -2059,6 +2068,13 @@ static int rt5651_probe(struct snd_soc_component *component)
|
||||
{
|
||||
struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
+ /* Check if MCLK provided */
|
||||
+ rt5651->mclk = devm_clk_get(component->dev, "mclk");
|
||||
+ if (PTR_ERR(rt5651->mclk) == -EPROBE_DEFER){
|
||||
+ dev_err(component->dev, "unable to get mclk\n");
|
||||
+ return -EPROBE_DEFER;
|
||||
+ }
|
||||
+
|
||||
rt5651->component = component;
|
||||
|
||||
snd_soc_component_update_bits(component, RT5651_PWR_ANLG1,
|
||||
diff --git a/sound/soc/codecs/rt5651.h b/sound/soc/codecs/rt5651.h
|
||||
index 20c33a3ece37..17524fa9fdfc 100644
|
||||
--- a/sound/soc/codecs/rt5651.h
|
||||
+++ b/sound/soc/codecs/rt5651.h
|
||||
@@ -2097,6 +2097,7 @@ struct rt5651_priv {
|
||||
|
||||
int dmic_en;
|
||||
bool hp_mute;
|
||||
+ struct clk *mclk;
|
||||
};
|
||||
|
||||
#endif /* __RT5651_H__ */
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Sat, 1 May 2021 12:41:14 +0000
|
||||
Subject: Workaround to make several broadcom bluetooth serdev devices work
|
||||
even without proper MAC address
|
||||
|
||||
---
|
||||
drivers/bluetooth/btbcm.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c
|
||||
index de2ea589aa49..df197c3a7894 100644
|
||||
--- a/drivers/bluetooth/btbcm.c
|
||||
+++ b/drivers/bluetooth/btbcm.c
|
||||
@@ -129,7 +129,7 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
|
||||
if (btbcm_set_bdaddr_from_efi(hdev) != 0) {
|
||||
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
|
||||
&bda->bdaddr);
|
||||
- set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
|
||||
+ //set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Sun, 26 Jul 2020 02:38:31 +0200
|
||||
Subject: net: usb: r8152: add LED configuration from OF
|
||||
|
||||
This adds the ability to configure the LED configuration register using
|
||||
OF. This way, the correct value for board specific LED configuration can
|
||||
be determined.
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
drivers/net/usb/r8152.c | 23 ++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
|
||||
index 0999a58ca9d2..2dcf32644cdc 100644
|
||||
--- a/drivers/net/usb/r8152.c
|
||||
+++ b/drivers/net/usb/r8152.c
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <linux/mii.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/usb.h>
|
||||
+#include <linux/of.h>
|
||||
#include <linux/crc32.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/uaccess.h>
|
||||
@@ -6893,6 +6894,22 @@ static void rtl_tally_reset(struct r8152 *tp)
|
||||
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
||||
}
|
||||
|
||||
+static int r8152_led_configuration(struct r8152 *tp)
|
||||
+{
|
||||
+ u32 led_data;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = of_property_read_u32(tp->udev->dev.of_node, "realtek,led-data",
|
||||
+ &led_data);
|
||||
+
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ocp_write_word(tp, MCU_TYPE_PLA, PLA_LEDSEL, led_data);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static void r8152b_init(struct r8152 *tp)
|
||||
{
|
||||
u32 ocp_data;
|
||||
@@ -6934,6 +6951,8 @@ static void r8152b_init(struct r8152 *tp)
|
||||
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
||||
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
||||
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
||||
+
|
||||
+ r8152_led_configuration(tp);
|
||||
}
|
||||
|
||||
static void r8153_init(struct r8152 *tp)
|
||||
@@ -7074,6 +7093,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
tp->coalesce = COALESCE_SLOW;
|
||||
break;
|
||||
}
|
||||
+
|
||||
+ r8152_led_configuration(tp);
|
||||
}
|
||||
|
||||
static void r8153b_init(struct r8152 *tp)
|
||||
@@ -7156,6 +7177,8 @@ static void r8153b_init(struct r8152 *tp)
|
||||
rtl_tally_reset(tp);
|
||||
|
||||
tp->coalesce = 15000; /* 15 us */
|
||||
+
|
||||
+ r8152_led_configuration(tp);
|
||||
}
|
||||
|
||||
static void r8153c_init(struct r8152 *tp)
|
||||
--
|
||||
Armbian
|
||||
|
||||
44
patch/kernel/archive/rockchip64-6.4/overlay/Makefile
Normal file
44
patch/kernel/archive/rockchip64-6.4/overlay/Makefile
Normal file
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rockchip-i2c7.dtbo \
|
||||
rockchip-i2c8.dtbo \
|
||||
rockchip-pcie-gen2.dtbo \
|
||||
rockchip-rk3328-i2c0.dtbo \
|
||||
rockchip-rk3328-uart1.dtbo \
|
||||
rockchip-rk3328-opp-1.4ghz.dtbo \
|
||||
rockchip-rk3328-opp-1.5ghz.dtbo \
|
||||
rockchip-rk3399-opp-2ghz.dtbo \
|
||||
rockchip-rockpi4cplus-usb-host.dtbo \
|
||||
rockchip-rockpro64-lcd.dtbo \
|
||||
rockchip-spi-jedec-nor.dtbo \
|
||||
rockchip-spi-spidev.dtbo \
|
||||
rockchip-uart4.dtbo \
|
||||
rockchip-dwc3-0-host.dtbo \
|
||||
rockchip-w1-gpio.dtbo \
|
||||
rockchip-rk3318-box-led-conf1.dtbo \
|
||||
rockchip-rk3318-box-led-conf2.dtbo \
|
||||
rockchip-rk3318-box-led-conf3.dtbo \
|
||||
rockchip-rk3318-box-led-conf4.dtbo \
|
||||
rockchip-rk3318-box-emmc-ddr.dtbo \
|
||||
rockchip-rk3318-box-wlan-ap6334.dtbo \
|
||||
rockchip-rk3318-box-wlan-ext.dtbo \
|
||||
rockchip-rk3318-box-wlan-ap6330.dtbo \
|
||||
rockchip-rk3318-box-cpu-hs.dtbo \
|
||||
rockchip-rk3318-box-emmc-hs200.dtbo \
|
||||
rockchip-rk3328-i2s1-pcm5102.dtbo \
|
||||
rk3308-bs.dtbo rk3308-bs@1.3ghz.dtbo \
|
||||
rk3308-sdio@10mhz.dtbo rk3308-sdio@4mhz.dtbo \
|
||||
rk3308-emmc.dtbo
|
||||
|
||||
|
||||
scr-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rockchip-fixup.scr
|
||||
|
||||
dtbotxt-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
README.rockchip-overlays
|
||||
|
||||
targets += $(dtbo-y) $(scr-y) $(dtbotxt-y)
|
||||
|
||||
always := $(dtbo-y) $(scr-y) $(dtbotxt-y)
|
||||
clean-files := *.dtbo *.scr
|
||||
|
||||
@@ -0,0 +1,230 @@
|
||||
This document describes overlays provided in the kernel packages
|
||||
For generic Armbian overlays documentation please see
|
||||
https://docs.armbian.com/User-Guide_Allwinner_overlays/
|
||||
|
||||
### Platform:
|
||||
|
||||
rockchip (Rockchip)
|
||||
|
||||
### Provided overlays:
|
||||
|
||||
- i2c7, i2c8, pcie-gen2, spi-spidev, uart4, w1-gpio
|
||||
|
||||
for RK3308 (Rock PI-S)
|
||||
|
||||
- rk3308bs rk3308bs-1.3ghz sdio-10mhz sdio-4mhz emmc
|
||||
|
||||
### Overlay details:
|
||||
|
||||
### i2c7
|
||||
|
||||
Activates TWI/I2C bus 7
|
||||
|
||||
I2C7 pins (SCL, SDA): GPIO2-B0, GPIO2-A7 GPIO1-C5, GPIO1-C4
|
||||
|
||||
### i2c8
|
||||
|
||||
Activates TWI/I2C bus 8
|
||||
|
||||
I2C8 pins (SCL, SDA): GPIO1-C5, GPIO1-C4
|
||||
|
||||
### pcie-gen2
|
||||
|
||||
Enables PCIe Gen2 link speed on RK3399.
|
||||
WARNING! Not officially supported by Rockchip!!!
|
||||
|
||||
### rk3328-i2c0
|
||||
|
||||
Activates TWI/I2C bus 0
|
||||
|
||||
I2C0 (SCL, SDA): GPIO2-D0, GPIO2-D1
|
||||
|
||||
### rk3328-uart1
|
||||
|
||||
Activates UART1
|
||||
|
||||
UART1 pins (RX, TX): GPIO3_A6, GPIO3_A4
|
||||
|
||||
### rk3328-opp-1.4ghz
|
||||
|
||||
Adds the 1.4GHz opp for overclocking
|
||||
WARNING! Not officially supported by Rockchip!!!
|
||||
|
||||
### rk3328-opp-1.5ghz
|
||||
|
||||
Adds the 1.5GHz opp for overclocking
|
||||
WARNING! Not officially supported by Rockchip!!!
|
||||
|
||||
### rk3399-opp-2ghz
|
||||
|
||||
Adds the 2GHz big and 1.5 GHz LITTLE opps for overclocking
|
||||
WARNING! Not officially supported by Rockchip!!!
|
||||
|
||||
### rockpi4cplus-usb-host
|
||||
|
||||
Switches the top USB 3.0 port to host mode.
|
||||
WARNING! Not officially supported by Rockchip!!!
|
||||
|
||||
### spi-jedec-nor
|
||||
|
||||
Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus
|
||||
supported by the kernel SPI NOR driver
|
||||
|
||||
SPI 0 pins (MOSI, MISO, SCK, CS): GPIO3_A5, GPIO3_A4, GPIO3_A6, GPIO3_A7
|
||||
SPI 1 pins (MOSI, MISO, SCK, CS): GPIO1_A7, GPIO1_B0, GPIO1_B1, GPIO1_B2
|
||||
SPI 2 pins (MOSI, MISO, SCK, CS): GPIO1_C0, GPIO1_B7, GPIO1_C1, GPIO1_C2
|
||||
SPI 3 pins (MOSI, MISO, SCK, CS): GPIO2_B2, GPIO2_B1, GPIO2_B3, GPIO2_B4
|
||||
|
||||
Parameters:
|
||||
|
||||
param_spinor_spi_bus (int)
|
||||
SPI bus to activate SPI NOR flash support on
|
||||
Required
|
||||
Supported values: 0, 1, 2
|
||||
|
||||
param_spinor_max_freq (int)
|
||||
Maximum SPI frequency
|
||||
Optional
|
||||
Default: 1000000
|
||||
Range: 3000 - 100000000
|
||||
|
||||
### spi-spidev
|
||||
|
||||
Activates SPIdev device node (/dev/spidevX.Y) for userspace SPI access,
|
||||
where X is the bus number and Y is the CS number
|
||||
|
||||
SPI 0 pins (MOSI, MISO, SCK, CS): GPIO3_A5, GPIO3_A4, GPIO3_A6, GPIO3_A7
|
||||
SPI 1 pins (MOSI, MISO, SCK, CS): GPIO1_A7, GPIO1_B0, GPIO1_B1, GPIO1_B2
|
||||
SPI 2 pins (MOSI, MISO, SCK, CS): GPIO1_C0, GPIO1_B7, GPIO1_C1, GPIO1_C2
|
||||
SPI 3 pins (MOSI, MISO, SCK, CS): GPIO2_B2, GPIO2_B1, GPIO2_B3, GPIO2_B4
|
||||
|
||||
Parameters:
|
||||
|
||||
param_spidev_spi_bus (int)
|
||||
SPI bus to activate SPIdev support on
|
||||
Required
|
||||
Supported values: 0, 1
|
||||
|
||||
param_spidev_spi_cs (int)
|
||||
SPI chip select number
|
||||
Optional
|
||||
Default: 0
|
||||
Supported values: 0, 1
|
||||
Using chip select 1 requires using "spi-add-cs1" overlay
|
||||
|
||||
param_spidev_max_freq (int)
|
||||
Maximum SPIdev frequency
|
||||
Optional
|
||||
Default: 1000000
|
||||
Range: 3000 - 100000000
|
||||
|
||||
### uart4
|
||||
|
||||
Activates UART4
|
||||
|
||||
UART4 pins (RX, TX): GPIO1_A7, GPIO1_B0
|
||||
|
||||
Notice: UART4 cannot be activated together with SPI1 - they share the sam pins.
|
||||
Enabling this overlay disables SPI1.
|
||||
|
||||
### dwc3-0-host
|
||||
|
||||
Forces port 0 of the DesignWare xHCI controller to host mode.
|
||||
|
||||
This can be used on plaforms such as NanoPC-T4, where devices plugged into the
|
||||
USB-C port may not be detected otherwise.
|
||||
|
||||
### w1-gpio
|
||||
|
||||
Activates 1-Wire GPIO master
|
||||
Requires an external pull-up resistor on the data pin
|
||||
or enabling the internal pull-up
|
||||
|
||||
### rk3318-box-led-conf1
|
||||
|
||||
Activates led/gpio configuration for rk3318 tv box boards with signature
|
||||
YX_RK3328 and clones
|
||||
|
||||
### rk3318-box-led-conf2
|
||||
|
||||
Activates led/gpio configuration for rk3318 tv box boards withs signature
|
||||
X88_PRO_B and clones
|
||||
|
||||
### rk3318-box-led-conf3
|
||||
|
||||
This device tree overlay is suitable for MXQ-RK3328-D4_A board which
|
||||
has an integrated PMIC (RK805). The dtbo is very important to achieve
|
||||
1.3 Ghz speed for CPU and stable voltages for other parts of the
|
||||
system. Also enables gpio leds and keys.
|
||||
|
||||
### rk3318-box-led-conf4
|
||||
|
||||
Generic rk3318-box configuration but with sdio chip on sdmmc-ext connector
|
||||
|
||||
### rk3318-box-emmc-ddr
|
||||
|
||||
Activates eMMC DDR capability for rk3318 tv box boards. Probably all the eMMC chips
|
||||
nowadays support DDR mode, but its reliability heavily depends upon the quality
|
||||
of board wiring
|
||||
|
||||
### rk3318-box-emmc-hs200
|
||||
|
||||
Activates eMMC HS200 capability for rk3318 tv box boards.
|
||||
It should in autodetect mode, but some board have faulty or cheap circuitry that
|
||||
enable the mode but then it doesn't work correctly.
|
||||
|
||||
### rk3318-box-wlan-ap6334
|
||||
|
||||
Set up additional device tree bits to properly support ap6334 (broadcom BCM4334)
|
||||
wifi chip and clones
|
||||
|
||||
### rk3318-box-wlan-ext
|
||||
|
||||
Use sdmmc_ext device for sdio devices, enabled wifi on some boards (notably
|
||||
X88 Pro) which have wifi chip attached to sdmmc_ext controller.
|
||||
|
||||
### rk3318-box-wlan-ap6330
|
||||
|
||||
Set up additional device tree bits properly support ap6330 (broaccom BCM4330)
|
||||
wifi + bt chip and clones.
|
||||
|
||||
### rk3318-box-cpu-hs
|
||||
|
||||
Enable additional cpu "high-speed" bins up to 1.3ghz
|
||||
|
||||
**********************************
|
||||
Details for Rock Pi-S overlays (7 Oct 2022):
|
||||
|
||||
V1.3 of the RockPi-S uses a the B-S variant of the RK3308 that is optimized
|
||||
for lower core voltages than the older chips on the V1.2 and V1.1 boards.
|
||||
All V1.3 boards should apply the
|
||||
### rk3308-bs
|
||||
overlay to lower the core voltages to reduce power consumption.
|
||||
This also enables operation at 1.1Ghz.
|
||||
|
||||
Optionally, V1.3 boards may add the
|
||||
### rk3308-bs@1.3ghz
|
||||
to overclock the B-S CPU to 1.3Ghz.
|
||||
Add the rk3308bs-rock-pi-s-1.3Ghz overlay *after adding* rockchip-rk3308bs
|
||||
|
||||
===========
|
||||
Install the following overlays only on older (unpatched) mainline kernels:
|
||||
|
||||
Older mainline kernels disable the Rock Pi S built-in SDNAND (EMMC)
|
||||
### rk3308-emmc
|
||||
enables your SDNAND chip. It is OK to install for boards that lack the SDNAND.
|
||||
|
||||
The legacy 4.4 and this mainline kernel drive the SDIO clock at 50Mhz to provide
|
||||
maximum WiFi throughput. However...
|
||||
|
||||
Older versions of the Mainline kernel drive the SDIO clock at only 1Mhz
|
||||
This reduces WiFi throughput to < 500kB/s !
|
||||
|
||||
### rk3308-sdio@10mhz
|
||||
increases the SDIO clock to 10Mhz, providing about 2.4MB/s WiFi throughput.
|
||||
|
||||
### rk3308-sdio@4mhz
|
||||
increases the SDIO clock to only 4Mhz, providing about 1MB/s WiFi throughput.
|
||||
use this only if 10Mhz SDIO clock is unstable
|
||||
|
||||
Note that older mainline kernels cannot drive the SDIO clock faster than 10Mhz.
|
||||
39
patch/kernel/archive/rockchip64-6.4/overlay/rk3308-bs.dts
Normal file
39
patch/kernel/archive/rockchip64-6.4/overlay/rk3308-bs.dts
Normal file
@@ -0,0 +1,39 @@
|
||||
//Adjustments for Rockchip RK3308-BS suffix SOC
|
||||
//https://dl.radxa.com/rockpis/docs/sw/RK3308B-S&RK3308H-S_Software_Compatibility_Introduction_V1.0.0_20211016.pdf
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&cpu0_opp_table>;
|
||||
__overlay__ {
|
||||
opp-408000000 {
|
||||
opp-hz = /bits/ 64 <408000000>;
|
||||
opp-microvolt = <850000 850000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
opp-suspend;
|
||||
};
|
||||
opp-600000000 {
|
||||
opp-hz = /bits/ 64 <600000000>;
|
||||
opp-microvolt = <900000 900000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
opp-816000000 {
|
||||
opp-hz = /bits/ 64 <816000000>;
|
||||
opp-microvolt = <1000000 1000000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
opp-1008000000 {
|
||||
opp-hz = /bits/ 64 <1008000000>;
|
||||
opp-microvolt = <1125000 1125000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
opp-1104000000 {
|
||||
opp-hz = /bits/ 64 <1104000000>;
|
||||
opp-microvolt = <1200000 1200000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
//Overclock the Rockchip RK3308-BS suffix SOC to 1.3 Ghz
|
||||
// assumes rk3308bs-rock-pi-s.dts overlay has already been added
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&cpu0_opp_table>;
|
||||
__overlay__ {
|
||||
//the following are unsupported, overclocked operating points
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <1200000 1200000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
status = "okay";
|
||||
};
|
||||
opp-1296000000 {
|
||||
opp-hz = /bits/ 64 <1296000000>;
|
||||
opp-microvolt = <1200000 1200000 1200000>;
|
||||
clock-latency-ns = <40000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
13
patch/kernel/archive/rockchip64-6.4/overlay/rk3308-emmc.dts
Normal file
13
patch/kernel/archive/rockchip64-6.4/overlay/rk3308-emmc.dts
Normal file
@@ -0,0 +1,13 @@
|
||||
//For RockPI-S: enable SDnand chip
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&emmc>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
//For RockPI-S: Increase SDIO Max Frequency from 1Mhz to 10Mhz
|
||||
//Increases RTL8723-BS WiFi's throughput from 300KB/s to 2.4MB/s
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&sdio>;
|
||||
__overlay__ {
|
||||
max-frequency = <10000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
//For RockPI-S: Increase SDIO Max Frequency from 1Mhz to 4Mhz
|
||||
//Increases RTL8723-BS WiFi's throughput from 300KB/s to 1MB/s
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&sdio>;
|
||||
__overlay__ {
|
||||
max-frequency = <4000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
compatible = "rockchip,rk3399";
|
||||
|
||||
fragment@0 {
|
||||
target = <&usbdrd_dwc3_0>;
|
||||
__overlay__ {
|
||||
dr_mode = "host";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,62 @@
|
||||
# overlays fixup script
|
||||
# implements (or rather substitutes) overlay arguments functionality
|
||||
# using u-boot scripting, environment variables and "fdt" command
|
||||
|
||||
setenv decompose_pin 'setexpr tmp_pinctrl sub "GPIO(0|1|2|3|4)_\\S\\d+" "\\1";
|
||||
setexpr tmp_bank sub "GPIO\\d_(\\S)\\d+" "\\1";
|
||||
test "${tmp_bank}" = "A" && setenv tmp_bank 0;
|
||||
test "${tmp_bank}" = "B" && setenv tmp_bank 1;
|
||||
test "${tmp_bank}" = "C" && setenv tmp_bank 2;
|
||||
test "${tmp_bank}" = "D" && setenv tmp_bank 3;
|
||||
setexpr tmp_pin sub "GPIO\\d_\\S(\\d+)" "\\1";
|
||||
setexpr tmp_bank ${tmp_bank} * 8;
|
||||
setexpr tmp_pin ${tmp_bank} + ${tmp_pin}'
|
||||
|
||||
|
||||
if test -n "${param_spinor_spi_bus}"; then
|
||||
test "${param_spinor_spi_bus}" = "0" && setenv tmp_spi_path "spi@ff1c0000"
|
||||
test "${param_spinor_spi_bus}" = "1" && setenv tmp_spi_path "spi@ff1d0000"
|
||||
test "${param_spinor_spi_bus}" = "2" && setenv tmp_spi_path "spi@ff1e0000"
|
||||
test "${param_spinor_spi_bus}" = "3" && setenv tmp_spi_path "spi@ff1f0000"
|
||||
fdt set /${tmp_spi_path} status "okay"
|
||||
fdt set /${tmp_spi_path}/spiflash@0 status "okay"
|
||||
if test -n "${param_spinor_max_freq}"; then
|
||||
fdt set /${tmp_spi_path}/spiflash@0 spi-max-frequency "<${param_spinor_max_freq}>"
|
||||
fi
|
||||
if test "${param_spinor_spi_cs}" = "1"; then
|
||||
fdt set /${tmp_spi_path}/spiflash@0 reg "<1>"
|
||||
fi
|
||||
env delete tmp_spi_path
|
||||
fi
|
||||
|
||||
if test -n "${param_spidev_spi_bus}"; then
|
||||
test "${param_spidev_spi_bus}" = "0" && setenv tmp_spi_path "spi@ff1c0000"
|
||||
test "${param_spidev_spi_bus}" = "1" && setenv tmp_spi_path "spi@ff1d0000"
|
||||
test "${param_spidev_spi_bus}" = "2" && setenv tmp_spi_path "spi@ff1e0000"
|
||||
test "${param_spidev_spi_bus}" = "3" && setenv tmp_spi_path "spi@ff1f0000"
|
||||
fdt set /${tmp_spi_path} status "okay"
|
||||
fdt set /${tmp_spi_path}/spidev status "okay"
|
||||
if test -n "${param_spidev_max_freq}"; then
|
||||
fdt set /${tmp_spi_path}/spidev spi-max-frequency "<${param_spidev_max_freq}>"
|
||||
fi
|
||||
if test "${param_spidev_spi_cs}" = "1"; then
|
||||
fdt set /${tmp_spi_path}/spidev reg "<1>";
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "${param_w1_pin}"; then
|
||||
setenv tmp_pinctrl "${param_w1_pin}"
|
||||
setenv tmp_bank "${param_w1_pin}"
|
||||
setenv tmp_pin "${param_w1_pin}"
|
||||
run decompose_pin
|
||||
#echo "${param_w1_pin} ---> pinctrl = ${tmp_pinctrl}"
|
||||
#echo "${param_w1_pin} ---> bank = ${tmp_bank}"
|
||||
#echo "${param_w1_pin} ---> pin = ${tmp_pin}"
|
||||
fdt get value tmp_pinctrl /__symbols__ gpio${tmp_pinctrl}
|
||||
#echo "${param_w1_pin} ---> tmp_pinctrl = ${tmp_pinctrl}"
|
||||
fdt get value tmp_phandle ${tmp_pinctrl} phandle
|
||||
#echo "${param_w1_pin} ---> tmp_phandle = ${tmp_phandle}"
|
||||
fdt set /onewire@0 gpios "<${tmp_phandle} 0x000000${tmp_pin} 0 0>"
|
||||
env delete tmp_pinctrl tmp_bank tmp_pin tmp_phandle
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
compatible = "rockchip,rk3399";
|
||||
fragment@0 {
|
||||
target-path = "/i2c@ff160000";
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,11 @@
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
compatible = "rockchip,rk3399";
|
||||
fragment@0 {
|
||||
target-path = "/i2c@ff3e0000";
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
compatible = "rockchip,rk3399";
|
||||
fragment@0 {
|
||||
target = <&pcie0>;
|
||||
__overlay__ {
|
||||
max-link-speed = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,24 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
|
||||
fragment@0 {
|
||||
target-path = "/opp_table0/opp-1200000000";
|
||||
__overlay__ {
|
||||
|
||||
status = "okay";
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target-path = "/opp_table0/opp-1296000000";
|
||||
__overlay__ {
|
||||
|
||||
status = "okay";
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
|
||||
fragment@0 {
|
||||
target = <&emmc>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
mmc-ddr-1_8v;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
|
||||
fragment@0 {
|
||||
target = <&emmc>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
mmc-hs200-1_8v;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@@ -0,0 +1,49 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
|
||||
/**
|
||||
* Generic rk3318 board with base common configuration.
|
||||
* Some boards with this configuration have signature: YX_RK3318 (circular board), RK3318_V1.x
|
||||
*/
|
||||
|
||||
&gpio_led {
|
||||
|
||||
working {
|
||||
gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "mmc2";
|
||||
};
|
||||
|
||||
/*
|
||||
* no auxiliary led on YX_RK3328 boards
|
||||
*
|
||||
auxiliary {
|
||||
gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
|
||||
label = "auxiliary";
|
||||
linux,default-trigger = "mmc2";
|
||||
default-state = "off";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gpio_led_aux>;
|
||||
};
|
||||
*/
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
* TODO: needs to find the GPIO for this
|
||||
*
|
||||
&gpio_keys {
|
||||
|
||||
reset {
|
||||
gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_LOW>;
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
debounce-interval = <200>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
};
|
||||
*/
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user