Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • alistair23/pmaports
  • exkc/pmaports
  • fossdd/pmaports
  • JustSoup321/pmaports
  • Eisenbahnfan/pmaports
  • raihan2000/pmaports
  • sleirsgoevy/pmaports
  • Adrian/pmaports
  • adamthiede/pmaports
  • jianhua/pmaports
  • knuxify/pmaports
  • Arnavion/pmaports
  • barni2000/pmaports
  • longnoserob/pmaports
  • smankusors/pmaports
  • Aren/pmaports
  • langfingaz/pmaports
  • sicelo/pmaports
  • kouta-kun/pmaports
  • craftyguy/pmaports
  • rdacayan/pmaports
  • rmader/pmaports
  • Haui111/pmaports
  • jakko/pmaports
  • dujem/pmaports
  • methanal/pmaports
  • WeirdTreeThing/pmaports
  • MightyM17/pmaports
  • sertonix/pmaports
  • amessier/pmaports
  • akemnade/pmaports
  • setotau/pmaports
  • kevinwidjaja21/pmaports
  • NekoCWD/pmaports
  • ollieparanoid/pmaports
  • manoedinata/pmaports
  • Drakulix/pmaports
  • grimler/pmaports
  • benpicco/pmaports
  • Frieder.Hannenheim/pmaports
  • andrisas/pmaports
  • EspiDev/pmaports
  • maze42/pmaports
  • anjandev/pmaports
  • danct12/pmaports
  • ijiki16/pmaports
  • jja2000/pmaports
  • fancsali/pmaports
  • bolilingmeng89006/pmaports
  • Minecrell/pmaports
  • chipiguay/pmaports
  • cherrypicker/pmaports
  • fortuna-mainline/pmaports
  • pevik/pmaports
  • Patriot-06/pmaports
  • JoseskVolpe/pmaports
  • verdre/pmaports
  • proycon/pmaports
  • AutumnSpark1226/pmaports
  • PsychoGame/pmaports
  • fraolt/pmaports
  • VaporGame/pmaports
  • pugzarecute/pmaports
  • CalcProgrammer1/pmaports
  • hexaheximal/pmaports
  • dabao1955/pmaports
  • HenriDellal/pmaports
  • semfault/pmaports
  • strobo5/pmaports
  • andrewgigena/pmaports
  • Athozus/pmaports
  • 1peter10/pmaports
  • vixalien/pmaports
  • Tooniis/pmaports
  • adomerle/pmaports
  • bjorn3/pmaports
  • StacyHarper/pmaports
  • Jack_Kekzoz/pmaports
  • Ceddicedced/pmaports
  • Justin_Zobel/pmaports
  • airtower-luna/pmaports
  • f-izzo/pmaports
  • cosmo/pmaports
  • 9lore/pmaports
  • postmarketOS/pmaports
  • Johnnynator/pmaports
  • iAboothahir/pmaports
  • N1kroks/pmaports
  • neuschaefer/pmaports
  • DylanVanAssche/pmaports
  • yehiashamaa987/pmaports
  • Operachi/pmaports
  • faveoled/pmaports
  • ilpianista/pmaports
  • johkra/pmaports
  • HDDTHR/pmaports
  • zsoltiv/pmaports
  • Justin/pmaports
  • Kaloyan501/pmaports_huawei_p8_lite_2015_fix
  • joelselvaraj/pmaports
  • rontti/pmaports
  • dsankouski/pmaports
  • StandaSK/pmaports
  • paricbat/pmaports
  • asdfugil/pmaports
  • komaru-yml/pmaports
  • MasterPlexus/pmaports
  • Felix/pmaports
  • ayakael/pmaports
  • feisuzhu/pmaports
  • AJ-RR/pmaports
  • SzczurekYT/pmaports
  • mediaberry/pmaports
  • justsomeguy/pmaports
  • Augis154/pmaports
  • hrdl/pmaports
  • sib0ndt/pmaports
  • 19atlas/pmaports
  • vipaoL/pmaports
  • wannjanjic/pmaports
  • dh/pmaports
  • LogicalErzor/pmaports
  • halamix2/pmaports
  • Shamilkv34/pmaports
  • Cogitri/pmaports
  • fallenritemonk/pmaports
  • user0-07161/pmaports
  • rock3tsprocket/pmaports
  • ellyq/pmaports
  • rodent/pmaports
  • mkorpershoek/pmaports
  • candrew/pmaports
  • fallaciousreasoning/pmaports
  • chalkin/pmaports
  • ungeskriptet/pmaports
  • r00t/pmaports
  • panpanpanpan/pmaports
  • celiffe/pmaports
  • davidfurey/pmaports
  • kidd/pmaports
  • tpikonen/pmaports
  • camelCaseNick/pmaports
  • ermine/pmaports
  • lgh/pmaports
  • sajattack/pmaports
  • StephanieBread/pmaports
  • M0Rf30/pmaports
  • notfound405/pmaports
  • samueldr/pmaports
  • r10nw7fd3/pmaports
  • treid998/pmaports-merge
  • denysvitali/pmaports
  • rodriguezst/pmaports
  • puppiestdoggo1/pmaports
  • donihalim/pmaports
  • EDKPiepaint/pmaports-apple-tonga-test
