[{"id":1776631,"web_url":"http://patchwork.ozlabs.org/comment/1776631/","msgid":"<20170927214213.qjz7qalvvmhpxxmy@rob-hp-laptop>","list_archive_url":null,"date":"2017-09-27T21:42:13","subject":"Re: [PATCH v6 2/3] arm: dts: add Nuvoton NPCM750 device tree","submitter":{"id":62529,"url":"http://patchwork.ozlabs.org/api/people/62529/","name":"Rob Herring (Arm)","email":"robh@kernel.org"},"content":"On Tue, Sep 19, 2017 at 03:40:00PM -0700, Brendan Higgins wrote:\n> Add a common device tree for all Nuvoton NPCM750 BMCs and a board\n> specific device tree for the NPCM750 (Poleg) evaluation board.\n> \n> Signed-off-by: Brendan Higgins <brendanhiggins@google.com>\n> Reviewed-by: Tomer Maimon <tmaimon77@gmail.com>\n> Reviewed-by: Avi Fishman <avifishman70@gmail.com>\n> Reviewed-by: Joel Stanley <joel@jms.id.au>\n> Tested-by: Tomer Maimon <tmaimon77@gmail.com>\n> Tested-by: Avi Fishman <avifishman70@gmail.com>\n> ---\n>  .../arm/cpu-enable-method/nuvoton,npcm7xx-smp      |  42 ++++\n>  .../devicetree/bindings/arm/npcm/npcm.txt          |   6 +\n>  arch/arm/boot/dts/nuvoton-npcm750-evb.dts          |  48 +++++\n>  arch/arm/boot/dts/nuvoton-npcm750.dtsi             | 211 +++++++++++++++++++++\n>  include/dt-bindings/clock/nuvoton,npcm7xx-clks.h   |  39 ++++\n>  5 files changed, 346 insertions(+)\n>  create mode 100644 Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n>  create mode 100644 Documentation/devicetree/bindings/arm/npcm/npcm.txt\n>  create mode 100644 arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n>  create mode 100644 arch/arm/boot/dts/nuvoton-npcm750.dtsi\n>  create mode 100644 include/dt-bindings/clock/nuvoton,npcm7xx-clks.h\n> \n> diff --git a/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp b/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n> new file mode 100644\n> index 000000000000..e81f85b400cf\n> --- /dev/null\n> +++ b/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n> @@ -0,0 +1,42 @@\n> +=========================================================\n> +Secondary CPU enable-method \"nuvoton,npcm7xx-smp\" binding\n> +=========================================================\n> +\n> +To apply to all CPUs, a single \"nuvoton,npcm7xx-smp\" enable method should be\n> +defined in the \"cpus\" node.\n> +\n> +Enable method name:\t\"nuvoton,npcm7xx-smp\"\n> +Compatible machines:\t\"nuvoton,npcm750\"\n> +Compatible CPUs:\t\"arm,cortex-a9\"\n> +Related properties:\t(none)\n> +\n> +Note:\n> +This enable method needs valid nodes compatible with \"arm,cortex-a9-scu\" and\n> +\"nuvoton,npcm750-gcr\".\n> +\n> +Example:\n> +\n> +\tcpus {\n> +\t\t#address-cells = <1>;\n> +\t\t#size-cells = <0>;\n> +\t\tenable-method = \"nuvoton,npcm7xx-smp\";\n> +\n> +\t\tcpu@0 {\n> +\t\t\tdevice_type = \"cpu\";\n> +\t\t\tcompatible = \"arm,cortex-a9\";\n> +\t\t\tclocks = <&clk NPCM7XX_CLK_CPU>;\n> +\t\t\tclock-names = \"clk_cpu\";\n> +\t\t\treg = <0>;\n> +\t\t\tnext-level-cache = <&L2>;\n> +\t\t};\n> +\n> +\t\tcpu@1 {\n> +\t\t\tdevice_type = \"cpu\";\n> +\t\t\tcompatible = \"arm,cortex-a9\";\n> +\t\t\tclocks = <&clk NPCM7XX_CLK_CPU>;\n> +\t\t\tclock-names = \"clk_cpu\";\n> +\t\t\treg = <1>;\n> +\t\t\tnext-level-cache = <&L2>;\n> +\t\t};\n> +\t};\n> +\n> diff --git a/Documentation/devicetree/bindings/arm/npcm/npcm.txt b/Documentation/devicetree/bindings/arm/npcm/npcm.txt\n> new file mode 100644\n> index 000000000000..2d87d9ecea85\n> --- /dev/null\n> +++ b/Documentation/devicetree/bindings/arm/npcm/npcm.txt\n> @@ -0,0 +1,6 @@\n> +NPCM Platforms Device Tree Bindings\n> +-----------------------------------\n> +NPCM750 SoC\n> +Required root node properties:\n> +\t- compatible = \"nuvoton,npcm750\";\n> +\n> diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n> new file mode 100644\n> index 000000000000..a0675e584125\n> --- /dev/null\n> +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n> @@ -0,0 +1,48 @@\n> +/*\n> + * DTS file for all NPCM750 SoCs\n> + *\n> + * Copyright 2012 Tomer Maimon <tomer.maimon@nuvoton.com>\n> + *\n> + * The code contained herein is licensed under the GNU General Public\n> + * License. You may obtain a copy of the GNU General Public License\n> + * Version 2 or later at the following locations:\n> + *\n> + * http://www.opensource.org/licenses/gpl-license.html\n> + * http://www.gnu.org/copyleft/gpl.html\n> + */\n> +\n> +/dts-v1/;\n> +#include \"nuvoton-npcm750.dtsi\"\n> +\n> +/ {\n> +\tmodel = \"Nuvoton npcm750 Development Board (Device Tree)\";\n> +\tcompatible = \"nuvoton,npcm750\";\n> +\n> +\tchosen {\n> +\t\tstdout-path = &serial3;\n> +\t};\n> +\n> +\tmemory {\n> +\t\treg = <0 0x40000000>;\n> +\t};\n> +};\n> +\n> +&watchdog1 {\n> +\tstatus = \"okay\";\n> +};\n> +\n> +&serial0 {\n> +\tstatus = \"okay\";\n> +};\n> +\n> +&serial1 {\n> +\tstatus = \"okay\";\n> +};\n> +\n> +&serial2 {\n> +\tstatus = \"okay\";\n> +};\n> +\n> +&serial3 {\n> +\tstatus = \"okay\";\n> +};\n> diff --git a/arch/arm/boot/dts/nuvoton-npcm750.dtsi b/arch/arm/boot/dts/nuvoton-npcm750.dtsi\n> new file mode 100644\n> index 000000000000..5d8a48e44274\n> --- /dev/null\n> +++ b/arch/arm/boot/dts/nuvoton-npcm750.dtsi\n> @@ -0,0 +1,211 @@\n> +/*\n> + * DTSi file for the NPCM750 SoC\n> + *\n> + * Copyright 2012 Tomer Maimon <tomer.maimon@nuvoton.com>\n> + *\n> + * The code contained herein is licensed under the GNU General Public\n> + * License. You may obtain a copy of the GNU General Public License\n> + * Version 2 or later at the following locations:\n> + *\n> + * http://www.opensource.org/licenses/gpl-license.html\n> + * http://www.gnu.org/copyleft/gpl.html\n> + */\n> +\n> +#include <dt-bindings/interrupt-controller/arm-gic.h>\n> +#include <dt-bindings/clock/nuvoton,npcm7xx-clks.h>\n> +\n> +/ {\n> +\t#address-cells = <1>;\n> +\t#size-cells = <1>;\n> +\tinterrupt-parent = <&gic>;\n> +\n> +\tcpus {\n> +\t\t#address-cells = <1>;\n> +\t\t#size-cells = <0>;\n> +\t\tenable-method = \"nuvoton,npcm7xx-smp\";\n> +\n> +\t\tcpu@0 {\n> +\t\t\tdevice_type = \"cpu\";\n> +\t\t\tcompatible = \"arm,cortex-a9\";\n> +\t\t\tclocks = <&clk NPCM7XX_CLK_CPU>;\n> +\t\t\tclock-names = \"clk_cpu\";\n> +\t\t\treg = <0>;\n> +\t\t\tnext-level-cache = <&l2>;\n> +\t\t};\n> +\n> +\t\tcpu@1 {\n> +\t\t\tdevice_type = \"cpu\";\n> +\t\t\tcompatible = \"arm,cortex-a9\";\n> +\t\t\tclocks = <&clk NPCM7XX_CLK_CPU>;\n> +\t\t\tclock-names = \"clk_cpu\";\n> +\t\t\treg = <1>;\n> +\t\t\tnext-level-cache = <&l2>;\n> +\t\t};\n> +\t};\n> +\n\n> +\tgcr: gcr@f0800000 {\n> +\t\tcompatible = \"nuvoton,npcm750-gcr\", \"syscon\",\n> +\t\t\t\"simple-mfd\";\n> +\t\treg = <0xf0800000 0x1000>;\n> +\t};\n> +\n> +\tscu: scu@f03fe000 {\n> +\t\tcompatible = \"arm,cortex-a9-scu\";\n> +\t\treg = <0xf03fe000 0x1000>;\n> +\t};\n> +\n> +\tl2: cache-controller@f03fc000 {\n> +\t\tcompatible = \"arm,pl310-cache\";\n> +\t\treg = <0xf03fc000 0x1000>;\n> +\t\tinterrupts = <0 21 4>;\n> +\t\tcache-unified;\n> +\t\tcache-level = <2>;\n> +\t\tclocks = <&clk NPCM7XX_CLK_AXI>;\n> +\t};\n> +\n> +\tgic: interrupt-controller@f03ff000 {\n> +\t\tcompatible = \"arm,cortex-a9-gic\";\n> +\t\tinterrupt-controller;\n> +\t\t#interrupt-cells = <3>;\n> +\t\treg = <0xf03ff000 0x1000>,\n> +\t\t    <0xf03fe100 0x100>;\n> +\t};\n> +\n> +\ttimer@f03fe600 {\n> +\t\tcompatible = \"arm,cortex-a9-twd-timer\";\n> +\t\treg = <0xf03fe600 0x20>;\n> +\t\tinterrupts = <1 13 0x304>;\n> +\t\tclocks = <&clk NPCM7XX_CLK_TIMER>;\n> +\t};\n\nAll these nodes with a memory mapped address should go under a bus node.\n\n> +\n> +\tahb {\n> +\t\t#address-cells = <1>;\n> +\t\t#size-cells = <1>;\n> +\t\tcompatible = \"simple-bus\";\n> +\t\tinterrupt-parent = <&gic>;\n> +\t\tranges = <0x80000000 0x80000000 0x40000000\n> +\t\t\t  0xc0000000 0xc0000000 0x00002000\n> +\t\t\t  0xc0008000 0xc0008000 0x00001000\n> +\t\t\t  0xe0800000 0xe0800000 0x00001000\n> +\t\t\t  0xe1000000 0xe1000000 0x00001000\n> +\t\t\t  0xe8000000 0xe8000000 0x08000000\n\nThese addresses don't appear to be used. These are coming later? They \ncould be collapsed down into 2 entries.\n\n<0x80000000 0x80000000 0x40010000>\n<0xe0800000 0xe0800000 0x0f800000>\n\n> +\t\t\t  /* APB start */\n> +\t\t\t  0xf0000000 0xf0000000 0x00005000\n> +\t\t\t  0xf0007000 0xf0007000 0x00005000\n> +\t\t\t  0xf0010000 0xf0010000 0x00008000\n> +\t\t\t  0xf0080000 0xf0080000 0x00010000\n> +\t\t\t  0xf009f000 0xf009f000 0x00001000\n> +\t\t\t  0xf0100000 0xf0100000 0x00005000\n> +\t\t\t  0xf0180000 0xf0180000 0x0000b000\n> +\t\t\t  0xf0200000 0xf0200000 0x00002000\n\nNot necessary to be so fine grained and shouldn't just be 1:1. So \nfor these just:\n\n<0 0xf0000000 0x00900000>\n\n\n> +\t\t\t  /* APB end */\n> +\t\t\t  0xf0800000 0xf0800000 0x000fc000\n> +\t\t\t  0xf8000000 0xf8000000 0x02000000\n> +\t\t\t  0xfb000000 0xfb000000 0x00002000>;\n\n> +\n> +\t\tclk: clock-controller@f0801000 {\n> +\t\t\tcompatible = \"nuvoton,npcm750-clk\";\n> +\t\t\t#clock-cells = <1>;\n> +\t\t\treg = <0xf0801000 0x1000>;\n\nThen this becomes: 0x801000 0x1000\n\n> +\t\t\tstatus = \"okay\";\n> +\t\t};\n> +\n> +\t\t/* external clock signal rg1refck, supplied by the phy */\n> +\t\tclk-rg1refck {\n> +\t\t\tcompatible = \"fixed-clock\";\n> +\t\t\t#clock-cells = <0>;\n> +\t\t\tclock-frequency = <125000000>;\n> +\t\t};\n> +\n> +\t\t/* external clock signal rg2refck, supplied by the phy */\n> +\t\tclk-rg2refck {\n> +\t\t\tcompatible = \"fixed-clock\";\n> +\t\t\t#clock-cells = <0>;\n> +\t\t\tclock-frequency = <125000000>;\n> +\t\t};\n> +\n> +\t\tclk-xin {\n> +\t\t\tcompatible = \"fixed-clock\";\n> +\t\t\t#clock-cells = <0>;\n> +\t\t\tclock-frequency = <50000000>;\n> +\t\t};\n\nThese clocks are not on the bus, so move them out of the bus node to the \ntop level.\n\n> +\n> +\t\tapb {\n> +\t\t\t#address-cells = <1>;\n> +\t\t\t#size-cells = <1>;\n> +\t\t\tcompatible = \"simple-bus\";\n> +\t\t\tinterrupt-parent = <&gic>;\n> +\t\t\tranges = <0xf0000000 0xf0000000 0x00005000\n> +\t\t\t\t  0xf0007000 0xf0007000 0x00005000\n> +\t\t\t\t  0xf0010000 0xf0010000 0x00008000\n> +\t\t\t\t  0xf0080000 0xf0080000 0x00010000\n> +\t\t\t\t  0xf009f000 0xf009f000 0x00001000\n> +\t\t\t\t  0xf0100000 0xf0100000 0x00005000\n> +\t\t\t\t  0xf0180000 0xf0180000 0x0000b000\n> +\t\t\t\t  0xf0200000 0xf0200000 0x00002000>;\n\nWith above changes this can be just: <0 0 0x300000>\n\n> +\n> +\t\t\ttimer0: timer@f0000000 {\n> +\t\t\t\tcompatible = \"nuvoton,npcm750-timer\";\n> +\t\t\t\tinterrupts = <0 32 4>;\n> +\t\t\t\treg = <0xf0000000 0x1000>;\n> +\t\t\t\tclocks = <&clk NPCM7XX_CLK_TIMER>;\n> +\t\t\t};\n> +\n> +\t\t\twatchdog0: watchdog@f0008000 {\n> +\t\t\t\tcompatible = \"nuvoton,npcm750-wdt\";\n> +\t\t\t\tinterrupts = <0 47 4>;\n> +\t\t\t\treg = <0xf0008000 0x1000>;\n> +\t\t\t\tstatus = \"disabled\";\n> +\t\t\t\tclocks = <&clk NPCM7XX_CLK_TIMER>;\n> +\t\t\t};\n> +\n> +\t\t\twatchdog1: watchdog@f0009000 {\n> +\t\t\t\tcompatible = \"nuvoton,npcm750-wdt\";\n> +\t\t\t\tinterrupts = <0 48 4>;\n> +\t\t\t\treg = <0xf0009000 0x1000>;\n> +\t\t\t\tstatus = \"disabled\";\n> +\t\t\t\tclocks = <&clk NPCM7XX_CLK_TIMER>;\n> +\t\t\t};\n> +\n> +\t\t\twatchdog2: watchdog@f000a000 {\n> +\t\t\t\tcompatible = \"nuvoton,npcm750-wdt\";\n> +\t\t\t\tinterrupts = <0 49 4>;\n> +\t\t\t\treg = <0xf000a000 0x1000>;\n> +\t\t\t\tstatus = \"disabled\";\n> +\t\t\t\tclocks = <&clk NPCM7XX_CLK_TIMER>;\n> +\t\t\t};\n> +\n> +\t\t\tserial0: serial0@f0001000 {\n\nSorry I miss this earlier, but need to drop the 0 in the node names. \nIOW, should be \"serial@f0001000\".\n\n> +\t\t\t\tcompatible = \"nuvoton,npcm750-uart\";\n> +\t\t\t\treg = <0xf0001000 0x1000>;\n> +\t\t\t\tclocks = <&clk NPCM7XX_CLK_UART_CORE>;\n> +\t\t\t\tinterrupts = <0 2 4>;\n> +\t\t\t\tstatus = \"disabled\";\n> +\t\t\t};\n> +\n> +\t\t\tserial1: serial1@f0002000 {\n> +\t\t\t\tcompatible = \"nuvoton,npcm750-uart\";\n> +\t\t\t\treg = <0xf0002000 0x1000>;\n> +\t\t\t\tclocks = <&clk NPCM7XX_CLK_UART_CORE>;\n> +\t\t\t\tinterrupts = <0 3 4>;\n> +\t\t\t\tstatus = \"disabled\";\n> +\t\t\t};\n> +\n> +\t\t\tserial2: serial2@f0003000 {\n> +\t\t\t\tcompatible = \"nuvoton,npcm750-uart\";\n> +\t\t\t\treg = <0xf0003000 0x1000>;\n> +\t\t\t\tclocks = <&clk NPCM7XX_CLK_UART_CORE>;\n> +\t\t\t\tinterrupts = <0 4 4>;\n> +\t\t\t\tstatus = \"disabled\";\n> +\t\t\t};\n> +\n> +\t\t\tserial3: serial3@f0004000 {\n> +\t\t\t\tcompatible = \"nuvoton,npcm750-uart\";\n> +\t\t\t\treg = <0xf0004000 0x1000>;\n> +\t\t\t\tclocks = <&clk NPCM7XX_CLK_UART_CORE>;\n> +\t\t\t\tinterrupts = <0 5 4>;\n> +\t\t\t\tstatus = \"disabled\";\n> +\t\t\t};\n> +\t\t};\n> +\t};\n> +};","headers":{"Return-Path":"<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","openbmc@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","openbmc@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2WWR2ZZVz9t67\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 07:42:27 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3y2WWR1Tn5zDsPt\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 07:42:27 +1000 (AEST)","from mail-pf0-f195.google.com (mail-pf0-f195.google.com\n\t[209.85.192.195])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3y2WWG19kQzDsPT\n\tfor <openbmc@lists.ozlabs.org>; Thu, 28 Sep 2017 07:42:17 +1000 (AEST)","by mail-pf0-f195.google.com with SMTP id h4so7791393pfk.0\n\tfor <openbmc@lists.ozlabs.org>; Wed, 27 Sep 2017 14:42:17 -0700 (PDT)","from localhost ([70.35.39.2]) by smtp.gmail.com with ESMTPSA id\n\tq73sm24161438pfl.147.2017.09.27.14.42.14\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tWed, 27 Sep 2017 14:42:14 -0700 (PDT)"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gmail.com\n\t(client-ip=209.85.192.195; helo=mail-pf0-f195.google.com;\n\tenvelope-from=robherring2@gmail.com; receiver=<UNKNOWN>)","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:in-reply-to:user-agent;\n\tbh=zv/ywiAqDAAoyrw07Lu+jz+zrNCGG4qzsJIqvLTc69Y=;\n\tb=pzShe8sWkiscDz1FldyaL50bf3BIy8qUFAmbjEUGbAoVwM4uEKcKYkMy0hy67xuQbO\n\tOvhK3gZ9ntgfuGsYERI/3Ak6GPipatdzgBNNE9UV+Cd84T096Co/zbvPImttEfDqtzPC\n\tORDDlG/oyt12/ZBQB6XyFmJdrUV86K2j+xMevMweYjkfJ6zz89cuHmJgFlrplwkPiZS2\n\t+dpqFIqibUGutagK10weiAVnhTLAkdKfFPojNjAb8YdaZMFCjo20ZsPeuzSdcGlCsm64\n\tGJiyEEiMJoUmuEfJ9Ch2lB9S1YQvr+TFXH6Nyr3eGsmibO9q8wvgSsIUC8cHnzWTNjWS\n\tyqLw==","X-Gm-Message-State":"AHPjjUgKay+CnAx49mUkBPwWruA+BS1aq3dSPDpW6Ocw3XEueiPWA30R\n\to6NbGfbA5hjNFxsChQgu3A==","X-Google-Smtp-Source":"AOwi7QB5l7hwJHay88HX7T4yLAei2LeFobrznswYfecJoj9hyFjM1ax8o8U8+dFFkgS5Wv2BCWoqCA==","X-Received":"by 10.84.232.134 with SMTP id i6mr2294995plk.190.1506548535419; \n\tWed, 27 Sep 2017 14:42:15 -0700 (PDT)","Date":"Wed, 27 Sep 2017 16:42:13 -0500","From":"Rob Herring <robh@kernel.org>","To":"Brendan Higgins <brendanhiggins@google.com>","Subject":"Re: [PATCH v6 2/3] arm: dts: add Nuvoton NPCM750 device tree","Message-ID":"<20170927214213.qjz7qalvvmhpxxmy@rob-hp-laptop>","References":"<20170919224001.22284-1-brendanhiggins@google.com>\n\t<20170919224001.22284-3-brendanhiggins@google.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170919224001.22284-3-brendanhiggins@google.com>","User-Agent":"NeoMutt/20170113 (1.7.2)","X-BeenThere":"openbmc@lists.ozlabs.org","X-Mailman-Version":"2.1.24","Precedence":"list","List-Id":"Development list for OpenBMC <openbmc.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/openbmc/>","List-Post":"<mailto:openbmc@lists.ozlabs.org>","List-Help":"<mailto:openbmc-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=subscribe>","Cc":"mark.rutland@arm.com, devicetree@vger.kernel.org, f.fainelli@gmail.com, \n\ttmaimon77@gmail.com, avifishman70@gmail.com, openbmc@lists.ozlabs.org,\n\tlinux@armlinux.org.uk, linux-kernel@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org","Errors-To":"openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"openbmc\"\n\t<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"}},{"id":1790850,"web_url":"http://patchwork.ozlabs.org/comment/1790850/","msgid":"<CAFd5g46mKwhfk2SG+uhB9AmmxnspBrkjKthsy9vcw+HES6COpg@mail.gmail.com>","list_archive_url":null,"date":"2017-10-19T19:04:36","subject":"Re: [PATCH v6 2/3] arm: dts: add Nuvoton NPCM750 device tree","submitter":{"id":69647,"url":"http://patchwork.ozlabs.org/api/people/69647/","name":"Brendan Higgins","email":"brendanhiggins@google.com"},"content":"Sorry for the delay. A couple questions:\n\nOn Wed, Sep 27, 2017 at 2:42 PM, Rob Herring <robh@kernel.org> wrote:\n> On Tue, Sep 19, 2017 at 03:40:00PM -0700, Brendan Higgins wrote:\n>> Add a common device tree for all Nuvoton NPCM750 BMCs and a board\n>> specific device tree for the NPCM750 (Poleg) evaluation board.\n>>\n>> Signed-off-by: Brendan Higgins <brendanhiggins@google.com>\n>> Reviewed-by: Tomer Maimon <tmaimon77@gmail.com>\n>> Reviewed-by: Avi Fishman <avifishman70@gmail.com>\n>> Reviewed-by: Joel Stanley <joel@jms.id.au>\n>> Tested-by: Tomer Maimon <tmaimon77@gmail.com>\n>> Tested-by: Avi Fishman <avifishman70@gmail.com>\n>> ---\n>>  .../arm/cpu-enable-method/nuvoton,npcm7xx-smp      |  42 ++++\n>>  .../devicetree/bindings/arm/npcm/npcm.txt          |   6 +\n>>  arch/arm/boot/dts/nuvoton-npcm750-evb.dts          |  48 +++++\n>>  arch/arm/boot/dts/nuvoton-npcm750.dtsi             | 211 +++++++++++++++++++++\n>>  include/dt-bindings/clock/nuvoton,npcm7xx-clks.h   |  39 ++++\n>>  5 files changed, 346 insertions(+)\n>>  create mode 100644 Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n>>  create mode 100644 Documentation/devicetree/bindings/arm/npcm/npcm.txt\n>>  create mode 100644 arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n>>  create mode 100644 arch/arm/boot/dts/nuvoton-npcm750.dtsi\n>>  create mode 100644 include/dt-bindings/clock/nuvoton,npcm7xx-clks.h\n>>\n>> diff --git a/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp b/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n>> new file mode 100644\n>> index 000000000000..e81f85b400cf\n>> --- /dev/null\n>> +++ b/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n>> @@ -0,0 +1,42 @@\n>> +=========================================================\n>> +Secondary CPU enable-method \"nuvoton,npcm7xx-smp\" binding\n>> +=========================================================\n>> +\n>> +To apply to all CPUs, a single \"nuvoton,npcm7xx-smp\" enable method should be\n>> +defined in the \"cpus\" node.\n>> +\n>> +Enable method name:  \"nuvoton,npcm7xx-smp\"\n>> +Compatible machines: \"nuvoton,npcm750\"\n>> +Compatible CPUs:     \"arm,cortex-a9\"\n>> +Related properties:  (none)\n>> +\n>> +Note:\n>> +This enable method needs valid nodes compatible with \"arm,cortex-a9-scu\" and\n>> +\"nuvoton,npcm750-gcr\".\n>> +\n>> +Example:\n>> +\n>> +     cpus {\n>> +             #address-cells = <1>;\n>> +             #size-cells = <0>;\n>> +             enable-method = \"nuvoton,npcm7xx-smp\";\n>> +\n>> +             cpu@0 {\n>> +                     device_type = \"cpu\";\n>> +                     compatible = \"arm,cortex-a9\";\n>> +                     clocks = <&clk NPCM7XX_CLK_CPU>;\n>> +                     clock-names = \"clk_cpu\";\n>> +                     reg = <0>;\n>> +                     next-level-cache = <&L2>;\n>> +             };\n>> +\n>> +             cpu@1 {\n>> +                     device_type = \"cpu\";\n>> +                     compatible = \"arm,cortex-a9\";\n>> +                     clocks = <&clk NPCM7XX_CLK_CPU>;\n>> +                     clock-names = \"clk_cpu\";\n>> +                     reg = <1>;\n>> +                     next-level-cache = <&L2>;\n>> +             };\n>> +     };\n>> +\n>> diff --git a/Documentation/devicetree/bindings/arm/npcm/npcm.txt b/Documentation/devicetree/bindings/arm/npcm/npcm.txt\n>> new file mode 100644\n>> index 000000000000..2d87d9ecea85\n>> --- /dev/null\n>> +++ b/Documentation/devicetree/bindings/arm/npcm/npcm.txt\n>> @@ -0,0 +1,6 @@\n>> +NPCM Platforms Device Tree Bindings\n>> +-----------------------------------\n>> +NPCM750 SoC\n>> +Required root node properties:\n>> +     - compatible = \"nuvoton,npcm750\";\n>> +\n>> diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n>> new file mode 100644\n>> index 000000000000..a0675e584125\n>> --- /dev/null\n>> +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n>> @@ -0,0 +1,48 @@\n>> +/*\n>> + * DTS file for all NPCM750 SoCs\n>> + *\n>> + * Copyright 2012 Tomer Maimon <tomer.maimon@nuvoton.com>\n>> + *\n>> + * The code contained herein is licensed under the GNU General Public\n>> + * License. You may obtain a copy of the GNU General Public License\n>> + * Version 2 or later at the following locations:\n>> + *\n>> + * http://www.opensource.org/licenses/gpl-license.html\n>> + * http://www.gnu.org/copyleft/gpl.html\n>> + */\n>> +\n>> +/dts-v1/;\n>> +#include \"nuvoton-npcm750.dtsi\"\n>> +\n>> +/ {\n>> +     model = \"Nuvoton npcm750 Development Board (Device Tree)\";\n>> +     compatible = \"nuvoton,npcm750\";\n>> +\n>> +     chosen {\n>> +             stdout-path = &serial3;\n>> +     };\n>> +\n>> +     memory {\n>> +             reg = <0 0x40000000>;\n>> +     };\n>> +};\n>> +\n>> +&watchdog1 {\n>> +     status = \"okay\";\n>> +};\n>> +\n>> +&serial0 {\n>> +     status = \"okay\";\n>> +};\n>> +\n>> +&serial1 {\n>> +     status = \"okay\";\n>> +};\n>> +\n>> +&serial2 {\n>> +     status = \"okay\";\n>> +};\n>> +\n>> +&serial3 {\n>> +     status = \"okay\";\n>> +};\n>> diff --git a/arch/arm/boot/dts/nuvoton-npcm750.dtsi b/arch/arm/boot/dts/nuvoton-npcm750.dtsi\n>> new file mode 100644\n>> index 000000000000..5d8a48e44274\n>> --- /dev/null\n>> +++ b/arch/arm/boot/dts/nuvoton-npcm750.dtsi\n>> @@ -0,0 +1,211 @@\n>> +/*\n>> + * DTSi file for the NPCM750 SoC\n>> + *\n>> + * Copyright 2012 Tomer Maimon <tomer.maimon@nuvoton.com>\n>> + *\n>> + * The code contained herein is licensed under the GNU General Public\n>> + * License. You may obtain a copy of the GNU General Public License\n>> + * Version 2 or later at the following locations:\n>> + *\n>> + * http://www.opensource.org/licenses/gpl-license.html\n>> + * http://www.gnu.org/copyleft/gpl.html\n>> + */\n>> +\n>> +#include <dt-bindings/interrupt-controller/arm-gic.h>\n>> +#include <dt-bindings/clock/nuvoton,npcm7xx-clks.h>\n>> +\n>> +/ {\n>> +     #address-cells = <1>;\n>> +     #size-cells = <1>;\n>> +     interrupt-parent = <&gic>;\n>> +\n>> +     cpus {\n>> +             #address-cells = <1>;\n>> +             #size-cells = <0>;\n>> +             enable-method = \"nuvoton,npcm7xx-smp\";\n>> +\n>> +             cpu@0 {\n>> +                     device_type = \"cpu\";\n>> +                     compatible = \"arm,cortex-a9\";\n>> +                     clocks = <&clk NPCM7XX_CLK_CPU>;\n>> +                     clock-names = \"clk_cpu\";\n>> +                     reg = <0>;\n>> +                     next-level-cache = <&l2>;\n>> +             };\n>> +\n>> +             cpu@1 {\n>> +                     device_type = \"cpu\";\n>> +                     compatible = \"arm,cortex-a9\";\n>> +                     clocks = <&clk NPCM7XX_CLK_CPU>;\n>> +                     clock-names = \"clk_cpu\";\n>> +                     reg = <1>;\n>> +                     next-level-cache = <&l2>;\n>> +             };\n>> +     };\n>> +\n>\n>> +     gcr: gcr@f0800000 {\n>> +             compatible = \"nuvoton,npcm750-gcr\", \"syscon\",\n>> +                     \"simple-mfd\";\n>> +             reg = <0xf0800000 0x1000>;\n>> +     };\n>> +\n>> +     scu: scu@f03fe000 {\n>> +             compatible = \"arm,cortex-a9-scu\";\n>> +             reg = <0xf03fe000 0x1000>;\n>> +     };\n>> +\n>> +     l2: cache-controller@f03fc000 {\n>> +             compatible = \"arm,pl310-cache\";\n>> +             reg = <0xf03fc000 0x1000>;\n>> +             interrupts = <0 21 4>;\n>> +             cache-unified;\n>> +             cache-level = <2>;\n>> +             clocks = <&clk NPCM7XX_CLK_AXI>;\n>> +     };\n>> +\n>> +     gic: interrupt-controller@f03ff000 {\n>> +             compatible = \"arm,cortex-a9-gic\";\n>> +             interrupt-controller;\n>> +             #interrupt-cells = <3>;\n>> +             reg = <0xf03ff000 0x1000>,\n>> +                 <0xf03fe100 0x100>;\n>> +     };\n>> +\n>> +     timer@f03fe600 {\n>> +             compatible = \"arm,cortex-a9-twd-timer\";\n>> +             reg = <0xf03fe600 0x20>;\n>> +             interrupts = <1 13 0x304>;\n>> +             clocks = <&clk NPCM7XX_CLK_TIMER>;\n>> +     };\n>\n> All these nodes with a memory mapped address should go under a bus node.\n>\n>> +\n>> +     ahb {\n>> +             #address-cells = <1>;\n>> +             #size-cells = <1>;\n>> +             compatible = \"simple-bus\";\n>> +             interrupt-parent = <&gic>;\n>> +             ranges = <0x80000000 0x80000000 0x40000000\n>> +                       0xc0000000 0xc0000000 0x00002000\n>> +                       0xc0008000 0xc0008000 0x00001000\n>> +                       0xe0800000 0xe0800000 0x00001000\n>> +                       0xe1000000 0xe1000000 0x00001000\n>> +                       0xe8000000 0xe8000000 0x08000000\n>\n> These addresses don't appear to be used. These are coming later? They\n> could be collapsed down into 2 entries.\n\nYep, the other addresses will be used in later patch sets. This is part of why I\ndid not think that it made sense to do address translation here. I thought that\nmapping such a large range of addresses would not make it any easier to read,\nquite the opposite. At least addresses 'mapped' to the original address\ncorrespond to the datasheet. So I am guessing that is not what you are asking\nme to do.\n\nMost of the large mappings (on the orders of MB) correspond to memory\nlocations mapped on either one of the SPI busses or PCIe busses, which when\nimplemented would likely get their own busses under ahb.\n\nAre you asking that I remap just the addresses for controlling SoC devices\n(0xf0xxxxxx), leave the external busses as is, and then remap those within their\nbusses when we get to that point?\n\nI will try to implement what I think you are asking me to do and get a patch out\nlater today. Hopefully that will make this discussion easier.\n\n>\n> <0x80000000 0x80000000 0x40010000>\n> <0xe0800000 0xe0800000 0x0f800000>\n>\n>> +                       /* APB start */\n>> +                       0xf0000000 0xf0000000 0x00005000\n>> +                       0xf0007000 0xf0007000 0x00005000\n>> +                       0xf0010000 0xf0010000 0x00008000\n>> +                       0xf0080000 0xf0080000 0x00010000\n>> +                       0xf009f000 0xf009f000 0x00001000\n>> +                       0xf0100000 0xf0100000 0x00005000\n>> +                       0xf0180000 0xf0180000 0x0000b000\n>> +                       0xf0200000 0xf0200000 0x00002000\n>\n> Not necessary to be so fine grained and shouldn't just be 1:1. So\n> for these just:\n>\n> <0 0xf0000000 0x00900000>\n>\n>\n>> +                       /* APB end */\n>> +                       0xf0800000 0xf0800000 0x000fc000\n>> +                       0xf8000000 0xf8000000 0x02000000\n>> +                       0xfb000000 0xfb000000 0x00002000>;\n>\n>> +\n>> +             clk: clock-controller@f0801000 {\n>> +                     compatible = \"nuvoton,npcm750-clk\";\n>> +                     #clock-cells = <1>;\n>> +                     reg = <0xf0801000 0x1000>;\n>\n> Then this becomes: 0x801000 0x1000\n>\n>> +                     status = \"okay\";\n>> +             };\n>> +\n>> +             /* external clock signal rg1refck, supplied by the phy */\n>> +             clk-rg1refck {\n>> +                     compatible = \"fixed-clock\";\n>> +                     #clock-cells = <0>;\n>> +                     clock-frequency = <125000000>;\n>> +             };\n>> +\n>> +             /* external clock signal rg2refck, supplied by the phy */\n>> +             clk-rg2refck {\n>> +                     compatible = \"fixed-clock\";\n>> +                     #clock-cells = <0>;\n>> +                     clock-frequency = <125000000>;\n>> +             };\n>> +\n>> +             clk-xin {\n>> +                     compatible = \"fixed-clock\";\n>> +                     #clock-cells = <0>;\n>> +                     clock-frequency = <50000000>;\n>> +             };\n>\n> These clocks are not on the bus, so move them out of the bus node to the\n> top level.\n>\n>> +\n>> +             apb {\n>> +                     #address-cells = <1>;\n>> +                     #size-cells = <1>;\n>> +                     compatible = \"simple-bus\";\n>> +                     interrupt-parent = <&gic>;\n>> +                     ranges = <0xf0000000 0xf0000000 0x00005000\n>> +                               0xf0007000 0xf0007000 0x00005000\n>> +                               0xf0010000 0xf0010000 0x00008000\n>> +                               0xf0080000 0xf0080000 0x00010000\n>> +                               0xf009f000 0xf009f000 0x00001000\n>> +                               0xf0100000 0xf0100000 0x00005000\n>> +                               0xf0180000 0xf0180000 0x0000b000\n>> +                               0xf0200000 0xf0200000 0x00002000>;\n>\n> With above changes this can be just: <0 0 0x300000>\n>\n>> +\n>> +                     timer0: timer@f0000000 {\n>> +                             compatible = \"nuvoton,npcm750-timer\";\n>> +                             interrupts = <0 32 4>;\n>> +                             reg = <0xf0000000 0x1000>;\n>> +                             clocks = <&clk NPCM7XX_CLK_TIMER>;\n>> +                     };\n>> +\n>> +                     watchdog0: watchdog@f0008000 {\n>> +                             compatible = \"nuvoton,npcm750-wdt\";\n>> +                             interrupts = <0 47 4>;\n>> +                             reg = <0xf0008000 0x1000>;\n>> +                             status = \"disabled\";\n>> +                             clocks = <&clk NPCM7XX_CLK_TIMER>;\n>> +                     };\n>> +\n>> +                     watchdog1: watchdog@f0009000 {\n>> +                             compatible = \"nuvoton,npcm750-wdt\";\n>> +                             interrupts = <0 48 4>;\n>> +                             reg = <0xf0009000 0x1000>;\n>> +                             status = \"disabled\";\n>> +                             clocks = <&clk NPCM7XX_CLK_TIMER>;\n>> +                     };\n>> +\n>> +                     watchdog2: watchdog@f000a000 {\n>> +                             compatible = \"nuvoton,npcm750-wdt\";\n>> +                             interrupts = <0 49 4>;\n>> +                             reg = <0xf000a000 0x1000>;\n>> +                             status = \"disabled\";\n>> +                             clocks = <&clk NPCM7XX_CLK_TIMER>;\n>> +                     };\n>> +\n>> +                     serial0: serial0@f0001000 {\n>\n> Sorry I miss this earlier, but need to drop the 0 in the node names.\n> IOW, should be \"serial@f0001000\".\n>\n>> +                             compatible = \"nuvoton,npcm750-uart\";\n>> +                             reg = <0xf0001000 0x1000>;\n>> +                             clocks = <&clk NPCM7XX_CLK_UART_CORE>;\n>> +                             interrupts = <0 2 4>;\n>> +                             status = \"disabled\";\n>> +                     };\n>> +\n>> +                     serial1: serial1@f0002000 {\n>> +                             compatible = \"nuvoton,npcm750-uart\";\n>> +                             reg = <0xf0002000 0x1000>;\n>> +                             clocks = <&clk NPCM7XX_CLK_UART_CORE>;\n>> +                             interrupts = <0 3 4>;\n>> +                             status = \"disabled\";\n>> +                     };\n>> +\n>> +                     serial2: serial2@f0003000 {\n>> +                             compatible = \"nuvoton,npcm750-uart\";\n>> +                             reg = <0xf0003000 0x1000>;\n>> +                             clocks = <&clk NPCM7XX_CLK_UART_CORE>;\n>> +                             interrupts = <0 4 4>;\n>> +                             status = \"disabled\";\n>> +                     };\n>> +\n>> +                     serial3: serial3@f0004000 {\n>> +                             compatible = \"nuvoton,npcm750-uart\";\n>> +                             reg = <0xf0004000 0x1000>;\n>> +                             clocks = <&clk NPCM7XX_CLK_UART_CORE>;\n>> +                             interrupts = <0 5 4>;\n>> +                             status = \"disabled\";\n>> +                     };\n>> +             };\n>> +     };\n>> +};\n\nThanks!","headers":{"Return-Path":"<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","openbmc@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","openbmc@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yHyzX6vcpz9t5R\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 20 Oct 2017 06:04:56 +1100 (AEDT)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3yHyzX3b7SzDqRM\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 20 Oct 2017 06:04:56 +1100 (AEDT)","from mail-qt0-x241.google.com (mail-qt0-x241.google.com\n\t[IPv6:2607:f8b0:400d:c0d::241])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3yHyzF2ZzQzDqBr\n\tfor <openbmc@lists.ozlabs.org>; Fri, 20 Oct 2017 06:04:39 +1100 (AEDT)","by mail-qt0-x241.google.com with SMTP id p1so15760920qtg.2\n\tfor <openbmc@lists.ozlabs.org>; Thu, 19 Oct 2017 12:04:39 -0700 (PDT)","by 10.140.81.200 with HTTP; Thu, 19 Oct 2017 12:04:36 -0700 (PDT)"],"Authentication-Results":["ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"csbZoaxz\"; dkim-atps=neutral","lists.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"csbZoaxz\"; dkim-atps=neutral","ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=google.com\n\t(client-ip=2607:f8b0:400d:c0d::241; helo=mail-qt0-x241.google.com;\n\tenvelope-from=brendanhiggins@google.com; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"csbZoaxz\"; dkim-atps=neutral"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=20161025; \n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=9AoI0/pUzVfxoP2shWnSGarsBZowbnLa6qVnKYP2HOw=;\n\tb=csbZoaxz9ZQG5R8FLYRWEWQ6gLnjc+0i4F9SFOLVDtQ2nZk6q47M/syu1QuWTtQT6Z\n\tJ547yC0EtnRmxCNiY2Z1VbSFyW9DS/glR7xSM6E3yxXxTOp+7d2W+NMlnSlnQ0ZsO6U0\n\taxxYloYWXsF7J8ANA32NMsJ6CZq20Lz2Aw5Z7AP2aQakZjqZjPyYTf40wPfI0XMQ9ip3\n\t98rQqITxKF0fa2ByT8AULAXHOZlu15qHMxKv8JGex8xrYTuMkniQ+UZo7+j8dFcDPKhQ\n\tIGmp8MIW2MugbzDzwppuqATcMybXIwZwjJK9YFdcDSVs6pZ3zJX9MKD55ZM50Xl/RbHz\n\tezEg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=9AoI0/pUzVfxoP2shWnSGarsBZowbnLa6qVnKYP2HOw=;\n\tb=JT1ftf1W4ZG28HTn6737/h2a5QHUwAqV/Pvrk3uxKFKrV9zUN/l9pHWI5wlb2ZWByl\n\tWJgIFq3PaF9CsA+d7/+QfSryGbuEINfOIMH6X3FnMmj743OIBnff/+fCLCS6Uo0AkCcR\n\twGyJsRqe5sXloQWucF97esph4BJx700I7KGICOlpoYkCWYd/WGgOoYrptbFpc0Nx9Xn8\n\teN2Wyfksb/CdLLEvfBTFi+2rYoZTOaM/IvEh2DGzxA8wjcwnIm9LdVzNPAOvkJ6YYKGw\n\toxh274lV74cFfwkwuROa4SpHdYZXqRRf+N3dE4CAWjxKrK/0fuenQXcpuzQ1EDHuayI7\n\tIlmQ==","X-Gm-Message-State":"AMCzsaVT9kUn9A520Zn5fxP37X8L37VrR8dHxqy1/743qeK8KZQlNieY\n\tzgaoaiSzY2oGbLVR6D2BZTwPrOWf16W1ySLczqQ1Vw==","X-Google-Smtp-Source":"ABhQp+QtQLZwD5K6pIHjFBfbZI6tT3pbOBcNEwETRXb+tmzFnqwgeT8hB/rF0x1j3SvT3rJ11kyY1/RuuuRM3QJN3GY=","X-Received":"by 10.237.57.135 with SMTP id m7mr3475038qte.4.1508439877185;\n\tThu, 19 Oct 2017 12:04:37 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<20170927214213.qjz7qalvvmhpxxmy@rob-hp-laptop>","References":"<20170919224001.22284-1-brendanhiggins@google.com>\n\t<20170919224001.22284-3-brendanhiggins@google.com>\n\t<20170927214213.qjz7qalvvmhpxxmy@rob-hp-laptop>","From":"Brendan Higgins <brendanhiggins@google.com>","Date":"Thu, 19 Oct 2017 12:04:36 -0700","Message-ID":"<CAFd5g46mKwhfk2SG+uhB9AmmxnspBrkjKthsy9vcw+HES6COpg@mail.gmail.com>","Subject":"Re: [PATCH v6 2/3] arm: dts: add Nuvoton NPCM750 device tree","To":"Rob Herring <robh@kernel.org>","Content-Type":"text/plain; charset=\"UTF-8\"","X-BeenThere":"openbmc@lists.ozlabs.org","X-Mailman-Version":"2.1.24","Precedence":"list","List-Id":"Development list for OpenBMC <openbmc.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/openbmc/>","List-Post":"<mailto:openbmc@lists.ozlabs.org>","List-Help":"<mailto:openbmc-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\tdevicetree <devicetree@vger.kernel.org>,\n\tFlorian Fainelli <f.fainelli@gmail.com>, tmaimon77@gmail.com,\n\tAvi Fishman <avifishman70@gmail.com>,\n\tOpenBMC Maillist <openbmc@lists.ozlabs.org>,\n\tRussell King <linux@armlinux.org.uk>,\n\tLinux Kernel Mailing List <linux-kernel@vger.kernel.org>,\n\tlinux-arm-kernel@lists.infradead.org","Errors-To":"openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"openbmc\"\n\t<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"}},{"id":1795531,"web_url":"http://patchwork.ozlabs.org/comment/1795531/","msgid":"<CAP6Zq1jPva2sFMYaNoN6C_4sXL9q=W_Wyt9Hy3+OsG6UJUVd6w@mail.gmail.com>","list_archive_url":null,"date":"2017-10-29T20:33:40","subject":"Re: [PATCH v6 2/3] arm: dts: add Nuvoton NPCM750 device tree","submitter":{"id":72291,"url":"http://patchwork.ozlabs.org/api/people/72291/","name":"Tomer Maimon","email":"tmaimon77@gmail.com"},"content":"On 20 September 2017 at 00:40, Brendan Higgins\n<brendanhiggins@google.com> wrote:\n> Add a common device tree for all Nuvoton NPCM750 BMCs and a board\n> specific device tree for the NPCM750 (Poleg) evaluation board.\n>\n> Signed-off-by: Brendan Higgins <brendanhiggins@google.com>\n> Reviewed-by: Tomer Maimon <tmaimon77@gmail.com>\n> Reviewed-by: Avi Fishman <avifishman70@gmail.com>\n> Reviewed-by: Joel Stanley <joel@jms.id.au>\n> Tested-by: Tomer Maimon <tmaimon77@gmail.com>\n> Tested-by: Avi Fishman <avifishman70@gmail.com>\n> ---\n>  .../arm/cpu-enable-method/nuvoton,npcm7xx-smp      |  42 ++++\n>  .../devicetree/bindings/arm/npcm/npcm.txt          |   6 +\n>  arch/arm/boot/dts/nuvoton-npcm750-evb.dts          |  48 +++++\n>  arch/arm/boot/dts/nuvoton-npcm750.dtsi             | 211 +++++++++++++++++++++\n>  include/dt-bindings/clock/nuvoton,npcm7xx-clks.h   |  39 ++++\n>  5 files changed, 346 insertions(+)\n>  create mode 100644 Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n>  create mode 100644 Documentation/devicetree/bindings/arm/npcm/npcm.txt\n>  create mode 100644 arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n>  create mode 100644 arch/arm/boot/dts/nuvoton-npcm750.dtsi\n>  create mode 100644 include/dt-bindings/clock/nuvoton,npcm7xx-clks.h\n>\n> diff --git a/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp b/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n> new file mode 100644\n> index 000000000000..e81f85b400cf\n> --- /dev/null\n> +++ b/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm7xx-smp\n> @@ -0,0 +1,42 @@\n> +=========================================================\n> +Secondary CPU enable-method \"nuvoton,npcm7xx-smp\" binding\n> +=========================================================\n> +\n> +To apply to all CPUs, a single \"nuvoton,npcm7xx-smp\" enable method should be\n> +defined in the \"cpus\" node.\n> +\n> +Enable method name:    \"nuvoton,npcm7xx-smp\"\n> +Compatible machines:   \"nuvoton,npcm750\"\n> +Compatible CPUs:       \"arm,cortex-a9\"\n> +Related properties:    (none)\n> +\n> +Note:\n> +This enable method needs valid nodes compatible with \"arm,cortex-a9-scu\" and\n> +\"nuvoton,npcm750-gcr\".\n> +\n> +Example:\n> +\n> +       cpus {\n> +               #address-cells = <1>;\n> +               #size-cells = <0>;\n> +               enable-method = \"nuvoton,npcm7xx-smp\";\n> +\n> +               cpu@0 {\n> +                       device_type = \"cpu\";\n> +                       compatible = \"arm,cortex-a9\";\n> +                       clocks = <&clk NPCM7XX_CLK_CPU>;\n> +                       clock-names = \"clk_cpu\";\n> +                       reg = <0>;\n> +                       next-level-cache = <&L2>;\n> +               };\n> +\n> +               cpu@1 {\n> +                       device_type = \"cpu\";\n> +                       compatible = \"arm,cortex-a9\";\n> +                       clocks = <&clk NPCM7XX_CLK_CPU>;\n> +                       clock-names = \"clk_cpu\";\n> +                       reg = <1>;\n> +                       next-level-cache = <&L2>;\n> +               };\n> +       };\n> +\n> diff --git a/Documentation/devicetree/bindings/arm/npcm/npcm.txt b/Documentation/devicetree/bindings/arm/npcm/npcm.txt\n> new file mode 100644\n> index 000000000000..2d87d9ecea85\n> --- /dev/null\n> +++ b/Documentation/devicetree/bindings/arm/npcm/npcm.txt\n> @@ -0,0 +1,6 @@\n> +NPCM Platforms Device Tree Bindings\n> +-----------------------------------\n> +NPCM750 SoC\n> +Required root node properties:\n> +       - compatible = \"nuvoton,npcm750\";\n> +\n> diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n> new file mode 100644\n> index 000000000000..a0675e584125\n> --- /dev/null\n> +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts\n> @@ -0,0 +1,48 @@\n> +/*\n> + * DTS file for all NPCM750 SoCs\n> + *\n> + * Copyright 2012 Tomer Maimon <tomer.maimon@nuvoton.com>\n> + *\n> + * The code contained herein is licensed under the GNU General Public\n> + * License. You may obtain a copy of the GNU General Public License\n> + * Version 2 or later at the following locations:\n> + *\n> + * http://www.opensource.org/licenses/gpl-license.html\n> + * http://www.gnu.org/copyleft/gpl.html\n> + */\n> +\n> +/dts-v1/;\n> +#include \"nuvoton-npcm750.dtsi\"\n> +\n> +/ {\n> +       model = \"Nuvoton npcm750 Development Board (Device Tree)\";\n> +       compatible = \"nuvoton,npcm750\";\n> +\n> +       chosen {\n> +               stdout-path = &serial3;\n> +       };\n> +\n> +       memory {\n> +               reg = <0 0x40000000>;\n> +       };\n> +};\n> +\n> +&watchdog1 {\n> +       status = \"okay\";\n> +};\n> +\n> +&serial0 {\n> +       status = \"okay\";\n> +};\n> +\n> +&serial1 {\n> +       status = \"okay\";\n> +};\n> +\n> +&serial2 {\n> +       status = \"okay\";\n> +};\n> +\n> +&serial3 {\n> +       status = \"okay\";\n> +};\n> diff --git a/arch/arm/boot/dts/nuvoton-npcm750.dtsi b/arch/arm/boot/dts/nuvoton-npcm750.dtsi\n> new file mode 100644\n> index 000000000000..5d8a48e44274\n> --- /dev/null\n> +++ b/arch/arm/boot/dts/nuvoton-npcm750.dtsi\n> @@ -0,0 +1,211 @@\n> +/*\n> + * DTSi file for the NPCM750 SoC\n> + *\n> + * Copyright 2012 Tomer Maimon <tomer.maimon@nuvoton.com>\n> + *\n> + * The code contained herein is licensed under the GNU General Public\n> + * License. You may obtain a copy of the GNU General Public License\n> + * Version 2 or later at the following locations:\n> + *\n> + * http://www.opensource.org/licenses/gpl-license.html\n> + * http://www.gnu.org/copyleft/gpl.html\n> + */\n> +\n> +#include <dt-bindings/interrupt-controller/arm-gic.h>\n> +#include <dt-bindings/clock/nuvoton,npcm7xx-clks.h>\n> +\n> +/ {\n> +       #address-cells = <1>;\n> +       #size-cells = <1>;\n> +       interrupt-parent = <&gic>;\n> +\n> +       cpus {\n> +               #address-cells = <1>;\n> +               #size-cells = <0>;\n> +               enable-method = \"nuvoton,npcm7xx-smp\";\n> +\n> +               cpu@0 {\n> +                       device_type = \"cpu\";\n> +                       compatible = \"arm,cortex-a9\";\n> +                       clocks = <&clk NPCM7XX_CLK_CPU>;\n> +                       clock-names = \"clk_cpu\";\n> +                       reg = <0>;\n> +                       next-level-cache = <&l2>;\n> +               };\n> +\n> +               cpu@1 {\n> +                       device_type = \"cpu\";\n> +                       compatible = \"arm,cortex-a9\";\n> +                       clocks = <&clk NPCM7XX_CLK_CPU>;\n> +                       clock-names = \"clk_cpu\";\n> +                       reg = <1>;\n> +                       next-level-cache = <&l2>;\n> +               };\n> +       };\n> +\n> +       gcr: gcr@f0800000 {\n> +               compatible = \"nuvoton,npcm750-gcr\", \"syscon\",\n> +                       \"simple-mfd\";\n> +               reg = <0xf0800000 0x1000>;\n> +       };\n> +\n> +       scu: scu@f03fe000 {\n> +               compatible = \"arm,cortex-a9-scu\";\n> +               reg = <0xf03fe000 0x1000>;\n> +       };\n> +\n> +       l2: cache-controller@f03fc000 {\n> +               compatible = \"arm,pl310-cache\";\n> +               reg = <0xf03fc000 0x1000>;\n> +               interrupts = <0 21 4>;\n> +               cache-unified;\n> +               cache-level = <2>;\n> +               clocks = <&clk NPCM7XX_CLK_AXI>;\n> +       };\n> +\n> +       gic: interrupt-controller@f03ff000 {\n> +               compatible = \"arm,cortex-a9-gic\";\n> +               interrupt-controller;\n> +               #interrupt-cells = <3>;\n> +               reg = <0xf03ff000 0x1000>,\n> +                   <0xf03fe100 0x100>;\n> +       };\n> +\n> +       timer@f03fe600 {\n> +               compatible = \"arm,cortex-a9-twd-timer\";\n> +               reg = <0xf03fe600 0x20>;\n> +               interrupts = <1 13 0x304>;\n> +               clocks = <&clk NPCM7XX_CLK_TIMER>;\n> +       };\n> +\n> +       ahb {\n> +               #address-cells = <1>;\n> +               #size-cells = <1>;\n> +               compatible = \"simple-bus\";\n> +               interrupt-parent = <&gic>;\n> +               ranges = <0x80000000 0x80000000 0x40000000\n> +                         0xc0000000 0xc0000000 0x00002000\n> +                         0xc0008000 0xc0008000 0x00001000\n> +                         0xe0800000 0xe0800000 0x00001000\n> +                         0xe1000000 0xe1000000 0x00001000\n> +                         0xe8000000 0xe8000000 0x08000000\n> +                         /* APB start */\n> +                         0xf0000000 0xf0000000 0x00005000\n> +                         0xf0007000 0xf0007000 0x00005000\n> +                         0xf0010000 0xf0010000 0x00008000\n> +                         0xf0080000 0xf0080000 0x00010000\n> +                         0xf009f000 0xf009f000 0x00001000\n> +                         0xf0100000 0xf0100000 0x00005000\n> +                         0xf0180000 0xf0180000 0x0000b000\n> +                         0xf0200000 0xf0200000 0x00002000\n> +                         /* APB end */\n> +                         0xf0800000 0xf0800000 0x000fc000\n> +                         0xf8000000 0xf8000000 0x02000000\n> +                         0xfb000000 0xfb000000 0x00002000>;\n> +\n> +               clk: clock-controller@f0801000 {\n> +                       compatible = \"nuvoton,npcm750-clk\";\n> +                       #clock-cells = <1>;\n> +                       reg = <0xf0801000 0x1000>;\n> +                       status = \"okay\";\n> +               };\n> +\n> +               /* external clock signal rg1refck, supplied by the phy */\n> +               clk-rg1refck {\n> +                       compatible = \"fixed-clock\";\n> +                       #clock-cells = <0>;\n> +                       clock-frequency = <125000000>;\n> +               };\n> +\n> +               /* external clock signal rg2refck, supplied by the phy */\n> +               clk-rg2refck {\n> +                       compatible = \"fixed-clock\";\n> +                       #clock-cells = <0>;\n> +                       clock-frequency = <125000000>;\n> +               };\n> +\n> +               clk-xin {\n> +                       compatible = \"fixed-clock\";\n> +                       #clock-cells = <0>;\n> +                       clock-frequency = <50000000>;\n> +               };\n> +\n> +               apb {\n> +                       #address-cells = <1>;\n> +                       #size-cells = <1>;\n> +                       compatible = \"simple-bus\";\n> +                       interrupt-parent = <&gic>;\n> +                       ranges = <0xf0000000 0xf0000000 0x00005000\n> +                                 0xf0007000 0xf0007000 0x00005000\n> +                                 0xf0010000 0xf0010000 0x00008000\n> +                                 0xf0080000 0xf0080000 0x00010000\n> +                                 0xf009f000 0xf009f000 0x00001000\n> +                                 0xf0100000 0xf0100000 0x00005000\n> +                                 0xf0180000 0xf0180000 0x0000b000\n> +                                 0xf0200000 0xf0200000 0x00002000>;\n> +\n> +                       timer0: timer@f0000000 {\n> +                               compatible = \"nuvoton,npcm750-timer\";\n> +                               interrupts = <0 32 4>;\n> +                               reg = <0xf0000000 0x1000>;\n> +                               clocks = <&clk NPCM7XX_CLK_TIMER>;\n> +                       };\n\nI started the upstream process of NPCM7xx clocksource driver, I got\nthe following comment:\nhttps://www.spinics.net/lists/devicetree/msg197916.html\n\nIs it possible to modify the the timer DT entry to:\n\ntimer0: timer@f0008000 {\n        compatible = \"nuvoton,npcm7xx-timer\";\n        interrupts = <0 32 4>;\n        reg = <0xf0008000 0x1000>;\n        clocks = <&clk NPCM7XX_CLK_TIMER>;\n};\n\n> +\n> +                       watchdog0: watchdog@f0008000 {\n> +                               compatible = \"nuvoton,npcm750-wdt\";\n> +                               interrupts = <0 47 4>;\n> +                               reg = <0xf0008000 0x1000>;\n> +                               status = \"disabled\";\n> +                               clocks = <&clk NPCM7XX_CLK_TIMER>;\n> +                       };\n> +\n> +                       watchdog1: watchdog@f0009000 {\n> +                               compatible = \"nuvoton,npcm750-wdt\";\n> +                               interrupts = <0 48 4>;\n> +                               reg = <0xf0009000 0x1000>;\n> +                               status = \"disabled\";\n> +                               clocks = <&clk NPCM7XX_CLK_TIMER>;\n> +                       };\n> +\n> +                       watchdog2: watchdog@f000a000 {\n> +                               compatible = \"nuvoton,npcm750-wdt\";\n> +                               interrupts = <0 49 4>;\n> +                               reg = <0xf000a000 0x1000>;\n> +                               status = \"disabled\";\n> +                               clocks = <&clk NPCM7XX_CLK_TIMER>;\n> +                       };\n> +\n> +                       serial0: serial0@f0001000 {\n> +                               compatible = \"nuvoton,npcm750-uart\";\n> +                               reg = <0xf0001000 0x1000>;\n> +                               clocks = <&clk NPCM7XX_CLK_UART_CORE>;\n> +                               interrupts = <0 2 4>;\n> +                               status = \"disabled\";\n> +                       };\n> +\n> +                       serial1: serial1@f0002000 {\n> +                               compatible = \"nuvoton,npcm750-uart\";\n> +                               reg = <0xf0002000 0x1000>;\n> +                               clocks = <&clk NPCM7XX_CLK_UART_CORE>;\n> +                               interrupts = <0 3 4>;\n> +                               status = \"disabled\";\n> +                       };\n> +\n> +                       serial2: serial2@f0003000 {\n> +                               compatible = \"nuvoton,npcm750-uart\";\n> +                               reg = <0xf0003000 0x1000>;\n> +                               clocks = <&clk NPCM7XX_CLK_UART_CORE>;\n> +                               interrupts = <0 4 4>;\n> +                               status = \"disabled\";\n> +                       };\n> +\n> +                       serial3: serial3@f0004000 {\n> +                               compatible = \"nuvoton,npcm750-uart\";\n> +                               reg = <0xf0004000 0x1000>;\n> +                               clocks = <&clk NPCM7XX_CLK_UART_CORE>;\n> +                               interrupts = <0 5 4>;\n> +                               status = \"disabled\";\n> +                       };\n> +               };\n> +       };\n> +};\n> diff --git a/include/dt-bindings/clock/nuvoton,npcm7xx-clks.h b/include/dt-bindings/clock/nuvoton,npcm7xx-clks.h\n> new file mode 100644\n> index 000000000000..c69d3bbf7e42\n> --- /dev/null\n> +++ b/include/dt-bindings/clock/nuvoton,npcm7xx-clks.h\n> @@ -0,0 +1,39 @@\n> +/*\n> + * Copyright (C) 2016 Nuvoton Technologies,  tali.perry@nuvoton.com\n> + *\n> + * This software is licensed under the terms of the GNU General Public\n> + * License version 2, as published by the Free Software Foundation, and\n> + * may be copied, distributed, and modified under those terms.\n> + */\n> +\n> +#ifndef _DT_BINDINGS_CLK_NPCM7XX_H\n> +#define _DT_BINDINGS_CLK_NPCM7XX_H\n> +\n> +#define NPCM7XX_CLK_PLL0       0\n> +#define NPCM7XX_CLK_PLL1       1\n> +#define NPCM7XX_CLK_PLL2       2\n> +#define NPCM7XX_CLK_GFX                3\n> +#define NPCM7XX_CLK_APB1       4\n> +#define NPCM7XX_CLK_APB2       5\n> +#define NPCM7XX_CLK_APB3       6\n> +#define NPCM7XX_CLK_APB4       7\n> +#define NPCM7XX_CLK_APB5       8\n> +#define NPCM7XX_CLK_MC         9\n> +#define NPCM7XX_CLK_CPU                10\n> +#define NPCM7XX_CLK_SPI0       11\n> +#define NPCM7XX_CLK_SPI3       12\n> +#define NPCM7XX_CLK_SPIX       13\n> +#define NPCM7XX_CLK_UART_CORE  14\n> +#define NPCM7XX_CLK_TIMER      15\n> +#define NPCM7XX_CLK_HOST_UART  16\n> +#define NPCM7XX_CLK_MMC                17\n> +#define NPCM7XX_CLK_SDHC       18\n> +#define NPCM7XX_CLK_ADC                19\n> +#define NPCM7XX_CLK_GFX_MEM    20\n> +#define NPCM7XX_CLK_USB_BRIDGE 21\n> +#define NPCM7XX_CLK_AXI                22\n> +#define NPCM7XX_CLK_AHB                23\n> +#define NPCM7XX_CLK_EMC                24\n> +#define NPCM7XX_CLK_GMAC       25\n> +\n> +#endif\n> --\n> 2.14.1.690.gbb1197296e-goog\n>\n\nThanks!","headers":{"Return-Path":"<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","openbmc@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","openbmc@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yQ8Tk1zCHz9t4c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 30 Oct 2017 07:34:02 +1100 (AEDT)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3yQ8Tk0sJyzDrcr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 30 Oct 2017 07:34:02 +1100 (AEDT)","from mail-io0-x242.google.com (mail-io0-x242.google.com\n\t[IPv6:2607:f8b0:4001:c06::242])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3yQ8TP4zB7zDrcJ\n\tfor <openbmc@lists.ozlabs.org>; Mon, 30 Oct 2017 07:33:45 +1100 (AEDT)","by mail-io0-x242.google.com with SMTP id e89so22811741ioi.11\n\tfor <openbmc@lists.ozlabs.org>; Sun, 29 Oct 2017 13:33:45 -0700 (PDT)","by 10.2.28.66 with HTTP; Sun, 29 Oct 2017 13:33:40 -0700 (PDT)"],"Authentication-Results":["ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"AnVdiFZe\"; dkim-atps=neutral","lists.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"AnVdiFZe\"; dkim-atps=neutral","ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gmail.com\n\t(client-ip=2607:f8b0:4001:c06::242; helo=mail-io0-x242.google.com;\n\tenvelope-from=tmaimon77@gmail.com; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"AnVdiFZe\"; dkim-atps=neutral"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=9+VLfBuxumNYjB5XCWgd5t3EjNbnkdzHkrwLE5SBd0E=;\n\tb=AnVdiFZeW+X26jh3zEuVaAut/CUT9f1+kZKMbJkGJ7ghfCD9/+oTkv6jfjro2eSuTS\n\tt3LS0UgGUJ8MmVn2RuTLPgsgOpFdVfUnd6oCEWHPBhBq4rWckfNn+2aWZbWwd1faPt0P\n\tyoaSVk14oFDS/wnSW2mvg+KhRifN4USrTYuvbMgYnVM+4v+6kk5UBHXxu5XMq37f2JB9\n\t5BbxFkJZw1q16Lki1Yf+XY5j6O0hQTQ6wlpfhiWlrwFTmURgkXKfG5m8ixfYGCGzIhKd\n\tZfUO7ww182ydNt+nr5RAyb8P5+HRkfU1enSyCsYvpc96ZJ8F2Qdgfgc3kfJ9QalFs+sn\n\tuR2A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=9+VLfBuxumNYjB5XCWgd5t3EjNbnkdzHkrwLE5SBd0E=;\n\tb=WrPF2Ekfj3tEmAMXH+6/vlbLOx+x49ce1GIROzJCX0GYvAxq5Wjr6ZL/ioaomgDwrT\n\tOMlhvbnZlFRCi4oOOOZuUeigxZyegcen6YMEURZqPU4+JLAUO9g9foU5Oi1CX6LUIrKE\n\tekDuuzA5UKyODKdQRXslLJqVOur7dAfYi8xUATe7KDlXhzqumrDbg5kLyV3CG2N8PZQv\n\tNGUqJEXy12Qd2yr0m3JQ8MKjC0a7jyzfKYtSqEzHlOpAX4w/qY1HLg8jA8z15GpAfQ3q\n\tyqRw3E+KDfXdUrKv4ti94Fr0EVxqMMhZYzUPYQLhTxHZtviqhjRtzEVakEwfhcCBEAzU\n\tI1fg==","X-Gm-Message-State":"AMCzsaUafEGi6MtbU32QmVxK6rTKE4CdvwO/egyntvHMzjckLfKG8Z/j\n\tCMwwrzn7Qs19gCgGsK5sPgA0uKqE4t2Tazb2fPk=","X-Google-Smtp-Source":"ABhQp+TF+DWoSJwGmtl6hgk68GJ3bw+aeUlrZoVqc1vdS5eh4nOuC+ziD8ZJpjXeyOwDQiMvgsHrU9gnSliNKwhfFUk=","X-Received":"by 10.107.20.137 with SMTP id 131mr8205454iou.137.1509309221192; \n\tSun, 29 Oct 2017 13:33:41 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<20170919224001.22284-3-brendanhiggins@google.com>","References":"<20170919224001.22284-1-brendanhiggins@google.com>\n\t<20170919224001.22284-3-brendanhiggins@google.com>","From":"Tomer Maimon <tmaimon77@gmail.com>","Date":"Sun, 29 Oct 2017 22:33:40 +0200","Message-ID":"<CAP6Zq1jPva2sFMYaNoN6C_4sXL9q=W_Wyt9Hy3+OsG6UJUVd6w@mail.gmail.com>","Subject":"Re: [PATCH v6 2/3] arm: dts: add Nuvoton NPCM750 device tree","To":"Brendan Higgins <brendanhiggins@google.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-BeenThere":"openbmc@lists.ozlabs.org","X-Mailman-Version":"2.1.24","Precedence":"list","List-Id":"Development list for OpenBMC <openbmc.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/openbmc/>","List-Post":"<mailto:openbmc@lists.ozlabs.org>","List-Help":"<mailto:openbmc-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\tdevicetree <devicetree@vger.kernel.org>,\n\tFlorian Fainelli <f.fainelli@gmail.com>,\n\tAvi Fishman <avifishman70@gmail.com>, \n\tOpenBMC Maillist <openbmc@lists.ozlabs.org>,\n\tRussell King - ARM Linux <linux@armlinux.org.uk>,\n\tLinux Kernel Mailing List <linux-kernel@vger.kernel.org>,\n\tRob Herring <robh+dt@kernel.org>, linux-arm-kernel@lists.infradead.org","Errors-To":"openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"openbmc\"\n\t<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"}},{"id":1797580,"web_url":"http://patchwork.ozlabs.org/comment/1797580/","msgid":"<CAL_JsqKgwepy4Kb21oikYRsOtFpKJFTiLRs4q613AX+9opHQKg@mail.gmail.com>","list_archive_url":null,"date":"2017-11-02T00:41:15","subject":"Re: [PATCH v6 2/3] arm: dts: add Nuvoton NPCM750 device tree","submitter":{"id":67416,"url":"http://patchwork.ozlabs.org/api/people/67416/","name":"Rob Herring","email":"robh+dt@kernel.org"},"content":"On Sun, Oct 29, 2017 at 3:33 PM, Tomer Maimon <tmaimon77@gmail.com> wrote:\n> On 20 September 2017 at 00:40, Brendan Higgins\n> <brendanhiggins@google.com> wrote:\n>> Add a common device tree for all Nuvoton NPCM750 BMCs and a board\n>> specific device tree for the NPCM750 (Poleg) evaluation board.\n>>\n\n>> +                       timer0: timer@f0000000 {\n>> +                               compatible = \"nuvoton,npcm750-timer\";\n>> +                               interrupts = <0 32 4>;\n>> +                               reg = <0xf0000000 0x1000>;\n>> +                               clocks = <&clk NPCM7XX_CLK_TIMER>;\n>> +                       };\n>\n> I started the upstream process of NPCM7xx clocksource driver, I got\n> the following comment:\n> https://www.spinics.net/lists/devicetree/msg197916.html\n>\n> Is it possible to modify the the timer DT entry to:\n>\n> timer0: timer@f0008000 {\n>         compatible = \"nuvoton,npcm7xx-timer\";\n\nPlease don't. Using 750 is correct. Using 7xx (i.e. wildcards) is not.\n\nIf there's subsequent SoCs with the same block, then you can do:\n'\"nuvoton,npcm760-timer\", \"nuvoton,npcm750-timer\"'.\n\nRob","headers":{"Return-Path":"<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","openbmc@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","openbmc@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yS5rR35Fxz9t2l\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  2 Nov 2017 11:41:59 +1100 (AEDT)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3yS5rR0pNlzDr5L\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  2 Nov 2017 11:41:59 +1100 (AEDT)","from mail.kernel.org (mail.kernel.org [198.145.29.99])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3yS5r36SYgzDr5J\n\tfor <openbmc@lists.ozlabs.org>; Thu,  2 Nov 2017 11:41:39 +1100 (AEDT)","from mail-qt0-f170.google.com (mail-qt0-f170.google.com\n\t[209.85.216.170])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby mail.kernel.org (Postfix) with ESMTPSA id 4E4DA2194A\n\tfor <openbmc@lists.ozlabs.org>; Thu,  2 Nov 2017 00:41:37 +0000 (UTC)","by mail-qt0-f170.google.com with SMTP id p1so4888048qtg.2\n\tfor <openbmc@lists.ozlabs.org>; Wed, 01 Nov 2017 17:41:37 -0700 (PDT)","by 10.12.130.134 with HTTP; Wed, 1 Nov 2017 17:41:15 -0700 (PDT)"],"Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=kernel.org\n\t(client-ip=198.145.29.99; helo=mail.kernel.org;\n\tenvelope-from=robh+dt@kernel.org; receiver=<UNKNOWN>)","mail.kernel.org;\n\tdmarc=none (p=none dis=none) header.from=kernel.org","mail.kernel.org;\n\tspf=none smtp.mailfrom=robh+dt@kernel.org"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mail.kernel.org 4E4DA2194A","X-Gm-Message-State":"AMCzsaXdKMg5d6YZCYC7VMsWKoBx3fJtaVOqUaYS2fipKi7QQlqFoGNl\n\tWiNSKMd7QIup911KQSgoMB0u5TvBVCh/D/oZLQ==","X-Google-Smtp-Source":"ABhQp+SsNjv1ypLO+Rv9+1A9Pnt/MyopcfVXit0J2Cw7EtwVO7SRkal/DlH0u0IReVSROTUB7tIZeHvN1xXhUvCKmc0=","X-Received":"by 10.200.8.239 with SMTP id y44mr2715082qth.341.1509583296458; \n\tWed, 01 Nov 2017 17:41:36 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<CAP6Zq1jPva2sFMYaNoN6C_4sXL9q=W_Wyt9Hy3+OsG6UJUVd6w@mail.gmail.com>","References":"<20170919224001.22284-1-brendanhiggins@google.com>\n\t<20170919224001.22284-3-brendanhiggins@google.com>\n\t<CAP6Zq1jPva2sFMYaNoN6C_4sXL9q=W_Wyt9Hy3+OsG6UJUVd6w@mail.gmail.com>","From":"Rob Herring <robh+dt@kernel.org>","Date":"Wed, 1 Nov 2017 19:41:15 -0500","X-Gmail-Original-Message-ID":"<CAL_JsqKgwepy4Kb21oikYRsOtFpKJFTiLRs4q613AX+9opHQKg@mail.gmail.com>","Message-ID":"<CAL_JsqKgwepy4Kb21oikYRsOtFpKJFTiLRs4q613AX+9opHQKg@mail.gmail.com>","Subject":"Re: [PATCH v6 2/3] arm: dts: add Nuvoton NPCM750 device tree","To":"Tomer Maimon <tmaimon77@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-BeenThere":"openbmc@lists.ozlabs.org","X-Mailman-Version":"2.1.24","Precedence":"list","List-Id":"Development list for OpenBMC <openbmc.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/openbmc/>","List-Post":"<mailto:openbmc@lists.ozlabs.org>","List-Help":"<mailto:openbmc-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\tdevicetree <devicetree@vger.kernel.org>,\n\tFlorian Fainelli <f.fainelli@gmail.com>,\n\tAvi Fishman <avifishman70@gmail.com>, \n\tOpenBMC Maillist <openbmc@lists.ozlabs.org>,\n\tBrendan Higgins <brendanhiggins@google.com>,\n\tRussell King - ARM Linux <linux@armlinux.org.uk>,\n\tLinux Kernel Mailing List <linux-kernel@vger.kernel.org>,\n\t\"linux-arm-kernel@lists.infradead.org\"\n\t<linux-arm-kernel@lists.infradead.org>","Errors-To":"openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"openbmc\"\n\t<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"}}]