linux-rockchip.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: 赵仪峰 <yifeng.zhao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
To: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "Miquel Raynal"
	<miquel.raynal-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>,
	richard <richard-/L3Ra7n9ekc@public.gmane.org>,
	vigneshr <vigneshr-l0cyMroinI0@public.gmane.org>,
	devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-mtd
	<linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	HeikoStübner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>,
	linux-rockchip
	<linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: Re: [PATCH v5 1/7] dt-bindings: mtd: Describe Rockchip RK3xxx NAND\r
 flash controller【请注意,邮件由robherring2@gmail.com代发】
Date: Wed, 29 Apr 2020 11:56:53 +0800	[thread overview]
Message-ID: <2020042911541773273387@rock-chips.com> (raw)
In-Reply-To: 20200428150158.GA12189@bogus

Hi Rob,

>So 'ahb' is required and 'nfc' is optional? That's what you defined, but
>that seems backwards.

For some old devices, sush as RK3066, RK3188, only have ahb clock(Internal clock and external io clock).
For other devices, sush as RV1108, PX30,RK3288, need both ahb clock(internal clock) and nfc clock(external io clock, can be flexibly configured).
So it is difficult to define it and the document defined only check abh clock.

Thanks,
Yifeng

>On Sun, Apr 26, 2020 at 06:02:44PM +0800, Yifeng Zhao wrote:
>> Documentation support for Rockchip RK3xxx NAND flash controllers
>>
>> Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
>> ---
>>
>> Changes in v5:
>> - Fix some wrong define
>> - Add boot-medium define
>> - Remove some compatible define
>>
>> Changes in v4:
>> - The compatible define with rkxx_nfc
>> - Add assigned-clocks
>> - Fix some wrong define
>>
>> Changes in v3:
>> - Change the title for the dt-bindings
>>
>> Changes in v2: None
>>
>>  .../mtd/rockchip,nand-controller.yaml         | 124 ++++++++++++++++++
>>  1 file changed, 124 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
>> new file mode 100644
>> index 000000000000..12354c79d275
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
>> @@ -0,0 +1,124 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mtd/rockchip,nand-controller.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Rockchip SoCs NAND FLASH Controller (NFC)
>> +
>> +allOf:
>> +  - $ref: "nand-controller.yaml#"
>> +
>> +maintainers:
>> +  - Heiko Stuebner <heiko@sntech.de>
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - rockchip,px30_nfc
>> +      - rockchip,rk3xxx_nfc
>> +      - rockchip,rk3308_nfc
>> +      - rockchip,rv1108_nfc
>
>Use '-', not '_'.
>
>> +
>> +  reg:
>> +    minItems: 1
>> +
>> +  interrupts:
>> +    minItems: 1
>> +
>> +  clocks:
>> +    minItems: 1
>> +    items:
>> +      - description: Bus Clock
>> +      - description: Module Clock
>> +
>> +  clock-names:
>> +    minItems: 1
>
>So 'ahb' is required and 'nfc' is optional? That's what you defined, but
>that seems backwards.
>
>> +    items:
>> +      - const: ahb
>> +      - const: nfc
>> +
>> +patternProperties:
>> +  "^nand@[0-3]$":
>> +    type: object
>> +    properties:
>> +      reg:
>> +        minimum: 0
>> +        maximum: 3
>> +
>> +      nand-ecc-mode:
>> +        const: hw
>> +
>> +      nand-ecc-step-size:
>> +        const: 1024
>> +
>> +      nand-ecc-strength:
>> +        enum: [16,24,40,60,70]
>> +
>> +      nand-bus-width:
>> +        const: 8
>> +
>> +      nand-is-boot-medium: true
>> +
>> +      rockchip-boot-blks:
>
>rockchip,boot-blks
>
>> +        minimum: 2
>> +        default: 16
>> +        allOf:
>> +        - $ref: /schemas/types.yaml#/definitions/uint32
>> +        description:
>> +          For legacy devices where the bootrom can only handle 16/24 bit
>> +          BCH/ECC, and for some other devices where the bootrom can support
>> +          60/70 bit BCH/ECC.
>> +          In addition, when programming the loader, a linked list needs to
>> +          be written in oob for Bootrom to read the correct data sequence.
>> +          If specified it indicates the number of erase blocks in use by
>> +          the bootloader that need a different BCH/ECC setting.
>> +          Only used in combination with 'nand-is-boot-medium'.
>> +
>> +      rockchip-boot-ecc-strength:
>
>rockchip,boot-ecc-strength
>
>> +        enum: [16,24,40,60,70]
>> +        description:
>> +          If specified it indicates that use a different BCH/ECC setting for
>> +          bootrom.
>> +          Only used in combination with 'nand-is-boot-medium'.
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +  - clocks
>> +  - clock-names
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/clock/rk3308-cru.h>
>> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>> +    nfc: nand-controller@ff4b0000 {
>> +      compatible = "rockchip,rk3308_nfc";
>> +      reg = <0x0 0xff4b0000 0x0 0x4000>;
>> +      interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
>> +      clocks = <&cru HCLK_NANDC>, <&cru SCLK_NANDC>;
>> +      clock-names = "ahb", "nfc";
>> +      assigned-clocks = <&clks SCLK_NANDC>;
>> +      assigned-clock-rates = <150000000>;
>> +
>> +      pinctrl-0 = <&flash_ale &flash_bus8 &flash_cle &flash_csn0
>> +                   &flash_rdn &flash_rdy &flash_wrn>;
>> +      pinctrl-names = "default";
>> +
>> +      #address-cells = <1>;
>> +      #size-cells = <0>;
>> +
>> +      nand@0 {
>> +        reg = <0>;
>> +        nand-bus-width = <8>;
>> +        nand-ecc-mode = "hw";
>> +        nand-ecc-strength = <16>;
>> +        nand-ecc-step-size = <1024>;
>> +        nand-is-boot-medium;
>> +        rockchip-boot-blks = <8>;
>> +        rockchip-boot-ecc-strength = <16>;
>> +      };
>> +    };
>> +
>> +...
>> --
>> 2.17.1
>>
>>
>>
>
>
>

  reply	other threads:[~2020-04-29  3:56 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-26 10:02 [PATCH v5 0/7] Add Rockchip NFC drivers for RK3308 and others Yifeng Zhao
2020-04-26 10:02 ` [PATCH v5 2/7] mtd: rawnand: rockchip: NFC drivers for RK3308, RK3188 " Yifeng Zhao
     [not found]   ` <20200426100250.14678-3-yifeng.zhao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2020-04-26 15:59     ` Johan Jonker
2020-04-29 11:02       ` Re: [PATCH v5 2/7] mtd: rawnand: rockchip: NFC drivers for RK3308, RK3188 and others【请注意,邮件由linux-rockchip-bounces+yifeng.zhao=rock-chips.com@lists.infradead.org代发】 赵仪峰
2020-04-29 15:55     ` [PATCH v5 2/7] mtd: rawnand: rockchip: NFC drivers for RK3308, RK3188 and others Johan Jonker
     [not found]       ` <4dbe907c-a6c2-a163-0cab-234b08336b5c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-29 17:04         ` Miquel Raynal
     [not found] ` <20200426100250.14678-1-yifeng.zhao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2020-04-26 10:02   ` [PATCH v5 1/7] dt-bindings: mtd: Describe Rockchip RK3xxx NAND flash controller Yifeng Zhao
     [not found]     ` <20200426100250.14678-2-yifeng.zhao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2020-04-28 15:01       ` Rob Herring
2020-04-29  3:56         ` 赵仪峰 [this message]
2020-04-29  8:53       ` Johan Jonker
     [not found]         ` <4a83e5d2-90cc-1db7-cdfd-47b7ceb4fcef-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-29  9:13           ` Miquel Raynal
2020-04-29  9:28             ` Johan Jonker
2020-04-30 13:02         ` 赵仪峰
2020-05-01 11:47       ` Johan Jonker
2020-04-26 10:02   ` [PATCH v5 3/7] MAINTAINERS: add maintainers to rockchip nfc Yifeng Zhao
     [not found]     ` <20200426100250.14678-4-yifeng.zhao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2020-04-26 13:40       ` Johan Jonker
2020-04-26 10:02   ` [PATCH v5 4/7] arm64: dts: rockchip: Add nfc dts for RK3308 SOC Yifeng Zhao
2020-04-26 10:11   ` [PATCH v5 5/7] arm64: dts: rockchip: Add nfc dts for PX30 SOC Yifeng Zhao
     [not found]     ` <20200426101146.14797-1-yifeng.zhao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2020-04-26 10:11       ` [PATCH v5 6/7] xarm: dts: rockchip: Add nfc dts for RV1108 SOC Yifeng Zhao
2020-04-26 10:11       ` [PATCH v5 7/7] arm: dts: rockchip: Add nfc dts for RK3066 and RK3188 SOC Yifeng Zhao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2020042911541773273387@rock-chips.com \
    --to=yifeng.zhao-tnx95d0mmh7dzftrwevzcw@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org \
    --cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=miquel.raynal-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org \
    --cc=richard-/L3Ra7n9ekc@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=vigneshr-l0cyMroinI0@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).