Received: by 2002:ac2:48a3:0:0:0:0:0 with SMTP id u3csp562868lfg; Fri, 11 Mar 2022 13:22:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJzMgfHjG7FBEV6l0n/6C4XnwkwK1iRzv8RA1Ffg+m4kNffhJiyhh0tMx1F0RhBDANNvfdKh X-Received: by 2002:a17:902:ce09:b0:151:96e2:d4b5 with SMTP id k9-20020a170902ce0900b0015196e2d4b5mr12045118plg.3.1647033763171; Fri, 11 Mar 2022 13:22:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1647033763; cv=none; d=google.com; s=arc-20160816; b=l55LjPRW1LCdKeoIajq1xYADqFB7F174VzkWHOLNdITs9tb1YKfKicKq3lNXjKrr6L Cz/uMbG+8f3OA4j0QxIUzXVLRH9XY+xGvqr+Xa6VqY7WXoNnW2H1+vtkDwP0Zfh6Ca8W LPwx0oPrbJKOIK1Un8VdDpldQHGKKkQbaYrn4a60WeX41n98iQ174qOF/E4cjUeEP+Yv ajYuqJRi7EAr41lfooNoUVaL27PW3M5DYxO5C4+EpvmhEYg++FbKFVvMPe8KXtQSVNDa oUbv2e6h6vlMZ7271DBxSOUej379rwmmfET3nmm4TQC21M0kTE9YKuVY97CoLTGn5fl6 Y4mQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=o0i3AjS9OLn7M4RGff72IuAQU2t6+iH1ScNOzfasXsA=; b=csq9ecoxLBKKMh3JfzL9QvAznFH8aXPdAMKj3VSYWi4xM977/3V2nIdAb6t3Fsu9V8 fp5cPWvxJufw625XuKmarH/MEORMg7aYu5FPn3iIVibr4APOqLws053THaplDeuCMbsP vnaIs0WsggQwTNfx/4uuB4SGTq90Zv671nCjJ3fkbCm27wPqDQM6d5+k2MyiLL9GOd/c 9mgGMl07jNH7oleMNNtj4cN8FGc+Ddbu7vgZR/09zQuyR8/C6ks2eAKamvy5TMvW1JZ8 Wvf2LVc/cG/DaSQryjLcvuahJty4IHnaXy2SBQnCpXSw+AyCvUOoOGbBqPYiGMnwmqqe rexg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id y10-20020aa7804a000000b004f70b6a9251si7952081pfm.363.2022.03.11.13.22.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Mar 2022 13:22:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 5FFC9210D5E; Fri, 11 Mar 2022 12:58:11 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232333AbiCKIS2 (ORCPT + 99 others); Fri, 11 Mar 2022 03:18:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43668 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229620AbiCKIS1 (ORCPT ); Fri, 11 Mar 2022 03:18:27 -0500 Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.73]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 444C41B8CB5; Fri, 11 Mar 2022 00:17:24 -0800 (PST) Received: from mail-wr1-f46.google.com ([209.85.221.46]) by mrelayeu.kundenserver.de (mreue107 [213.165.67.113]) with ESMTPSA (Nemesis) id 1MpUpW-1nwThm1qzk-00prhv; Fri, 11 Mar 2022 09:17:22 +0100 Received: by mail-wr1-f46.google.com with SMTP id u1so11704418wrg.11; Fri, 11 Mar 2022 00:17:22 -0800 (PST) X-Gm-Message-State: AOAM533ellch/TqZN+Q5xc7nIy2XGsw4SOZkbtAe2aIAgWPned9+a5kF ciI7Qx6ZWqDCPpFBjni1jjy4SHTxj2VdampZyLw= X-Received: by 2002:a5d:6d0f:0:b0:203:9157:1c48 with SMTP id e15-20020a5d6d0f000000b0020391571c48mr3565281wrq.192.1646986642028; Fri, 11 Mar 2022 00:17:22 -0800 (PST) MIME-Version: 1.0 References: <20220310195229.109477-1-nick.hawkins@hpe.com> <20220310195229.109477-9-nick.hawkins@hpe.com> In-Reply-To: <20220310195229.109477-9-nick.hawkins@hpe.com> From: Arnd Bergmann Date: Fri, 11 Mar 2022 09:17:06 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 09/10] arch: arm: boot: dts: Introduce HPE GXP Device tree To: "Hawkins, Nick" Cc: "Verdun, Jean-Marie" , Arnd Bergmann , Olof Johansson , SoC Team , Rob Herring , Linux ARM , DTML , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:8cocoZevybXR4kFILZyRCw0eiL4NGtsI9VyU2vmi95kWWuEXy08 LnHCZ7jFwXvyZIE6sbWIQVLGPqhu67xmWBJ8tdfeJdwURslZg58LFxwz09eHPUwJO3aUWD1 Lhtcc14o8TwF4LdZpk7xBMDW7roRqW95Zc/gVXU5AXdllx+arD4NpZg1UHAbpESsSRsmfh0 GqTxCqL4ValazBMydxwzA== X-UI-Out-Filterresults: notjunk:1;V03:K0:79isolIR82c=:W2atddsB7BLkCvWXUgr6Lu u/kFoy3wDM2y1+6UrOcieW7yJi4B/TpURGNAOLahn2lYxfvhUMq/OZxbeojL0b0wLF6Ky3n/d qyEj5jVzgy1S4Dj9PZ9RCapN6NzBJEWmVD2HS5ERTp+DlL2I/LIgnFL5bRHYxeIRUnOYRsGFl HHWl0oimivPlcgUF/+IBSTlxih74yfGm1LSdaYkEuD+ucCOyaiy7gGGVNH4FIRFJzcf3mN8P6 Ea83TDGNBGvIhkADVFJL+cZ0OeyZjaE08wH00cJFA2slA7IrSTEfx0K2ucOns7FCeoTUAkMUl S+12RLEwk2qChqAxAG0gfwEeNT82sT2hCxrqoHPS58s67YYUvuGa5ryhtmUqXKjtjIKl2t3h6 ydA1A0pjwLXRRheb8SJHB93BdrCglMMM1LdyPRePX0zMaBw2zejP+TqgotoaPGkTGzpTYMRqo bnwq1QsIV1C6iffxutwbYQ/jkhoN6uYm7rgFhvfkxhbUIzgQ5tzcmudyThKWtooYnlSiNNQPU 8qfs1CR7IsMoRNA/f2C3ik+hLdanlQMy5DqPJsiAG86DA6M0vFVOLUn5YuWPlT83Abc8ziRpV 74C31+CqaU8n824srPfFgWZnUHol2jYAEOySxqlrfcO9UlLDLJilmIN4Yh1VqiAZrL15RHSHp gBB/0uMqa58ShOayJ8DrDSqxGt7KWMoOmPINDPTaR1rLiwzL935FoJQ1p+HbMuCRs3vHNJeD7 iomSYQtycGyo6Dz4R08Hb1LTyG4BE19U3BHIZIwbBuluc+RL6K63az2i3iPaDicn/CGHZAgcm 4lGWIP8cjL0rEqeiWtblAQ0xcOuDKbmWjF0tiPU2jVYglA2UOY= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 10, 2022 at 8:52 PM wrote: > > From: Nick Hawkins > > The HPE SoC is new to linux. This patch > creates the basic device tree layout with minimum required > for linux to boot. This includes timer and watchdog > support. > > Signed-off-by: Nick Hawkins > +/ { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "hpe,gxp"; > + model = "Hewlett Packard Enterprise ProLiant dl360 Gen10"; > + > + chosen { > + bootargs = "earlyprintk console=ttyS2,115200"; > + }; Please drop the bootargs here, you definitely should not have 'earlyprintk' in the bootargs because that is incompatible with cross-platform kernels. Instead of passing the console in the bootargs, use the "stdout-path" property. The "compatible" property should be a list that contains at least the specific SoC variant and an identifier for the board. "hpe,gxp" is way too generic to be the only property here. > + gxp-init@cefe0010 { > + compatible = "hpe,gxp-cpu-init"; > + reg = <0xcefe0010 0x04>; > + }; > + > + memory@40000000 { > + device_type = "memory"; > + reg = <0x40000000 0x20000000>; > + }; > + > + ahb { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + device_type = "soc"; > + ranges; > + > + vic0: interrupt-controller@ceff0000 { > + compatible = "arm,pl192-vic"; > + interrupt-controller; > + reg = <0xceff0000 0x1000>; > + #interrupt-cells = <1>; > + }; I don't think this represents the actual hierarchy of the devices: the register range of the "vic0" and the "gxp-init" is very close together, which usually indicates that they are also on the same bus. > + vic1: interrupt-controller@80f00000 { > + compatible = "arm,pl192-vic"; > + interrupt-controller; > + reg = <0x80f00000 0x1000>; > + #interrupt-cells = <1>; > + }; > + > + timer0: timer@c0000080 { > + compatible = "hpe,gxp-timer"; > + reg = <0xc0000080 0x1>, <0xc0000094 0x01>, <0xc0000088 0x08>; > + interrupts = <0>; > + interrupt-parent = <&vic0>; > + clock-frequency = <400000000>; > + }; > + > + uarta: serial@c00000e0 { > + compatible = "ns16550a"; > + reg = <0xc00000e0 0x8>; > + interrupts = <17>; > + interrupt-parent = <&vic0>; > + clock-frequency = <1846153>; > + reg-shift = <0>; > + }; In turn, you seem to have a lot of other devices on low addresses of the 0xc0000000 range, which would be an indication that these are on a different bus from the others. Please see if you can find an internal datasheet that describes the actual device hierarchy, and then try to model this in the device tree. Use non-empty "ranges" properties to describe the address ranges and how they get translated between these buses, and add "dma-ranges" for any high-speed buses that have DMA master capable devices like USB on them. > + i2cg: syscon@c00000f8 { > + compatible = "simple-mfd", "syscon"; > + reg = <0xc00000f8 0x08>; > + }; > + }; It's odd to have a "syscon" device that only has 8 bytes worth of registers. What are the contents of this? Is it possible to have a proper abstraction for it as something that has a specific purpose rather than being a random collection of individual bits? Arnd