Message ID | 20241025-exynos9810-v2-0-99ca3f316e21@gmail.com |
---|---|
Headers | show |
Series | Add support for Exynos9810 SoC and Samsung Galaxy S9 (SM-G960F) | expand |
On 25/10/2024 13:24, Markuss Broks wrote: > Exynos 9810 is an ARMv8 mobile SoC found in various Samsung devices, > such as Samsung Galaxy S9 (starlte), S9 Plus (star2lte), > Note 9 (crownlte) and perhaps others. ... > + > + pinctrl_alive: pinctrl@14050000 { > + compatible = "samsung,exynos9810-pinctrl"; > + reg = <0x14050000 0x1000>; > + > + wakeup-interrupt-controller { > + compatible = "samsung,exynos9810-wakeup-eint", > + "samsung,exynos850-wakeup-eint", > + "samsung,exynos7-wakeup-eint"; Since I expect new version to fix the tags/SoB, please also align above with opening ". > + }; > + }; > + > + pmu_system_controller: system-controller@14060000 { > + compatible = "samsung,exynos9810-pmu", > + "samsung,exynos7-pmu", "syscon"; > + reg = <0x14060000 0x10000>; > + }; > + > + pinctrl_cmgp: pinctrl@14220000 { > + compatible = "samsung,exynos9810-pinctrl"; > + reg = <0x14220000 0x1000>; > + > + wakeup-interrupt-controller { > + compatible = "samsung,exynos9810-wakeup-eint", > + "samsung,exynos850-wakeup-eint", > + "samsung,exynos7-wakeup-eint"; Ditto here Best regards, Krzysztof
Hello, This series adds initial SoC support for the Samsung Exynos 9810 SoC and initial board support for Samsung Galaxy S9 phone (SM-G960F), codenamed starlte. The Exynos 9810 SoC is also used in S9 Plus (star2lte), Note 9 (crownlte), and perhaps more devices. Currently only Galaxy S9 DTS file is added but it should be fairly simple to add support for other devices based on this SoC, considering they're quite similar. The support added in this series includes: - cpus - pinctrl and gpio - simple-framebuffer This is enough to boot to a minimal initramfs shell. The preferred way to boot this device is by using a small shim bl called uniLoader [1], which packages the mainline kernel and DT and jumps to the kernel. This is done in order to work around some issues caused by the stock, and non-replacable Samsung S-Boot bootloader. For example, S-Boot leaves the decon trigger control unset, which causes the framebuffer to not refresh, so simple-framebuffer wouldn't work without a secondary loader. Ideally, there'll be a kernel driver for the display subsystem some day to resolve this issue. [1] https://github.com/ivoszbg/uniLoader Signed-off-by: Markuss Broks <markuss.broks@gmail.com> --- Changes in v2: - sort the pinctrl nodes alphabetically (ivo) - move the interrupts from pinctrl file to SoC dtsi (krzk) - move the wakeup-eint from pinctrl file to SoC dtsi (krzk) - sort gpio-keys pinctrl-0 and pinctrl-names (ivo) - rename the bixby key node to "wink" (ivo) - sort gpio-keys subnodes (ivo) - sort pinctrl_alive gpio-keys pin descriptions (ivo) - fix the Co-developed-by tags and add a signoff (krzk) - Link to v1: https://lore.kernel.org/r/20241024-exynos9810-v1-0-ed14d0d60d08@gmail.com --- Markuss Broks (12): dt-bindings: arm: cpus: Add Samsung Mongoose M3 dt-bindings: hwinfo: samsung,exynos-chipid: Add Samsung exynos9810 compatible dt-bindings: pinctrl: samsung: Add compatible for Exynos9810 SoC dt-bindings: pinctrl: samsung: Add compatible for exynos9810-wakeup-eint dt-bindings: soc: samsung: exynos-pmu: Add exynos9810 compatible dt-bindings: arm: samsung: Document Exynos9810 and starlte board binding dt-bindings: arm: pmu: Add Samsung Mongoose core compatible perf: arm_pmuv3: Add support for Samsung Mongoose PMU soc: samsung: exynos-chipid: Add support for Exynos9810 SoC pinctrl: samsung: Add Exynos9810 SoC specific data arm64: dts: exynos: Add Exynos9810 SoC support arm64: dts: exynos: Add initial support for Samsung Galaxy S9 (SM-G960F) Documentation/devicetree/bindings/arm/cpus.yaml | 1 + Documentation/devicetree/bindings/arm/pmu.yaml | 1 + .../bindings/arm/samsung/samsung-boards.yaml | 6 + .../bindings/hwinfo/samsung,exynos-chipid.yaml | 1 + .../pinctrl/samsung,pinctrl-wakeup-interrupt.yaml | 1 + .../bindings/pinctrl/samsung,pinctrl.yaml | 1 + .../bindings/soc/samsung/exynos-pmu.yaml | 1 + arch/arm64/boot/dts/exynos/Makefile | 1 + arch/arm64/boot/dts/exynos/exynos9810-pinctrl.dtsi | 503 +++++++++++++++++++++ arch/arm64/boot/dts/exynos/exynos9810-starlte.dts | 120 +++++ arch/arm64/boot/dts/exynos/exynos9810.dtsi | 273 +++++++++++ drivers/perf/arm_pmuv3.c | 3 + drivers/pinctrl/samsung/pinctrl-exynos-arm64.c | 154 +++++++ drivers/pinctrl/samsung/pinctrl-samsung.c | 2 + drivers/pinctrl/samsung/pinctrl-samsung.h | 1 + drivers/soc/samsung/exynos-chipid.c | 1 + 16 files changed, 1070 insertions(+) --- base-commit: f2493655d2d3d5c6958ed996b043c821c23ae8d3 change-id: 20241024-exynos9810-b3eed995b0b9 Best regards,