Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

arm64: dts: qcom: sdm636-xiaomi-tulip: enable fan53526 buck regulator for LDDR4 #45

Open
wants to merge 65 commits into
base: qcom-sdm660-6.11.y
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
07c5373
HACK: of: fdt: filter out dangerous Android bootloader parameters
minlexx May 28, 2024
f8d6064
sdm660_defconfig
minlexx Aug 4, 2022
3ac5b55
Add CI that runs DTBs check
minlexx Jan 4, 2024
5379b2f
arm64: dts: qcom: sdm630: Add modem metadata mem
minlexx Oct 22, 2023
1038e9f
arm64: dts: qcom: sdm630: Add support for WCN3990 Wi-Fi
minlexx Jun 21, 2023
4960acb
iommu/arm-smmu-qcom: Skip the TTBR1 quirk for MSM8998 and SDM630
kholk Aug 10, 2021
8649a2b
iommu/arm-smmu-qcom: Add MSM8998 and SDM660 mss compatibles for identity
kholk Aug 10, 2021
482a8ed
iommu/arm-smmu-qcom: Allow choosing a custom bypass emulation context
kholk Aug 4, 2021
8ad47ca
iommu/arm-smmu: Allow skipping context bank disable at reset time
kholk Aug 6, 2021
512b123
iommu/arm-smmu-qcom: Avoid disabling secured context banks
kholk Aug 6, 2021
85806b4
iommu/arm-smmu-qcom: Don't modify sACR on hypervisor secured iommus
kholk Aug 6, 2021
c600bda
arm64: dts: sdm630: Override bypass emulation context for lpass, anoc2
kholk Aug 4, 2021
d30c8cf
arm64: dts: qcom: sdm630: Disallow disabling secured iommu context banks
kholk Aug 4, 2021
4522e16
dt-bindings: touchscreen: Add binding for Novatek NT36xxx series driver
kholk Oct 28, 2020
63193af
input: Add Novatek NT36xxx touchscreen driver
kholk Oct 28, 2020
d65093a
power: supply: Add driver for Qualcomm PMIC fuel gauge
Feb 3, 2021
b0b5a63
dt-bindings: input: add Qualcomm SPMI haptics driver
calebccff Dec 10, 2021
d12b844
input: add Qualcomm SPMI haptics driver
calebccff Dec 10, 2021
c1e7a4a
arm64: dts: qcom: pm660: add spmi-haptics node
M0Rf30 Feb 11, 2024
ef3036b
arm64: dts: qcom: pm660: Add and fuel gauge
iAboothahir Oct 8, 2022
53196ed
gpu go 700mhz
MarijnS95 Oct 18, 2020
fa46254
drm/msm: add missing A508/512 MODULE_FIRMWARE declarations
iAboothahir Aug 29, 2024
6ed304a
arm64: dts: qcom: sdm660/sdm630: add zap-shader node
barni2000 Mar 25, 2024
446f023
iommu/arm-smmu-qcom: Add SDM630/660 mdp5 compatibles for identity
minlexx Dec 6, 2023
65e4d0a
drm/panel: Add panel driver for asus-x00td nt36672-txd
iAboothahir Sep 9, 2024
2d42e57
arm64: dts: qcom: Add initial support for asus-x00td
iAboothahir Mar 27, 2022
9eddba3
arm64: dts: qcom: Introduce SDM660 Xiaomi Mi 8 Lite (platina)
kholk Aug 5, 2021
975ec2f
arm64: dts: qcom: sdm660-platina: Add several more features
MollySophia Jan 17, 2022
8c2a3f5
arm64: dts: qcom: sdm660-xiaomi-lavender: Enable radio interfaces
minlexx Jun 21, 2023
d5f93b0
arm64: dts: qcom: sdm660-xiaomi-lavender: Add Touchscreen
Danct12 Apr 25, 2022
ab22947
arm64: dts: qcom: sdm660-xiaomi-lavender: Mark l3b as always-on
minlexx Nov 17, 2023
516382c
arm64: dts: qcom: sdm660-xiaomi-lavender: Add support for battery
minlexx Dec 31, 2023
23f6de6
arm64: dts: qcom: sdm660-xiaomi-lavender: Add support for venus
minlexx Jan 6, 2024
cbba901
arm64: dts: qcom: sdm660-xiaomi-lavender: Add support for haptics
minlexx Apr 27, 2024
6e07c7a
arm64: dts: qcom: add device-tree for Redmi Note 6 Pro (tulip)
M0Rf30 Nov 26, 2022
652009c
drm/panel: Add support for xiaomi-jasmine nt36672 panel
buddyjojo Nov 26, 2022
eec2454
arm64: dts: qcom: sdm660: Add device tree for Xiaomi Mi A2 (jasmine)
buddyjojo Nov 26, 2022
7835041
drm/panel Add support for Focaltech FT8716u panel
ElectrodeYT Mar 5, 2023
de42db0
arm64: dts: qcom: sdm630: Add initial device tree for nokia-pl2
ElectrodeYT Mar 5, 2023
3efeeed
arm64: dts: qcom: sdm660: Add initial support for xiaomi-clover
nergzd723 Mar 2, 2021
d6d3c0a
arm64: dts: qcom: sdm660-xiaomi-clover: Split to common base and devi…
kubntd Jan 2, 2024
4f8ce5f
arm64: dts: qcom: Add Xiaomi Mi Pad 4 Plus device tree (clover-plus)
kubntd Jan 2, 2024
c467da3
drivers: gpu: drm: panel: Add BOE NT51021 driver for Xiaomi Mi Pad 4
kubntd Sep 15, 2024
16da512
drm/panel: simple: Add Tianma NT36672a panel used in Xiaomi Redmi Note 7
minlexx Apr 14, 2024
cc448c0
drm/panel: simple: Add Tianma NT36672a panel used in Xiaomi Redmi Not…
M0Rf30 May 8, 2024
5383ae3
drivers: gpu: drm: panel: Add BOE TD4320 (xiaomi-lavender)
barni2000 Apr 23, 2024
230b236
arm64: dts: qcom: sdm660-xiaomi-lavender: Enable display
minlexx Apr 15, 2024
ad25621
dt-bindings: arm: qcom: Add lavender variants
barni2000 Apr 24, 2024
b74e811
arm64: dts: qcom: sdm660-xiaomi-lavender: Split by display
barni2000 Apr 23, 2024
3df6447
drivers/gpu: panel: Add support for Truly TD4322 panel (for Sony Xper…
bhush9 May 12, 2024
ea1906b
arm64: dts: qcom: Enable GPU for sony-nile-pioneer
bhush9 May 12, 2024
057647b
FROMGIT drm/msm/a5xx: disable preemption in submits by default
vldly Sep 1, 2024
f6a05fc
FROMGIT drm/msm/a5xx: properly clear preemption records on resume
vldly Sep 1, 2024
fba6744
FROMGIT drm/msm/a5xx: fix races in preemption evaluation stage
vldly Sep 1, 2024
5714fa5
FROMGIT drm/msm/a5xx: workaround early ring-buffer emptiness check
vldly Sep 1, 2024
d9b1df7
FROMGIT clk: qcom: clk-alpha-pll: Fix pll post div mask when width is…
barni2000 Sep 25, 2024
4800b6e
wifi: ath10k: make in-order rx amsdu buffers persistent
flamingradian Mar 13, 2023
f5b0f88
clk: qcom: mmcc-sdm660: fix stuck video_subcore0 clock
barni2000 Sep 21, 2024
18f27ed
HACK: framebuffer scaling for several devices
minlexx Aug 7, 2024
db7c9fb
arm64: dts: qcom: sdm630: add SPI interface
M0Rf30 Nov 2, 2024
84bb8e4
arm64: dts: qcom: sdm636-xiaomi-tulip: enable spi_7 interface
M0Rf30 Nov 2, 2024
919c9b2
fixup! arm64: dts: qcom: add device-tree for Redmi Note 6 Pro (tulip)
M0Rf30 Nov 3, 2024
6c4df4d
arm64: dts: qcom: sdm636-xiaomi-tulip: enable Adreno 509 gpu
M0Rf30 Nov 3, 2024
f3d1059
regulator: fan53555: add support for fan53526 chipid 8 rev 1
M0Rf30 Nov 9, 2024
cde75bc
arm64: dts: qcom: sdm636-xiaomi-tulip: enable fan53526 buck regulator…
M0Rf30 Nov 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/workflows/check-dtschema.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Device tree validation
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- qcom-sdm660-6.*.y
tags:
- v*-sdm660
jobs:
check-dbts:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install dependencies
run: |
sudo apt install -yqq bison build-essential device-tree-compiler flex gcc-aarch64-linux-gnu python3 python3-dev python3-venv swig
- name: Prepare build direcotory
run: |
mkdir build-dtbs-check
- name: Prepare config
run: |
make O=build-dtbs-check ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig sdm660_defconfig
- name: Compile DTBs
run: |
make O=build-dtbs-check ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs
- name: Check DTBs
run: |
python3 -m venv venv_dtschema
. venv_dtschema/bin/activate
pip3 install dtschema
make O=build-dtbs-check ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CHECK_DTBS=y qcom/sdm630-*.dtb qcom/sdm636-*.dtb qcom/sdm660-*.dtb
deactivate
rm -r venv_dtschema
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/arm/qcom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -847,6 +847,8 @@ properties:
- items:
- enum:
- xiaomi,lavender
- xiaomi,lavender-boe
- xiaomi,lavender-tianma
- const: qcom,sdm660

- items:
Expand Down
123 changes: 123 additions & 0 deletions Documentation/devicetree/bindings/input/qcom,spmi-haptics.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2020 Unisoc Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/qcom,spmi-haptics.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies Inc PMI8998 spmi haptics

maintainers:
- Caleb Connolly <[email protected]>

description: |
Qualcomm SPMI haptics is a peripheral on some QTI PMICs. It supports linear resonant
actuators and eccentric rotating mass type haptics commonly found in mobile devices.
It supports multiple sources of wave data such as an internal buffer, direct play
(from kernel or userspace) as well as an audio output mode.

properties:
compatible:
items:
- enum:
- qcom,pmi8998-haptics
- qcom,pmi8996-haptics
- qcom,pmi8941-haptics

reg:
maxItems: 1

interrupts:
items:
- description: short circuit interrupt
- description: play interrupt

interrupt-names:
items:
- const: short
- const: play

qcom,actuator-type:
description: |
The type of actuator attached to the hardware.
Allowed values are,
0 - HAP_TYPE_LRA
1 - HAP_TYPE_ERM
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 0, 1 ]
default: 0

