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

Extend CI so it can use self-hosted runner #37

Open
wants to merge 61 commits into
base: qcom-sdm660-6.10.y
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
ecb3d40
HACK: of: fdt: filter out dangerous Android bootloader parameters
minlexx May 28, 2024
72620da
sdm660_defconfig
minlexx Aug 4, 2022
e2bb507
Add CI that runs DTBs check
minlexx Jan 4, 2024
d9d9928
arm64: dts: qcom: sdm630: Add modem metadata mem
minlexx Oct 22, 2023
ab9f1e1
arm64: dts: qcom: sdm630: Add support for WCN3990 Wi-Fi
minlexx Jun 21, 2023
de777c2
iommu/arm-smmu-qcom: Skip the TTBR1 quirk for MSM8998 and SDM630
kholk Aug 10, 2021
c3014e4
iommu/arm-smmu-qcom: Add MSM8998 and SDM660 mss compatibles for identity
kholk Aug 10, 2021
cd8b2b3
iommu/arm-smmu-qcom: Allow choosing a custom bypass emulation context
kholk Aug 4, 2021
7667f81
iommu/arm-smmu: Allow skipping context bank disable at reset time
kholk Aug 6, 2021
bf085e6
iommu/arm-smmu-qcom: Avoid disabling secured context banks
kholk Aug 6, 2021
a5b0b51
iommu/arm-smmu-qcom: Don't modify sACR on hypervisor secured iommus
kholk Aug 6, 2021
e247078
arm64: dts: sdm630: Override bypass emulation context for lpass, anoc2
kholk Aug 4, 2021
269255d
arm64: dts: qcom: sdm630: Disallow disabling secured iommu context banks
kholk Aug 4, 2021
17c9540
dt-bindings: touchscreen: Add binding for Novatek NT36xxx series driver
kholk Oct 28, 2020
ef8229a
input: Add Novatek NT36xxx touchscreen driver
kholk Oct 28, 2020
faa9ce6
HACK: ath10k: Fake MSA ready event after event server arrival
JamiKettunen Mar 26, 2022
d0fa572
power: supply: Add driver for Qualcomm PMIC fuel gauge
Feb 3, 2021
48a7bd0
dt-bindings: input: add Qualcomm SPMI haptics driver
calebccff Dec 10, 2021
55f047e
input: add Qualcomm SPMI haptics driver
calebccff Dec 10, 2021
f9c43ab
arm64: dts: qcom: pm660: add spmi-haptics node
M0Rf30 Feb 11, 2024
f69f876
arm64: dts: qcom: pm660: Add rradc, charger and fuel gauge
iAboothahir Oct 8, 2022
d14cebb
gpu go 700mhz
MarijnS95 Oct 18, 2020
79c623c
drm/msm: add missing a508/512 MODULE_FIRMWARE declarations
iAboothahir Oct 7, 2022
129e7f7
drm/panel-simple: Add NT36672_TXD FHD+ IPS LCD Panel
iAboothahir Mar 26, 2022
737d378
arm64: dts: qcom: Add initial support for asus-x00td
iAboothahir Mar 27, 2022
22489bd
arm64: dts: qcom: sdm660: Add initial support for xiaomi-clover
nergzd723 Mar 2, 2021
c1acad1
arm64: dts: qcom: sdm660-xiaomi-clover: Fix regulator probe issues
minlexx Dec 30, 2023
65400fa
arm64: dts: qcom: Introduce SDM660 Xiaomi Mi 8 Lite (platina)
kholk Aug 5, 2021
14e42d7
arm64: dts: qcom: sdm660-platina: Add several more features
MollySophia Jan 17, 2022
fb6ea9a
arm64: dts: qcom: sdm660-xiaomi-lavender: Enable radio interfaces
minlexx Jun 21, 2023
9cc794c
arm64: dts: qcom: sdm660-xiaomi-lavender: Add Touchscreen
Danct12 Apr 25, 2022
70dba33
arm64: dts: qcom: sdm660-xiaomi-lavender: Mark l3b as always-on
minlexx Nov 17, 2023
28c69ae
arm64: dts: qcom: sdm660-xiaomi-lavender: Add support for battery
minlexx Dec 31, 2023
ca9bfa7
arm64: dts: qcom: sdm660-xiaomi-lavender: Add support for venus
minlexx Jan 6, 2024
7154101
arm64: dts: qcom: sdm660-xiaomi-lavender: Add support for haptics
minlexx Apr 27, 2024
69e4355
arm64: dts: qcom: add device-tree for Redmi Note 6 Pro (tulip)
M0Rf30 Nov 26, 2022
0381289
drm/panel: Add support for xiaomi-jasmine nt36672 panel
buddyjojo Nov 26, 2022
f3647f4
arm64: dts: qcom: sdm660: Add device tree for Xiaomi Mi A2 (jasmine)
buddyjojo Nov 26, 2022
f4bd253
drm/panel Add support for Focaltech FT8716u panel
ElectrodeYT Mar 5, 2023
0319835
arm64: dts: qcom: sdm630: Add initial device tree for nokia-pl2
ElectrodeYT Mar 5, 2023
5bd5057
gpu: drm: panel: Add support for BOE TV101WUM-NX0 panel
kubntd Dec 25, 2023
5a720d8
arm64: dts: qcom: sdm660-xiaomi-clover: Split to common base and devi…
kubntd Jan 2, 2024
f00a8d3
arm64: dts: qcom: Add Xiaomi Mi Pad 4 Plus device tree
kubntd Jan 2, 2024
41d5045
drm/msm/a5xx: Disable GPU preemption until fixed
barni2000 Apr 14, 2024
0fe48ed
arm64: dts: qcom: sdm660/sdm630: add zap-shader node
barni2000 Mar 25, 2024
d890b64
iommu/arm-smmu-qcom: Add SDM630/660 mdp5 compatibles for identity
minlexx Dec 6, 2023
7b5dfda
drm/panel: simple: Add Tianma NT36672a panel used in Xiaomi Redmi Note 7
minlexx Apr 14, 2024
b32b8c2
drm/panel: simple: Add Tianma NT36672a panel used in Xiaomi Redmi Not…
M0Rf30 May 8, 2024
0f69662
drivers: gpu: drm: panel: Add BOE TD4320
barni2000 Apr 23, 2024
ba80a24
arm64: dts: qcom: sdm660-xiaomi-lavender: Enable display
minlexx Apr 15, 2024
353eabf
dt-bindings: arm: qcom: Add lavender variants
barni2000 Apr 24, 2024
ee97c29
arm64: dts: qcom: sdm660-xiaomi-lavender: Split by display
barni2000 Apr 23, 2024
d749be2
wifi: ath10k: make in-order rx amsdu buffers persistent
flamingradian Mar 13, 2023
b384da3
drivers/gpu: panel: Add support for Truly TD4322 panel
bhush9 May 12, 2024
c7764f2
arm64: dts: qcom: Enable GPU for sony-nile-pioneer
bhush9 May 12, 2024
9c97119
UPSTREAM: soc: qcom: pdr: protect locator_addr with the main mutex
lumag May 11, 2024
bc66517
UPSTREAM: soc: qcom: pdr: extract PDR message marshalling data
lumag May 11, 2024
7931578
UPSTREAM: soc: qcom: add pd-mapper implementation
lumag May 11, 2024
d5cde25
UPSTREAM: remoteproc: qcom: enable in-kernel PD mapper
lumag May 11, 2024
7d7f234
Extend CI so it can use self-hosted runner
minlexx Jul 15, 2024
d7d507d
These packages are created by pmos user (id 12345) so we need root to…
minlexx Aug 7, 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
84 changes: 84 additions & 0 deletions .github/workflows/build-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Build Linux kernel image and package
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- qcom-sdm660-6.*.y
tags:
- v*-sdm660
jobs:
build-linux:
runs-on: [self-hosted, Linux, aarch64]
steps:
- name: Pring debug info and do some pre-run checks
run: |
echo "GITHUB_WORKSPACE: $GITHUB_WORKSPACE"
echo "GITHUB_BASE_REF: $GITHUB_BASE_REF"
echo "GITHUB_HEAD_REF: $GITHUB_HEAD_REF"
echo "GITHUB_REF: $GITHUB_REF"
echo -n "whoami: " ; whoami
echo -n "groups: " ; groups
echo "doas permissions check:"
doas -C /etc/doas.conf apt update
- name: Update ubuntu packages
run: |
doas -n apt update
doas -n apt -y upgrade
- name: Checkout linux source from git
uses: actions/checkout@v4
with:
clean: false
- name: Prepare build directory (.output)
run: |
mkdir -p .output
- name: Prepare linux kernel .config using sdm660_defconfig
run: |
make O=.output LOCALVERSION= defconfig sdm660_defconfig
- name: Build linux kernel (Image.gz)
run: |
make O=.output LOCALVERSION= -j$(nproc)
- name: Install modules into fake install prefix
run: |
make O=.output LOCALVERSION= INSTALL_MOD_PATH=PREFIX INSTALL_MOD_STRIP=1 modules_install
- name: Update pmbootstrap
run: git -C /opt/pmbootstrap pull
- name: Prepare pmbootstrap config
run: |
echo -n "pmbootstrap version: "
pmbootstrap --version
pmbootstrap config work /home/runner/_pmbwork
pmbootstrap config aports /home/runner/_pmbwork/cache_git/pmaports
pmbootstrap config ccache_size 20G
pmbootstrap config extra_space 256
pmbootstrap config jobs 4
pmbootstrap config ui console
- name: Dump pmbootstrap config
run: pmbootstrap config
- name: Update pmaports
run: |
git -C $(pmbootstrap config aports) fetch origin
git -C $(pmbootstrap config aports) reset --hard origin/master
pmbootstrap status
- name: Clean pmbootstrap chroots (pmbootstrap zap)
run: |
pmbootstrap -y zap || tail -n200 /home/runner/_pmbwork/log.txt
- name: Clean previously built kernel packages
run: |
doas rm -f /home/runner/_pmbwork/packages/edge/aarch64/linux-postmarketos-qcom-sdm660-*.apk
- name: package linux-postmarketos-qcom-sdm660 using build --envkernel
run: |
cd $GITHUB_WORKSPACE
pmbootstrap --details-to-stdout build --arch aarch64 --envkernel linux-postmarketos-qcom-sdm660
- name: Make small rootfs image with console ui (pmbootstrap install)
run: |
pmbootstrap install --zap --no-firewall --password=147147 || tail -n200 /home/runner/_pmbwork/log.txt
- name: Cleanup pmbootstrap chroots
run: |
pmbootstrap shutdown
- uses: actions/upload-artifact@v4
with:
name: Artifacts
compression-level: 1
path: |
/home/runner/_pmbwork/packages/edge/aarch64/linux-postmarketos-qcom-sdm660-*.apk
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 @@ -832,6 +832,8 @@ properties:
- items:
- enum:
- xiaomi,lavender
- xiaomi,lavender-boe
- xiaomi,lavender-tianma
- const: qcom,sdm660

- items:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ properties:
- samsung,sofef00
# Shangai Top Display Optoelectronics 7" TL070WSH30 1024x600 TFT LCD panel
- tdo,tl070wsh30
# Asus Zenfone Max Pro M1 (x00td) nt36672_1080p_video_txd FHD+ IPS LCD Panel
- asus,nt36672-txd

reg:
maxItems: 1
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 @@ -2325,6 +2325,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 @@ -176,14 +176,22 @@ dtb-$(CONFIG_ARCH_QCOM) += sc8280xp-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc8280xp-lenovo-thinkpad-x13s.dtb
dtb-$(CONFIG_ARCH_QCOM) += sda660-inforce-ifc6560.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
Loading