Remove Xiaomi umi Support

This commit is contained in:
FantasyGmm
2025-03-10 11:06:48 +08:00
committed by Jianfeng Liu
parent df09d86cfc
commit 5bf962afa0
8 changed files with 0 additions and 1169 deletions

View File

@@ -1,99 +0,0 @@
# Generate kernel and rootfs image for Qcom ABL booting
declare -g BOARD_NAME="Xiaomi Umi"
declare -g BOARD_MAINTAINER="FantasyGmm"
declare -g BOARDFAMILY="sm8250"
declare -g KERNEL_TARGET="current,edge"
declare -g KERNEL_TEST_TARGET="edge"
declare -g EXTRAWIFI="no"
declare -g MODULES="spi-geni-qcom"
declare -g BOOTCONFIG="none"
declare -g BOOTIMG_CMDLINE_EXTRA="clk_ignore_unused pd_ignore_unused"
declare -g IMAGE_PARTITION_TABLE="gpt"
declare -g -a ABL_DTB_LIST=("sm8250-xiaomi-umi-csot" "sm8250-xiaomi-umi-sms")
# Use the full firmware, complete linux-firmware plus Armbian's (for qcom/a650_sqe.fw)
declare -g BOARD_FIRMWARE_INSTALL="-full"
function xiaomi-umi_is_userspace_supported() {
[[ "${RELEASE}" == "jammy" ]] && return 0
[[ "${RELEASE}" == "trixie" ]] && return 0
[[ "${RELEASE}" == "noble" ]] && return 0
return 1
}
function post_family_tweaks_bsp__xiaomi-umi_firmware() {
display_alert "$BOARD" "Install firmwares for xiaomi umi" "info"
# Alsa-ucm-conf profile for Xiaomi Umi
mkdir -p $destination/usr/share/alsa/ucm2/conf.d/sm8250
install -Dm644 $SRC/packages/bsp/xiaomi-umi/umi.conf $destination/usr/share/alsa/ucm2/Xiaomi/umi/umi.conf
install -Dm644 $SRC/packages/bsp/xiaomi-umi/umi_HiFi.conf $destination/usr/share/alsa/ucm2/Xiaomi/umi/HiFi.conf
ln -sfv ../../Xiaomi/umi/umi.conf \
"$destination/usr/share/alsa/ucm2/conf.d/sm8250/Xiaomi Mi 10.conf"
# USB Gadget Network service
mkdir -p $destination/usr/local/bin/
mkdir -p $destination/usr/lib/systemd/system/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/setup-usbgadget-network.sh $destination/usr/local/bin/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/remove-usbgadget-network.sh $destination/usr/local/bin/
install -Dm644 $SRC/packages/bsp/usb-gadget-network/usbgadget-rndis.service $destination/usr/lib/systemd/system/
# Kernel postinst script to update abl boot partition
install -Dm655 $SRC/packages/bsp/xiaomi-umi/zz-update-abl-kernel $destination/etc/kernel/postinst.d/
return 0
}
function post_family_tweaks__xiaomi-umi_enable_services() {
if ! xiaomi-umi_is_userspace_supported; then
if [[ "${RELEASE}" != "" ]]; then
display_alert "Missing userspace for ${BOARD}" "${RELEASE} does not have the userspace necessary to support the ${BOARD}" "warn"
fi
return 0
fi
if [[ "${RELEASE}" == "jammy" ]] || [[ "${RELEASE}" == "noble" ]]; then
display_alert "Adding qcom-mainline PPA" "${BOARD}" "info"
do_with_retries 3 chroot_sdcard add-apt-repository ppa:liujianfeng1994/qcom-mainline --yes --no-update
fi
# We need unudhcpd from armbian repo, so enable it
mv "${SDCARD}"/etc/apt/sources.list.d/armbian.sources.disabled "${SDCARD}"/etc/apt/sources.list.d/armbian.sources
do_with_retries 3 chroot_sdcard_apt_get_update
display_alert "$BOARD" "Installing board tweaks" "info"
do_with_retries 3 chroot_sdcard_apt_get_install alsa-ucm-conf qbootctl qrtr-tools unudhcpd mkbootimg
# Disable armbian repo back
mv "${SDCARD}"/etc/apt/sources.list.d/armbian.sources "${SDCARD}"/etc/apt/sources.list.d/armbian.sources.disabled
do_with_retries 3 chroot_sdcard_apt_get_update
chroot_sdcard systemctl enable qbootctl.service
chroot_sdcard systemctl enable usbgadget-rndis.service
return 0
}
function post_family_tweaks_bsp__xiaomi-umi_bsp_firmware_in_initrd() {
display_alert "Adding to bsp-cli" "${BOARD}: firmware in initrd" "info"
declare file_added_to_bsp_destination # Will be filled in by add_file_from_stdin_to_bsp_destination
# Using Elish's firmware for now
add_file_from_stdin_to_bsp_destination "/etc/initramfs-tools/hooks/xiaomi-elish-firmware" <<- 'FIRMWARE_HOOK'
#!/bin/bash
[[ "$1" == "prereqs" ]] && exit 0
. /usr/share/initramfs-tools/hook-functions
for f in /lib/firmware/qcom/sm8250/xiaomi/elish/* ; do
add_firmware "${f#/lib/firmware/}"
done
add_firmware "qcom/a650_sqe.fw" # Extra one for dpu
add_firmware "qcom/a650_gmu.bin" # Extra one for gpu
FIRMWARE_HOOK
run_host_command_logged chmod -v +x "${file_added_to_bsp_destination}"
}
## Modules, required to boot, add them to initrd
function post_family_tweaks_bsp__xiaomi-umi_bsp_modules_in_initrd() {
display_alert "Adding to bsp-cli" "${BOARD}: modules in initrd" "info"
add_file_from_stdin_to_bsp_destination "/etc/initramfs-tools/modules" <<- 'EXTRA_MODULES'
spi-geni-qcom
EXTRA_MODULES
}

View File

@@ -1,6 +0,0 @@
Syntax 3
SectionUseCase."HiFi" {
File "/Xiaomi/umi/HiFi.conf"
Comment "HiFi quality Music."
}

View File

@@ -1,67 +0,0 @@
SectionVerb {
EnableSequence [
cset "name='BRH DSP1 Preload Switch' 1"
cset "name='BRH DRE Switch' 1"
cset "name='BRH PCM Soft Ramp' 4ms"
cset "name='BRH Analog PCM Volume' 18"
cset "name='BRH ASP TX1 Source' DSPTX1"
cset "name='BRH DSP RX1 Source' ASPRX1"
cset "name='BRH DSP RX2 Source' ASPTX2"
cset "name='BLH DSP1 Preload Switch' 1"
cset "name='BLH DRE Switch' 1"
cset "name='BLH PCM Soft Ramp' 4ms"
cset "name='BLH Analog PCM Volume' 18"
cset "name='BLH ASP TX1 Source' DSPTX1"
cset "name='BLH DSP RX1 Source' ASPRX1"
cset "name='BLH DSP RX2 Source' ASPTX2"
cset "name='TERT_MI2S_RX Audio Mixer MultiMedia1' 1"
]
DisableSequence [
cset "name='BRH DSP1 Preload Switch' 0"
cset "name='BRH DRE Switch' 0"
cset "name='BRH PCM Soft Ramp' zero"
cset "name='BRH Analog PCM Volume' 0"
cset "name='BRH ASP TX1 Source' zero"
cset "name='BRH DSP RX1 Source' zero"
cset "name='BRH DSP RX2 Source' zero"
cset "name='BLH DSP1 Preload Switch' 0"
cset "name='BLH DRE Switch' 0"
cset "name='BLH PCM Soft Ramp' zero"
cset "name='BLH Analog PCM Volume' 0"
cset "name='BLH ASP TX1 Source' zero"
cset "name='BLH DSP RX1 Source' zero"
cset "name='BLH DSP RX2 Source' zero"
cset "name='TERT_MI2S_RX Audio Mixer MultiMedia1' 0"
]
Value {
TQ "HiFi"
}
}
SectionDevice."Speaker" {
Comment "Speaker playback"
EnableSequence [
cset "name='BRH PCM Source' DSP"
cset "name='BLH PCM Source' DSP"
]
DisableSequence [
cset "name='BRH PCM Source' zero"
cset "name='BLH PCM Source' zero"
]
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId},0"
PlaybackMixerElem "Digital PCM"
PlaybackMasterElem "Analog PCM"
PlaybackVolume "Digital PCM Volume"
}
}

View File

@@ -1,33 +0,0 @@
#!/bin/bash
set -ex
machine_model=$(cat /sys/firmware/devicetree/base/model|tr '\0' '\n')
case $machine_model in
"Xiaomi Mi 10 (SMS)")
panel_type=sms
;;
"Xiaomi Mi 10 (CSOT)")
panel_type=csot
;;
*)
echo "$machine_model is not supported, exit"
exit
;;
esac
new_rootfs_image_uuid=$(sed -e 's/^.*root=UUID=//' -e 's/ .*$//' < /proc/cmdline)
gzip -c /boot/vmlinuz-*-sm8250 > /tmp/Image.gz
cat /tmp/Image.gz /usr/lib/linux-image-*-sm8250/qcom/sm8250-xiaomi-umi-${panel_type}.dtb > /tmp/Image.gz-dtb-${panel_type}
source /boot/armbianEnv.txt
/usr/bin/mkbootimg \
--kernel /tmp/Image.gz-dtb-${panel_type} \
--ramdisk /boot/initrd.img-*-sm8250 \
--base 0x0 \
--second_offset 0x00f00000 \
--cmdline "clk_ignore_unused pd_ignore_unused root=UUID=${new_rootfs_image_uuid}" \
--kernel_offset 0x8000 \
--ramdisk_offset 0x1000000 \
--tags_offset 0x100 \
--pagesize 4096 \
-o /boot/armbian-kernel-${panel_type}.img
rm -f /tmp/Image.gz /tmp/Image.gz-dtb-${panel_type}

View File

@@ -1,938 +0,0 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*/
/dts-v1/;
#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/usb/pd.h>
#include "sm8250.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
#include "pm8150l.dtsi"
#include "pm8009.dtsi"
/*
* Delete following upstream (sm8250.dtsi) reserved
* memory mappings which are different on this device.
*/
/delete-node/ &adsp_mem;
/delete-node/ &cdsp_secure_heap;
/delete-node/ &slpi_mem;
/delete-node/ &spss_mem;
/delete-node/ &xbl_aop_mem;
/ {
chassis-type = "handset";
qcom,msm-id = <QCOM_ID_SM8250 0x20001>;
qcom,board-id = <0x2b 0>;
aliases {
hsuart0 = &uart6;
};
chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;
framebuffer: framebuffer@9c000000 {
compatible = "simple-framebuffer";
reg = <0x0 0x9c000000 0x0 0x2300000>;
width = <1080>;
height = <2340>;
stride = <(1080 * 4)>;
format = "a8r8g8b8";
};
};
// battery: battery {
// compatible = "simple-battery";
// voltage-min-design-microvolt = <3870000>;
// energy-full-design-microwatt-hours = <16600000>;
// charge-full-design-microamp-hours = <4300000>;
// };
gpio_keys: gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&vol_up_n>;
vol_up {
label = "Volume Up";
gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
debounce-interval = <15>;
linux,can-disable;
wakeup-source;
};
hall_key {
label = "Hall Key";
gpios = <&tlmm 14 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESERVED>;
debounce-interval = <15>;
linux,can-disable;
wakeup-source;
};
};
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
};
vreg_s6c_0p88: smpc6-regulator {
compatible = "regulator-fixed";
regulator-name = "vreg_s6c_0p88";
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <880000>;
regulator-always-on;
vin-supply = <&vph_pwr>;
};
vreg_touch_vddio: vreg-touch-vddio{
compatible = "regulator-fixed";
regulator-name = "vreg_touch_vddio";
enable-active-high;
/*regulator-boot-on*/
gpio = <&tlmm 69 0>;
};
wcd938x: audio-codec {
compatible = "qcom,wcd9380-codec";
reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
vdd-buck-supply = <&vreg_s4a_1p8>;
vdd-rxtx-supply = <&vreg_s4a_1p8>;
vdd-io-supply = <&vreg_s4a_1p8>;
vdd-mic-bias-supply = <&vreg_bob>;
qcom,micbias1-microvolt = <2750000>;
qcom,micbias2-microvolt = <2750000>;
qcom,micbias3-microvolt = <2750000>;
qcom,micbias4-microvolt = <2750000>;
qcom,rx-device = <&wcd_rx>;
qcom,tx-device = <&wcd_tx>;
#sound-dai-cells = <1>;
};
qca639x: qca639x {
compatible = "qcom,qca6390";
#power-domain-cells = <0>;
vddaon-supply = <&vreg_s6a_0p95>;
vddpmu-supply = <&vreg_s2f_0p95>;
vddrfa1-supply = <&vreg_s2f_0p95>;
vddrfa2-supply = <&vreg_s8c_1p35>;
vddrfa3-supply = <&vreg_s5a_1p9>;
vddpcie1-supply = <&vreg_s8c_1p35>;
vddpcie2-supply = <&vreg_s5a_1p9>;
vddio-supply = <&vreg_s4a_1p8>;
pinctrl-names = "default";
pinctrl-0 = <&wlan_en_state>;
wlan-en-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
};
reserved-memory {
xbl_aop_mem: xbl-aop@80600000 {
reg = <0x0 0x80600000 0x0 0x260000>;
no-map;
};
slpi_mem: slpi@88c00000 {
reg = <0x0 0x88c00000 0x0 0x2f00000>;
no-map;
};
adsp_mem: adsp@8bb00000 {
reg = <0x0 0x8bb00000 0x0 0x2500000>;
no-map;
};
spss_mem: spss@8e000000 {
reg = <0x0 0x8e000000 0x0 0x100000>;
no-map;
};
cdsp_secure_heap: cdsp-secure-heap@8e100000 {
reg = <0x0 0x8e100000 0x0 0x4600000>;
no-map;
};
cont_splash_mem: cont-splash@9c000000 {
reg = <0x0 0x9c000000 0x0 0x2300000>;
no-map;
};
};
};
&adsp {
firmware-name = "qcom/sm8250/xiaomi/elish/adsp.mbn";
status = "okay";
};
&apps_rsc {
regulators-0 {
compatible = "qcom,pm8150-rpmh-regulators";
qcom,pmic-id = "a";
vdd-s1-supply = <&vph_pwr>;
vdd-s2-supply = <&vph_pwr>;
vdd-s3-supply = <&vph_pwr>;
vdd-s4-supply = <&vph_pwr>;
vdd-s5-supply = <&vph_pwr>;
vdd-s6-supply = <&vph_pwr>;
vdd-s7-supply = <&vph_pwr>;
vdd-s8-supply = <&vph_pwr>;
vdd-s9-supply = <&vph_pwr>;
vdd-s10-supply = <&vph_pwr>;
vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
vdd-l2-l10-supply = <&vreg_bob>;
vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
vdd-l6-l9-supply = <&vreg_s8c_1p35>;
vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
vdd-l13-l16-l17-supply = <&vreg_bob>;
vreg_s4a_1p8: smps4 {
regulator-name = "vreg_s4a_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1920000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s5a_1p9: smps5 {
regulator-name = "vreg_s5a_1p9";
regulator-min-microvolt = <1900000>;
regulator-max-microvolt = <2040000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s6a_0p95: smps6 {
regulator-name = "vreg_s6a_0p95";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1128000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2a_3p1: ldo2 {
regulator-name = "vreg_l2a_3p1";
regulator-min-microvolt = <3072000>;
regulator-max-microvolt = <3072000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3a_0p9: ldo3 {
regulator-name = "vreg_l3a_0p9";
regulator-min-microvolt = <928000>;
regulator-max-microvolt = <932000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/* L4 - lmx.lvl (ARC) */
vreg_l5a_0p88: ldo5 {
regulator-name = "vreg_l5a_0p88";
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <880000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l6a_1p2: ldo6 {
regulator-name = "vreg_l6a_1p2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/* L7 is unused. */
vreg_l9a_1p2: ldo9 {
regulator-name = "vreg_l9a_1p2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/* L10 is unused, L11 - lcx.lvl (ARC) */
vreg_l12a_1p8: ldo12 {
regulator-name = "vreg_l12a_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l13a_3p0: ldo13 {
regulator-name = "vreg_l13a_3p0";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3008000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l14a_1p88: ldo14 {
regulator-name = "vreg_l14a_1p88";
regulator-min-microvolt = <1880000>;
regulator-max-microvolt = <1880000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/* L15 & L16 are unused. */
vreg_l17a_3p0: ldo17 {
regulator-name = "vreg_l17a_3p0";
regulator-min-microvolt = <2856000>;
regulator-max-microvolt = <3008000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l18a_0p9: ldo18 {
regulator-name = "vreg_l18a_0p9";
regulator-min-microvolt = <912000>;
regulator-max-microvolt = <912000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-1 {
compatible = "qcom,pm8150l-rpmh-regulators";
qcom,pmic-id = "c";
vdd-s1-supply = <&vph_pwr>;
vdd-s2-supply = <&vph_pwr>;
vdd-s3-supply = <&vph_pwr>;
vdd-s4-supply = <&vph_pwr>;
vdd-s5-supply = <&vph_pwr>;
vdd-s6-supply = <&vph_pwr>;
vdd-s7-supply = <&vph_pwr>;
vdd-s8-supply = <&vph_pwr>;
vdd-l1-l8-supply = <&vreg_s4a_1p8>;
vdd-l2-l3-supply = <&vreg_s8c_1p35>;
vdd-l4-l5-l6-supply = <&vreg_bob>;
vdd-l7-l11-supply = <&vreg_bob>;
vdd-l9-l10-supply = <&vreg_bob>;
vdd-bob-supply = <&vph_pwr>;
vreg_bob: bob {
regulator-name = "vreg_bob";
regulator-min-microvolt = <3008000>;
regulator-max-microvolt = <3960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
};
vreg_s8c_1p35: smps8 {
regulator-name = "vreg_s8c_1p35";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1400000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l1c_1p8: ldo1 {
regulator-name = "vreg_l1c_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2c_1p2: ldo2 {
regulator-name = "vreg_l2c_1p2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3c_0p92: ldo3 {
regulator-name = "vreg_l3c_0p92";
regulator-min-microvolt = <920000>;
regulator-max-microvolt = <920000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4c_1p7: ldo4 {
regulator-name = "vreg_l4c_1p7";
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <2928000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l5c_1p8: ldo5 {
regulator-name = "vreg_l5c_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2928000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l6c_2p9: ldo6 {
regulator-name = "vreg_l6c_2p9";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7c_cam_vcm0_2p85: ldo7 {
regulator-name = "vreg_l7c_cam_vcm0_2p85";
regulator-min-microvolt = <2856000>;
regulator-max-microvolt = <3104000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l8c_1p8: ldo8 {
regulator-name = "vreg_l8c_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9c_2p9: ldo9 {
regulator-name = "vreg_l9c_2p9";
regulator-min-microvolt = <2704000>;
regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10c_3p0: ldo10 {
regulator-name = "vreg_l10c_3p0";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11c_3p3: ldo11 {
regulator-name = "vreg_l11c_3p3";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3312000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-2 {
compatible = "qcom,pm8009-rpmh-regulators";
qcom,pmic-id = "f";
vdd-s1-supply = <&vph_pwr>;
vdd-s2-supply = <&vreg_bob>;
vdd-l2-supply = <&vreg_s8c_1p35>;
vdd-l5-l6-supply = <&vreg_bob>;
vdd-l7-supply = <&vreg_s4a_1p8>;
vreg_s1f_1p2: smps1 {
regulator-name = "vreg_s1f_1p2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s2f_0p95: smps2 {
regulator-name = "vreg_s2f_0p95";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1100000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/* L1 is unused. */
vreg_l2f_1p3: ldo2 {
regulator-name = "vreg_l2f_1p3";
regulator-min-microvolt = <1304000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/* L3 & L4 are unused. */
vreg_l5f_2p8: ldo5 {
regulator-name = "vreg_l5f_2p85";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l6f_2p8: ldo6 {
regulator-name = "vreg_l6f_2p8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7f_1p8: ldo7 {
regulator-name = "vreg_l7f_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
};
&cdsp {
firmware-name = "qcom/sm8250/xiaomi/elish/cdsp.mbn";
status = "okay";
};
&gmu {
status = "okay";
};
&gpu {
tatus = "okay";
zap-shader {
memory-region = <&gpu_mem>;
firmware-name = "qcom/sm8250/xiaomi/elish/a650_zap.mbn";
};
};
&qupv3_id_0 {
status = "okay";
};
&qupv3_id_1 {
status = "okay";
};
&qupv3_id_2 {
status = "okay";
};
&gpi_dma0 {
status = "okay";
};
&gpi_dma1 {
status = "okay";
};
&gpi_dma2 {
status = "okay";
};
&i2c3 {
clock-frequency = <400000>;
status = "okay";
cs35l41_brh: speaker-amp@40 {
compatible = "cirrus,cs35l41";
reg = <0x40>;
interrupt-parent = <&tlmm>;
interrupts = <113 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&tlmm 114 GPIO_ACTIVE_HIGH>;
cirrus,temp-warn_threshold = <3>;
cirrus,boost-peak-milliamp = <4000>;
cirrus,boost-ind-nanohenry = <1000>;
cirrus,boost-cap-microfarad = <15>;
cirrus,asp-sdout-hiz = <1>;
cirrus,gpio2-src-select = <4>;
cirrus,gpio2-output-enable;
sound-name-prefix = "BRH";
#sound-dai-cells = <1>;
};
cs35l41_blh: speaker-amp@42 {
compatible = "cirrus,cs35l41";
reg = <0x42>;
interrupt-parent = <&tlmm>;
interrupts = <112 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&tlmm 114 GPIO_ACTIVE_HIGH>;
cirrus,boost-peak-milliamp = <4000>;
cirrus,boost-ind-nanohenry = <1000>;
cirrus,boost-cap-microfarad = <15>;
cirrus,asp-sdout-hiz = <1>;
cirrus,gpio2-src-select = <4>;
cirrus,gpio2-output-enable;
sound-name-prefix = "BLH";
#sound-dai-cells = <1>;
};
};
&i2c13 {
clock-frequency = <400000>;
status = "okay";
touchscreen: fts@49 {
status = "okay";
compatible = "st,fts";
reg = <0x49>;
interrupt-parent = <&tlmm>;
interrupts = <39 0x2008>;
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
avdd-supply = <&vreg_touch_vddio>;
vdd-supply = <&vreg_l1c_1p8>;
fts,pwr-reg-name = "avdd";
fts,bus-reg-name = "vdd";
fts,irq-gpio = <&tlmm 39 0x2008>;
fts,irq-gpio-name = "fts_irq";
fts,reset-gpio-enable;
fts,reset-gpio = <&tlmm 38 0x00>;
fts,reset-gpio-name = "fts_rst";
fts,irq-flags = <0x2008>; /* IRQF_ONESHOT | IRQF_TRIGGER_LOW */
fts,x-max = <1080>;
fts,y-max = <2340>;
// fts,fod-lx = <421>;
// fts,fod-ly = <1788>;
// fts,fod-x-size = <238>;
// fts,fod-y-size = <238>;
fts,default-fw-name = "st_fts_j2.ftb";
fts,config-array-size = <2>;
fts,dump-click-count;
// fts,support-fod;
fts,touch-up-threshold-min = <40>;
fts,touch-up-threshold-max = <120>;
fts,touch-up-threshold-def = <80>;
fts,touch-tolerance-min = <5>;
fts,touch-tolerance-max = <35>;
fts,touch-tolerance-def = <25>;
fts,touch-idletime-min = <0>;
fts,touch-idletime-max = <12750>;
fts,touch-idletime-def = <12450>;
/*edge filter rects in gamemode*/
fts,cornerfilter-area-step1 = <100>;
fts,cornerfilter-area-step2 = <170>;
fts,cornerfilter-area-step3 = <250>;
fts,touch-deadzone-filter-ver = <2 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0
2 2 0 0 5 2339 0 0
2 3 1074 0 1079 2339 0 0>;
fts,touch-deadzone-filter-hor = <2 0 0 0 1079 5 0 0
2 1 0 2334 1079 2339 0 0
2 2 0 0 5 2339 0 0
2 3 1074 0 1079 2339 0 0>;
fts,touch-edgezone-filter-ver = <1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0
1 2 0 0 40 2339 0 0
1 3 1039 0 1079 2339 0 0>;
fts,touch-edgezone-filter-hor = <1 0 0 0 1079 40 0 0
1 1 0 2299 1079 2339 0 0
1 2 0 0 40 2339 0 0
1 3 1039 0 1079 2339 0 0>;
fts,touch-cornerzone-filter-ver = <0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 2 0 2039 150 2339 0 0
0 3 929 2039 1079 2339 0 0>;
fts,touch-cornerzone-filter-hor1 = <0 0 0 0 170 170 0 0
0 1 0 0 0 0 0 0
0 2 0 2169 170 2339 0 0
0 3 0 0 0 0 0 0>;
fts,touch-cornerzone-filter-hor2 = <0 0 0 0 0 0 0 0
0 1 909 0 1079 170 0 0
0 2 0 0 0 0 0 0
0 3 909 2169 1079 2339 0 0>;
fts,cfg_0 {
fts,tp-vendor = <0x38>;
fts,tp-module = <0>;
fts,fw-name = "st_fts_j2_1.ftb";
fts,limit-name = "stm_fts_production_limits_1.csv";
};
fts,cfg_1 {
fts,tp-vendor = <0x42>;
fts,tp-module = <1>;
fts,fw-name = "st_fts_j2_2.ftb";
fts,limit-name = "stm_fts_production_limits_2.csv";
};
};
};
//TODO: Port the CHARGER Driver
&i2c15{
status = "disabled";
// bq25970: bq25970-standalone@66 {
// compatible = "ti,bq2597x-standalone";
// reg = <0x66>;
// interrupt-parent = <&tlmm>;
// interrupts = <68 0x2002>;
// pinctrl-names = "default";
// pinctrl-0 = <&bq2597x_master_int_default>;
// ti,bq2597x,bat-ovp-alarm-disable;
// ti,bq2597x,bat-ocp-disable;
// ti,bq2597x,bat-ocp-alarm-disable;
// ti,bq2597x,bat-ucp-alarm-disable;
// ti,bq2597x,bat-ucp-disable;
// ti,bq2597x,bat-therm-disable;
// ti,bq2597x,bus-therm-disable;
// ti,bq2597x,die-therm-disable;
// ti,bq2597x,bat-ovp-threshold = <4550>;
// ti,bq2597x,bat-ovp-alarm-threshold = <4525>;
// ti,bq2597x,bus-ovp-threshold = <12000>;
// ti,bq2597x,bus-ovp-alarm-threshold = <11000>;
// ti,bq2597x,bus-ocp-threshold = <3750>;
// ti,bq2597x,bus-ocp-alarm-threshold = <3500>;
// ti,bq2597x,bat-therm-threshold = <0x15>;/*4.1%*/
// ti,bq2597x,bus-therm-threshold = <0x15>;/*4.1%*/
// ti,bq2597x,die-therm-threshold = <145>;
// ti,bq2597x,ac-ovp-threshold = <14>;
// };
};
//TODO: There are some issues with DSC CMD Mode that need to be fixed,https://gitlab.freedesktop.org/drm/msm/-/issues/42
// &mdss {
// status = "okay";
// };
// &mdss_dsi0 {
// vdda-supply = <&vreg_l9a_1p2>;
// qcom,master-dsi;
// status = "okay";
// display_panel: panel@0 {
// reg = <0>;
// vddio-supply = <&vreg_l14a_1p88>;
// reset-gpios = <&tlmm 12 0>;
// port {
// panel_in: endpoint {
// remote-endpoint = <&mdss_dsi0_out>;
// };
// };
// };
// };
// &mdss_dsi0_out {
// data-lanes = <0 1 2 3>;
// remote-endpoint = <&panel_in>;
// };
// &mdss_dsi0_phy {
// vdds-supply = <&vreg_l5a_0p88>;
// status = "okay";
// };
&pcie0 {
status = "okay";
};
&pcie0_phy {
vdda-phy-supply = <&vreg_l5a_0p88>;
vdda-pll-supply = <&vreg_l9a_1p2>;
status = "okay";
/* Power on QCA639x chip, otherwise PCIe bus timeouts */
power-domains = <&qca639x>;
};
&pm8150_gpios {
vol_up_n: vol-up-n-state {
pins = "gpio6";
function = "normal";
power-source = <1>;
input-enable;
bias-pull-up;
};
};
&pon_pwrkey {
status = "okay";
};
&pon_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&slpi {
firmware-name = "qcom/sm8250/xiaomi/elish/slpi.mbn";
status = "disabled";
};
&q6afedai {
dai@20 {
reg = <TERTIARY_MI2S_RX>;
qcom,sd-lines = <0>;
};
};
&q6asmdai {
dai@0 {
reg = <0>;
};
};
&swr1 {
status = "okay";
wcd_rx: wcd9380-rx@0,4 {
compatible = "sdw20217010d00";
reg = <0x0d 0x1170224>;
qcom,rx-port-mapping = <1 2 3 4 5>;
};
};
&swr2 {
status = "okay";
wcd_tx: wcd9380-tx@0,3 {
compatible = "sdw20217010d00";
reg = <0x0d 0x1170223>;
qcom,tx-port-mapping = <2 3 4 5>;
};
};
&sound {
compatible = "qcom,sm8250-sndcard";
model = "Xiaomi Mi 10";
pinctrl-names = "default";
pinctrl-0 = <&tert_mi2s_active>;
mm1-dai-link {
link-name = "MultiMedia1";
cpu {
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
};
};
speaker-dai-link {
link-name = "Tertiary MI2S Playback";
cpu {
sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
};
platform {
sound-dai = <&q6routing>;
};
codec {
sound-dai = <&cs35l41_brh 0>, <&cs35l41_blh 0>;
};
};
};
&tlmm {
gpio-reserved-ranges = <28 4>, <40 4>, <52 4>;
mdss_te_default: mdss-te-default-state {
pins = "gpio66";
function = "mdp_vsync";
drive-strength = <2>;
bias-pull-down;
};
bt_en_state: bt-default-state {
bt-en-pins {
pins = "gpio21";
function = "gpio";
drive-strength = <16>;
output-low;
bias-pull-up;
};
};
wlan_en_state: wlan-default-state {
wlan-en-pins {
pins = "gpio20";
function = "gpio";
drive-strength = <16>;
output-low;
bias-pull-up;
};
};
key_confirm: key_confirm_default {
pins = "gpio7";
function = "normal";
input-enable;
bias-pull-up;
};
ts_active: ts-active {
pins = "gpio38", "gpio39";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
ts_int_suspend: ts-int-suspend {
pins = "gpio39";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
};
ts_reset_suspend: ts-reset-suspend {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
};
};
&uart6 {
status = "okay";
bluetooth {
compatible = "qcom,qca6390-bt";
pinctrl-names = "default";
pinctrl-0 = <&bt_en_state>;
power-domains = <&qca639x>;
enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
swctrl-gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>;
};
};
&ufs_mem_hc {
vcc-supply = <&vreg_l17a_3p0>;
vcc-max-microamp = <800000>;
vccq-supply = <&vreg_l6a_1p2>;
vccq-max-microamp = <800000>;
vccq2-supply = <&vreg_s4a_1p8>;
vccq2-max-microamp = <800000>;
status = "okay";
};
&ufs_mem_phy {
vdda-phy-supply = <&vreg_l5a_0p88>;
vdda-pll-supply = <&vreg_l9a_1p2>;
status = "okay";
};
&usb_1 {
/* USB 2.0 only */
qcom,select-utmi-as-pipe-clk;
status = "okay";
};
&usb_1_dwc3 {
dr_mode = "otg";
maximum-speed = "high-speed";
/* Remove USB3 phy */
phys = <&usb_1_hsphy>;
phy-names = "usb2-phy";
usb-role-switch;
};
&usb_1_hsphy {
vdda-pll-supply = <&vreg_l5a_0p88>;
vdda18-supply = <&vreg_l12a_1p8>;
vdda33-supply = <&vreg_l2a_3p1>;
status = "okay";
};
&venus {
firmware-name = "qcom/sm8250/xiaomi/elish/venus.mbn";
status = "okay";
};

View File

@@ -1,13 +0,0 @@
/dts-v1/;
#include "sm8250-xiaomi-umi-common.dtsi"
/ {
model = "Xiaomi Mi 10 (CSOT)";
compatible = "xiaomi,umi", "qcom,sm8250";
};
// &display_panel {
// compatible = "xiaomi-umi-csot";
// status = "okay";
// };

View File

@@ -1,13 +0,0 @@
/dts-v1/;
#include "sm8250-xiaomi-umi-common.dtsi"
/ {
model = "Xiaomi Mi 10 (SMS)";
compatible = "xiaomi,umi", "qcom,sm8250";
};
// &display_panel {
// compatible = "xiaomi-umi-sms";
// status = "okay";
// };