qcom,wave-shape:
description: |
Selects the wave shape to use.
Allowed values are,
0 - HAP_WAVE_SINE
1 - HAP_WAVE_SQUARE
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 0, 1 ]
default: 0

qcom,play-mode:
description: |
Selects the play mode to use.
Allowed values are,
0 - HAP_PLAY_DIRECT
1 - HAP_PLAY_BUFFER
2 - HAP_PLAY_AUDIO
3 - HAP_PLAY_PWM
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 0, 1, 2, 3 ]
default: 2

qcom,wave-play-rate-us:
description: |
Wave sample durection in microseconds, 1/f where f
is the resonant frequency of the actuator.
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 0
maximum: 20475

qcom,brake-pattern:
minItems: 4
maxItems: 4
description: |
The brake pattern are the strengths of the pattern
used to brake the haptics. Allowed values are,
0 - 0V
1 - Vmax/4
2 - Vmax/2
3 - Vmax
$ref: /schemas/types.yaml#/definitions/uint32-array
default: [0x3, 0x3, 0x2, 0x1]

required:
- compatible
- reg
- interrupts
- qcom,wave-play-rate-us

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/qcom,spmi-haptics.h>

spmi {
#address-cells = <1>;
#size-cells = <0>;
pmi8998_haptics: haptics@c000 {
compatible = "qcom,pmi8998-haptics";
reg = <0xc000>;

interrupts = <0x3 0xc0 0x0 IRQ_TYPE_EDGE_BOTH>,
<0x3 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "short", "play";

qcom,wave-shape = <HAP_WAVE_SINE>;
qcom,play-mode = <HAP_PLAY_BUFFER>;
qcom,brake-pattern = <0x3 0x3 0x2 0x1>;

status = "disabled";
};
};
59 changes: 59 additions & 0 deletions Documentation/devicetree/bindings/input/touchscreen/nt36xxx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/nt36xxx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Novatek NT36xxx series touchscreen controller Bindings

