From patchwork Wed Oct 28 10:11:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 314820 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=-12.6 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, 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 1B6E6C55179 for ; Thu, 29 Oct 2020 01:38:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BA6152076D for ; Thu, 29 Oct 2020 01:38:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Cn303OOL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729888AbgJ1WDB (ORCPT ); Wed, 28 Oct 2020 18:03:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729302AbgJ1WB1 (ORCPT ); Wed, 28 Oct 2020 18:01:27 -0400 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 033C0C0613CF for ; Wed, 28 Oct 2020 15:01:27 -0700 (PDT) Received: by mail-lf1-x130.google.com with SMTP id l2so790012lfk.0 for ; Wed, 28 Oct 2020 15:01:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=CM30BQGyp7IWvRqsSROldJ9vkQO94NEkbC4h78ONa3o=; b=Cn303OOLI96wpFvv7YHWPuEFI45qhj48lmXTT30XQYRBMg+hOkkMTFFBCvYv/WSGHI 84Ea929+F+y/Lxa3XbkVBQHX8bmpn+gPXO0XJGApW0JePEYUOR1Y6jpzERi+XhP70BL4 l9xOA8X4/UX9Mw9fy9xaHVW9WLUY+vTpcGhkN9BIoEDYW2lh9JbP9hg88HadTBRMc6cp 2HNjro2+15xtds8Qf8FsCajO62rSJizv0A/j/kOLYjDp32oVmbGD8qhVhucDYx8BErDP BYfh8caKIoQ979lq5wYH/1fksxZ3sG3WgKUnRFuW1QDx9+VElbIfPS/8OeVTO9j8oZDK T7Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=CM30BQGyp7IWvRqsSROldJ9vkQO94NEkbC4h78ONa3o=; b=YLqNJQhXUigXNfvaXTXjMHq3J19Qtgm32XUkaRSPvsodO4UbKzhrhlpSYN47PlxUiK 9KX33gOu7ng7skTa/VxmXuQjMhIS/ubcmXUcEbA3NIHX4GhkB5E21q3uqdl1vAcDjb6L qujwXe5C7MUkfHUe+jQFEO3eD9rnPKV+hMzpT5UOOemYr4cf7GFKAR97rvDk7+UffGLm pGhwFFvMVxT8X1EvqudvZpUhD0fUdGPmzqVDWKguJxFoleiwC5voUDs2MyRkqej1DT++ +gGscFziHmi7ZxelcgQrJdZXylnvm4oQnTZCgABdj/h7mUs50+BKQtQuL4fdEuIS6swf 4Vrw== X-Gm-Message-State: AOAM532SqnS8mjz3rTV3mi18vsf9mU3lkS95P01m+F+z4F9auerDkGZT ZtjBRmDeVaopROzfDeWMT9Ar/3iD72Q= X-Google-Smtp-Source: ABdhPJxGJp8AwP8Hd89efQojeQqaeDgUzTRnnkfHWDcZ7oOEpJVRrKD1Rj5hUlDEum1iI63g5cMQhQ== X-Received: by 2002:a19:6514:: with SMTP id z20mr2318360lfb.456.1603879912468; Wed, 28 Oct 2020 03:11:52 -0700 (PDT) Received: from localhost.localdomain (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id m10sm479084lfo.237.2020.10.28.03.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2020 03:11:51 -0700 (PDT) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: Florian Fainelli Cc: Catalin Marinas , Will Deacon , Rob Herring , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= Subject: [PATCH 1/2] arm64: add config for Broadcom BCM4908 SoCs Date: Wed, 28 Oct 2020 11:11:22 +0100 Message-Id: <20201028101123.6293-1-zajec5@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Rafał Miłecki Add ARCH_BCM4908 config that can be used for compiling DTS files. Signed-off-by: Rafał Miłecki --- arch/arm64/Kconfig.platforms | 8 ++++++++ arch/arm64/configs/defconfig | 1 + 2 files changed, 9 insertions(+) diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index cd58f8495c45..52434264a2af 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -43,6 +43,14 @@ config ARCH_BCM2835 This enables support for the Broadcom BCM2837 and BCM2711 SoC. These SoCs are used in the Raspberry Pi 3 and 4 devices. +config ARCH_BCM4908 + bool "Broadcom BCM4908 family" + select GPIOLIB + help + This enables support for the Broadcom BCM4906, BCM4908 and + BCM49408 SoCs. These SoCs use Cortex-B53 cores and can be + found in home routers. + config ARCH_BCM_IPROC bool "Broadcom iProc SoC Family" select COMMON_CLK_IPROC diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index e0f33826819f..d2717bf2afe1 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -32,6 +32,7 @@ CONFIG_ARCH_AGILEX=y CONFIG_ARCH_SUNXI=y CONFIG_ARCH_ALPINE=y CONFIG_ARCH_BCM2835=y +CONFIG_ARCH_BCM4908=y CONFIG_ARCH_BCM_IPROC=y CONFIG_ARCH_BERLIN=y CONFIG_ARCH_BRCMSTB=y From patchwork Wed Oct 28 10:11:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 314837 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=-12.6 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, 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 C4FC6C388F7 for ; Wed, 28 Oct 2020 23:20:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 754B320796 for ; Wed, 28 Oct 2020 23:20:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="tPBZHF3s" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388110AbgJ1XU6 (ORCPT ); Wed, 28 Oct 2020 19:20:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728724AbgJ1XUB (ORCPT ); Wed, 28 Oct 2020 19:20:01 -0400 Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com [IPv6:2a00:1450:4864:20::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55DF9C0613CF for ; Wed, 28 Oct 2020 16:20:01 -0700 (PDT) Received: by mail-lf1-x133.google.com with SMTP id b1so913262lfp.11 for ; Wed, 28 Oct 2020 16:20:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=q3zYs/WtFnewpmjmrbnB8eAsl40pThua2WUxfEmYh9E=; b=tPBZHF3srGHWlh07Ke8pc9v1gmbYnbu0NWoxvBeKyGU8E/9zAkS9slF58fw506vygA gLlWMQ1e1XHUpf2MsWGuGdDS6Af2dXjnRePDGkRh025wBPovtOB9LpnGtMWsr+CP1yq3 jPLAipOsw5FjKyIqn27LXdTe/fhlxa5w5bwZE5DuKKPrt8b8bSFLQZE4VMQ5uDEKNLLe vRJyIy0uPVbIS683xlWrjfcA6bf7ccNcJdeKjbPRSIAsH2PcEEP9nKO0yOhO2/6h0Vzm VWLCNUvuaiE2oUI8DTByLIzW6YKXdF4yjL+H4WHUd5vHFe9589qombFsmLgZfzTWCWBf x+2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=q3zYs/WtFnewpmjmrbnB8eAsl40pThua2WUxfEmYh9E=; b=e0vY2kMFxOCw0GPELHimaNuNjPJt9bqAfr5HZHc1w6xk6XHwDbWJ4KljGNt9FO0XN4 5xx+jCEd50SrDPvin+nuO1BD6sKTxLc8z4WF75QSyMkJpQxENiVwnwurA7hEJDCC/bhc McfLXy6eS81UEI7c8us1KQwq5mGRxCIYcE8xe3wzIMRaFyI2RxcnO2KF8Tm8DfOo3CP+ 0y4F3MkrI9u7re1OVgjDvQD1L2WnB1l9maqDOT0pY4yDaCQdXTcrNm4kO31tc/ZrovZ6 uvz2l7N7mvI1DW+FKv/drjmvkiRQql/aQjNP7bepBkLCYqiXqjm3UtCITYGpD21CUdYw IqzA== X-Gm-Message-State: AOAM531u70mTcNwnEPr7eBu0vcsSGvDNpi9Vp8ZWg4d7Fj4pD8EfkZJY 7wan7/y8u5822UwmJIXrBRKxbwyg2gU= X-Google-Smtp-Source: ABdhPJwQkGtWCn0vgcdqASbApOcOXQoAglvCDcvNiYpB+UgvyWthfp5Hk+/Y0I4n29+eyky6g8G+lQ== X-Received: by 2002:a19:810:: with SMTP id 16mr2359106lfi.460.1603879914558; Wed, 28 Oct 2020 03:11:54 -0700 (PDT) Received: from localhost.localdomain (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id m10sm479084lfo.237.2020.10.28.03.11.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2020 03:11:54 -0700 (PDT) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: Florian Fainelli Cc: Catalin Marinas , Will Deacon , Rob Herring , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= Subject: [PATCH 2/2] arm64: dts: broadcom: add BCM4908 and Asus GT-AC5300 early DTS files Date: Wed, 28 Oct 2020 11:11:23 +0100 Message-Id: <20201028101123.6293-2-zajec5@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20201028101123.6293-1-zajec5@gmail.com> References: <20201028101123.6293-1-zajec5@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Rafał Miłecki They don't descibe hardware fully yet but it's enough to boot a system. Some missing blocks: 1. PMC (Power Management Controller?) 2. Crypto 3. Thermal Asus misses defining full NAND partitions layout and buttons. Further changes will fill those gaps as soon as required bindings will be found / tested / added. Signed-off-by: Rafał Miłecki --- arch/arm64/boot/dts/broadcom/Makefile | 1 + arch/arm64/boot/dts/broadcom/bcm4908/Makefile | 2 + .../bcm4908/bcm4908-asus-gt-ac5300.dts | 64 ++++++ .../boot/dts/broadcom/bcm4908/bcm4908.dtsi | 182 ++++++++++++++++++ 4 files changed, 249 insertions(+) create mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/Makefile create mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts create mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile index cb7de8d99223..998e240aa698 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile @@ -5,5 +5,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-4-b.dtb \ bcm2837-rpi-3-b-plus.dtb \ bcm2837-rpi-cm3-io3.dtb +subdir-y += bcm4908 subdir-y += northstar2 subdir-y += stingray diff --git a/arch/arm64/boot/dts/broadcom/bcm4908/Makefile b/arch/arm64/boot/dts/broadcom/bcm4908/Makefile new file mode 100644 index 000000000000..ef26c23603ce --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm4908/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb diff --git a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts new file mode 100644 index 000000000000..9b87aab5f8b2 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts @@ -0,0 +1,64 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include + +#include "bcm4908.dtsi" + +/ { + compatible = "asus,gt-ac5300", "brcm,bcm4908"; + model = "Asus GT-AC5300"; + + memory@0 { + device_type = "memory"; + reg = <0x00 0x00 0x00 0x40000000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wifi { + label = "WiFi"; + linux,code = ; + gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "WPS"; + linux,code = ; + gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; + }; + + restart { + label = "Reset"; + linux,code = ; + gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; + }; + + brightness { + label = "LEDs"; + linux,code = ; + gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&nandcs { + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + + #address-cells = <1>; + #size-cells = <0>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "cferom"; + reg = <0x000000000000 0x000000100000>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi new file mode 100644 index 000000000000..af87a844ad82 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi @@ -0,0 +1,182 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include + +/dts-v1/; + +/ { + interrupt-parent = <&gic>; + + #address-cells = <2>; + #size-cells = <2>; + + aliases { + serial0 = &uart0; + }; + + chosen { + bootargs = "earlycon=bcm63xx_uart,0xff800640"; + stdout-path = "serial0:115200n8"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "brcm,cortex-b53", "arm,cortex-a53"; + reg = <0x0>; + next-level-cache = <&l2>; + }; + + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "brcm,cortex-b53", "arm,cortex-a53"; + reg = <0x1>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0xfff8>; + next-level-cache = <&l2>; + }; + + cpu2: cpu@2 { + device_type = "cpu"; + compatible = "brcm,cortex-b53", "arm,cortex-a53"; + reg = <0x2>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0xfff8>; + next-level-cache = <&l2>; + }; + + cpu3: cpu@3 { + device_type = "cpu"; + compatible = "brcm,cortex-b53", "arm,cortex-a53"; + reg = <0x3>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0xfff8>; + next-level-cache = <&l2>; + }; + + l2: l2-cache0 { + compatible = "cache"; + }; + }; + + gic: interrupt-controller@81000000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0x00 0x81001000 0x00 0x1000>, <0x00 0x81002000 0x00 0x2000>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = , + , + , + ; + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; + }; + + clocks { + periph_clk: periph_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <50000000>; + clock-output-names = "periph"; + }; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x00 0x00 0x80000000 0x10000>; + + ehci@c300 { + compatible = "generic-ehci"; + reg = <0xc300 0x100>; + interrupts = ; + status = "disabled"; + }; + + ohci@c400 { + compatible = "generic-ohci"; + reg = <0xc400 0x100>; + interrupts = ; + status = "disabled"; + }; + + xhci@d000 { + compatible = "generic-xhci"; + reg = <0xd000 0x8c8>; + interrupts = ; + status = "disabled"; + }; + }; + + ubus@ff800000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x00 0x00 0xff800000 0x3000>; + + timer: timer@400 { + compatible = "brcm,bcm6328-timer", "syscon"; + reg = <0x400 0x3c>; + }; + + gpio0: gpio-controller@500 { + compatible = "brcm,bcm6345-gpio"; + reg-names = "dirout", "dat"; + reg = <0x500 0x28>, <0x528 0x28>; + + #gpio-cells = <2>; + gpio-controller; + }; + + uart0: serial@640 { + compatible = "brcm,bcm6345-uart"; + reg = <0x640 0x18>; + interrupts = ; + clocks = <&periph_clk>; + clock-names = "periph"; + status = "okay"; + }; + + nand@1800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,brcmnand-v7.1", "brcm,brcmnand"; + reg = <0x1800 0x600>, <0x2000 0x10>; + reg-names = "nand", "nand-int-base"; + interrupts = ; + interrupt-names = "nand"; + status = "okay"; + + nandcs: nandcs@0 { + compatible = "brcm,nandcs"; + reg = <0>; + nand-on-flash-bbt; + brcm,nand-has-wp; + }; + }; + + reboot { + compatible = "syscon-reboot"; + regmap = <&timer>; + offset = <0x34>; + mask = <1>; + }; + }; +};