mbox series

[v1,0/7] Add minimal Exynos990 SoC and SM-N981B support

Message ID 20241015062746.713245-1-igor.belwon@mentallysanemainliners.org
Headers show
Series Add minimal Exynos990 SoC and SM-N981B support | expand

Message

Igor Belwon Oct. 15, 2024, 6:27 a.m. UTC
Hi folks,

This series adds initial support for the Exynos 990 SoC and also
initial board support for the Samsung Galaxy Note20 5G (SM-N981B)
codenamed c1s.

The Exynos 990 SoC is also used in the S20 series, as well as in the
Note 20 Ultra phones. Currently the device trees added are for the
Exynos 990 SoC and c1s. The device tree has been tested with 
dtbs_check W=1 and results in no warnings.

This initial bringup consists of:
 * cpus
 * pinctrl
 * gpio-keys
 * simple-framebuffer
 
This is enough to reach a shell in an initramfs. More platform support
will be added in the future.

The preferred way to boot the upstream kernel is by using a shim
bootloader, called uniLoader [1], which works around some issues with
the stock, non-replacable Samsung S-LK bootloader. For example, the
stock bootloader leaves the decon trigger control unset, which causes
the framebuffer not to refresh.

Device functionality depends on the 2nd patch series:
"Add Exynos990 pinctrl and chipid drivers"

Kind regards,
Igor

[1] https://github.com/ivoszbg/uniLoader

Igor Belwon (7):
  dt-bindings: arm: cpus: Add Samsung Mongoose M5
  dt-bindings: hwinfo: exynos-chipid: Add compatible for Exynos 990
    chipid
  dt-bindings: arm: samsung: samsung-boards: Add bindings for Exynos 990
    boards.
  dt-bindings: pinctrl: samsung: Add exynos990-pinctrl compatible
  dt-bindings: pinctrl: samsung: add exynos990-wakeup-eint compatible
  arm64: dts: exynos: Add initial support for the Exynos 990 SoC
  arm64: boot: dts: Add initial support for Samsung Galaxy Note20 5G
    (c1s)

 .../devicetree/bindings/arm/cpus.yaml         |    1 +
 .../bindings/arm/samsung/samsung-boards.yaml  |    6 +
 .../hwinfo/samsung,exynos-chipid.yaml         |    1 +
 .../samsung,pinctrl-wakeup-interrupt.yaml     |    1 +
 .../bindings/pinctrl/samsung,pinctrl.yaml     |    1 +
 arch/arm64/boot/dts/exynos/Makefile           |    1 +
 arch/arm64/boot/dts/exynos/exynos990-c1s.dts  |  111 +
 .../boot/dts/exynos/exynos990-pinctrl.dtsi    | 2195 +++++++++++++++++
 arch/arm64/boot/dts/exynos/exynos990.dtsi     |  241 ++
 9 files changed, 2558 insertions(+)
 create mode 100644 arch/arm64/boot/dts/exynos/exynos990-c1s.dts
 create mode 100644 arch/arm64/boot/dts/exynos/exynos990-pinctrl.dtsi
 create mode 100644 arch/arm64/boot/dts/exynos/exynos990.dtsi

Comments

Krzysztof Kozlowski Oct. 15, 2024, 6:33 a.m. UTC | #1
On 15/10/2024 08:27, Igor Belwon wrote:
> Add a dedicated compatible for the exynos990-wakeup-eint node.
> 
> Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
> ---
>  .../bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml       | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml
> index 91516fedc872..cda5bf4cee4a 100644
> --- a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml
> @@ -43,6 +43,7 @@ properties:
>                - samsung,exynos7885-wakeup-eint
>                - samsung,exynos850-wakeup-eint
>                - samsung,exynos8895-wakeup-eint

There is no such line. You must document all dependencies and explain
why. So far I don't see any reasons for external dependencies. This only
will restrict the testing and make your patchset wait for very long...

> +              - samsung,exynos990-wakeup-eint
>            - const: samsung,exynos7-wakeup-eint

You need to restrict interrupts in allOf:if:then. Probably this goes to
one of existing ifs.

Best regards,
Krzysztof