maintainers:
- AngeloGioacchino Del Regno <[email protected]>

allOf:
- $ref: touchscreen.yaml#

properties:
compatible:
const: novatek,nt36525

reg:
maxItems: 1

interrupts:
maxItems: 1

reset-gpios:
maxItems: 1

vdd-supply:
description: Power supply regulator for VDD pin

vio-supply:
description: Power supply regulator on VDD-IO pin

unevaluatedProperties: false

required:
- compatible
- reg
- interrupts

examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>

i2c {
#address-cells = <1>;
#size-cells = <0>;

touchscreen@62 {
compatible = "novatek,nt36525";
reg = <0x62>;
interrupt-parent = <&tlmm>;
interrupts = <45 IRQ_TYPE_EDGE_RISING>;
reset-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;
};
};

...
26 changes: 26 additions & 0 deletions arch/arm64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2323,6 +2323,32 @@ config CMDLINE_FORCE

endchoice

config CMDLINE_DROP_DANGEROUS_ANDROID_OPTIONS
bool "Drop certain dangerous options from cmdline"
default n
help
Android >=9 primary bootloader with system-as-root feature [1]
enabled passes some arguments in kernel command line, that make
booting Linux harder:

* skip_initramfs
* root=/dev/dm-0
* init=/init
* dm=...