156 results
Show changes
Commits on Source (21)
Showing
with 164 additions and 704 deletions
......@@ -46,6 +46,8 @@ device/*/device-samsung-coreprimevelte/ @legolivesmatter @balejk
device/*/linux-samsung-coreprimevelte/ @legolivesmatter @balejk
device/*/linux-postmarketos-allwinner/ @Arnavion
device/*/u-boot-pinephone/ @Arnavion
device/*/device-samsung-j5y17lte/ @andrisas
device/*/linux-samsung-j5y17lte/ @andrisas
main/postmarketos-update-depthcharge-kernel/ @jenneron
main/postmarketos-ui-plasma-mobile/ @bshah
......
......@@ -4,7 +4,7 @@
# Co-Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-google-x64cros
pkgdesc="Google Chromebooks with x64 CPU"
pkgver=5
pkgver=7
pkgrel=0
url="https://postmarketos.org"
license="MIT"
......@@ -74,5 +74,5 @@ nonfree_firmware_intel() {
sha512sums="
9260fe8df64e284f137f77844562d2f08e28d72d36a50772b0216cd7d68eeb41d0cdb650d0f0d1ad04c3906991aba0561c36813a2beb62cedf16f616c9ccedb9 deviceinfo
9606a2f61bfd9e0a2ea04fbe45e25093b702fd5b5cccf9f4f50768ee3b501251d8d3e1605485e5ec8f485b4bff7e44fe20d488f80736837654a9951391a97789 modules-initfs
1b3bbfcdc6642488304653aef996dddf7a354e7279f2c735ac7aec404e598948423630fcaa2cac87e2c0aef033ecfc57a7a91154f9dac9a85411db7bad62e677 modules-initfs
"
......@@ -14,3 +14,5 @@ ehci_hcd
uas
xhci_pci
ehci_pci
sdhci_pci
mmc_block
......@@ -3,7 +3,7 @@
# Co-Maintainer: Alexandre Marquet <tb@a-marquet.fr>
pkgname=device-samsung-manta
pkgdesc="Google Nexus 10"
pkgver=5
pkgver=6
pkgrel=0
url="https://postmarketos.org"
license="MIT"
......@@ -23,6 +23,7 @@ source="
100-wlan-mac.rules
wifi-macaddr.sh
networkmanager.conf
hwclock
"
build() {
......@@ -44,6 +45,9 @@ package() {
mkdir -p "$pkgdir"/etc/modprobe.d
echo "options ds2482 active_pullup=0" \
> "$pkgdir"/etc/modprobe.d/ds2482.conf
install -Dm644 "$srcdir"/hwclock \
-t "$pkgdir"/etc/conf.d/
}
nonfree_firmware() {
......@@ -60,6 +64,7 @@ sha512sums="
2816b1389f46255a2ece6fca9dff776ad0f6a8a7d642954da9277c9af3ae383d19866370a8fba24cf1d57eb4305e956df246ffd4ee8f45032962f478d66c2c68 deviceinfo
e00c58936fa4340f8531538136ad028d002342a4399b68d26190b931831108007486257f9d8a48c3ed454696b45d176b1497d624c33ace21e61eba33ac7ce136 modules-initfs
37a18d36e1e08ddcc605de73214dc02a9e7737f6a66b2e4be301fca816bbf3c2ba6b5ead1f12c745fd0fa019e2a8e959e4fc20386ad94ca7277d4c7d7f9fb703 100-wlan-mac.rules
ef18bd3e5c4c8c69dce3293c9e70fa0b30820ba12cb8217346b63392db95513169c31e9bf730aac5cecea15e2cda4166b093bbf0e456055a5432e57400ecb9b1 wifi-macaddr.sh
cfba48f87335ed8810004e02db165203149532ade7be206947f8195bbcc14d61bf3a898378566aca7295ba08784665f462442bf5e74d7f58b2cc62d996376317 wifi-macaddr.sh
5c3a692f22a29fca792c114c6d94ff1bf0d6921f068f207a2894a8f99c73dcc319e7c803ed7adfe64eb3e60088f37e2a2730118b2ed57aa01b35415664085567 networkmanager.conf
8a9756c66bf1eacd6a9717abf772a198123391deac7e32a520666dd6f72c4c5b09d1a4791437c8902f62cf4b49106ace195d57082972b1cb4c843c8e1b065875 hwclock
"
# Default is to use /dev/rtc0, which uses the S3C RTC on Samsung
# Manta, and somehow does not work.
# Use /dev/rtc1 instead, which uses the MAX77686 RTC, and works
# without issues.
clock_args="-f /dev/rtc1"
#!/bin/sh
macaddr=$(sed -n "s/^.*androidboot\.wifimacaddr=\(\([0-9A-Fa-f]\{2\}:\)\{5\}[0-9A-Fa-f]\{2\}\).*$/\1/p" < /proc/cmdline)
/sbin/ip link set wlan0 address "$macaddr"
# Maintainer: Jenneron <jenneron@protonmail.com>
# Co-Maintainer: Alexandre Marquet <tb@a-marquet.fr>
pkgname=firmware-samsung-manta
pkgver=2
pkgrel=2
pkgver=3
pkgrel=0
pkgdesc="Firmware for Samsung Manta (Nexus 10)"
url="https://developers.google.com/android/drivers#mantalmy49j"
arch="armv7"
license="proprietary"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
install="$pkgname.post-install"
_commitfw="5d170b264b593b75734a2c4f10f06fbe42bb5067"
_commitdev="f654b082d30391218c985cd2e2c9089e1b444e11"
source="
......
# Maintainer: Svyatoslav Ryhel <clamor95@gmail.com>
pkgname=linux-postmarketos-grate
pkgver=6.6.9
pkgrel=1
pkgver=6.6.14
pkgrel=0
pkgdesc="Linux kernel with experimental patches for Tegra"
arch="armv7"
url="https://gitlab.com/grate-driver/linux"
......@@ -13,7 +13,7 @@ makedepends="bash bison findutils flex postmarketos-installkernel openssl-dev
# Source
_flavor="${pkgname#linux-}"
_tag="v${pkgver//_/-}-stable"
_tag="v${pkgver//_/-}-lts"
_carch="arm"
_config="config-$_flavor.$arch"
source="$pkgname-$_tag.tar.bz2::$url/-/archive/$_tag/linux-$_tag.tar.bz2
......@@ -46,6 +46,6 @@ package() {
}
sha512sums="
c6f2e1d02cdb8193f07e84d2662bdfcd77b727882e9b82a36215b0793ef004315865af2d83f4af0c89c1db7809bdffa6eac523ff5e871e1370c6b3cea58c3395 linux-postmarketos-grate-v6.6.9-stable.tar.bz2
62fbaf872206260984e7ba9c62bc38387e5e5213acb043192ca5393dba8bc303eda334f2e642d86c95d7c93ac2f1efb57f0ba6a91cd508cafa6b7ecd0d592279 config-postmarketos-grate.armv7
d1dd9f42cfaf64815059295b81832d250b7958fb51508707f0e292934566d936d9ae7a0ad58be1dcb8fefe9b2571b2a8ea53151715f22d11a85973e94ba7c452 linux-postmarketos-grate-v6.6.14-lts.tar.bz2
b779932789ec9b0d3741f2af264b0fb63ea9f88853de9434ccc047272b16e10a910847e02f028d7fa94e5ea684c0221699f15a589e0ba079cbfdceafddebaf1c config-postmarketos-grate.armv7
"
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 6.6.9 Kernel Configuration
# Linux/arm 6.6.14 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="armv7-alpine-linux-musleabihf-gcc (Alpine 13.2.1_git20231014) 13.2.1 20231014"
CONFIG_CC_IS_GCC=y
......@@ -4686,8 +4686,6 @@ CONFIG_MMC_CQHCI=y
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_MTK is not set
# CONFIG_MMC_SDHCI_XENON is not set
# CONFIG_MMC_SDHCI_OMAP is not set
# CONFIG_MMC_SDHCI_AM654 is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
......
based on: https://patchwork.freedesktop.org/patch/482097/
adjusted for v6.1: inx_panel_remove returns void now in drivers/gpu/drm/panel/panel-innolux-himax8279d.c
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
index ddf5f38e8731..375a67f69230 100644
--- a/drivers/gpu/drm/panel/Kconfig
+++ b/drivers/gpu/drm/panel/Kconfig
@@ -180,6 +180,15 @@ config DRM_PANEL_INNOLUX_EJ030NA
320x480 3.0" panel as found in the RS97 V2.1, RG300(non-ips)
and LDK handheld gaming consoles.
+config DRM_PANEL_INNOLUX_HIMAX8279D
+ tristate "INX 2081101qfh032011-53g 1200x1920 video panel"
+ depends on OF
+ depends on DRM_MIPI_DSI
+ depends on BACKLIGHT_CLASS_DEVICE
+ help
+ Say Y here if you want to support for inx 2081101qfh032011-53g
+ 1200x1920 video panel.
+
config DRM_PANEL_INNOLUX_P079ZCA
tristate "Innolux P079ZCA panel"
depends on OF
diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile
index 5740911f637c..a57e72dcbb12 100644
--- a/drivers/gpu/drm/panel/Makefile
+++ b/drivers/gpu/drm/panel/Makefile
@@ -16,6 +16,7 @@ obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o
obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9341) += panel-ilitek-ili9341.o
obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o
obj-$(CONFIG_DRM_PANEL_INNOLUX_EJ030NA) += panel-innolux-ej030na.o
+obj-$(CONFIG_DRM_PANEL_INNOLUX_HIMAX8279D) += panel-innolux-himax8279d.o
obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o
obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o
obj-$(CONFIG_DRM_PANEL_JDI_R63452) += panel-jdi-fhd-r63452.o
diff --git a/drivers/gpu/drm/panel/panel-innolux-himax8279d.c b/drivers/gpu/drm/panel/panel-innolux-himax8279d.c
new file mode 100644
index 000000000000..6840449548e4
--- /dev/null
+++ b/drivers/gpu/drm/panel/panel-innolux-himax8279d.c
@@ -0,0 +1,513 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2021, Huaqin Telecom Technology Co., Ltd
+ * Author: Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com>
+ */
+
+#include <linux/delay.h>
+#include <linux/gpio/consumer.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/regulator/consumer.h>
+
+#include <drm/drm_connector.h>
+#include <drm/drm_crtc.h>
+#include <drm/drm_mipi_dsi.h>
+#include <drm/drm_panel.h>
+
+#include <video/mipi_display.h>
+
+struct panel_desc {
+ const struct drm_display_mode *modes;
+ unsigned int bpc;
+
+ /**
+ * @width_mm: width of the panel's active display area
+ * @height_mm: height of the panel's active display area
+ */
+ struct {
+ unsigned int width_mm;
+ unsigned int height_mm;
+ } size;
+
+ unsigned long mode_flags;
+ enum mipi_dsi_pixel_format format;
+ const struct panel_init_cmd *init_cmds;
+ unsigned int lanes;
+ bool discharge_on_disable;
+};
+
+struct inx_panel {
+ struct drm_panel base;
+ struct mipi_dsi_device *dsi;
+
+ const struct panel_desc *desc;
+
+ enum drm_panel_orientation orientation;
+ struct regulator *pp1800;
+ struct regulator *avee;
+ struct regulator *avdd;
+ struct gpio_desc *enable_gpio;
+
+ bool prepared;
+};
+
+enum dsi_cmd_type {
+ INIT_DCS_CMD,
+ DELAY_CMD,
+};
+
+struct panel_init_cmd {
+ enum dsi_cmd_type type;
+ size_t len;
+ const char *data;
+};
+
+#define _INIT_DCS_CMD(...) { \
+ .type = INIT_DCS_CMD, \
+ .len = sizeof((char[]){__VA_ARGS__}), \
+ .data = (char[]){__VA_ARGS__} }
+
+#define _INIT_DELAY_CMD(...) { \
+ .type = DELAY_CMD,\
+ .len = sizeof((char[]){__VA_ARGS__}), \
+ .data = (char[]){__VA_ARGS__} }
+
+static const struct panel_init_cmd starry_qfh032011_53g_init_cmd[] = {
+ _INIT_DCS_CMD(0xB0, 0x01),
+ _INIT_DCS_CMD(0xC3, 0x4F),
+ _INIT_DCS_CMD(0xC4, 0x40),
+ _INIT_DCS_CMD(0xC5, 0x40),
+ _INIT_DCS_CMD(0xC6, 0x40),
+ _INIT_DCS_CMD(0xC7, 0x40),
+ _INIT_DCS_CMD(0xC8, 0x4D),
+ _INIT_DCS_CMD(0xC9, 0x52),
+ _INIT_DCS_CMD(0xCA, 0x51),
+ _INIT_DCS_CMD(0xCD, 0x5D),
+ _INIT_DCS_CMD(0xCE, 0x5B),
+ _INIT_DCS_CMD(0xCF, 0x4B),
+ _INIT_DCS_CMD(0xD0, 0x49),
+ _INIT_DCS_CMD(0xD1, 0x47),
+ _INIT_DCS_CMD(0xD2, 0x45),
+ _INIT_DCS_CMD(0xD3, 0x41),
+ _INIT_DCS_CMD(0xD7, 0x50),
+ _INIT_DCS_CMD(0xD8, 0x40),
+ _INIT_DCS_CMD(0xD9, 0x40),
+ _INIT_DCS_CMD(0xDA, 0x40),
+ _INIT_DCS_CMD(0xDB, 0x40),
+ _INIT_DCS_CMD(0xDC, 0x4E),
+ _INIT_DCS_CMD(0xDD, 0x52),
+ _INIT_DCS_CMD(0xDE, 0x51),
+ _INIT_DCS_CMD(0xE1, 0x5E),
+ _INIT_DCS_CMD(0xE2, 0x5C),
+ _INIT_DCS_CMD(0xE3, 0x4C),
+ _INIT_DCS_CMD(0xE4, 0x4A),
+ _INIT_DCS_CMD(0xE5, 0x48),
+ _INIT_DCS_CMD(0xE6, 0x46),
+ _INIT_DCS_CMD(0xE7, 0x42),
+ _INIT_DCS_CMD(0xB0, 0x03),
+ _INIT_DCS_CMD(0xBE, 0x03),
+ _INIT_DCS_CMD(0xCC, 0x44),
+ _INIT_DCS_CMD(0xC8, 0x07),
+ _INIT_DCS_CMD(0xC9, 0x05),
+ _INIT_DCS_CMD(0xCA, 0x42),
+ _INIT_DCS_CMD(0xCD, 0x3E),
+ _INIT_DCS_CMD(0xCF, 0x60),
+ _INIT_DCS_CMD(0xD2, 0x04),
+ _INIT_DCS_CMD(0xD3, 0x04),
+ _INIT_DCS_CMD(0xD4, 0x01),
+ _INIT_DCS_CMD(0xD5, 0x00),
+ _INIT_DCS_CMD(0xD6, 0x03),
+ _INIT_DCS_CMD(0xD7, 0x04),
+ _INIT_DCS_CMD(0xD9, 0x01),
+ _INIT_DCS_CMD(0xDB, 0x01),
+ _INIT_DCS_CMD(0xE4, 0xF0),
+ _INIT_DCS_CMD(0xE5, 0x0A),
+ _INIT_DCS_CMD(0xB0, 0x00),
+ _INIT_DCS_CMD(0xCC, 0x08),
+ _INIT_DCS_CMD(0xC2, 0x08),
+ _INIT_DCS_CMD(0xC4, 0x10),
+ _INIT_DCS_CMD(0xB0, 0x02),
+ _INIT_DCS_CMD(0xC0, 0x00),
+ _INIT_DCS_CMD(0xC1, 0x0A),
+ _INIT_DCS_CMD(0xC2, 0x20),
+ _INIT_DCS_CMD(0xC3, 0x24),
+ _INIT_DCS_CMD(0xC4, 0x23),
+ _INIT_DCS_CMD(0xC5, 0x29),
+ _INIT_DCS_CMD(0xC6, 0x23),
+ _INIT_DCS_CMD(0xC7, 0x1C),
+ _INIT_DCS_CMD(0xC8, 0x19),
+ _INIT_DCS_CMD(0xC9, 0x17),
+ _INIT_DCS_CMD(0xCA, 0x17),
+ _INIT_DCS_CMD(0xCB, 0x18),
+ _INIT_DCS_CMD(0xCC, 0x1A),
+ _INIT_DCS_CMD(0xCD, 0x1E),
+ _INIT_DCS_CMD(0xCE, 0x20),
+ _INIT_DCS_CMD(0xCF, 0x23),
+ _INIT_DCS_CMD(0xD0, 0x07),
+ _INIT_DCS_CMD(0xD1, 0x00),
+ _INIT_DCS_CMD(0xD2, 0x00),
+ _INIT_DCS_CMD(0xD3, 0x0A),
+ _INIT_DCS_CMD(0xD4, 0x13),
+ _INIT_DCS_CMD(0xD5, 0x1C),
+ _INIT_DCS_CMD(0xD6, 0x1A),
+ _INIT_DCS_CMD(0xD7, 0x13),
+ _INIT_DCS_CMD(0xD8, 0x17),
+ _INIT_DCS_CMD(0xD9, 0x1C),
+ _INIT_DCS_CMD(0xDA, 0x19),
+ _INIT_DCS_CMD(0xDB, 0x17),
+ _INIT_DCS_CMD(0xDC, 0x17),
+ _INIT_DCS_CMD(0xDD, 0x18),
+ _INIT_DCS_CMD(0xDE, 0x1A),
+ _INIT_DCS_CMD(0xDF, 0x1E),
+ _INIT_DCS_CMD(0xE0, 0x20),
+ _INIT_DCS_CMD(0xE1, 0x23),
+ _INIT_DCS_CMD(0xE2, 0x07),
+ _INIT_DCS_CMD(0X11),
+ _INIT_DELAY_CMD(120),
+ _INIT_DCS_CMD(0X29),
+ _INIT_DELAY_CMD(80),
+ {},
+};
+
+static inline struct inx_panel *to_inx_panel(struct drm_panel *panel)
+{
+ return container_of(panel, struct inx_panel, base);
+}
+
+static int inx_panel_init_dcs_cmd(struct inx_panel *inx)
+{
+ struct mipi_dsi_device *dsi = inx->dsi;
+ struct drm_panel *panel = &inx->base;
+ int i, err = 0;
+
+ if (inx->desc->init_cmds) {
+ const struct panel_init_cmd *init_cmds = inx->desc->init_cmds;
+
+ for (i = 0; init_cmds[i].len != 0; i++) {
+ const struct panel_init_cmd *cmd = &init_cmds[i];
+
+ switch (cmd->type) {
+ case DELAY_CMD:
+ msleep(cmd->data[0]);
+ err = 0;
+ break;
+
+ case INIT_DCS_CMD:
+ err = mipi_dsi_dcs_write(dsi, cmd->data[0],
+ cmd->len <= 1 ? NULL :
+ &cmd->data[1],
+ cmd->len - 1);
+ break;
+
+ default:
+ err = -EINVAL;
+ }
+
+ if (err < 0) {
+ dev_err(panel->dev,
+ "failed to write command %u\n", i);
+ return err;
+ }
+ }
+ }
+ return 0;
+}
+
+static int inx_panel_enter_sleep_mode(struct inx_panel *inx)
+{
+ struct mipi_dsi_device *dsi = inx->dsi;
+ int ret;
+
+ dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
+
+ ret = mipi_dsi_dcs_set_display_off(dsi);
+ if (ret < 0)
+ return ret;
+
+ ret = mipi_dsi_dcs_enter_sleep_mode(dsi);
+ if (ret < 0)
+ return ret;
+
+ return 0;
+}
+
+static int inx_panel_unprepare(struct drm_panel *panel)
+{
+ struct inx_panel *inx = to_inx_panel(panel);
+ int ret;
+
+ if (!inx->prepared)
+ return 0;
+
+ ret = inx_panel_enter_sleep_mode(inx);
+ if (ret < 0) {
+ dev_err(panel->dev, "failed to set panel off: %d\n", ret);
+ return ret;
+ }
+
+ msleep(150);
+
+ if (inx->desc->discharge_on_disable) {
+ regulator_disable(inx->avee);
+ regulator_disable(inx->avdd);
+ usleep_range(5000, 7000);
+ gpiod_set_value(inx->enable_gpio, 0);
+ usleep_range(5000, 7000);
+ regulator_disable(inx->pp1800);
+ } else {
+ gpiod_set_value(inx->enable_gpio, 0);
+ usleep_range(500, 1000);
+ regulator_disable(inx->avee);
+ regulator_disable(inx->avdd);
+ usleep_range(5000, 7000);
+ regulator_disable(inx->pp1800);
+ }
+
+ inx->prepared = false;
+
+ return 0;
+}
+
+static int inx_panel_prepare(struct drm_panel *panel)
+{
+ struct inx_panel *inx = to_inx_panel(panel);
+ int ret;
+
+ if (inx->prepared)
+ return 0;
+
+ gpiod_set_value(inx->enable_gpio, 0);
+ usleep_range(1000, 1500);
+
+ ret = regulator_enable(inx->pp1800);
+ if (ret < 0)
+ return ret;
+
+ usleep_range(3000, 5000);
+
+ ret = regulator_enable(inx->avdd);
+ if (ret < 0)
+ goto poweroff1v8;
+ ret = regulator_enable(inx->avee);
+ if (ret < 0)
+ goto poweroffavdd;
+
+ usleep_range(5000, 10000);
+
+ gpiod_set_value(inx->enable_gpio, 1);
+ usleep_range(1000, 2000);
+ gpiod_set_value(inx->enable_gpio, 0);
+ usleep_range(1000, 2000);
+ gpiod_set_value(inx->enable_gpio, 1);
+ usleep_range(6000, 10000);
+
+ ret = inx_panel_init_dcs_cmd(inx);
+ if (ret < 0) {
+ dev_err(panel->dev, "failed to init panel: %d\n", ret);
+ goto poweroff;
+ }
+
+ inx->prepared = true;
+
+ return 0;
+
+poweroff:
+ regulator_disable(inx->avee);
+poweroffavdd:
+ regulator_disable(inx->avdd);
+poweroff1v8:
+ usleep_range(5000, 7000);
+ regulator_disable(inx->pp1800);
+ gpiod_set_value(inx->enable_gpio, 0);
+
+ return ret;
+}
+
+static int inx_panel_enable(struct drm_panel *panel)
+{
+ msleep(130);
+ return 0;
+}
+
+static const struct drm_display_mode starry_qfh032011_53g_default_mode = {
+ .clock = 165731,
+ .hdisplay = 1200,
+ .hsync_start = 1200 + 100,
+ .hsync_end = 1200 + 100 + 10,
+ .htotal = 1200 + 100 + 10 + 100,
+ .vdisplay = 1920,
+ .vsync_start = 1920 + 14,
+ .vsync_end = 1920 + 14 + 10,
+ .vtotal = 1920 + 14 + 10 + 15,
+};
+
+static const struct panel_desc starry_qfh032011_53g_desc = {
+ .modes = &starry_qfh032011_53g_default_mode,
+ .bpc = 8,
+ .size = {
+ .width_mm = 135,
+ .height_mm = 216,
+ },
+ .lanes = 4,
+ .format = MIPI_DSI_FMT_RGB888,
+ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
+ MIPI_DSI_MODE_LPM,
+ .init_cmds = starry_qfh032011_53g_init_cmd,
+ .discharge_on_disable = false,
+};
+
+static int inx_panel_get_modes(struct drm_panel *panel,
+ struct drm_connector *connector)
+{
+ struct inx_panel *inx = to_inx_panel(panel);
+ const struct drm_display_mode *m = inx->desc->modes;
+ struct drm_display_mode *mode;
+
+ mode = drm_mode_duplicate(connector->dev, m);
+ if (!mode) {
+ dev_err(panel->dev, "failed to add mode %ux%u@%u\n",
+ m->hdisplay, m->vdisplay, drm_mode_vrefresh(m));
+ return -ENOMEM;
+ }
+
+ mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
+ drm_mode_set_name(mode);
+ drm_mode_probed_add(connector, mode);
+
+ connector->display_info.width_mm = inx->desc->size.width_mm;
+ connector->display_info.height_mm = inx->desc->size.height_mm;
+ connector->display_info.bpc = inx->desc->bpc;
+ drm_connector_set_panel_orientation(connector, inx->orientation);
+
+ return 1;
+}
+
+static const struct drm_panel_funcs inx_panel_funcs = {
+ .unprepare = inx_panel_unprepare,
+ .prepare = inx_panel_prepare,
+ .enable = inx_panel_enable,
+ .get_modes = inx_panel_get_modes,
+};
+
+static int inx_panel_add(struct inx_panel *inx)
+{
+ struct device *dev = &inx->dsi->dev;
+ int err;
+
+ inx->avdd = devm_regulator_get(dev, "avdd");
+ if (IS_ERR(inx->avdd))
+ return PTR_ERR(inx->avdd);
+
+ inx->avee = devm_regulator_get(dev, "avee");
+ if (IS_ERR(inx->avee))
+ return PTR_ERR(inx->avee);
+
+ inx->pp1800 = devm_regulator_get(dev, "pp1800");
+ if (IS_ERR(inx->pp1800))
+ return PTR_ERR(inx->pp1800);
+
+ inx->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
+ if (IS_ERR(inx->enable_gpio)) {
+ dev_err(dev, "cannot get reset-gpios %ld\n",
+ PTR_ERR(inx->enable_gpio));
+ return PTR_ERR(inx->enable_gpio);
+ }
+
+ gpiod_set_value(inx->enable_gpio, 0);
+
+ drm_panel_init(&inx->base, dev, &inx_panel_funcs,
+ DRM_MODE_CONNECTOR_DSI);
+ err = of_drm_get_panel_orientation(dev->of_node, &inx->orientation);
+ if (err < 0) {
+ dev_err(dev, "%pOF: failed to get orientation %d\n", dev->of_node, err);
+ return err;
+ }
+
+ err = drm_panel_of_backlight(&inx->base);
+ if (err)
+ return err;
+
+ inx->base.funcs = &inx_panel_funcs;
+ inx->base.dev = &inx->dsi->dev;
+
+ drm_panel_add(&inx->base);
+
+ return 0;
+}
+
+static int inx_panel_probe(struct mipi_dsi_device *dsi)
+{
+ struct inx_panel *inx;
+ int ret;
+ const struct panel_desc *desc;
+
+ inx = devm_kzalloc(&dsi->dev, sizeof(*inx), GFP_KERNEL);
+ if (!inx)
+ return -ENOMEM;
+
+ desc = of_device_get_match_data(&dsi->dev);
+ dsi->lanes = desc->lanes;
+ dsi->format = desc->format;
+ dsi->mode_flags = desc->mode_flags;
+ inx->desc = desc;
+ inx->dsi = dsi;
+ ret = inx_panel_add(inx);
+ if (ret < 0)
+ return ret;
+
+ mipi_dsi_set_drvdata(dsi, inx);
+
+ ret = mipi_dsi_attach(dsi);
+ if (ret)
+ drm_panel_remove(&inx->base);
+
+ return ret;
+}
+
+static void inx_panel_shutdown(struct mipi_dsi_device *dsi)
+{
+ struct inx_panel *inx = mipi_dsi_get_drvdata(dsi);
+
+ drm_panel_disable(&inx->base);
+ drm_panel_unprepare(&inx->base);
+}
+
+static void inx_panel_remove(struct mipi_dsi_device *dsi)
+{
+ struct inx_panel *inx = mipi_dsi_get_drvdata(dsi);
+ int ret;
+
+ inx_panel_shutdown(dsi);
+
+ ret = mipi_dsi_detach(dsi);
+ if (ret < 0)
+ dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", ret);
+
+ if (inx->base.dev)
+ drm_panel_remove(&inx->base);
+}
+
+static const struct of_device_id inx_of_match[] = {
+ { .compatible = "starry,2081101qfh032011-53g",
+ .data = &starry_qfh032011_53g_desc
+ },
+ { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, inx_of_match);
+
+static struct mipi_dsi_driver inx_panel_driver = {
+ .driver = {
+ .name = "panel-innolux-himax8279d",
+ .of_match_table = inx_of_match,
+ },
+ .probe = inx_panel_probe,
+ .remove = inx_panel_remove,
+ .shutdown = inx_panel_shutdown,
+};
+module_mipi_dsi_driver(inx_panel_driver);
+
+MODULE_AUTHOR("Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com>");
+MODULE_DESCRIPTION("INNOLUX HIMAX8279D 1200x1920 video mode panel driver");
+MODULE_LICENSE("GPL v2");
based on: https://patchwork.kernel.org/project/linux-mediatek/patch/20211213162856.235130-3-hsinyi@chromium.org/
diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
index 723810cffce2e7..75bb06d1802a08 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
@@ -175,6 +175,13 @@ properties:
items:
- const: google,kappa
- const: mediatek,mt8183
+ - description: Google Katsu (ASUS Chromebook Detachable CZ1)
+ items:
+ - enum:
+ - google,katsu-sku32
+ - google,katsu-sku38
+ - const: google,katsu
+ - const: mediatek,mt8183
- description: Google Kodama (Lenovo 10e Chromebook Tablet)
items:
- enum:
based on: https://patchwork.kernel.org/project/linux-mediatek/patch/20211213162856.235130-4-hsinyi@chromium.org/
diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
index 75bb06d1802a08..828f5f3fde4e20 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
@@ -191,6 +191,18 @@ properties:
- google,kodama-sku32
- const: google,kodama
- const: mediatek,mt8183
+ - description: Google Makomo (Lenovo 100e Gen 2)
+ items:
+ - const: google,makomo-rev4-sku0
+ - const: google,makomo-rev5-sku0
+ - const: google,makomo
+ - const: mediatek,mt8183
+ - description: Google Makomo (Lenovo 100e Gen 2)
+ items:
+ - const: google,makomo-rev4-sku1
+ - const: google,makomo-rev5-sku1
+ - const: google,makomo
+ - const: mediatek,mt8183
- description: Google Willow (Acer Chromebook 311 C722/C722T)
items:
- enum:
based on: https://patchwork.kernel.org/project/linux-mediatek/patch/20210604052312.1040707-2-hsinyi@chromium.org/
diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
index 80a05f6fee85b..02c0653737648 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
@@ -126,6 +126,15 @@ properties:
items:
- const: google,burnet
- const: mediatek,mt8183
+ - description: Google Cerise (ASUS Chromebook CZ1) / Stern (ASUS Chromebook Flip CZ1)
+ items:
+ - enum:
+ - google,cerise-sku0
+ - google,cerise-sku1
+ - google,cerise-rev3-sku0
+ - google,cerise-rev3-sku1
+ - const: google,cerise
+ - const: mediatek,mt8183
- description: Google Krane (Lenovo IdeaPad Duet, 10e,...)
items:
- enum:
diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
index af362a085a02..52d291eeff53 100644
--- a/arch/arm64/boot/dts/mediatek/Makefile
+++ b/arch/arm64/boot/dts/mediatek/Makefile
@@ -16,6 +16,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-elm-hana-rev7.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-evb.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-burnet.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-cerise.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-cerise-rev3.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-cozmo.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-damu.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-fennel-sku1.dtb
@@ -26,10 +28,16 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-fennel14-sku2.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-juniper-sku16.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-kappa.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-kenzo.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-makomo-sku0.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-makomo-sku1.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-stern.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-stern-rev3.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-willow-sku0.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-willow-sku1.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-kakadu.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-kakadu-sku22.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-katsu-sku32.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-katsu-sku38.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-kodama-sku16.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-kodama-sku272.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-kodama-sku288.dtb
# Maintainer: Jenneron <jenneron@protonmail.com>
# Based on https://github.com/hexdump0815/linux-mainline-mediatek-mt81xx-kernel
# Maintainer: WeirdTreeThing <bradyn127@protonmail.com>
# Co-Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=linux-postmarketos-mediatek-mt8183
pkgver=6.1.39
pkgrel=3
pkgver=6.6.16
pkgrel=0
pkgdesc="Mainline kernel for mediatek mt8183"
arch="aarch64"
_flavor="${pkgname#linux-}"
......@@ -42,24 +42,20 @@ esac
source="
https://cdn.kernel.org/pub/linux/kernel/v${_kernver%%.*}.x/linux-$_kernver.tar.xz
01-RESEND-v2-1-2-drm-panel-Add-inx-Himax8279d-MIPI-DSI-LCD-panel-driver.patch
03-v2-1-4-arm64-dts-mt8183-Add-katsu-board.patch
04-v2-2-4-arm64-dts-mt8183-Add-kukui-jacuzzi-makomo-board.patch
05-v2-3-4-dt-bindings-arm64-dts-mediatek-Add-mt8183-kukui-katsu.patch
06-v2-4-4-dt-bindings-arm64-dts-mediatek-Add-mt8183-kukui-jacuzzi-makomo.patch
07-1-2-arm64-dts-mt8183-Add-kukui-jacuzzi-cerise-board.patch
08-2-2-dt-bindings-arm64-dts-mediatek-Add-mt8183-kukui-jacuzzi-cerise.patch
09-add-new-dtbs-to-makefile.patch
CHROMIUM-ARM64-dts-add-vdec-venc-h264-dtsi.patch
mt8183-cadmium-kukui.enable-ite.patch
mt8183-fix-audio-module-loading.patch
mt8183-fix-bluetooth.patch
mt8183-kukui-disable-unsupported-thermal-zones.patch
mt8183-kukui-jacuzzi-fennel14-rt1015p-sound.patch
arm64-dts-mediatek-mt8183-Add-missing-GPU-clocks.patch
arm64-dts-mediatek-mt8183-Add-missing-syscon-power-d.patch
arm64-dts-mediatek-mt8183-Add-video-encoder-decoder.patch
arm64-dts-mediatek-mt8183-Drop-VDEC_SYS-register.patch
arm64-dts-mediatek-mt8183-Add-register-names-and-sys.patch
arm64-dts-mt8183-Add-jacuzzi-makomo-board.patch
arm64-dts-mt8183-Add-jacuzzi-pico-pico6-board.patch
arm64-dts-mt8183-Add-kukui-katsu-board.patch
arm64-dts-mt8183-Add-kukui-jacuzzi-cerise-board.patch
mt8183-kukui-jacuzzi-fix-display-resume.patch
mt8183-kukui-jacuzzi-hack-dpms-resume.patch
mt81xx-fix-low-speed-usb-devices.patch
mt81xx-usb-02.patch
mt8183-fix-bluetooth.patch
Revert-ASoC-mediatek-mt8183-da7219-max98357-Map-miss.patch
mt8183-kukui-jacuzzi-fennel14-rt1015p-sound.patch
config-$_flavor.aarch64
"
builddir="$srcdir/linux-$_kernver"
......@@ -92,24 +88,20 @@ package() {
sha512sums="
20d468ae89b57dda82d7c7b814c3d8b1b510e1623775b09a8a0b0a8a0431461e0a1d2df2bfa01f3102932c8eef91405546898b50ec3e6f30015098bb39722b41 linux-6.1.39.tar.xz
06e901fd36d4c3a8b51673ed6682a51229856259a4a0c83e65ed10a234c24a4a8828e9f6ed3101713470a25db10af9d5bab29c480b7f5c87af6bd7e81d8c0fe7 01-RESEND-v2-1-2-drm-panel-Add-inx-Himax8279d-MIPI-DSI-LCD-panel-driver.patch
4c7a89fd1e3e7b4589fe3c2addc7c4963cec7ebabf49413b1d6db92386b4b2ba7bf25c961aaa53fc344a4684871b4132806aa4b8c1a63e091651e548bab750ef 03-v2-1-4-arm64-dts-mt8183-Add-katsu-board.patch
a0742fa788d13c836d9dc8827c55a14e804ce77234627f2689fd511b14e5fba17b00f5a8cebd9ae4fa4c644d87cc98d4f18eba385ec4f57bb6fe07d3aff057fd 04-v2-2-4-arm64-dts-mt8183-Add-kukui-jacuzzi-makomo-board.patch
7d29cefe1e338868c6f31516dcff73ef1fdb5e50353ffd0874018bee1c9c116dea65b0bea6e9a5d31f416958ff025a685234e684557705f4675ad4710709e197 05-v2-3-4-dt-bindings-arm64-dts-mediatek-Add-mt8183-kukui-katsu.patch
53279b9019c4aa94488405a823c501734f536acc6f68c7d89f3f76fba04cde897c229ab59d22e97acd68f8ab9fc75ad39bb74fef777a1dbbdf1788bf19ae52c4 06-v2-4-4-dt-bindings-arm64-dts-mediatek-Add-mt8183-kukui-jacuzzi-makomo.patch
20be60004e19068e652010f18353f93a289b109a4b13cfa85184401a13f02417aea644e29accf5c21d6cf511044f2024e3872b211512d15e301ca34613ee0077 07-1-2-arm64-dts-mt8183-Add-kukui-jacuzzi-cerise-board.patch
27e1e536f446dc278ce8a9dd9bd64e5ec6678589b2ca276be7bab5e0a80f119052e9109e6834357a57bbffe30fda48e03d24531f53ad0225f42ad075142f3a37 08-2-2-dt-bindings-arm64-dts-mediatek-Add-mt8183-kukui-jacuzzi-cerise.patch
604fb37887786a2919e93648fb3fd002ce4b948b35a915931e3f2bf3f3a1451fad4f6e042cd0fd9aa7f11bba5864f1b95c9be9ab6aed57a63652c49a7a145a3e 09-add-new-dtbs-to-makefile.patch
2553c147c7b9a387678e5c2508182417346b6acb94f9d22aec10f4aa3e66bb7d84b83ddc0c39f1f3e0dd2137e906891aef349de9da89ce63b3f43c4f42b5e933 CHROMIUM-ARM64-dts-add-vdec-venc-h264-dtsi.patch
4216543acf0ffea0c91b2b7c112cd333be838414f2902cea9f07f5811b96ab5da0e09954086966359316fe0632ac0af65add154b9df0aa11d05962429954e362 mt8183-cadmium-kukui.enable-ite.patch
b9a9e2f620d229ca8acf2df764d6406a304fd51f435929f78c4dfd7f52cd6f1f298f031bb6d7bb7fc8ea360dd8bbd4584bb298f9351100dfb20707de50076244 mt8183-fix-audio-module-loading.patch
d74da1231181835bec82015da1b3f5b08a1fe9c3c35dd712e285891094d94d9427ceac75d32f74be3a635e17d93ad82b37adf97db8176efc91aed17535023fc2 mt8183-fix-bluetooth.patch
a5e99ea30bbdde3a5f0f9745306c9f58876a60489c3cbeacd783cf7e47a013d47c9fb77e4a9dbbd34ec6307d40e64a3623e3cece2f254f734979987f5a22e700 mt8183-kukui-disable-unsupported-thermal-zones.patch
9b8707de42635734031495da055c5860addeb656051540f1a14404b10aa8b501168d8b0e274b37bce989db3bc050e9beef722189556f6d782b92cc907731488d mt8183-kukui-jacuzzi-fennel14-rt1015p-sound.patch
3823a776f8e4aefdec75dce7c959adcb038ab0776d8d7e60fb79626d2d9410c0a334df71b1cd10499ed9ba82d7e50cec415c3f2b821b33f53171ca00b1a3b7f1 linux-6.6.16.tar.xz
669a1bbf8707ec9294da83336673fbb55061a2eed0c6ddb2613da3ae4fa9b0e2bdbdd91ad166694173e3540ea934b2f3bf27d5f9659a6952de806765eed9b824 arm64-dts-mediatek-mt8183-Add-missing-GPU-clocks.patch
027fee259454764e47ffee7100dba7cb9f0741a156ba3d1b47815a0beb6b4ea6cccba885f93b068923ff88047fa82a3d937d3808d0199f1de85cf553068a9ba7 arm64-dts-mediatek-mt8183-Add-missing-syscon-power-d.patch
40246a8da036dc6c21592efd6625a4be22d6f524b067854f17f5671f5f3b134ed1c63a8c03a15a55e9b45b7d8d1a9b63833b86f38a6f5863e02cc8ddbf70fa57 arm64-dts-mediatek-mt8183-Add-video-encoder-decoder.patch
aee85972804ab4a254f007805e25d30a82bb87e48144a05805ccefd49f8530f588e2c50b6550f302895a675003ffbe8e7986c2214d76763474b88804fe7f1519 arm64-dts-mediatek-mt8183-Drop-VDEC_SYS-register.patch
567b13d7508fdf584a64bf3f9d71ba34c045c6e4610ef7f7024ed98f4e7ebbd78c0ee2d5dccc7a50e651e4a088c0621f5150d477520069965466d5db265160ab arm64-dts-mediatek-mt8183-Add-register-names-and-sys.patch
c0ac0f26bb515a68b89515a19113a14e2cd11c940f01649a2e4e9261f852be66af6a53683fc3d4f2ae7b1289fa9247111772f458ff96e51742b2b1efc7a73a11 arm64-dts-mt8183-Add-jacuzzi-makomo-board.patch
5a1bdadc6cb12c1fb52c1ed8710e0d0c05e91b4559725fe7b26c41bc6fa375800cbb51e554401cdf419fbfdf6ab7f91f1efb5ad333db2e0e0466036f41eff519 arm64-dts-mt8183-Add-jacuzzi-pico-pico6-board.patch
69f26a25a9a35eaf8f0c655e3f50a5ab19a5f727b1cdf49ad0c9cb89c69cd9517bd381a62e5197c1f00a7c2f03cd2411415f455e9fb5a2c8c1afa777e754398e arm64-dts-mt8183-Add-kukui-katsu-board.patch
a95ce4a71d249ef401ca04cf8faf85b9022114d35fef5a0ce18929f734a0ac80ed0332648cc9768625f3c26b3720679e1a20bf8ac564087bd4c64f49cd96cc45 arm64-dts-mt8183-Add-kukui-jacuzzi-cerise-board.patch
519b6468bca78d0e315c826592ae40dddca9daeba7c2b451a20ca996494cca45721833b9138fefbb543f53e0b9257c78ec4fec54de2a160aa8df730daf3ac996 mt8183-kukui-jacuzzi-fix-display-resume.patch
e9a128a8ddd98c6c8957ba45186afa2ea8ebeac83d4f2db3ff9ee8a5dd8027af90868c334a7b456bfe7dce793517f27ad63efa220bc933e3407f6362da6d7b2a mt8183-kukui-jacuzzi-hack-dpms-resume.patch
ca1eec5277c3cd8afc2e6079fd4ccfe2f3937cdc8296cafac1d61bb14ca7acdde6e97d561f5a80a919b01fbc06ec991767d3ea1ff4bc34c1d9033993f2689130 mt81xx-fix-low-speed-usb-devices.patch
5db854d3cb1bad58e93eba86014deb1e2cf3b79a1a74561e22832dccf5cd79f6f0c42cc6210926e0dfc4ca9c939b666018cb2ce5612eb49ad84a8b285dc63e07 mt81xx-usb-02.patch
629d4b58586dd1374b786c2ac4ac3ce4bd39f7f0b53f050c5087232aa93083504ebd5c79f41f6d89d7dcf988b9a1baaab0683654e817d5bd8e34f3a1f605d01b config-postmarketos-mediatek-mt8183.aarch64
d74da1231181835bec82015da1b3f5b08a1fe9c3c35dd712e285891094d94d9427ceac75d32f74be3a635e17d93ad82b37adf97db8176efc91aed17535023fc2 mt8183-fix-bluetooth.patch
9e64ef057ecd9bb23b0b0e830007c50ea9c481f64f460d063e9f64735d70d5a4bcf87d9148aa5cc90963ccd5860fe4a9e6f25556a902332b95ef48537d6ee045 Revert-ASoC-mediatek-mt8183-da7219-max98357-Map-miss.patch
9b8707de42635734031495da055c5860addeb656051540f1a14404b10aa8b501168d8b0e274b37bce989db3bc050e9beef722189556f6d782b92cc907731488d mt8183-kukui-jacuzzi-fennel14-rt1015p-sound.patch
0a384eaf25c652891bce2d8cf94ffa43340ee56482ba6c2d98a092eecc5e8af2ef872aefe15ad7e1c33f0488a9d5e57bef2a27560063bbb28e00f49f78ad51b9 config-postmarketos-mediatek-mt8183.aarch64
"
From 7e23f30143f2f44b859aa424d27115a966f785bc Mon Sep 17 00:00:00 2001
From: Anton Bambura <jenneron@protonmail.com>
Date: Sat, 10 Feb 2024 03:35:48 +0200
Subject: [PATCH] Revert "ASoC: mediatek: mt8183-da7219-max98357: Map missing
jack kcontrols"
This reverts commit 9c7388baa2053f333dc524814be4d95f0c2c8ae7.
---
.../mediatek/mt8183/mt8183-da7219-max98357.c | 43 +++----------------
1 file changed, 7 insertions(+), 36 deletions(-)
diff --git a/sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c b/sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c
index acaf81fd6c9b..195962f02471 100644
--- a/sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c
+++ b/sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c
@@ -29,21 +29,6 @@ struct mt8183_da7219_max98357_priv {
struct snd_soc_jack headset_jack, hdmi_jack;
};
-static struct snd_soc_jack_pin mt8183_da7219_max98357_jack_pins[] = {
- {
- .pin = "Headphone",
- .mask = SND_JACK_HEADPHONE,
- },
- {
- .pin = "Headset Mic",
- .mask = SND_JACK_MICROPHONE,
- },
- {
- .pin = "Line Out",
- .mask = SND_JACK_LINEOUT,
- },
-};
-
static int mt8183_mt6358_i2s_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
@@ -587,15 +572,13 @@ mt8183_da7219_max98357_headset_init(struct snd_soc_component *component)
snd_soc_card_get_drvdata(component->card);
/* Enable Headset and 4 Buttons Jack detection */
- ret = snd_soc_card_jack_new_pins(component->card,
- "Headset Jack",
- SND_JACK_HEADSET |
- SND_JACK_BTN_0 | SND_JACK_BTN_1 |
- SND_JACK_BTN_2 | SND_JACK_BTN_3 |
- SND_JACK_LINEOUT,
- &priv->headset_jack,
- mt8183_da7219_max98357_jack_pins,
- ARRAY_SIZE(mt8183_da7219_max98357_jack_pins));
+ ret = snd_soc_card_jack_new(component->card,
+ "Headset Jack",
+ SND_JACK_HEADSET |
+ SND_JACK_BTN_0 | SND_JACK_BTN_1 |
+ SND_JACK_BTN_2 | SND_JACK_BTN_3 |
+ SND_JACK_LINEOUT,
+ &priv->headset_jack);
if (ret)
return ret;
@@ -626,18 +609,12 @@ static struct snd_soc_codec_conf mt6358_codec_conf[] = {
};
static const struct snd_kcontrol_new mt8183_da7219_max98357_snd_controls[] = {
- SOC_DAPM_PIN_SWITCH("Headphone"),
- SOC_DAPM_PIN_SWITCH("Headset Mic"),
SOC_DAPM_PIN_SWITCH("Speakers"),
- SOC_DAPM_PIN_SWITCH("Line Out"),
};
static const
struct snd_soc_dapm_widget mt8183_da7219_max98357_dapm_widgets[] = {
- SND_SOC_DAPM_HP("Headphone", NULL),
- SND_SOC_DAPM_MIC("Headset Mic", NULL),
SND_SOC_DAPM_SPK("Speakers", NULL),
- SND_SOC_DAPM_SPK("Line Out", NULL),
SND_SOC_DAPM_PINCTRL("TDM_OUT_PINCTRL",
"aud_tdm_out_on", "aud_tdm_out_off"),
};
@@ -680,20 +657,14 @@ static struct snd_soc_codec_conf mt8183_da7219_rt1015_codec_conf[] = {
};
static const struct snd_kcontrol_new mt8183_da7219_rt1015_snd_controls[] = {
- SOC_DAPM_PIN_SWITCH("Headphone"),
- SOC_DAPM_PIN_SWITCH("Headset Mic"),
SOC_DAPM_PIN_SWITCH("Left Spk"),
SOC_DAPM_PIN_SWITCH("Right Spk"),
- SOC_DAPM_PIN_SWITCH("Line Out"),
};
static const
struct snd_soc_dapm_widget mt8183_da7219_rt1015_dapm_widgets[] = {
- SND_SOC_DAPM_HP("Headphone", NULL),
- SND_SOC_DAPM_MIC("Headset Mic", NULL),
SND_SOC_DAPM_SPK("Left Spk", NULL),
SND_SOC_DAPM_SPK("Right Spk", NULL),
- SND_SOC_DAPM_LINE("Line Out", NULL),
SND_SOC_DAPM_PINCTRL("TDM_OUT_PINCTRL",
"aud_tdm_out_on", "aud_tdm_out_off"),
};
--
2.43.0