mirror of
https://github.com/armbian/build.git
synced 2026-09-08 23:59:54 +08:00
SpacemiT K1: Musebook: Add to current branch
Update board conf Drop in k1-musebook.dts Add needed modules and misc to current defconfig Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
This commit is contained in:
committed by
c0rnelius
parent
a9ff8fb6d5
commit
652cbc06a0
@@ -4,7 +4,7 @@ BOARDFAMILY="spacemit"
|
||||
BOARD_MAINTAINER="pyavitz"
|
||||
INTRODUCED="2024"
|
||||
BOARD_VENDOR="spacemit"
|
||||
KERNEL_TARGET="legacy"
|
||||
KERNEL_TARGET="legacy,current"
|
||||
PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools"
|
||||
MODULES_BLACKLIST="rtw89_8852be"
|
||||
|
||||
@@ -38,6 +38,7 @@ function post_family_tweaks_bsp__musebook_extras() {
|
||||
|
||||
function pre_install_kernel_debs__extra_boot_args() {
|
||||
display_alert "$BOARD" "Add extra boot arguments" "info"
|
||||
run_host_command_logged echo "bootlogo=true" >> "${SDCARD}"/boot/armbianEnv.txt
|
||||
run_host_command_logged echo "extraargs=net.ifnames=0 plymouth.prefer-fbcon clk_ignore_unused" >> "${SDCARD}"/boot/armbianEnv.txt
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -114,7 +114,10 @@ CONFIG_TCP_CONG_VENO=m
|
||||
CONFIG_TCP_CONG_YEAH=m
|
||||
CONFIG_TCP_CONG_ILLINOIS=m
|
||||
CONFIG_TCP_CONG_CDG=m
|
||||
CONFIG_IPV6_VTI=m
|
||||
CONFIG_IPV6_SIT=m
|
||||
CONFIG_IPV6_SIT_6RD=y
|
||||
CONFIG_IPV6_GRE=m
|
||||
CONFIG_NETFILTER=y
|
||||
CONFIG_BRIDGE_NETFILTER=m
|
||||
CONFIG_NETFILTER_NETLINK_HOOK=m
|
||||
@@ -590,6 +593,7 @@ CONFIG_WIREGUARD=m
|
||||
CONFIG_MACVLAN=m
|
||||
CONFIG_IPVLAN=m
|
||||
CONFIG_VXLAN=m
|
||||
CONFIG_GENEVE=m
|
||||
CONFIG_PFCP=m
|
||||
CONFIG_AMT=m
|
||||
CONFIG_MACSEC=m
|
||||
@@ -753,6 +757,7 @@ CONFIG_RTW89_8852BTE=m
|
||||
CONFIG_RTW89_8852CE=m
|
||||
CONFIG_RTW89_8922AE=m
|
||||
CONFIG_RTL8852BS=m
|
||||
CONFIG_RTL8852BE=m
|
||||
# CONFIG_WLAN_VENDOR_RSI is not set
|
||||
# CONFIG_WLAN_VENDOR_SILABS is not set
|
||||
# CONFIG_WLAN_VENDOR_ST is not set
|
||||
@@ -948,12 +953,20 @@ CONFIG_REGULATOR_SPACEMIT=y
|
||||
CONFIG_RC_CORE=y
|
||||
CONFIG_RC_DEVICES=y
|
||||
CONFIG_IR_SPACEMIT=y
|
||||
CONFIG_MEDIA_CEC_SUPPORT=y
|
||||
CONFIG_CEC_CH7322=m
|
||||
CONFIG_CEC_GPIO=m
|
||||
CONFIG_USB_PULSE8_CEC=m
|
||||
CONFIG_USB_RAINSHADOW_CEC=m
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
|
||||
CONFIG_MEDIA_SUPPORT_FILTER=y
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
|
||||
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
||||
CONFIG_MEDIA_RADIO_SUPPORT=y
|
||||
CONFIG_MEDIA_SDR_SUPPORT=y
|
||||
CONFIG_MEDIA_PLATFORM_SUPPORT=y
|
||||
CONFIG_MEDIA_TEST_SUPPORT=y
|
||||
# CONFIG_DVB_NET is not set
|
||||
# CONFIG_DVB_DYNAMIC_MINORS is not set
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
@@ -990,7 +1003,13 @@ CONFIG_DVB_PLATFORM_DRIVERS=y
|
||||
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y
|
||||
CONFIG_VIDEO_MUX=y
|
||||
CONFIG_VIDEO_LINLON_K1X=m
|
||||
CONFIG_VIDEO_LINLON_K1X=y
|
||||
CONFIG_SPACEMIT_K1X_CAMERA_V2=y
|
||||
CONFIG_SPACEMIT_K1X_VI_V2=m
|
||||
CONFIG_SPACEMIT_K1X_VI_IOMMU=y
|
||||
CONFIG_SPACEMIT_K1X_ISP_V2=m
|
||||
CONFIG_SPACEMIT_K1X_CPP_V2=m
|
||||
CONFIG_SPACEMIT_K1X_SENSOR_V2=m
|
||||
CONFIG_DVB_M88DS3103=m
|
||||
CONFIG_DVB_AF9013=m
|
||||
CONFIG_DVB_RTL2830=m
|
||||
@@ -1008,14 +1027,38 @@ CONFIG_DRM=y
|
||||
CONFIG_DRM_SPACEMIT=y
|
||||
CONFIG_SPACEMIT_MIPI_PANEL=y
|
||||
CONFIG_SPACEMIT_HDMI=y
|
||||
# CONFIG_DRM_LT8911EXB is not set
|
||||
# CONFIG_DRM_LT9711 is not set
|
||||
CONFIG_POWERVR_ROGUE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_SIMPLE=m
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
CONFIG_LCD_L4F00242T03=m
|
||||
CONFIG_LCD_LMS283GF05=m
|
||||
CONFIG_LCD_LTV350QV=m
|
||||
CONFIG_LCD_ILI922X=m
|
||||
CONFIG_LCD_TDO24M=m
|
||||
CONFIG_LCD_VGG2432A4=m
|
||||
CONFIG_LCD_PLATFORM=m
|
||||
CONFIG_LCD_AMS369FG06=m
|
||||
CONFIG_LCD_LMS501KF03=m
|
||||
CONFIG_LCD_HX8357=m
|
||||
CONFIG_LCD_OTM3225A=m
|
||||
CONFIG_BACKLIGHT_KTD253=m
|
||||
CONFIG_BACKLIGHT_KTD2801=m
|
||||
CONFIG_BACKLIGHT_KTZ8866=m
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
CONFIG_BACKLIGHT_QCOM_WLED=m
|
||||
CONFIG_BACKLIGHT_ADP8860=m
|
||||
CONFIG_BACKLIGHT_ADP8870=m
|
||||
CONFIG_BACKLIGHT_LM3509=m
|
||||
CONFIG_BACKLIGHT_LM3630A=m
|
||||
CONFIG_BACKLIGHT_LM3639=m
|
||||
CONFIG_BACKLIGHT_LP855X=m
|
||||
CONFIG_BACKLIGHT_MP3309C=m
|
||||
CONFIG_BACKLIGHT_GPIO=y
|
||||
CONFIG_BACKLIGHT_LV5207LP=m
|
||||
CONFIG_BACKLIGHT_BD6107=m
|
||||
CONFIG_BACKLIGHT_ARCXCNN=m
|
||||
CONFIG_BACKLIGHT_LED=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
|
||||
@@ -1146,6 +1189,12 @@ CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_OF_K1X=y
|
||||
CONFIG_SCSI_UFSHCD=y
|
||||
CONFIG_SCSI_UFS_BSG=y
|
||||
CONFIG_SCSI_UFS_HWMON=y
|
||||
CONFIG_SCSI_UFSHCD_PCI=y
|
||||
CONFIG_SCSI_UFSHCD_PLATFORM=y
|
||||
CONFIG_SCSI_UFS_CDNS_PLATFORM=m
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
@@ -1235,8 +1284,6 @@ CONFIG_SPACEMIT_DDRBW=y
|
||||
CONFIG_CHIP_MEDIA_JPU=y
|
||||
CONFIG_SPACEMIT_V2D=y
|
||||
CONFIG_SPACEMIT_RFKILL=y
|
||||
CONFIG_PM_DEVFREQ=y
|
||||
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
|
||||
CONFIG_DEVFREQ_GOV_PERFORMANCE=m
|
||||
CONFIG_DEVFREQ_GOV_POWERSAVE=m
|
||||
CONFIG_DEVFREQ_GOV_USERSPACE=m
|
||||
@@ -1677,7 +1724,7 @@ CONFIG_PWM=y
|
||||
CONFIG_PWM_CLK=m
|
||||
CONFIG_PWM_DWC=m
|
||||
CONFIG_PWM_GPIO=m
|
||||
CONFIG_PWM_PXA=m
|
||||
CONFIG_PWM_PXA=y
|
||||
CONFIG_ACLINT_SSWI=y
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
CONFIG_RESET_GPIO=m
|
||||
@@ -1776,8 +1823,6 @@ CONFIG_DMA_CMA=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=8
|
||||
CONFIG_CONSOLE_LOGLEVEL_QUIET=8
|
||||
CONFIG_DEBUG_INFO_DWARF5=y
|
||||
CONFIG_DEBUG_INFO_BTF=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=60
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
From ffbdf2edbb2fd998276b01ac447c6775daacd741 Mon Sep 17 00:00:00 2001
|
||||
From: SuperKali <hello@superkali.me>
|
||||
Date: Mon, 7 Sep 2026 08:41:12 -0400
|
||||
Subject: [PATCH] drm: spacemit: lt8911exb: pick up the panel backlight from
|
||||
the DT
|
||||
|
||||
The driver registers a drm_panel but never calls drm_panel_of_backlight(),
|
||||
so panel->backlight stays NULL and drm_panel_enable() has nothing to
|
||||
unblank. pwm_bl leaves the backlight at FB_BLANK_POWERDOWN whenever the
|
||||
node carries a phandle, which dtc -@ always adds, so the panel came up lit
|
||||
by nothing at duty 0. Bind at enable time: pwm_bl registers after this
|
||||
bridge, and failing the probe on -EPROBE_DEFER would stall the DSI bind.
|
||||
|
||||
Signed-off-by: SuperKali <hello@superkali.me>
|
||||
---
|
||||
drivers/gpu/drm/spacemit/lt8911exb.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/spacemit/lt8911exb.c b/drivers/gpu/drm/spacemit/lt8911exb.c
|
||||
index 3ca4762bf..86e0fb8d5 100644
|
||||
--- a/drivers/gpu/drm/spacemit/lt8911exb.c
|
||||
+++ b/drivers/gpu/drm/spacemit/lt8911exb.c
|
||||
@@ -1124,6 +1124,10 @@ static int lt8911exb_panel_enable(struct drm_panel *panel)
|
||||
|
||||
DRM_INFO("%s()\n", __func__);
|
||||
|
||||
+ /* pwm_bl registers after this bridge, so bind the backlight here */
|
||||
+ if (!panel->backlight)
|
||||
+ drm_panel_of_backlight(panel);
|
||||
+
|
||||
schedule_delayed_work(<8911exb->init_work,
|
||||
msecs_to_jiffies(100));
|
||||
lt8911exb->init_work_pending = true;
|
||||
--
|
||||
2.53.0
|
||||
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: SuperKali <hello@superkali.me>
|
||||
Date: Mon, 24 Aug 2026 12:08:25 +0200
|
||||
Subject: drm/img-rogue: pick the GPU clock from the DT OPP table
|
||||
|
||||
The DDK pins the core at a hardcoded 614 MHz while the K1 rates the
|
||||
BXE-2-32 at 819 MHz. Read the highest OPP the device tree advertises
|
||||
instead, so the frequency is described by the hardware description and
|
||||
not by a constant. Boards shipping no table keep the vendor default.
|
||||
|
||||
Signed-off-by: SuperKali <hello@superkali.me>
|
||||
---
|
||||
drivers/gpu/drm/img-rogue/spacemit/spacemit_init.c | 20 +++++++++-
|
||||
1 file changed, 19 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/img-rogue/spacemit/spacemit_init.c b/drivers/gpu/drm/img-rogue/spacemit/spacemit_init.c
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/gpu/drm/img-rogue/spacemit/spacemit_init.c
|
||||
+++ b/drivers/gpu/drm/img-rogue/spacemit/spacemit_init.c
|
||||
@@ -26,6 +26,24 @@
|
||||
|
||||
static struct st_context *g_platform = NULL;
|
||||
|
||||
+/* highest frequency the DT advertises for this GPU, vendor default when it says nothing */
|
||||
+static unsigned long spacemit_gpu_max_rate(struct device *dev)
|
||||
+{
|
||||
+ struct dev_pm_opp *opp;
|
||||
+ unsigned long rate = ULONG_MAX;
|
||||
+
|
||||
+ if (devm_pm_opp_of_add_table(dev))
|
||||
+ return RGX_ST_CORE_CLOCK_SPEED;
|
||||
+
|
||||
+ opp = dev_pm_opp_find_freq_floor(dev, &rate);
|
||||
+ if (IS_ERR(opp))
|
||||
+ return RGX_ST_CORE_CLOCK_SPEED;
|
||||
+
|
||||
+ dev_pm_opp_put(opp);
|
||||
+
|
||||
+ return rate;
|
||||
+}
|
||||
+
|
||||
#if defined(SUPPORT_LINUX_DVFS) && !defined(NO_HARDWARE)
|
||||
void stSetFrequency(IMG_HANDLE hSysData, IMG_UINT32 ui32Frequency)
|
||||
{
|
||||
@@ -342,7 +360,7 @@ struct st_context *RgxStInit(PVRSRV_DEVICE_CONFIG* psDevConfig)
|
||||
reset_control_deassert(platform->gpu_reset);
|
||||
|
||||
clk_prepare_enable(platform->gpu_clk);
|
||||
- clk_set_rate(platform->gpu_clk, RGX_ST_CORE_CLOCK_SPEED);
|
||||
+ clk_set_rate(platform->gpu_clk, spacemit_gpu_max_rate(dev));
|
||||
|
||||
if (psRGXData && psRGXData->psRGXTimingInfo)
|
||||
{
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
From 1e130c0596fe0bf55d2a9731cae85af4a6417986 Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Yavitz <pyavitz@gmail.com>
|
||||
Date: Fri, 5 Dec 2025 16:31:44 -0500
|
||||
Subject: [PATCH] Fixup rtl8852be sha256
|
||||
|
||||
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
|
||||
---
|
||||
.../net/wireless/realtek/rtl8852be/core/crypto/sha256-prf.c | 4 ++++
|
||||
drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.c | 4 ++++
|
||||
drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.h | 4 ++++
|
||||
3 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256-prf.c b/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256-prf.c
|
||||
index 642b38ff618c..df92ab3c27e8 100644
|
||||
--- a/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256-prf.c
|
||||
+++ b/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256-prf.c
|
||||
@@ -28,12 +28,14 @@
|
||||
* This function is used to derive new, cryptographically separate keys from a
|
||||
* given key.
|
||||
*/
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
|
||||
int sha256_prf(const u8 *key, size_t key_len, const char *label,
|
||||
const u8 *data, size_t data_len, u8 *buf, size_t buf_len)
|
||||
{
|
||||
return sha256_prf_bits(key, key_len, label, data, data_len, buf,
|
||||
buf_len * 8);
|
||||
}
|
||||
+#endif
|
||||
|
||||
|
||||
/**
|
||||
@@ -52,6 +54,7 @@ int sha256_prf(const u8 *key, size_t key_len, const char *label,
|
||||
* significant 1-7 bits of the last octet in the output are not part of the
|
||||
* requested output.
|
||||
*/
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
|
||||
int sha256_prf_bits(const u8 *key, size_t key_len, const char *label,
|
||||
const u8 *data, size_t data_len, u8 *buf,
|
||||
size_t buf_len_bits)
|
||||
@@ -107,3 +110,4 @@ int sha256_prf_bits(const u8 *key, size_t key_len, const char *label,
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
||||
\ No newline at end of file
|
||||
diff --git a/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.c b/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.c
|
||||
index ea5d9e3f2dd6..5f1c1441f2a4 100644
|
||||
--- a/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.c
|
||||
+++ b/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.c
|
||||
@@ -23,6 +23,7 @@
|
||||
* @mac: Buffer for the hash (32 bytes)
|
||||
* Returns: 0 on success, -1 on failure
|
||||
*/
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
|
||||
int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,
|
||||
const u8 *addr[], const size_t *len, u8 *mac)
|
||||
{
|
||||
@@ -86,6 +87,7 @@ int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,
|
||||
_len[1] = SHA256_MAC_LEN;
|
||||
return sha256_vector(2, _addr, _len, mac);
|
||||
}
|
||||
+#endif
|
||||
|
||||
|
||||
/**
|
||||
@@ -97,8 +99,10 @@ int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,
|
||||
* @mac: Buffer for the hash (32 bytes)
|
||||
* Returns: 0 on success, -1 on failure
|
||||
*/
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
|
||||
int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,
|
||||
size_t data_len, u8 *mac)
|
||||
{
|
||||
return hmac_sha256_vector(key, key_len, 1, &data, &data_len, mac);
|
||||
}
|
||||
+#endif
|
||||
diff --git a/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.h b/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.h
|
||||
index 5219022edd7d..a086c8b4739d 100644
|
||||
--- a/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.h
|
||||
+++ b/drivers/net/wireless/realtek/rtl8852be/core/crypto/sha256.h
|
||||
@@ -11,10 +11,14 @@
|
||||
|
||||
#define SHA256_MAC_LEN 32
|
||||
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
|
||||
int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,
|
||||
const u8 *addr[], const size_t *len, u8 *mac);
|
||||
+#endif
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 18, 0))
|
||||
int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,
|
||||
size_t data_len, u8 *mac);
|
||||
+#endif
|
||||
int sha256_prf(const u8 *key, size_t key_len, const char *label,
|
||||
const u8 *data, size_t data_len, u8 *buf, size_t buf_len);
|
||||
int sha256_prf_bits(const u8 *key, size_t key_len, const char *label,
|
||||
--
|
||||
2.47.3
|
||||
|
||||
@@ -12,6 +12,7 @@ dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-x_fpga.dtb k1-x_fpga_1x4.dtb k1-x_fpga_2x2.
|
||||
obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
|
||||
|
||||
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-bananapi-f3.dtb
|
||||
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-musebook.dtb
|
||||
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-musepi-pro.dtb
|
||||
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-orangepi-r2s.dtb
|
||||
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-orangepi-rv2.dtb
|
||||
|
||||
@@ -0,0 +1,932 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/* Copyright (c) 2023 Spacemit, Inc */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "k1-x.dtsi"
|
||||
#include "k1-x-efuse.dtsi"
|
||||
#include "k1-x_pinctrl.dtsi"
|
||||
#include "lcd/lcd_lt8911_edp_1920x1080.dtsi"
|
||||
#include "k1-x-lcd.dtsi"
|
||||
#include "k1-x-hdmi.dtsi"
|
||||
#include "k1-x_opp_table.dtsi"
|
||||
#include "k1-x_thermal_cooling.dtsi"
|
||||
|
||||
/ {
|
||||
model = "SpacemiT MUSE Book";
|
||||
|
||||
charger: charger@b {
|
||||
compatible = "sbs,sbs-charger-virtual";
|
||||
battery-name = "sbs-5-000b";
|
||||
power-supplies = <&battery>;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200n8 swiotlb=65536 driver_async_probe=spacemit-hdmi-drv,i2c-spacemit-k1x,ri2c-spacemit-k1x,k1xccic,sdhci-spacemit,k1x-dwc-pcie,pxa2xx-uart rdinit=/init";
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
cpus: cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
timebase-frequency = <24000000>;
|
||||
|
||||
cpu_0: cpu@0 {
|
||||
cpu-ai = "true";
|
||||
};
|
||||
|
||||
cpu_1: cpu@1 {
|
||||
cpu-ai = "true";
|
||||
};
|
||||
|
||||
cpu_2: cpu@2 {
|
||||
reg = <2>;
|
||||
cpu-ai = "true";
|
||||
};
|
||||
|
||||
cpu_3: cpu@3 {
|
||||
reg = <3>;
|
||||
cpu-ai = "true";
|
||||
};
|
||||
|
||||
cpu-map {
|
||||
cluster0 {
|
||||
core0 {
|
||||
cpu = <&cpu_0>;
|
||||
};
|
||||
|
||||
core1 {
|
||||
cpu = <&cpu_1>;
|
||||
};
|
||||
|
||||
core2 {
|
||||
cpu = <&cpu_2>;
|
||||
};
|
||||
|
||||
core3 {
|
||||
cpu = <&cpu_3>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1 {
|
||||
core0 {
|
||||
cpu = <&cpu_4>;
|
||||
};
|
||||
|
||||
core1 {
|
||||
cpu = <&cpu_5>;
|
||||
};
|
||||
|
||||
core2 {
|
||||
cpu = <&cpu_6>;
|
||||
};
|
||||
|
||||
core3 {
|
||||
cpu = <&cpu_7>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dc_12v: dc-12v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "dc_12v";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <12000000>;
|
||||
regulator-max-microvolt = <12000000>;
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x00000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
memory@100000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x1 0x00000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
linux,cma {
|
||||
compatible = "shared-dma-pool";
|
||||
/* alloc memory from 0x40000000~0x80000000 */
|
||||
alloc-ranges = <0 0x40000000 0 0x40000000>;
|
||||
/* size of cma buffer is 384MByte */
|
||||
size = <0 0x18000000>;
|
||||
/* start address is 1Mbyte aligned */
|
||||
alignment = <0x0 0x100000>;
|
||||
linux,cma-default;
|
||||
/* besides hardware, dma for ex. buffer can be used by memory management */
|
||||
reusable;
|
||||
};
|
||||
|
||||
/* reserved 384K for dpu, including mmu table(256K) and cmdlist(128K) */
|
||||
dpu_resv: dpu_reserved@2ff40000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x2ff40000 0x0 0x000C0000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
rf_pwrseq: rf-pwrseq {
|
||||
compatible = "spacemit,rf-pwrseq";
|
||||
status = "okay";
|
||||
|
||||
wlan_pwrseq: wlan-pwrseq {
|
||||
compatible = "spacemit,wlan-pwrseq";
|
||||
regon-gpios = <&gpio 76 0>;
|
||||
};
|
||||
|
||||
bt_pwrseq: bt-pwrseq {
|
||||
compatible = "spacemit,bt-pwrseq";
|
||||
reset-gpios = <&gpio 78 0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
spacemit_lid:spacemit_lid {
|
||||
compatible = "spacemit,k1x-lid";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hall_wakeup>;
|
||||
lid-gpios = <&gpio 74 0>;
|
||||
interrupts-extended = <&gpio 74 1
|
||||
&pinctrl 300>;
|
||||
};
|
||||
|
||||
vcc4v0_baseboard: vcc4v0-baseboard {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc4v0_baseboard";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <4000000>;
|
||||
vin-supply = <&dc_12v>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pinctrl_uart3_0: uart3_0_grp {
|
||||
pinctrl-single,pins =<
|
||||
K1X_PADCONF(GPIO_81, MUX_MODE2, (EDGE_NONE | PULL_UP | PAD_1V8_DS2)) /* uart3_txd */
|
||||
K1X_PADCONF(GPIO_82, MUX_MODE2, (EDGE_NONE | PULL_UP | PAD_1V8_DS2)) /* uart3_rxd */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart0_2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3_0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm14 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm14_1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dpu_online2_dsi {
|
||||
memory-region = <&dpu_resv>;
|
||||
spacemit-dpu-bitclk = <933000000>;
|
||||
dsi_1v2-supply = <&ldo_5>;
|
||||
vin-supply-names = "dsi_1v2";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dsi2 {
|
||||
status = "okay";
|
||||
force-attached = "lcd_lt8911_edp_1920x1080";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
dsi1_output: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <<8911exb_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
edp_panel: panel@0 {
|
||||
status = "ok"
|
||||
compatible = "spacemit,edp-panel";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&lcds {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dpu_online2_hdmi {
|
||||
memory-region = <&dpu_resv>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi{
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hdmi_0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2_0>;
|
||||
spacemit,i2c-fast-mode;
|
||||
status = "okay";
|
||||
|
||||
eeprom@50{
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
power-domains = <&power K1X_PMU_DUMMY_PWR_DOMAIN>;
|
||||
status = "okay";
|
||||
|
||||
mac_address0: mac_address0@0 {
|
||||
reg = <0x0 6>;
|
||||
};
|
||||
|
||||
mac_address1: mac_address1@6 {
|
||||
reg = <0x6 6>;
|
||||
};
|
||||
};
|
||||
|
||||
es8326: es8326@19{
|
||||
compatible = "everest,es8326";
|
||||
reg = <0x19>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <126 1>;
|
||||
spk-ctl-gpio = <&gpio 127 0>;
|
||||
everest,jack-detect-inverted;
|
||||
everest,mic1-src = [44];
|
||||
everest,mic2-src = [66];
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c4_2>;
|
||||
status = "okay";
|
||||
|
||||
touchpad: hid@2d {
|
||||
compatible = "hid-over-i2c";
|
||||
reg = <0x2d>;
|
||||
hid-descr-addr = <0x0020>;
|
||||
post-power-on-delay-ms = <200>;
|
||||
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <50 2>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c5_1>;
|
||||
status = "okay";
|
||||
|
||||
battery: battery@b {
|
||||
compatible = "sbs,sbs-battery";
|
||||
reg = <0x0b>;
|
||||
sbs,i2c-retry-count = <2>;
|
||||
sbs,poll-retry-count = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c6_2>;
|
||||
clock-frequency = <100000>;
|
||||
status = "okay";
|
||||
|
||||
lt8911exb_i2c@29 {
|
||||
compatible = "lontium,lt8911exb";
|
||||
reg = <0x29>;
|
||||
|
||||
reset-gpio = <&gpio 114 0>;
|
||||
bl-gpio = <&gpio 75 0>;
|
||||
enable-gpio = <&gpio 83 0>;
|
||||
standby-gpio = <&gpio 92 0>;
|
||||
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
lt8911exb_in: endpoint {
|
||||
remote-endpoint = <&dsi1_output>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c8 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c8>;
|
||||
status = "okay";
|
||||
|
||||
spm8821@41 {
|
||||
compatible = "spacemit,spm8821";
|
||||
reg = <0x41>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <64>;
|
||||
status = "okay";
|
||||
|
||||
vcc_sys-supply = <&vcc4v0_baseboard>;
|
||||
dcdc5-supply = <&dcdc_5>;
|
||||
|
||||
regulators {
|
||||
compatible = "pmic,regulator,spm8821";
|
||||
|
||||
/* buck */
|
||||
dcdc_1: DCDC_REG1 {
|
||||
regulator-name = "dcdc1";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3450000>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <650000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcdc_2: DCDC_REG2 {
|
||||
regulator-name = "dcdc2";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3450000>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc_3: DCDC_REG3 {
|
||||
regulator-name = "dcdc3";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc_4: DCDC_REG4 {
|
||||
regulator-name = "dcdc4";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc_5: DCDC_REG5 {
|
||||
regulator-name = "dcdc5";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3450000>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc_6: DCDC_REG6 {
|
||||
regulator-name = "dcdc6";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3450000>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* aldo */
|
||||
ldo_1: LDO_REG1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-boot-on;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <500000>;
|
||||
};
|
||||
};
|
||||
|
||||
ldo_2: LDO_REG2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <500000>;
|
||||
};
|
||||
};
|
||||
|
||||
ldo_3: LDO_REG3 {
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <500000>;
|
||||
};
|
||||
};
|
||||
|
||||
ldo_4: LDO_REG4 {
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <500000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* dldo */
|
||||
ldo_5: LDO_REG5 {
|
||||
regulator-name = "ldo5";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-boot-on;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <500000>;
|
||||
};
|
||||
};
|
||||
|
||||
ldo_6: LDO_REG6 {
|
||||
regulator-name = "ldo6";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <500000>;
|
||||
};
|
||||
};
|
||||
|
||||
ldo_7: LDO_REG7 {
|
||||
regulator-name = "ldo7";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <500000>;
|
||||
};
|
||||
};
|
||||
|
||||
ldo_8: LDO_REG8 {
|
||||
regulator-name = "ldo8";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo_9: LDO_REG9 {
|
||||
regulator-name = "ldo9";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
};
|
||||
|
||||
ldo_10: LDO_REG10 {
|
||||
regulator-name = "ldo10";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo_11: LDO_REG11 {
|
||||
regulator-name = "ldo11";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
};
|
||||
|
||||
sw_1: SWITCH_REG1 {
|
||||
regulator-name = "switch1";
|
||||
};
|
||||
};
|
||||
|
||||
pmic_pinctrl: pinctrl {
|
||||
compatible = "pmic,pinctrl,spm8821";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
spacemit,npins = <6>;
|
||||
/**
|
||||
* led_pins: led-pins {
|
||||
* pins = "PIN3";
|
||||
* function = "sleep";
|
||||
* bias-disable = <0>;
|
||||
* drive-open-drain = <0x1>;
|
||||
* };
|
||||
*/
|
||||
};
|
||||
|
||||
pwr_key: key {
|
||||
compatible = "pmic,pwrkey,spm8821";
|
||||
};
|
||||
|
||||
ext_rtc: rtc {
|
||||
compatible = "pmic,rtc,spm8821";
|
||||
};
|
||||
|
||||
ext_adc: adc {
|
||||
compatible = "pmic,adc,spm8821";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pinctrl-single,gpio-range = <
|
||||
&range GPIO_49 2 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_3V_DS4)
|
||||
&range GPIO_58 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
|
||||
&range GPIO_63 2 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
|
||||
&range GPIO_65 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
|
||||
&range GPIO_66 2 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_3V_DS4)
|
||||
&range PRI_TDI 2 (MUX_MODE1 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
|
||||
&range PRI_TCK 1 (MUX_MODE1 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
|
||||
&range PRI_TDO 1 (MUX_MODE1 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
|
||||
&range GPIO_76 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_3V_DS4)
|
||||
&range GPIO_78 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_3V_DS4)
|
||||
&range GPIO_80 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_3V_DS4)
|
||||
&range GPIO_81 3 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
|
||||
&range GPIO_90 1 (MUX_MODE0 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
|
||||
&range GPIO_91 2 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
|
||||
&range DVL0 2 (MUX_MODE1 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
|
||||
&range GPIO_110 1 (MUX_MODE0 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
|
||||
&range GPIO_114 1 (MUX_MODE0 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
|
||||
&range GPIO_115 2 (MUX_MODE0 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
|
||||
&range GPIO_123 1 (MUX_MODE0 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
|
||||
&range GPIO_124 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
|
||||
&range GPIO_125 3 (MUX_MODE0 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
|
||||
>;
|
||||
|
||||
pinctrl_rcpu: pinctrl_rcpu_grp {
|
||||
pinctrl-single,pins = <
|
||||
K1X_PADCONF(GPIO_47, MUX_MODE1, (EDGE_NONE | PULL_UP | PAD_3V_DS4)) /* r_uart0_tx */
|
||||
K1X_PADCONF(GPIO_48, MUX_MODE1, (EDGE_NONE | PULL_UP | PAD_3V_DS4)) /* r_uart0_rx */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_hall_wakeup: hall_wakeup_grp {
|
||||
pinctrl-single,pins =<
|
||||
K1X_PADCONF(GPIO_74, MUX_MODE0, (EDGE_FALL | EDGE_RISE | PULL_DOWN | PAD_3V_DS2)) /* hall edge detect */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio{
|
||||
gpio-ranges = <
|
||||
&pinctrl 49 GPIO_49 2
|
||||
&pinctrl 58 GPIO_58 1
|
||||
&pinctrl 63 GPIO_63 5
|
||||
&pinctrl 70 PRI_TDI 4
|
||||
&pinctrl 76 GPIO_76 1
|
||||
&pinctrl 78 GPIO_78 1
|
||||
&pinctrl 80 GPIO_80 4
|
||||
&pinctrl 90 GPIO_90 3
|
||||
&pinctrl 96 DVL0 2
|
||||
&pinctrl 110 GPIO_110 1
|
||||
&pinctrl 114 GPIO_114 3
|
||||
&pinctrl 123 GPIO_123 5
|
||||
>;
|
||||
};
|
||||
|
||||
/* SD */
|
||||
&sdhci0 {
|
||||
pinctrl-names = "default","fast";
|
||||
pinctrl-0 = <&pinctrl_mmc1>;
|
||||
pinctrl-1 = <&pinctrl_mmc1_fast>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio 80 0>;
|
||||
cd-inverted;
|
||||
vmmc-supply = <&dcdc_4>;
|
||||
vqmmc-supply = <&ldo_1>;
|
||||
no-mmc;
|
||||
no-sdio;
|
||||
spacemit,sdh-host-caps-disable = <(
|
||||
MMC_CAP_UHS_SDR12 |
|
||||
MMC_CAP_UHS_SDR25
|
||||
)>;
|
||||
spacemit,sdh-quirks = <(
|
||||
SDHCI_QUIRK_BROKEN_CARD_DETECTION |
|
||||
SDHCI_QUIRK_INVERTED_WRITE_PROTECT |
|
||||
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
|
||||
)>;
|
||||
spacemit,sdh-quirks2 = <(
|
||||
SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
|
||||
SDHCI_QUIRK2_BROKEN_PHY_MODULE |
|
||||
SDHCI_QUIRK2_SET_AIB_MMC
|
||||
)>;
|
||||
spacemit,aib_mmc1_io_reg = <0xD401E81C>;
|
||||
spacemit,apbc_asfar_reg = <0xD4015050>;
|
||||
spacemit,apbc_assar_reg = <0xD4015054>;
|
||||
spacemit,rx_dline_reg = <0x0>;
|
||||
spacemit,tx_dline_reg = <0x0>;
|
||||
spacemit,tx_delaycode = <0x7f>;
|
||||
spacemit,rx_tuning_limit = <50>;
|
||||
spacemit,sdh-freq = <204800000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SDIO */
|
||||
&sdhci1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mmc2>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
vqmmc-supply = <&dcdc_3>;
|
||||
no-mmc;
|
||||
no-sd;
|
||||
keep-power-in-suspend;
|
||||
/* bcmdhd use private oob solution rather than dat1/standard wakeup */
|
||||
/delete-property/ enable-sdio-wakeup;
|
||||
spacemit,sdh-host-caps-disable = <(
|
||||
MMC_CAP_UHS_DDR50 |
|
||||
MMC_CAP_NEEDS_POLL
|
||||
)>;
|
||||
spacemit,sdh-quirks = <(
|
||||
SDHCI_QUIRK_BROKEN_CARD_DETECTION |
|
||||
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
|
||||
)>;
|
||||
spacemit,sdh-quirks2 = <(
|
||||
SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
|
||||
SDHCI_QUIRK2_BROKEN_PHY_MODULE
|
||||
)>;
|
||||
spacemit,rx_dline_reg = <0x0>;
|
||||
spacemit,rx_tuning_limit = <50>;
|
||||
spacemit,sdh-freq = <375000000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* eMMC */
|
||||
&sdhci2 {
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
mmc-hs400-1_8v;
|
||||
mmc-hs400-enhanced-strobe;
|
||||
no-sd;
|
||||
no-sdio;
|
||||
spacemit,sdh-quirks = <(
|
||||
SDHCI_QUIRK_BROKEN_CARD_DETECTION |
|
||||
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
|
||||
)>;
|
||||
spacemit,sdh-quirks2 = <(
|
||||
SDHCI_QUIRK2_PRESET_VALUE_BROKEN
|
||||
)>;
|
||||
spacemit,sdh-freq = <375000000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&udc {
|
||||
spacemit,udc-mode = <MV_USB_MODE_OTG>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci {
|
||||
spacemit,udc-mode = <MV_USB_MODE_OTG>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&otg {
|
||||
usb-role-switch;
|
||||
role-switch-user-control;
|
||||
role-switch-default-mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&udc1 {
|
||||
/*spacemit,udc-mode = <MV_USB_MODE_UDC>;*/
|
||||
spacemit,udc-mode = <MV_USB_MODE_OTG>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&otg1 {
|
||||
usb-role-switch;
|
||||
role-switch-user-control;
|
||||
spacemit,reset-on-resume;
|
||||
role-switch-default-mode = "host";
|
||||
vbus-gpios = <&gpio 123 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&usb2phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&combphy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3hub {
|
||||
hub-gpios = <&gpio 123 0>; /* usb3 hub en */
|
||||
suspend_power_on;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbdrd3 {
|
||||
status = "okay";
|
||||
dwc3@c0a00000 {
|
||||
dr_mode = "host";
|
||||
phy_type = "utmi";
|
||||
snps,hsphy_interface = "utmi";
|
||||
snps,dis_enblslpm_quirk;
|
||||
snps,dis_u2_susphy_quirk;
|
||||
snps,dis_u3_susphy_quirk;
|
||||
snps,dis-del-phy-power-chg-quirk;
|
||||
snps,dis-tx-ipgap-linecheck-quirk;
|
||||
snps,parkmode-disable-ss-quirk;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie1_rc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pcie1_3>;
|
||||
num-lanes = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie2_rc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pcie2_4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&imggpu {
|
||||
operating-points-v2 = <&gpu_opp_table>;
|
||||
status = "okay";
|
||||
|
||||
/* the mux also reaches pll2_d3 at 1 GHz, past the 819 MHz the K1 is rated for */
|
||||
gpu_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-409600000 {
|
||||
opp-hz = /bits/ 64 <409600000>;
|
||||
};
|
||||
|
||||
opp-491520000 {
|
||||
opp-hz = /bits/ 64 <491520000>;
|
||||
};
|
||||
|
||||
opp-614400000 {
|
||||
opp-hz = /bits/ 64 <614400000>;
|
||||
};
|
||||
|
||||
opp-819200000 {
|
||||
opp-hz = /bits/ 64 <819200000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&qspi {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_qspi>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <26500000>;
|
||||
m25p,fast-read;
|
||||
broken-flash-reset;
|
||||
status = "okay";
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@00000 {
|
||||
label = "bootinfo";
|
||||
reg = <0x00000 0x10000>;
|
||||
};
|
||||
|
||||
partition@10000 {
|
||||
label = "private";
|
||||
reg = <0x10000 0x10000>;
|
||||
};
|
||||
|
||||
partition@20000 {
|
||||
label = "fsbl";
|
||||
reg = <0x20000 0x40000>;
|
||||
};
|
||||
|
||||
partition@60000 {
|
||||
label = "env";
|
||||
reg = <0x60000 0x10000>;
|
||||
};
|
||||
|
||||
partition@70000 {
|
||||
label = "opensbi";
|
||||
reg = <0x70000 0x30000>;
|
||||
};
|
||||
|
||||
partition@a0000 {
|
||||
label = "uboot";
|
||||
reg = <0xa0000 0xf60000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* the JPEG unit hangs its udev worker, which stalls udevadm settle in the
|
||||
* initramfs for the full timeout on every boot, and nothing here uses it
|
||||
*/
|
||||
&{/soc/jpu@c02f8000} {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* pwm_bl gets a phandle from dtc -@, so pwm_bl.c starts it blanked; let the
|
||||
* panel own it so drm_panel_enable() unblanks it
|
||||
*/
|
||||
&lcd_lt8911_edp_1920x1080 {
|
||||
backlight = <&pwm_bl>;
|
||||
};
|
||||
|
||||
&pwm_bl {
|
||||
pwms = <&pwm14 2000>;
|
||||
brightness-levels = <
|
||||
0 64 64 64 64 65 65 65 65 66 66 66 66 67 67 68
|
||||
68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76
|
||||
76 77 78 79 80 80 81 82 83 84 84 85 86 87 88 88
|
||||
89 90 91 92 92 93 94 95 96 96 97 98 99 100 100 101
|
||||
102 103 104 104 105 106 107 108 108 109 110 111 112 112 113 114
|
||||
115 116 116 117 118 119 120 120 121 122 123 124 124 125 126 127
|
||||
128 128 129 130 131 132 132 133 134 135 136 136 137 138 139 140
|
||||
140 141 142 143 144 144 145 146 147 148 148 149 150 151 152 152
|
||||
153 154 155 156 156 157 158 159 160 160 161 162 163 164 164 165
|
||||
166 167 168 168 169 170 171 172 172 173 174 175 176 176 177 178
|
||||
179 180 180 181 182 183 184 184 185 186 187 188 188 189 190 191
|
||||
192 192 193 194 195 196 196 197 198 199 200 200 201 202 203 204
|
||||
204 205 206 207 208 208 209 210 211 212 212 213 214 215 216 216
|
||||
217 218 219 220 220 221 222 223 224 224 225 226 227 228 228 229
|
||||
230 231 232 232 233 234 235 236 236 237 238 239 240 240 241 242
|
||||
243 244 244 245 246 247 248 248 249 250 251 252 252 253 254 255
|
||||
>;
|
||||
default-brightness-level = <128>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rcpu {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_rcpu>;
|
||||
mboxes = <&mailbox 0>, <&mailbox 1>;
|
||||
mbox-names = "vq0", "vq1";
|
||||
memory-region = <&rcpu_mem_0>, <&rcpu_mem_heap>, <&vdev0vring0>, <&vdev0vring1>, <&vdev0buffer>, <&rsc_table>, <&rcpu_mem_snapshots>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2s0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sspa0_0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmiaudio {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sound_hdmi {
|
||||
status = "okay";
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&hdmiaudio>;
|
||||
};
|
||||
};
|
||||
|
||||
&sound_codec {
|
||||
status = "okay";
|
||||
simple-audio-card,name = "snd-es8326";
|
||||
spacemit,mclk-fs = <64>;
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&es8326>;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user