Those parameters override default boot partition to hardcoded,
set init binary to /init, disable booting from initramfs.

Most importantly, Linux processes root= parameter and at boot time
skips initramfs and tries to mount device that does not exist and
fails.

If this option is enabled, those cmdline parameters will be erased
from bootloader's command line, and custom OS can boot the way it
likes.

[1] https://source.android.com/docs/core/architecture/partitions/system-as-root

config EFI_STUB
bool

Expand Down
10 changes: 9 additions & 1 deletion arch/arm64/boot/dts/qcom/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -187,14 +187,22 @@ dtb-$(CONFIG_ARCH_QCOM) += sc8280xp-lenovo-thinkpad-x13s.dtb
dtb-$(CONFIG_ARCH_QCOM) += sda660-inforce-ifc6560.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm450-lenovo-tbx605f.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm450-motorola-ali.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm630-nokia-pl2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-ganges-kirin.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-discovery.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-pioneer.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-voyager.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm632-fairphone-fp3.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm632-motorola-ocean.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm636-asus-x00td.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm636-sony-xperia-ganges-mermaid.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-lavender.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm636-xiaomi-tulip.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-clover.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-clover-plus.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-jasmine.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-lavender-tianma.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-lavender-boe.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm660-xiaomi-platina.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm670-google-sargo.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm845-cheza-r1.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm845-cheza-r2.dtb
Expand Down
28 changes: 28 additions & 0 deletions arch/arm64/boot/dts/qcom/pm660.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/input/qcom,spmi-haptics.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
#include <dt-bindings/thermal/thermal.h>
Expand Down Expand Up @@ -197,6 +198,16 @@
};
};

pm660_fg: fuel-gauge@4000 {
compatible = "qcom,pmi8998-fg";
reg = <0x4000 0x1000>;

interrupts = <0x0 0x40 0x3 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "soc-delta";

status = "disabled";
};

pm660_rradc: adc@4500 {
compatible = "qcom,pm660-rradc";
reg = <0x4500>;
Expand All @@ -222,6 +233,23 @@
#address-cells = <1>;
#size-cells = <0>;

pm660_haptics: haptics@c000 {
compatible = "qcom,pmi8998-haptics", "qcom,spmi-haptics";
reg = <0xc000>;

interrupts = <0x1 0xc0 0x0 IRQ_TYPE_EDGE_BOTH>,
<0x1 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "short", "play";

qcom,actuator-type = <HAP_TYPE_LRA>;
qcom,brake-pattern = <0x3 0x3 0x0 0x0>;
qcom,play-mode = <HAP_PLAY_BUFFER>;
qcom,wave-play-rate-us = <6667>;
qcom,wave-shape = <HAP_WAVE_SQUARE>;

status = "disabled";
};

pm660_spmi_regulators: regulators {
compatible = "qcom,pm660-regulators";
};
Expand Down
Loading