Skip to content

MT8163/ben 7.0#7

Draft
akku1139 wants to merge 120 commits into
masterfrom
mt8163/ben-7.0
Draft

MT8163/ben 7.0#7
akku1139 wants to merge 120 commits into
masterfrom
mt8163/ben-7.0

Conversation

@akku1139

@akku1139 akku1139 commented May 22, 2026

Copy link
Copy Markdown
Owner

things im happy with
clocks
pinctrl
trng
iommu
power domains
i2c
spi
mmc
uart (+apdma)
tphy (but needs phy hack)
usb

need to double chek
cpufreq
thermal

not ready yet:
audio
anything to do with drm

as long as my authorship is retained on whatever is submitted on lkml then im perfectly fine if you want to help me get some of the small stuff upstreamed to start with, is what im saying basically
but pls no touch dts, audio, or anything drm related yet
exception is dt bindings (as in, you can submit those obviously xdd)

https://matrix.to/#/!HYhQKvbCtjMyVNDifY:nope.chat/$EeKQQwtaHcM63Q4MWxvmCq4RcRP_1JFw5v9cqKHb9jA?via=unredacted.org&via=matrix.org&via=nope.chat

Add compatible for MT8163 sysirq controller.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a device tree binding for the systimer (GPT) on the
MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a device tree providing basic platform support for MT8163.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add device tree bindings for the main clock controllers on the MT8163 SoC,
including apmixedsys, infracfg, pericfg and topckgen.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
A few MediaTek SoCs (namely MT8163) do not have individual
set/clr registers on muxes. Add support for those types of
muxes.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Mainly useful in circumstances where we don't want the
divider to propagate rate changes to its parent.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add drivers to support the main clock controllers on the MT8163 SoC,
including apmixedsys, infracfg and topckgen.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add DT bindings for the Top Reset Generation Unit (TOPRGU) on the
MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add the compatible data for the Top Reset Generation Unit found
on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add the apmixedsys, infracfg and topckgen clock controllers to
the MT8163 devicetree.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Now that support for basic clocks are implemented on MT8163, use
the real clock for the timer.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add device tree node for the Top Reset Generator Unit (TOPRGU)
on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a compatible string for the PMIC Wrapper (PWRAP) on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a binding for mediatek,mt8163-pctl-a-syscfg.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add bindings for pinctrl on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add support for pinctrl on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add device tree nodes for pinctrl on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add support for the PMIC wrapper on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add PWRAP device node for the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a devicetree binding for the UART APDMA controller on the
MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a devicetree binding for the UART controller on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add device tree nodes for the UART APDMA and 3 UART controllers
on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a devicetree binding for the MMC controller (MSDC) found on the
MediaTek MT8163 SoC. The MSDC IP is similar to that of MT2701, so the
existing binding is reused.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add devicetree nodes for the two MMC controllers found on the
MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a devicetree binding for the T-PHY on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a devicetree binding for MUSB on the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
AVALID reg is needed for device mode, and VBUSVALID for host mode

Tested on MT6789 and MT6771.

Signed-off-by: Arseniy Velikanov <me@adomerle.pw>
Add device tree nodes for the USB T-PHY and MUSB controller on
the MT8163 SoC.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
The I2C controller on the MT8163 SoC is functionally identical
to that of the one on the MT8173 SoC, so reuse its binding.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
bengris32 and others added 30 commits March 31, 2026 00:17
Add basic support for the Amazon MT8163 family of devices. Currently,
the devices are able to boot to a working serial console over UART0.

Co-authored-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Enable the MT6323 PMIC found on the MT8163 SoC by including the
MT6323 device tree and providing the required interrupt.

Also set the regulator-always-on and regulator-boot-on properties
on regulators providing power to critical components such as the
CPU, RTC, system (XO) clock and memory.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add required pin configurations and enable the MMC0 controller on
Amazon MT8163 devices, which is connected to the eMMC chip on these
devices.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Enable CPUFreq on Amazon MT8163 devices by adding the required
pin configuration for the I2C1 bus and defining the external
SYM827 buck as the proc-supply which provides power to the CPUs.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Enable and define a dummy regulator for the Mali GPU which is fixed
at 1.15 volts, according to the downstream GPUFreq driver, which
doesn't do any voltage scaling.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
GPIO 27 is wired to control power of the BCM43566 Wi-Fi chip on
rook.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add GPIO keys for the volume down and volume up buttons on rook.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Stock bootloader checks for this property.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Disable all display related hardware blocks on biscuit as they are
unused. Also disable the Mali GPU as it seems to either be fused off
or not present on the MT8163 variant used on biscuit.

This is done in a new mt8163-headless.dtsi file so other headless
MT8163 devices (should they exist) can include it in their device trees.

Thermal is also disabled on biscuit specifically as the ADC
sensors on aren't present.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add GPIO keys for the volume down and volume up buttons on biscuit.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Mux the volume down and action button to the keypad controller and
enable it. The action button is mapped to KEY_ASSISTANT to try
and retain its original purpose.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
The goodix driver allows the max_x and max_y properties to be
overriden from the device tree so long as the read config from the
touch controller is valid.

If that is not the case however, then the driver will override
max_x and max_y to default values regardless of whether they
are actually valid or not.

Fix this by checking again if max_x and max_y are invalid, and
if so then set them to safe defaults, but otherwise, use the
values parsed from the device tree.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
TODO: Currently these panels misbehave when resetting DSI
blocks, for now we avoid resetting them and try to retain
LK's initialization as done in the downstream driver.

Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a display backlight node for all Amazon MT8163 devices, since
they all use the display PWM based backlight control for the display.

Signed-off-by: bengris32 <bengris32@protonmail.ch>
Signed-off-by: bengris32 <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Co-authored-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
This adds device tree bindings for the JSA1212/JSA1214 light
and proximity sensor.

Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Adds support for the JSA1214 ambient light sensor.
This sensor lacks proximity compared to JSA1212.

Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants