Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp3108722ybl; Mon, 19 Aug 2019 12:20:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqyjEzCT8C8m4qxD42yQhaTJFkyKCXwD5t9/6/OjTvI4QbVmwJnNnLe1moCvs5h/KwRL37vC X-Received: by 2002:a17:90a:a013:: with SMTP id q19mr22153482pjp.64.1566242440770; Mon, 19 Aug 2019 12:20:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566242440; cv=none; d=google.com; s=arc-20160816; b=t3pdOZlkVafeB5+mcMm8ZWBFwH4GAN39/JYi4WC8ryOdtRqhlBM364lorNrFYIFv5O 2ZmbxBa5sx1mkjOPqBGgwDVir0WFEJLOWlfdI/V3FCrknoJ6fe55/bCTdsGlGhdrOejz zCPkM16u1fPmKIXa/Nr26LjNib5Vq7Pf5cAN4cr+Ugm7ynR4KpokY2PERZGAgi1C2C2n Lu60bWw8hGUsK808mxB2XVej7tatfhP+LQX2cSfoid5RisCR7xJmtOPer0eGd1Q9obIm rjw8j7888Xzdtd9J6Btm+upA7QZq9gThAx17HUQuAIaQGICgvGMmzAPqo7FpTGZhH3Hs /TZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=mO0hMN15vRVwpvSo9AwLNm7/4kuJnsGbuxNh1fbdrc8=; b=y7oqVX+oxZCAsrwUivIdEIncucEmgZpkv0OckB22fUJOAAom4FLQYf2dNNNSNA1FHK fEzQbN5G7LAJlRQXNc82DbBX/A6i51MelTspBCfV+16Gjb/ceMyWPOjV9xtFkRrYdYIm sMZ/CO62z6vnYKCC8bzWOEIROezzI9i4/5iWdYZ/khleYwK/DAezhuwB1PZS85EC0xFG lQC4XeUZGE2GtXGe1MeEcbDoLSayayS8TqYtJMbQN+7e8fL/NMlK/2xmxKsgtOR7tHnP mvqlDYuoVsI4O4zVW6IHHlY+aitF2y+ZqLu5de8y6GBN/Dp4jhMS6DYDrzVAq4rAN+Sx LIKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=adKdACk3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g8si9420739pjv.24.2019.08.19.12.20.24; Mon, 19 Aug 2019 12:20:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=adKdACk3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728417AbfHSTTN (ORCPT + 99 others); Mon, 19 Aug 2019 15:19:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:39058 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728218AbfHSTTN (ORCPT ); Mon, 19 Aug 2019 15:19:13 -0400 Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 671D222CEC; Mon, 19 Aug 2019 19:19:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1566242351; bh=m5k/dKgxoNFL9CE5OJQ0J1mAEZhAcE7RlJlTNYGMXKg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=adKdACk3DG6n7olLKxlOA2FQFwp1c6on+rtkK7ffmaevSA4JaVJHFULggsUQlV2FY AF/paJwiGMo9PSin48AYUyKQH6SzOxMDUU/o8NKamQkLlFN/jkU9D1hdNPij4CA44+ 22GZw1P+uBi+1Z01/+XByyeX/Tw2aBUDFp0bCWMM= Received: by mail-qk1-f175.google.com with SMTP id s14so2401357qkm.4; Mon, 19 Aug 2019 12:19:11 -0700 (PDT) X-Gm-Message-State: APjAAAV7zgdeb+coYwqE9Wms6HRK3Ex/ALKy0HZrYmjvakR6D/7sOd2U 0g49/xbIU+YX7svvRrfLDfwV4TnKC/eGN0lJPA== X-Received: by 2002:a37:d8f:: with SMTP id 137mr21547412qkn.254.1566242350541; Mon, 19 Aug 2019 12:19:10 -0700 (PDT) MIME-Version: 1.0 References: <20190819130143.18778-1-manivannan.sadhasivam@linaro.org> <20190819130143.18778-5-manivannan.sadhasivam@linaro.org> In-Reply-To: <20190819130143.18778-5-manivannan.sadhasivam@linaro.org> From: Rob Herring Date: Mon, 19 Aug 2019 14:18:59 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 4/8] dt-bindings: clock: Add devicetree binding for BM1880 SoC To: Manivannan Sadhasivam Cc: Stephen Boyd , Michael Turquette , linux-clk , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , "linux-kernel@vger.kernel.org" , devicetree@vger.kernel.org, haitao.suo@bitmain.com, darren.tsao@bitmain.com, fisher.cheng@bitmain.com, alec.lin@bitmain.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 19, 2019 at 8:02 AM Manivannan Sadhasivam wrote: > > Add YAML devicetree binding for Bitmain BM1880 SoC. > > Signed-off-by: Manivannan Sadhasivam > --- > .../bindings/clock/bitmain,bm1880-clk.yaml | 83 +++++++++++++++++++ > include/dt-bindings/clock/bm1880-clock.h | 82 ++++++++++++++++++ > 2 files changed, 165 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/bitmain,bm1880-clk.yaml > create mode 100644 include/dt-bindings/clock/bm1880-clock.h > > diff --git a/Documentation/devicetree/bindings/clock/bitmain,bm1880-clk.yaml b/Documentation/devicetree/bindings/clock/bitmain,bm1880-clk.yaml > new file mode 100644 > index 000000000000..a457f996287d > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/bitmain,bm1880-clk.yaml > @@ -0,0 +1,83 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/bindings/clock/bitmain,bm1880-clk.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Bitmain BM1880 Clock Controller > + > +maintainers: > + - Manivannan Sadhasivam > + > +description: | > + The Bitmain BM1880 clock controller generates and supplies clock to > + various peripherals within the SoC. > + > + This binding uses common clock bindings > + [1] Documentation/devicetree/bindings/clock/clock-bindings.txt > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - bitmain,bm1880-clk Just 'const: bitmain,bm1880-clk' is enough. > + > + reg: > + minItems: 2 > + maxItems: 2 These 2 are implied by the items list and can be dropped. > + items: > + - description: pll registers > + - description: system registers > + > + reg-names: > + items: > + - const: pll > + - const: sys > + > + clocks: > + maxItems: 1 > + description: Phandle of the input reference clock Don't need a description if there's only one entry. > + > + clock-names: > + maxItems: 1 > + items: > + - const: osc Just: clock-names: const: osc > + > + '#clock-cells': > + const: 1 > + > +required: > + - compatible > + - reg > + - reg-names > + - clocks > + - clock-names > + - '#clock-cells' > + > +examples: > + # Clock controller node: > + - | > + clk: clock-controller@e8 { > + compatible = "bitmain,bm1880-clk"; > + reg = <0xe8 0x0c>, <0x800 0xb0>; > + reg-names = "pll", "sys"; > + clocks = <&osc>; > + clock-names = "osc"; > + #clock-cells = <1>; > + }; > + > + # Example UART controller node that consumes clock generated by the clock controller: > + - | > + uart0: serial@58018000 { > + compatible = "snps,dw-apb-uart"; > + reg = <0x0 0x58018000 0x0 0x2000>; > + clocks = <&clk BM1880_CLK_UART_500M>; > + <&clk BM1880_CLK_APB_UART>; This won't build without includes. Please run 'make dt_binding_check' before you submit bindings. > + clock-names = "baudclk", "apb_pclk"; > + interrupts = ; > + reg-shift = <2>; > + reg-io-width = <4>; > + }; > + > +... > diff --git a/include/dt-bindings/clock/bm1880-clock.h b/include/dt-bindings/clock/bm1880-clock.h > new file mode 100644 > index 000000000000..895646d66b07 > --- /dev/null > +++ b/include/dt-bindings/clock/bm1880-clock.h > @@ -0,0 +1,82 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * Device Tree binding constants for Bitmain BM1880 SoC > + * > + * Copyright (c) 2019 Linaro Ltd. > + */ > + > +#ifndef __DT_BINDINGS_CLOCK_BM1880_H > +#define __DT_BINDINGS_CLOCK_BM1880_H > + > +#define BM1880_CLK_OSC 0 > +#define BM1880_CLK_MPLL 1 > +#define BM1880_CLK_SPLL 2 > +#define BM1880_CLK_FPLL 3 > +#define BM1880_CLK_DDRPLL 4 > +#define BM1880_CLK_A53 5 > +#define BM1880_CLK_50M_A53 6 > +#define BM1880_CLK_AHB_ROM 7 > +#define BM1880_CLK_AXI_SRAM 8 > +#define BM1880_CLK_DDR_AXI 9 > +#define BM1880_CLK_EFUSE 10 > +#define BM1880_CLK_APB_EFUSE 11 > +#define BM1880_CLK_AXI5_EMMC 12 > +#define BM1880_CLK_EMMC 13 > +#define BM1880_CLK_100K_EMMC 14 > +#define BM1880_CLK_AXI5_SD 15 > +#define BM1880_CLK_SD 16 > +#define BM1880_CLK_100K_SD 17 > +#define BM1880_CLK_500M_ETH0 18 > +#define BM1880_CLK_AXI4_ETH0 19 > +#define BM1880_CLK_500M_ETH1 20 > +#define BM1880_CLK_AXI4_ETH1 21 > +#define BM1880_CLK_AXI1_GDMA 22 > +#define BM1880_CLK_APB_GPIO 23 > +#define BM1880_CLK_APB_GPIO_INTR 24 > +#define BM1880_CLK_GPIO_DB 25 > +#define BM1880_CLK_AXI1_MINER 26 > +#define BM1880_CLK_AHB_SF 27 > +#define BM1880_CLK_SDMA_AXI 28 > +#define BM1880_CLK_SDMA_AUD 29 > +#define BM1880_CLK_APB_I2C 30 > +#define BM1880_CLK_APB_WDT 31 > +#define BM1880_CLK_APB_JPEG 32 > +#define BM1880_CLK_JPEG_AXI 33 > +#define BM1880_CLK_AXI5_NF 34 > +#define BM1880_CLK_APB_NF 35 > +#define BM1880_CLK_NF 36 > +#define BM1880_CLK_APB_PWM 37 > +#define BM1880_CLK_DIV_0_RV 38 > +#define BM1880_CLK_DIV_1_RV 39 > +#define BM1880_CLK_MUX_RV 40 > +#define BM1880_CLK_RV 41 > +#define BM1880_CLK_APB_SPI 42 > +#define BM1880_CLK_TPU_AXI 43 > +#define BM1880_CLK_DIV_UART_500M 44 > +#define BM1880_CLK_UART_500M 45 > +#define BM1880_CLK_APB_UART 46 > +#define BM1880_CLK_APB_I2S 47 > +#define BM1880_CLK_AXI4_USB 48 > +#define BM1880_CLK_APB_USB 49 > +#define BM1880_CLK_125M_USB 50 > +#define BM1880_CLK_33K_USB 51 > +#define BM1880_CLK_DIV_12M_USB 52 > +#define BM1880_CLK_12M_USB 53 > +#define BM1880_CLK_APB_VIDEO 54 > +#define BM1880_CLK_VIDEO_AXI 55 > +#define BM1880_CLK_VPP_AXI 56 > +#define BM1880_CLK_APB_VPP 57 > +#define BM1880_CLK_DIV_0_AXI1 58 > +#define BM1880_CLK_DIV_1_AXI1 59 > +#define BM1880_CLK_AXI1 60 > +#define BM1880_CLK_AXI2 61 > +#define BM1880_CLK_AXI3 62 > +#define BM1880_CLK_AXI4 63 > +#define BM1880_CLK_AXI5 64 > +#define BM1880_CLK_DIV_0_AXI6 65 > +#define BM1880_CLK_DIV_1_AXI6 66 > +#define BM1880_CLK_MUX_AXI6 67 > +#define BM1880_CLK_AXI6 68 > +#define BM1880_NR_CLKS 69 > + > +#endif /* __DT_BINDINGS_CLOCK_BM1880_H */ > -- > 2.17.1 >