From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44EBFC433EF for ; Thu, 23 Sep 2021 19:01:53 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B490C60F44 for ; Thu, 23 Sep 2021 19:01:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B490C60F44 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9F9EA83421; Thu, 23 Sep 2021 21:01:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XUSo7bRj"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 03C2983404; Thu, 23 Sep 2021 20:57:59 +0200 (CEST) Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 499AB833F3 for ; Thu, 23 Sep 2021 20:57:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=dsankouski@gmail.com Received: by mail-ed1-x52c.google.com with SMTP id v22so25789084edd.11 for ; Thu, 23 Sep 2021 11:57:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mlh11J4y5ZyQlW3focKc3gzNqBN4qeTjgeK+/VWdcSE=; b=XUSo7bRjckalhDE7v5vBFGgrXREY5Msua2Ni1WvEknD7kgTyqIBtC+Y+EId13haI/L nP4i/VPF4hTmrjFurXDhhuFYQCSskS0kAlTce8tzbNmAyZSGfNzqrisBKIolpCPLmK0m zOF7vAcREX+zI90Hkzv99ZT8TWhzZOJeKGQZg9U6tKYDnGFzBqvj6s1djEMWWILckNPG AmCoYtAwHPkdl5FYIT3V3NSjroTadupYWfsy4OHImDS+c3NjcoRijoFYYtsqJT6joxXI kpGDHvVODSLlhcRLbg7XZPY+Sk4jlsbOVnWpZeTCOktaG3oBlM19cki0S9RWgNf3g2cm I3Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mlh11J4y5ZyQlW3focKc3gzNqBN4qeTjgeK+/VWdcSE=; b=NR82llPqJjh3MtTzwZVFm97oKrgbeQxe3yz6yIsLRN/GAewp3bhNYAbjJesCDgUbb/ sLIxxejeYOc+uZcKifKXUMSdwBT9G9Orp4YgUewkYBROmpbpVIonNK32i3DuyU8zAqyM oaLLGS9HEScXYU3Lg7Zeyk8KdMw5z0CzHzaA1fBGXgWN0DTSwYPabPmp5APcguu34lGx s0F2t+97UV6n6f5+DA8x8u6SjSbmoZn5dg+ZgY7uus2oj+pJOhAefykQKfJarLnY9GkE kswJqPRgFO1RUxk3lYu0RKW+ugPxoggX8HfNcbHpKHmaejESG95LGTzKArek/Noou41z KdZw== X-Gm-Message-State: AOAM532VEZuL0ziYUp716iFBofYHITZunt+Dr9oCj6RbzDxZgWLUClJ2 TLTeKIxTvV7sT7d61jJfpCmFrdKrnN7Gvw== X-Google-Smtp-Source: ABdhPJzuYBbxMVTV8ihX65eTgOU14DLveKL2C9UUh84FC1NWbB/AFqYqQFDxVJc6FsP+UuZIEKjuHg== X-Received: by 2002:a17:906:2346:: with SMTP id m6mr6774699eja.512.1632423468293; Thu, 23 Sep 2021 11:57:48 -0700 (PDT) Received: from localhost.localdomain ([46.216.16.109]) by smtp.gmail.com with ESMTPSA id l11sm4144943edv.67.2021.09.23.11.57.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Sep 2021 11:57:47 -0700 (PDT) From: dsankouski@gmail.com To: u-boot@lists.denx.de Cc: Dzmitry Sankouski , Ramon Fried , Tom Rini Subject: [PATCH 6/6 v3] board: samsung: add Samsung Galaxy S9/S9+(SM-G96x0) board Date: Thu, 23 Sep 2021 21:57:32 +0300 Message-Id: <20210923185732.7679-7-dsankouski@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210923185732.7679-1-dsankouski@gmail.com> References: <20210923185732.7679-1-dsankouski@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Thu, 23 Sep 2021 21:00:30 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean From: Dzmitry Sankouski Samsung S9 SM-G9600 - Snapdragon SDM845 version of the phone, for China \ Hong Kong markets. Has unlockable bootloader, unlike SM-G960U (American market version), which allows running u-boot as a chain-loaded bootloader. Signed-off-by: Dzmitry Sankouski Cc: Ramon Fried Cc: Tom Rini --- Changes for v2: - Create documentation file for SDM845 boards - Add starqltechn board documentation Changes for v3: - fix comment in starqltechn.c arch/arm/dts/Makefile | 1 + arch/arm/dts/starqltechn-uboot.dtsi | 39 ++++++++++++++++++ arch/arm/dts/starqltechn.dts | 53 +++++++++++++++++++++++++ arch/arm/mach-snapdragon/Kconfig | 13 ++++++ board/samsung/starqltechn/Kconfig | 14 +++++++ board/samsung/starqltechn/MAINTAINERS | 6 +++ board/samsung/starqltechn/Makefile | 9 +++++ board/samsung/starqltechn/starqltechn.c | 10 +++++ configs/starqltechn_defconfig | 33 +++++++++++++++ doc/board/qualcomm/index.rst | 1 + doc/board/qualcomm/sdm845.rst | 38 ++++++++++++++++++ include/configs/starqltechn.h | 16 ++++++++ 12 files changed, 233 insertions(+) create mode 100644 arch/arm/dts/starqltechn-uboot.dtsi create mode 100644 arch/arm/dts/starqltechn.dts create mode 100644 board/samsung/starqltechn/Kconfig create mode 100644 board/samsung/starqltechn/MAINTAINERS create mode 100644 board/samsung/starqltechn/Makefile create mode 100644 board/samsung/starqltechn/starqltechn.c create mode 100644 configs/starqltechn_defconfig create mode 100644 doc/board/qualcomm/sdm845.rst create mode 100644 include/configs/starqltechn.h diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 82a0790cc0..90d922dab7 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -467,6 +467,7 @@ dtb-$(CONFIG_TARGET_SL28) += fsl-ls1028a-kontron-sl28.dtb \ dtb-$(CONFIG_TARGET_DRAGONBOARD410C) += dragonboard410c.dtb dtb-$(CONFIG_TARGET_DRAGONBOARD820C) += dragonboard820c.dtb +dtb-$(CONFIG_TARGET_STARQLTECHN) += starqltechn.dtb dtb-$(CONFIG_TARGET_STEMMY) += ste-ux500-samsung-stemmy.dtb diff --git a/arch/arm/dts/starqltechn-uboot.dtsi b/arch/arm/dts/starqltechn-uboot.dtsi new file mode 100644 index 0000000000..d8d75e018a --- /dev/null +++ b/arch/arm/dts/starqltechn-uboot.dtsi @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * U-Boot addition to handle Samsung S9 SM-G9600 (starqltechn) pins + * + * (C) Copyright 2021 Dzmitry Sankouski + * + */ + +/ +{ + soc { + u-boot,dm-pre-reloc; + gcc { + clock-controller@100000 { + u-boot,dm-pre-reloc; + }; + serial@0xa84000 { + u-boot,dm-pre-reloc; + }; + gpio_north@3900000 { + u-boot,dm-pre-reloc; + }; + pinctrl@3900000 { + u-boot,dm-pre-reloc; + }; + }; + }; +}; + +&pm8998_pon { + key_vol_down { + gpios = <&pm8998_pon 1 0>; + label = "key_vol_down"; + }; + key_power { + gpios = <&pm8998_pon 0 0>; + label = "key_power"; + }; +}; diff --git a/arch/arm/dts/starqltechn.dts b/arch/arm/dts/starqltechn.dts new file mode 100644 index 0000000000..387420f30b --- /dev/null +++ b/arch/arm/dts/starqltechn.dts @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Samsung S9 SM-G9600 (starqltechn) board device tree source + * + * (C) Copyright 2021 Dzmitry Sankouski + * + */ + +/dts-v1/; + +#include "sdm845.dtsi" + +/ { + model = "Samsung S9 (SM-G9600)"; + compatible = "qcom,sdm845-mtp", "qcom,sdm845", "qcom,mtp"; + #address-cells = <2>; + #size-cells = <2>; + + chosen { + stdout-path = "serial0:921600n8"; + }; + + aliases { + serial0 = &debug_uart; + }; + + memory { + device_type = "memory"; + reg = <0 0x80000000 0 0xfe1bffff>; + }; + + psci { + compatible = "arm,psci-1.0"; + method = "smc"; + }; + + soc: soc { + serial@0xa84000 { + status = "ok"; + }; + + pinctrl@3900000 { + muic_i2c: muic_i2c { + pins = "GPIO_33", "GPIO_34"; + drive-strength = <0x2>; + function = "gpio"; + bias-disable; + }; + }; + }; +}; + +#include "starqltechn-uboot.dtsi" diff --git a/arch/arm/mach-snapdragon/Kconfig b/arch/arm/mach-snapdragon/Kconfig index 1a6a608967..90c9fcca2c 100644 --- a/arch/arm/mach-snapdragon/Kconfig +++ b/arch/arm/mach-snapdragon/Kconfig @@ -40,9 +40,22 @@ config TARGET_DRAGONBOARD820C - 3GiB RAM - 32GiB UFS drive +config TARGET_STARQLTECHN + bool "Samsung S9 SM-G9600(starqltechn)" + help + Support for Samsung S9 SM-G9600(starqltechn) board. + Features: + - Qualcomm Snapdragon SDM845 SoC + - 4GiB RAM + - 64GiB UFS drive + select MISC_INIT_R + select SDM845 + select DM_ETH if NET + endchoice source "board/qualcomm/dragonboard410c/Kconfig" source "board/qualcomm/dragonboard820c/Kconfig" +source "board/samsung/starqltechn/Kconfig" endif diff --git a/board/samsung/starqltechn/Kconfig b/board/samsung/starqltechn/Kconfig new file mode 100644 index 0000000000..7662eb87ab --- /dev/null +++ b/board/samsung/starqltechn/Kconfig @@ -0,0 +1,14 @@ +if TARGET_STARQLTECHN + +config SYS_BOARD + default "starqltechn" + help + starqltechn is a production board for S9 and S9+ phones(SM-G96x0) phones based on SDM845 SoC. + +config SYS_VENDOR + default "samsung" + +config SYS_CONFIG_NAME + default "starqltechn" + +endif diff --git a/board/samsung/starqltechn/MAINTAINERS b/board/samsung/starqltechn/MAINTAINERS new file mode 100644 index 0000000000..135cafdd69 --- /dev/null +++ b/board/samsung/starqltechn/MAINTAINERS @@ -0,0 +1,6 @@ +Samsung S9 (SM-G9600)(starqltechn) Board +M: Dzmitry Sankouski +S: Maintained +F: board/samsung/starqltechn/ +F: include/configs/starqltechn.h +F: configs/starqltechn_defconfig diff --git a/board/samsung/starqltechn/Makefile b/board/samsung/starqltechn/Makefile new file mode 100644 index 0000000000..c38c0b4710 --- /dev/null +++ b/board/samsung/starqltechn/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# (C) Copyright 2021 Dzmitry Sankouski +# +# This empty file prevents make error. +# Board logic defined in board/qualcomm/common/sdm845.c, no custom logic for starqltechn so far. +# + +obj-y += starqltechn.o diff --git a/board/samsung/starqltechn/starqltechn.c b/board/samsung/starqltechn/starqltechn.c new file mode 100644 index 0000000000..f2cdb4eec2 --- /dev/null +++ b/board/samsung/starqltechn/starqltechn.c @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * This empty file prevents make linking error. + * No custom logic for starqltechn so far. + * + * (C) Copyright 2021 Dzmitry Sankouski + * + */ + +void nooop(void) {} diff --git a/configs/starqltechn_defconfig b/configs/starqltechn_defconfig new file mode 100644 index 0000000000..8f729e1048 --- /dev/null +++ b/configs/starqltechn_defconfig @@ -0,0 +1,33 @@ +CONFIG_TARGET_STARQLTECHN=y +CONFIG_ARM=y +CONFIG_ARM_SMCCC=y +CONFIG_ARCH_SNAPDRAGON=y +CONFIG_IDENT_STRING="\nSamsung S9 SM-G9600" +CONFIG_DEFAULT_DEVICE_TREE="starqltechn" +CONFIG_SYS_TEXT_BASE=0x000000016cb00000 +CONFIG_POSITION_INDEPENDENT=y +CONFIG_BOARD_EARLY_INIT_F=n +CONFIG_SKIP_LOWLEVEL_INIT=y +CONFIG_DISPLAY_CPUINFO=n +CONFIG_STANDALONE_LOAD_ADDR=0x000000016cb00000 +CONFIG_SYS_MALLOC_F_LEN=0x8000 +CONFIG_HUSH_PARSER=y +CONFIG_OF_CONTROL=y +CONFIG_DM_STDIO=n +CONFIG_MSM_GPIO=y +CONFIG_DM_PMIC=y +CONFIG_PMIC_PM8916=y +CONFIG_PM8916_GPIO=y +CONFIG_SPMI_MSM=y +CONFIG_CLK=y +CONFIG_NET=n +CONFIG_USE_PREBOOT=y +CONFIG_CMD_GPIO=y +CONFIG_PINCTRL=y +CONFIG_MSM_GENI_SERIAL=y +# CONFIG_DEBUG_UART=y +# CONFIG_DEBUG_UART_MSM_GENI=y +# CONFIG_DEBUG_UART_BASE=0xa84000 +# CONFIG_DEBUG_UART_CLOCK=7372800 +# CONFIG_DEBUG_UART_ANNOUNCE=y +CONFIG_BAUDRATE=921600 diff --git a/doc/board/qualcomm/index.rst b/doc/board/qualcomm/index.rst index f7e0aa9298..10b98214e9 100644 --- a/doc/board/qualcomm/index.rst +++ b/doc/board/qualcomm/index.rst @@ -7,3 +7,4 @@ Qualcomm :maxdepth: 2 dragonboard410c + sdm845 diff --git a/doc/board/qualcomm/sdm845.rst b/doc/board/qualcomm/sdm845.rst new file mode 100644 index 0000000000..cd46cbe9cf --- /dev/null +++ b/doc/board/qualcomm/sdm845.rst @@ -0,0 +1,38 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. sectionauthor:: Dzmitry Sankouski + +Snapdragon 845 +================ + +About this +---------- +This document describes the information about Qualcomm Snapdragon 845 +supported boards and it's usage steps. + +SDM845 - hi-end qualcomm chip, introduced in late 2017. +Mostly used in flagship phones and tablets of 2018. + +U-Boot can be used as a replacement for Qualcomm's original ABL (UEFI) bootloader. +It is loaded as an Android boot image through ABL + +Installation +------------ +First, setup ``CROSS_COMPILE`` for aarch64. Then, build U-Boot for your board:: + + $ export CROSS_COMPILE= + $ make _defconfig + $ make + +This will build ``u-boot.bin`` in the configured output directory. + +Boards +------------ +starqlte +^^^^^^^^^^^^ + +The starqltechn is a production board for Samsung S9 (SM-G9600) phone, +based on the Qualcomm SDM845 SoC. + +More information can be found on the `Samsung S9 page`_. + +.. _Samsung S9 page: https://en.wikipedia.org/wiki/Samsung_Galaxy_S9 diff --git a/include/configs/starqltechn.h b/include/configs/starqltechn.h new file mode 100644 index 0000000000..c9736a443b --- /dev/null +++ b/include/configs/starqltechn.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Board configuration file for Samsung S9(SM-G9600)(starqltechn) + * + * (C) Copyright 2017 Jorge Ramirez-Ortiz + */ + +#ifndef __CONFIGS_STARQLTECHN_H +#define __CONFIGS_STARQLTECHN_H + +#include + +#define CONFIG_LNX_KRNL_IMG_TEXT_OFFSET_BASE CONFIG_SYS_LOAD_ADDR +#define CONFIG_LINUX_KERNEL_IMAGE_HEADER + +#endif -- 2.20.1