mbox series

[v2,0/4] Add minimal Samsung Galaxy S20 Series board, SM-G981B and SM-G980F support

Message ID 20241017164328.17077-1-umer.uddin@mentallysanemainliners.org
Headers show
Series Add minimal Samsung Galaxy S20 Series board, SM-G981B and SM-G980F support | expand

Message

Umer Uddin Oct. 17, 2024, 4:43 p.m. UTC
Hi folks,

This series adds initial support for the Samsung Galaxy S20 Series, also
initial board support for the Samsung Galaxy S20 5G (SM-G981B)
codenamed x1s and the Samsung Galaxy S20 (SM-G980F) codenamed
x1slte.

The S20 Series feature a lot of similarities in their configuration
and internally Samsung named the common devicetrees in their
downstream kernel 'hubble', please note hubble excludes the
S20 FE series and Note20 series.
The device trees have been tested with dtbs_check W=1
and results in no warnings.

This initial bringup consists of:
 * pinctrl
 * gpio-keys
 * simple-framebuffer

This is enough to reach a shell in an initramfs. More platform support
will be added in the future.

Just like SM-N981B, 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 patch series from Igor Belwon:
"Add minimal Exynos990 SoC and SM-N981B support"

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

Changes in v2:
 - Add Samsung Galaxy S20 into device tree bindings
 - Add support for Samsung Galaxy S20 as well as the 5G variant now
 - Fix typo in Samsung Galaxy S20 5G commit message

Kind regards,
Umer

Umer Uddin (4):
  dt-bindings: arm: samsung: samsung-boards: Add bindings for SM-G981B
    and SM-G980F board
  arm64: dts: exynos: Add initial support for Samsung Galaxy S20 Series
    boards (hubble)
  arm64: dts: exynos: Add initial support for Samsung Galaxy S20 5G
    (x1s)
  arm64: dts: exynos: Add initial support for Samsung Galaxy S20
    (x1slte)

 .../bindings/arm/samsung/samsung-boards.yaml  |   2 +
 arch/arm64/boot/dts/exynos/Makefile           |   2 +
 .../dts/exynos/exynos990-hubble-common.dtsi   | 109 ++++++++++++++++++
 arch/arm64/boot/dts/exynos/exynos990-x1s.dts  |  23 ++++
 .../boot/dts/exynos/exynos990-x1slte.dts      |  17 +++
 5 files changed, 153 insertions(+)
 create mode 100644 arch/arm64/boot/dts/exynos/exynos990-hubble-common.dtsi
 create mode 100644 arch/arm64/boot/dts/exynos/exynos990-x1s.dts
 create mode 100644 arch/arm64/boot/dts/exynos/exynos990-x1slte.dts

Comments

Krzysztof Kozlowski Oct. 18, 2024, 6:29 a.m. UTC | #1
On Thu, Oct 17, 2024 at 05:43:24PM +0100, Umer Uddin wrote:
> Add devicetree bindings for Samsung Galaxy S20 5G
> and Samsung Galaxy S20 board.
> 
> Signed-off-by: Umer Uddin <umer.uddin@mentallysanemainliners.org>
> ---
>  .../devicetree/bindings/arm/samsung/samsung-boards.yaml         | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml
> index d25a17e69..70a915240 100644
> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml
> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml
> @@ -234,6 +234,8 @@ properties:
>          items:
>            - enum:
>                - samsung,c1s                     # Samsung Galaxy Note20 5G (SM-N981B)
> +              - samsung,x1s                     # Samsung Galaxy S20 5G (SM-G981B)
> +	      - samsung,x1slte			# Samsung Galaxy S20 (SM-G980F)

It does not look like you tested the bindings, at least after quick
look. Please run 'make dt_binding_check' (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
Maybe you need to update your dtschema and yamllint.

Best regards,
Krzysztof
Rob Herring (Arm) Oct. 18, 2024, 12:52 p.m. UTC | #2
On Thu, 17 Oct 2024 17:43:23 +0100, Umer Uddin wrote:
> Hi folks,
> 
> This series adds initial support for the Samsung Galaxy S20 Series, also
> initial board support for the Samsung Galaxy S20 5G (SM-G981B)
> codenamed x1s and the Samsung Galaxy S20 (SM-G980F) codenamed
> x1slte.
> 
> The S20 Series feature a lot of similarities in their configuration
> and internally Samsung named the common devicetrees in their
> downstream kernel 'hubble', please note hubble excludes the
> S20 FE series and Note20 series.
> The device trees have been tested with dtbs_check W=1
> and results in no warnings.
> 
> This initial bringup consists of:
>  * pinctrl
>  * gpio-keys
>  * simple-framebuffer
> 
> This is enough to reach a shell in an initramfs. More platform support
> will be added in the future.
> 
> Just like SM-N981B, 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 patch series from Igor Belwon:
> "Add minimal Exynos990 SoC and SM-N981B support"
> 
> [1] https://github.com/ivoszbg/uniLoader
> 
> Changes in v2:
>  - Add Samsung Galaxy S20 into device tree bindings
>  - Add support for Samsung Galaxy S20 as well as the 5G variant now
>  - Fix typo in Samsung Galaxy S20 5G commit message
> 
> Kind regards,
> Umer
> 
> Umer Uddin (4):
>   dt-bindings: arm: samsung: samsung-boards: Add bindings for SM-G981B
>     and SM-G980F board
>   arm64: dts: exynos: Add initial support for Samsung Galaxy S20 Series
>     boards (hubble)
>   arm64: dts: exynos: Add initial support for Samsung Galaxy S20 5G
>     (x1s)
>   arm64: dts: exynos: Add initial support for Samsung Galaxy S20
>     (x1slte)
> 
>  .../bindings/arm/samsung/samsung-boards.yaml  |   2 +
>  arch/arm64/boot/dts/exynos/Makefile           |   2 +
>  .../dts/exynos/exynos990-hubble-common.dtsi   | 109 ++++++++++++++++++
>  arch/arm64/boot/dts/exynos/exynos990-x1s.dts  |  23 ++++
>  .../boot/dts/exynos/exynos990-x1slte.dts      |  17 +++
>  5 files changed, 153 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/exynos/exynos990-hubble-common.dtsi
>  create mode 100644 arch/arm64/boot/dts/exynos/exynos990-x1s.dts
>  create mode 100644 arch/arm64/boot/dts/exynos/exynos990-x1slte.dts
> 
> --
> 2.47.0
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y exynos/exynos990-x1s.dtb exynos/exynos990-x1slte.dtb' for 20241017164328.17077-1-umer.uddin@mentallysanemainliners.org:

arch/arm64/boot/dts/exynos/exynos990-x1slte.dtb: /: failed to match any schema with compatible: ['samsung,x1slte', 'samsung,exynos990']
arch/arm64/boot/dts/exynos/exynos990-x1slte.dtb: /: failed to match any schema with compatible: ['samsung,x1slte', 'samsung,exynos990']
arch/arm64/boot/dts/exynos/exynos990-x1s.dtb: /: failed to match any schema with compatible: ['samsung,x1s', 'samsung,exynos990']
arch/arm64/boot/dts/exynos/exynos990-x1s.dtb: /: failed to match any schema with compatible: ['samsung,x1s', 'samsung,exynos990']