Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp1827901pxy; Sun, 2 May 2021 03:45:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyaODA27PYs4zQ4WR9y7jPOAdPf21/QCb3NBe9schfj2Igf8f0dMDlvgX3Vbn6IH0XnkbHe X-Received: by 2002:a05:6402:20f:: with SMTP id t15mr14996960edv.370.1619952356422; Sun, 02 May 2021 03:45:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619952356; cv=none; d=google.com; s=arc-20160816; b=j6aqzKbQyB81vOsR6rQZShDQ2boh19+ggleLjNhqumX6ekTTpAGO/z5Xt6roZngiWW rxTUOjP6PKvnJOv5TzlE43iXCV/mRPMBsAOpXW7tndxw+0NFNyqjdweVdwSDfb4wTYO/ iY+mI2IzyJb+WbG7PikiGdIY/EF7Xteq1sQ/jjB9llso84ZI6kACBWpCtYBTQfAljZXV 4XdKgVOUwLZWxX4DlkGSY4mkPnEmQzhVppHX2J2s5mClLr7466ve75gzlEqp39RcRvX6 muB7BNsESNDEzxCgO0oJwI4u3MAD8RqjlkdaT7By6DQSX1+++OptCVhOBuqNC6Bp1my/ GP3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=L4ERBxfzdpvfIhDyrCU4zJnW2APy/X/ejQibiYtVvoo=; b=JFKjiobJ5BpI/TZVpVC15uiJa7bIY8T/TC3ia6J4rM22CNvCe9nBKVa5OovHQCjIz0 fCPbC100xrBoSDAV3caVvFyRYw3JidL7EXlWnAbdfxdcj3a0fxoowlfo8T3qHNV7gIzJ dMVarqN4YdQTHbRJtG+NullY6434quTEQKLYwxGyPBKO/f1P7NbucCyJW9Um8GomBzv/ ph3Cgn3Ni1S19wDTrKGyBDbkI3a9GivPU6yfScbBbkRftW3XoCpwJlLlTXy178UfnO8j L5rPn/DWp005jYg/RndL+HCtcUI2hLwaOnaWeuNT2oPdbf4oys7DX4zUnve7uDPsVrqM K+kg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z17si7945857ejb.394.2021.05.02.03.45.31; Sun, 02 May 2021 03:45:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230221AbhEBKpH (ORCPT + 99 others); Sun, 2 May 2021 06:45:07 -0400 Received: from gloria.sntech.de ([185.11.138.130]:42972 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229676AbhEBKpH (ORCPT ); Sun, 2 May 2021 06:45:07 -0400 Received: from p508fd4bc.dip0.t-ipconnect.de ([80.143.212.188] helo=phil.localnet) by gloria.sntech.de with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ld9Zy-0006PS-Qi; Sun, 02 May 2021 12:44:02 +0200 From: Heiko Stuebner To: Johan Jonker Cc: cl@rock-chips.com, jay.xu@rock-chips.com, david.wu@rock-chips.com, zhangqing@rock-chips.com, huangtao@rock-chips.com, shawn.lin@rock-chips.com, robh+dt@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 1/2] dt-bindings: soc: rockchip: convert grf.txt to YAML Date: Sun, 02 May 2021 12:44:01 +0200 Message-ID: <1691445.VLH7GnMWUR@phil> In-Reply-To: <45d7aa00-1879-cc6e-df9b-fe1ed83a4531@gmail.com> References: <20210501203520.5465-1-jbx6244@gmail.com> <45d7aa00-1879-cc6e-df9b-fe1ed83a4531@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Johan, Am Sonntag, 2. Mai 2021, 12:13:12 CEST schrieb Johan Jonker: > Hi Rob, Heiko, > > This patch relies on rockchip,power-controller.yaml, but a look in > MAINTAINERS show that no one seems responsible. > Who should apply? power-domains are part of the "soc"-drivers, so that will be me. Though I'm waiting on the next -rc1 (next sunday) to get a clean start. Heiko > === > > This patch makes use of phy-rockchip-inno-usb2.yaml > > Given response in: > > dt-bindings: phy: convert phy-rockchip-inno-usb2 bindings to yaml > https://lore.kernel.org/linux-rockchip/20200319171305.GA19150@bogus/ > > '#phy-cells' was added to the example. > > A proposal to add that to usb2-phy nodes was never accepted, > so dtbs_check continuous to generate notifications. > > ARM: dts: rockchip: add #phy-cells to all usb2-phy nodes > https://lore.kernel.org/linux-rockchip/20200401073725.6063-1-jbx6244@gmail.com/ > > === > > A issue was filed, but nothing fixed. > > phys with subnodes and #phy-cells requirement #22 > https://github.com/devicetree-org/dt-schema/issues/22 > > === > > Please advise. > > Johan > > On 5/1/21 10:35 PM, Johan Jonker wrote: > > Current dts files with 'grf' nodes are manually verified. > > In order to automate this process grf.txt has to be > > converted to YAML. > > > > Most compatibility strings are in use with "simple-mfd" added. > > > > Add description already in use: > > "rockchip,rv1108-pmugrf", "syscon" > > > > Add new descriptions for: > > "rockchip,rk3568-grf", "syscon", "simple-mfd" > > "rockchip,rk3568-pmugrf", "syscon", "simple-mfd" > > > > Signed-off-by: Johan Jonker > > --- > > .../devicetree/bindings/soc/rockchip/grf.txt | 61 ----- > > .../devicetree/bindings/soc/rockchip/grf.yaml | 277 +++++++++++++++++++++ > > 2 files changed, 277 insertions(+), 61 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/soc/rockchip/grf.txt > > create mode 100644 Documentation/devicetree/bindings/soc/rockchip/grf.yaml > > > > diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.txt b/Documentation/devicetree/bindings/soc/rockchip/grf.txt > > deleted file mode 100644 > > index f96511aa3..000000000 > > --- a/Documentation/devicetree/bindings/soc/rockchip/grf.txt > > +++ /dev/null > > @@ -1,61 +0,0 @@ > > -* Rockchip General Register Files (GRF) > > - > > -The general register file will be used to do static set by software, which > > -is composed of many registers for system control. > > - > > -From RK3368 SoCs, the GRF is divided into two sections, > > -- GRF, used for general non-secure system, > > -- SGRF, used for general secure system, > > -- PMUGRF, used for always on system > > - > > -On RK3328 SoCs, the GRF adds a section for USB2PHYGRF, > > - > > -ON RK3308 SoC, the GRF is divided into four sections: > > -- GRF, used for general non-secure system, > > -- SGRF, used for general secure system, > > -- DETECTGRF, used for audio codec system, > > -- COREGRF, used for pvtm, > > - > > -Required Properties: > > - > > -- compatible: GRF should be one of the following: > > - - "rockchip,px30-grf", "syscon": for px30 > > - - "rockchip,rk3036-grf", "syscon": for rk3036 > > - - "rockchip,rk3066-grf", "syscon": for rk3066 > > - - "rockchip,rk3188-grf", "syscon": for rk3188 > > - - "rockchip,rk3228-grf", "syscon": for rk3228 > > - - "rockchip,rk3288-grf", "syscon": for rk3288 > > - - "rockchip,rk3308-grf", "syscon": for rk3308 > > - - "rockchip,rk3328-grf", "syscon": for rk3328 > > - - "rockchip,rk3368-grf", "syscon": for rk3368 > > - - "rockchip,rk3399-grf", "syscon": for rk3399 > > - - "rockchip,rv1108-grf", "syscon": for rv1108 > > -- compatible: DETECTGRF should be one of the following: > > - - "rockchip,rk3308-detect-grf", "syscon": for rk3308 > > -- compatilbe: COREGRF should be one of the following: > > - - "rockchip,rk3308-core-grf", "syscon": for rk3308 > > -- compatible: PMUGRF should be one of the following: > > - - "rockchip,px30-pmugrf", "syscon": for px30 > > - - "rockchip,rk3368-pmugrf", "syscon": for rk3368 > > - - "rockchip,rk3399-pmugrf", "syscon": for rk3399 > > -- compatible: SGRF should be one of the following: > > - - "rockchip,rk3288-sgrf", "syscon": for rk3288 > > -- compatible: USB2PHYGRF should be one of the following: > > - - "rockchip,px30-usb2phy-grf", "syscon": for px30 > > - - "rockchip,rk3328-usb2phy-grf", "syscon": for rk3328 > > -- compatible: USBGRF should be one of the following: > > - - "rockchip,rv1108-usbgrf", "syscon": for rv1108 > > -- reg: physical base address of the controller and length of memory mapped > > - region. > > - > > -Example: GRF and PMUGRF of RK3399 SoCs > > - > > - pmugrf: syscon@ff320000 { > > - compatible = "rockchip,rk3399-pmugrf", "syscon"; > > - reg = <0x0 0xff320000 0x0 0x1000>; > > - }; > > - > > - grf: syscon@ff770000 { > > - compatible = "rockchip,rk3399-grf", "syscon"; > > - reg = <0x0 0xff770000 0x0 0x10000>; > > - }; > > diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml > > new file mode 100644 > > index 000000000..3f66328a3 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml > > @@ -0,0 +1,277 @@ > > +# SPDX-License-Identifier: GPL-2.0 > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/soc/rockchip/grf.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Rockchip General Register Files (GRF) > > + > > +maintainers: > > + - Heiko Stuebner > > + > > +select: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - rockchip,px30-grf > > + - rockchip,px30-pmugrf > > + - rockchip,px30-usb2phy-grf > > + - rockchip,rk3036-grf > > + - rockchip,rk3066-grf > > + - rockchip,rk3188-grf > > + - rockchip,rk3228-grf > > + - rockchip,rk3288-grf > > + - rockchip,rk3288-sgrf > > + - rockchip,rk3308-core-grf > > + - rockchip,rk3308-detect-grf > > + - rockchip,rk3308-grf > > + - rockchip,rk3328-grf > > + - rockchip,rk3328-usb2phy-grf > > + - rockchip,rk3368-grf > > + - rockchip,rk3368-pmugrf > > + - rockchip,rk3399-grf > > + - rockchip,rk3399-pmugrf > > + - rockchip,rk3568-grf > > + - rockchip,rk3568-pmugrf > > + - rockchip,rv1108-grf > > + - rockchip,rv1108-pmugrf > > + - rockchip,rv1108-usbgrf > > + > > + required: > > + - compatible > > + > > +properties: > > + compatible: > > + oneOf: > > + - items: > > + - enum: > > + - rockchip,rk3066-grf > > + - rockchip,rk3188-grf > > + - rockchip,rk3288-sgrf > > + - rockchip,rv1108-pmugrf > > + - rockchip,rv1108-usbgrf > > + - const: syscon > > + - items: > > + - enum: > > + - rockchip,px30-grf > > + - rockchip,px30-pmugrf > > + - rockchip,px30-usb2phy-grf > > + - rockchip,rk3036-grf > > + - rockchip,rk3228-grf > > + - rockchip,rk3288-grf > > + - rockchip,rk3308-core-grf > > + - rockchip,rk3308-detect-grf > > + - rockchip,rk3308-grf > > + - rockchip,rk3328-grf > > + - rockchip,rk3328-usb2phy-grf > > + - rockchip,rk3368-grf > > + - rockchip,rk3368-pmugrf > > + - rockchip,rk3399-grf > > + - rockchip,rk3399-pmugrf > > + - rockchip,rk3568-grf > > + - rockchip,rk3568-pmugrf > > + - rockchip,rv1108-grf > > + - const: syscon > > + - const: simple-mfd > > + > > + reg: > > + maxItems: 1 > > + > > +required: > > + - compatible > > + - reg > > + > > +additionalProperties: true > > + > > +allOf: > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: rockchip,px30-grf > > + > > + then: > > + properties: > > + lvds: > > + description: > > + Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: rockchip,rk3288-grf > > + > > + then: > > + properties: > > + edp-phy: > > + description: > > + Documentation/devicetree/bindings/phy/rockchip-dp-phy.txt > > + > > + usbphy: > > + description: > > + Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: rockchip,rk3328-grf > > + > > + then: > > + properties: > > + grf-gpio: > > + description: > > + Documentation/devicetree/bindings/gpio/rockchip,rk3328-grf-gpio.txt > > + > > + power-controller: > > + type: object > > + > > + $ref: "/schemas/power/rockchip,power-controller.yaml#" > > + > > + unevaluatedProperties: false > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: rockchip,rk3399-grf > > + > > + then: > > + properties: > > + mipi-dphy-rx0: > > + type: object > > + > > + $ref: "/schemas/phy/rockchip-mipi-dphy-rx0.yaml#" > > + > > + unevaluatedProperties: false > > + > > + pcie-phy: > > + description: > > + Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt > > + > > + patternProperties: > > + "phy@[0-9a-f]+$": > > + description: > > + Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - rockchip,px30-pmugrf > > + - rockchip,rk3036-grf > > + - rockchip,rk3308-grf > > + - rockchip,rk3368-pmugrf > > + > > + then: > > + properties: > > + reboot-mode: > > + type: object > > + > > + $ref: "/schemas/power/reset/syscon-reboot-mode.yaml#" > > + > > + unevaluatedProperties: false > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - rockchip,px30-usb2phy-grf > > + - rockchip,rk3228-grf > > + - rockchip,rk3328-usb2phy-grf > > + - rockchip,rk3399-grf > > + - rockchip,rv1108-grf > > + > > + then: > > + properties: > > + "#address-cells": > > + const: 1 > > + > > + "#size-cells": > > + const: 1 > > + > > + required: > > + - "#address-cells" > > + - "#size-cells" > > + > > + patternProperties: > > + "usb2-phy@[0-9a-f]+$": > > + type: object > > + > > + $ref: "/schemas/phy/phy-rockchip-inno-usb2.yaml#" > > + > > + unevaluatedProperties: false > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - rockchip,px30-pmugrf > > + - rockchip,px30-grf > > + - rockchip,rk3228-grf > > + - rockchip,rk3288-grf > > + - rockchip,rk3328-grf > > + - rockchip,rk3368-pmugrf > > + - rockchip,rk3368-grf > > + - rockchip,rk3399-pmugrf > > + - rockchip,rk3399-grf > > + > > + then: > > + properties: > > + io-domains: > > + description: > > + Documentation/devicetree/bindings/power/rockchip-io-domain.txt > > + > > + unevaluatedProperties: false > > + > > +examples: > > + - | > > + #include > > + #include > > + #include > > + grf: syscon@ff770000 { > > + compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd"; > > + reg = <0xff770000 0x10000>; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + > > + mipi_dphy_rx0: mipi-dphy-rx0 { > > + compatible = "rockchip,rk3399-mipi-dphy-rx0"; > > + clocks = <&cru SCLK_MIPIDPHY_REF>, > > + <&cru SCLK_DPHY_RX0_CFG>, > > + <&cru PCLK_VIO_GRF>; > > + clock-names = "dphy-ref", "dphy-cfg", "grf"; > > + power-domains = <&power RK3399_PD_VIO>; > > + #phy-cells = <0>; > > + }; > > + > > + u2phy0: usb2-phy@e450 { > > + compatible = "rockchip,rk3399-usb2phy"; > > + reg = <0xe450 0x10>; > > + clocks = <&cru SCLK_USB2PHY0_REF>; > > + clock-names = "phyclk"; > > + #clock-cells = <0>; > > + clock-output-names = "clk_usbphy0_480m"; > > + #phy-cells = <0>; > > + > > + u2phy0_host: host-port { > > + #phy-cells = <0>; > > + interrupts = ; > > + interrupt-names = "linestate"; > > + }; > > + > > + u2phy0_otg: otg-port { > > + #phy-cells = <0>; > > + interrupts = , > > + , > > + ; > > + interrupt-names = "otg-bvalid", "otg-id", > > + "linestate"; > > + }; > > + }; > > + }; > > >