Received: by 10.223.176.5 with SMTP id f5csp403982wra; Wed, 7 Feb 2018 01:03:23 -0800 (PST) X-Google-Smtp-Source: AH8x224mA31VTfHmAui575q6mjGZnBmyW3/3Bn9o+TBIp/13mkJj84pItM/7vZ8eZjwlz7xuKWoq X-Received: by 10.98.248.1 with SMTP id d1mr5301153pfh.222.1517994203234; Wed, 07 Feb 2018 01:03:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517994203; cv=none; d=google.com; s=arc-20160816; b=nBSdUYuer6sMaT8IJXRXA8KBABxG/oKDxlLhRlPSCRbRHA9ZJAvBP4tGYqu4N/vSmY cxOpoKGA8QKQqxrBIbuos+iE8ZxneDGunggDMW26hIjk8LZhEOIjl3MzfQCZOUg+SqPV EfBkZL8OLSbSVSwuSsto8beggK82ookdrqJb5u+flHYHrLjwlobhHN/+kjhn/ykjDAcT KST3C1ayZWdJWUN3Bq3N77AbEhc4EMc7JKZwsL1muMrk0iOEP/3mGxdfO/WAcZwE9Pqj TTJ4kl7hWTdGVfghGneimSWdW0tGXT8qYGlXg536bBBNp7WqoCypqxSjcMk+bJ1P6LEX LzSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=DN1DKQtPIJ9VdO8a6ejjCj7ZQPvjK1orlHfAspuT5GY=; b=IF7le8CFC1D/ulpTNiLDCU4vjscjMEMKlKXvSJkF1nHVYllu4mj51HOTYqR/XIK5KW HEV16aEwDfsMRpt4aNJqzZc5uVa7mV6BvG6N7L3VQs7Z09u7THVM5/PzqYCDGlzXs5GJ Ng/SSFyd1DZYd3gDHyEkPNT0z2FVQup+sXLD/XfDBpYApsZVWNzg4/2sQCjdP3hi7Mi0 +5pgF1B9hTzjVaWT6p/gOMzIQ6uZ8ccnTOgkFrtS/WgThz0OvDTdScKysUt2Rw+tD29y f+BJTHUn7R81JefPNXcbpa0yfANqJkReH+neMiDoADw392eNzqeU0gP0/fmX41kS7L01 TYDA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s2si677426pgo.362.2018.02.07.01.03.08; Wed, 07 Feb 2018 01:03:23 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753537AbeBGJC0 (ORCPT + 99 others); Wed, 7 Feb 2018 04:02:26 -0500 Received: from mail.free-electrons.com ([62.4.15.54]:42787 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752829AbeBGJCW (ORCPT ); Wed, 7 Feb 2018 04:02:22 -0500 Received: by mail.free-electrons.com (Postfix, from userid 110) id 88C4E2039F; Wed, 7 Feb 2018 10:02:20 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from localhost (LStLambert-657-1-97-87.w90-63.abo.wanadoo.fr [90.63.216.87]) by mail.free-electrons.com (Postfix) with ESMTPSA id 4D10820381; Wed, 7 Feb 2018 10:02:10 +0100 (CET) Date: Wed, 7 Feb 2018 10:02:10 +0100 From: Maxime Ripard To: Icenowy Zheng Cc: Rob Herring , Chen-Yu Tsai , Linus Walleij , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-sunxi@googlegroups.com Subject: Re: [PATCH v2 4/6] clk: sunxi-ng: add support for the Allwinner H6 CCU Message-ID: <20180207090210.jlxleeh32tojvzp5@flea> References: <20180203154942.63566-1-icenowy@aosc.io> <20180203154942.63566-5-icenowy@aosc.io> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ek2ibnckyiva23fq" Content-Disposition: inline In-Reply-To: <20180203154942.63566-5-icenowy@aosc.io> User-Agent: NeoMutt/20171215 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --ek2ibnckyiva23fq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, On Sat, Feb 03, 2018 at 11:49:40PM +0800, Icenowy Zheng wrote: > + /* Force the output divider of video PLLs to 0 */ > + for (i =3D 0; i < ARRAY_SIZE(pll_video_regs); i++) { > + val =3D readl(reg + pll_video_regs[i]); > + val &=3D ~BIT(0); > + writel(val, reg + pll_video_regs[i]); > + } Why? > + /* Force OHCI 12M clock sources to 00 (12MHz divided from 48MHz) */ > + for (i =3D 0; i < ARRAY_SIZE(usb2_clk_regs); i++) { > + val =3D readl(reg + usb2_clk_regs[i]); > + val &=3D ~GENMASK(25, 24); > + writel (val, reg + usb2_clk_regs[i]); > + } Why? > + /* > + * Force the post-divider of pll-video to 8 and the output divider > + * of it to 1. > + */ > + val =3D readl(reg + SUN50I_H6_PLL_AUDIO_REG); > + val &=3D ~(GENMASK(21, 16) | BIT(0)); > + writel(val | (7 << 16), reg + SUN50I_H6_PLL_AUDIO_REG); Why? > diff --git a/include/dt-bindings/clock/sun50i-h6-ccu.h b/include/dt-bindi= ngs/clock/sun50i-h6-ccu.h > new file mode 100644 > index 000000000000..f7ddb241012c > --- /dev/null > +++ b/include/dt-bindings/clock/sun50i-h6-ccu.h > @@ -0,0 +1,125 @@ > +/* > + * Copyright (C) 2017 Icenowy Zheng > + * > + * SPDX-License-Identifier: (GPL-2.0+ or MIT) > + */ > + > +#ifndef _DT_BINDINGS_CLK_SUN50I_H6_H_ > +#define _DT_BINDINGS_CLK_SUN50I_H6_H_ > + > +#define CLK_PLL_PERIPH0 3 Why is that needed? > + > +#define CLK_CPUX 21 > + > +#define CLK_APB1 26 Same thing here > + > +#define CLK_DE 29 > +#define CLK_BUS_DE 30 > +#define CLK_DEINTERLACE 31 > +#define CLK_BUS_DEINTERLACE 32 > +#define CLK_GPU 33 > +#define CLK_BUS_GPU 34 > +#define CLK_CE 35 > +#define CLK_BUS_CE 36 > +#define CLK_VE 37 > +#define CLK_BUS_VE 38 > +#define CLK_EMCE 39 > +#define CLK_BUS_EMCE 40 > +#define CLK_VP9 41 > +#define CLK_BUS_VP9 42 > +#define CLK_BUS_DMA 43 > +#define CLK_BUS_MSGBOX 44 > +#define CLK_BUS_SPINLOCK 45 > +#define CLK_BUS_HSTIMER 46 > +#define CLK_AVS 47 > +#define CLK_BUS_DBG 48 > +#define CLK_BUS_PSI 49 > +#define CLK_BUS_PWM 50 > +#define CLK_BUS_IOMMU 51 > + > +#define CLK_MBUS_DMA 53 > +#define CLK_MBUS_VE 54 > +#define CLK_MBUS_CE 55 > +#define CLK_MBUS_TS 56 > +#define CLK_MBUS_NAND 57 > +#define CLK_MBUS_CSI 58 > +#define CLK_MBUS_DEINTERLACE 59 > + > +#define CLK_NAND0 61 > +#define CLK_NAND1 62 > +#define CLK_BUS_NAND 63 > +#define CLK_MMC0 64 > +#define CLK_MMC1 65 > +#define CLK_MMC2 66 > +#define CLK_BUS_MMC0 67 > +#define CLK_BUS_MMC1 68 > +#define CLK_BUS_MMC2 69 > +#define CLK_BUS_UART0 70 > +#define CLK_BUS_UART1 71 > +#define CLK_BUS_UART2 72 > +#define CLK_BUS_UART3 73 > +#define CLK_BUS_I2C0 74 > +#define CLK_BUS_I2C1 75 > +#define CLK_BUS_I2C2 76 > +#define CLK_BUS_I2C3 77 > +#define CLK_BUS_SCR0 78 > +#define CLK_BUS_SCR1 79 > +#define CLK_SPI0 80 > +#define CLK_SPI1 81 > +#define CLK_BUS_SPI0 82 > +#define CLK_BUS_SPI1 83 > +#define CLK_BUS_EMAC 84 > +#define CLK_TS 85 > +#define CLK_BUS_TS 86 > +#define CLK_IR_TX 87 > +#define CLK_BUS_IR_TX 88 > +#define CLK_BUS_THS 89 > +#define CLK_I2S3 90 > +#define CLK_I2S0 91 > +#define CLK_I2S1 92 > +#define CLK_I2S2 93 > +#define CLK_BUS_I2S0 94 > +#define CLK_BUS_I2S1 95 > +#define CLK_BUS_I2S2 96 > +#define CLK_BUS_I2S3 97 > +#define CLK_SPDIF 98 > +#define CLK_BUS_SPDIF 99 > +#define CLK_DMIC 100 > +#define CLK_BUS_DMIC 101 > +#define CLK_AUDIO_HUB 102 > +#define CLK_BUS_AUDIO_HUB 103 > +#define CLK_USB_OHCI0 104 > +#define CLK_USB_PHY0 105 > +#define CLK_USB_PHY1 106 > +#define CLK_USB_OHCI3 107 > +#define CLK_USB_PHY3 108 > +#define CLK_USB_HSIC_12M 109 > +#define CLK_USB_HSIC 110 > +#define CLK_BUS_OHCI0 111 > +#define CLK_BUS_OHCI3 112 > +#define CLK_BUS_EHCI0 113 > +#define CLK_BUS_XHCI 114 > +#define CLK_BUS_EHCI3 115 > +#define CLK_BUS_OTG 116 > +#define CLK_PCIE_REF_100M 117 > +#define CLK_PCIE_REF 118 > +#define CLK_PCIE_REF_OUT 119 > +#define CLK_PCIE_MAXI 120 > +#define CLK_PCIE_AUX 121 Dito. > +#define CLK_BUS_PCIE 122 > +#define CLK_HDMI 123 > +#define CLK_HDMI_CEC 124 > +#define CLK_BUS_HDMI 125 > +#define CLK_BUS_TCON_TOP 126 Ditto. Remember, you should only expose here the clocks that devices are going to use, and remove as much intermediate clocks as possible. If you're unsure, keep them out of the dt-binding include, we can always move one to the dt-binding header, while the other way isn't possible. --=20 Maxime Ripard, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com --ek2ibnckyiva23fq Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE0VqZU19dR2zEVaqr0rTAlCFNr3QFAlp6wJEACgkQ0rTAlCFN r3SSCA/8DUiffOmpHWiWLHyCnCz1knDR7p2cZBffal3DuqLXDwhL5Iv0FDtt1IvH 3JfxZFbaWo/DYuhvTHGF4T+t0uvlrYjMV9bEPU/swqVxMPJun7mYjKokjILoKv2r kRaUoiMd48LYJSW6+1eXq66jGhmB005g4ShBXsOcoYtMRnA0tJvF/fcU53ZZ2Jwv ZwcLoBzAjcbwZjWeHLT3QzaKykTFlWJbuksl+9juiWMoQ6jqvwUxcig2lwQO3jq+ oe+PDJ8kLTkfIDwexp65TqrRHMxjeK9qJ9wZ2I9ZiA/BOr6DQ6wCGqVrge93keA5 AIO3DZYdERCYgwN08YrCz+nTosgpSz+BSJi11mNDwp+MaUI7zITindO50lpBHLPr xAXwBry02MgRzo9wlFFGTpb7DKZqiMNPLPdFn8+Dt0CbywR5kXC3TtjqZDUjaZBX sPpRDhlLYJUSlNfU22+KdJyXHa3P6+2as9W5hlquqakJ79vl1pgO3i7pXcVaJnmu 17PTCz1nzkdYa6ek18YGmhxrQuF6g6Z+SsDbeGWUZ15FnRuAM5UUsKKQeGvx+rN8 KsxUv486D7WWBZMfQrX6p7d2XYipe4O7uiyfIcTvxm2bFyKixhIMt63kUW9WOh3Z vZmJ914oo0DSN1TfZPZrwoVRaxBEjuUZ3WJEdJjWDhrs3y0dGpM= =I3QC -----END PGP SIGNATURE----- --ek2ibnckyiva23fq--