Message ID | 20220207063338.6570-2-warp5tw@gmail.com |
---|---|
State | New |
Headers | show |
Series | i2c: npcm: Bug fixes timeout, spurious interrupts | expand |
Hello, On Mon, Feb 07, 2022 at 02:33:33PM +0800, Tyrone Ting wrote: > From: Tyrone Ting <kfting@nuvoton.com> > > This commit adds compatible and syscon description for NPCM845 i2c module. > > Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver") > Signed-off-by: Tyrone Ting <kfting@nuvoton.com> > Signed-off-by: Tali Perry <tali.perry1@gmail.com> > --- [...] > > + syscon: > + $ref: "/schemas/types.yaml#/definitions/phandle" > + description: The phandle of system manager register node. > + > required: > - compatible > - reg > - interrupts > - clocks > + - syscon By making the syscon property required, the existing npcm7xx devicetrees become wrong (because they don't have the syscon property). Please, either keep it optional, or adjust the npcm7xx devicetrees in this series. Best regards, Jonathan
On 07/02/2022 07:33, Tyrone Ting wrote: > From: Tyrone Ting <kfting@nuvoton.com> > > This commit adds compatible and syscon description for NPCM845 i2c module. Do not use "This commit" but instead: https://elixir.bootlin.com/linux/v5.13/source/Documentation/process/submitting-patches.rst#L89 > > Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver") > Signed-off-by: Tyrone Ting <kfting@nuvoton.com> > Signed-off-by: Tali Perry <tali.perry1@gmail.com> > --- > .../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 21 ++++++++++++++----- > 1 file changed, 16 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > index 128444942aec..05e58f44b03a 100644 > --- a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > +++ b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > @@ -7,17 +7,22 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# > title: nuvoton NPCM7XX I2C Controller Device Tree Bindings > > description: | > - The NPCM750x includes sixteen I2C bus controllers. All Controllers support > - both master and slave mode. Each controller can switch between master and slave > - at run time (i.e. IPMB mode). Each controller has two 16 byte HW FIFO for TX and > - RX. > + The NPCM7XX includes sixteen I2C bus controllers and the NPCM8XX includes > + twenty-seven I2C bus controllers. NPCM8XX controllers 24-26 are connected on I2C > + pins in parallel to controllers 8-10. > + All controllers support both master and slave mode. > + Each controller can switch between master and slave at run time (i.e. IPMB mode). > + NPCM7XX I2C controller has two 16 byte HW FIFO for TX and RX and NPCM8XX I2C > + controller has two 32 byte HW FIFO for TX and RX. > > maintainers: > - Tali Perry <tali.perry1@gmail.com> > > properties: > compatible: > - const: nuvoton,npcm750-i2c > + enum: > + - nuvoton,npcm750-i2c > + - nuvoton,npcm845-i2c > > reg: > maxItems: 1 > @@ -36,11 +41,16 @@ properties: > default: 100000 > enum: [100000, 400000, 1000000] > > + syscon: > + $ref: "/schemas/types.yaml#/definitions/phandle" > + description: The phandle of system manager register node. > + > required: > - compatible > - reg > - interrupts > - clocks > + - syscon This breaks ABI of existing DTS. Actually your driver change does it but here it is explicit... > > allOf: > - $ref: /schemas/i2c/i2c-controller.yaml# > @@ -57,6 +67,7 @@ examples: > clock-frequency = <100000>; > interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; > compatible = "nuvoton,npcm750-i2c"; > + syscon = <&gcr>; > }; > > ... Best regards, Krzysztof
On Mon, 07 Feb 2022 14:33:33 +0800, Tyrone Ting wrote: > From: Tyrone Ting <kfting@nuvoton.com> > > This commit adds compatible and syscon description for NPCM845 i2c module. > > Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver") > Signed-off-by: Tyrone Ting <kfting@nuvoton.com> > Signed-off-by: Tali Perry <tali.perry1@gmail.com> > --- > .../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 21 ++++++++++++++----- > 1 file changed, 16 insertions(+), 5 deletions(-) > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/patch/1589171 i2c@80000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml i2c@81000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@82000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@83000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@84000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@85000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@86000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@87000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@88000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@89000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@8a000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@8b000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@8c000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@8d000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml i2c@8e000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml i2c@8f000: 'syscon' is a required property arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml
Hi all: Thank you for your comments and they will be addressed. Regards, Tyrone Rob Herring <robh@kernel.org> 於 2022年2月7日 週一 下午10:22寫道: > On Mon, 07 Feb 2022 14:33:33 +0800, Tyrone Ting wrote: > > From: Tyrone Ting <kfting@nuvoton.com> > > > > This commit adds compatible and syscon description for NPCM845 i2c > module. > > > > Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller > driver") > > Signed-off-by: Tyrone Ting <kfting@nuvoton.com> > > Signed-off-by: Tali Perry <tali.perry1@gmail.com> > > --- > > .../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 21 ++++++++++++++----- > > 1 file changed, 16 insertions(+), 5 deletions(-) > > > > Running 'make dtbs_check' with the schema in this patch gives the > following warnings. Consider if they are expected or the schema is > incorrect. These may not be new warnings. > > Note that it is not yet a requirement to have 0 warnings for dtbs_check. > This will change in the future. > > Full log is available here: https://patchwork.ozlabs.org/patch/1589171 > > > i2c@80000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > > i2c@81000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@82000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@83000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@84000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@85000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@86000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@87000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@88000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@89000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8a000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8b000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8c000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8d000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8e000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > > i2c@8f000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > >
Hi all: Thank you for your comments and they will be addressed. Regards, Tyrone Rob Herring <robh@kernel.org> 於 2022年2月7日 週一 下午10:22寫道: > > On Mon, 07 Feb 2022 14:33:33 +0800, Tyrone Ting wrote: > > From: Tyrone Ting <kfting@nuvoton.com> > > > > This commit adds compatible and syscon description for NPCM845 i2c module. > > > > Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver") > > Signed-off-by: Tyrone Ting <kfting@nuvoton.com> > > Signed-off-by: Tali Perry <tali.perry1@gmail.com> > > --- > > .../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 21 ++++++++++++++----- > > 1 file changed, 16 insertions(+), 5 deletions(-) > > > > Running 'make dtbs_check' with the schema in this patch gives the > following warnings. Consider if they are expected or the schema is > incorrect. These may not be new warnings. > > Note that it is not yet a requirement to have 0 warnings for dtbs_check. > This will change in the future. > > Full log is available here: https://patchwork.ozlabs.org/patch/1589171 > > > i2c@80000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > > i2c@81000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@82000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@83000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@84000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@85000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@86000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@87000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@88000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@89000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8a000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8b000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8c000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8d000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dt.yaml > > i2c@8e000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gbs.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml > arch/arm/boot/dts/nuvoton-npcm750-evb.dt.yaml > > i2c@8f000: 'syscon' is a required property > arch/arm/boot/dts/nuvoton-npcm730-gsj.dt.yaml > arch/arm/boot/dts/nuvoton-npcm730-kudo.dt.yaml >
On Mon, Feb 07, 2022 at 02:33:33PM +0800, Tyrone Ting wrote: > From: Tyrone Ting <kfting@nuvoton.com> > > This commit adds compatible and syscon description for NPCM845 i2c module. > > Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver") > Signed-off-by: Tyrone Ting <kfting@nuvoton.com> > Signed-off-by: Tali Perry <tali.perry1@gmail.com> > --- > .../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 21 ++++++++++++++----- > 1 file changed, 16 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > index 128444942aec..05e58f44b03a 100644 > --- a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > +++ b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > @@ -7,17 +7,22 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# > title: nuvoton NPCM7XX I2C Controller Device Tree Bindings > > description: | > - The NPCM750x includes sixteen I2C bus controllers. All Controllers support > - both master and slave mode. Each controller can switch between master and slave > - at run time (i.e. IPMB mode). Each controller has two 16 byte HW FIFO for TX and > - RX. > + The NPCM7XX includes sixteen I2C bus controllers and the NPCM8XX includes > + twenty-seven I2C bus controllers. NPCM8XX controllers 24-26 are connected on I2C > + pins in parallel to controllers 8-10. How many instances is really outside the scope of this binding. And I don't want to be updating this for every new SoC. So rework it to cover both chips and the next one. > + All controllers support both master and slave mode. > + Each controller can switch between master and slave at run time (i.e. IPMB mode). > + NPCM7XX I2C controller has two 16 byte HW FIFO for TX and RX and NPCM8XX I2C > + controller has two 32 byte HW FIFO for TX and RX. > > maintainers: > - Tali Perry <tali.perry1@gmail.com> > > properties: > compatible: > - const: nuvoton,npcm750-i2c > + enum: > + - nuvoton,npcm750-i2c > + - nuvoton,npcm845-i2c > > reg: > maxItems: 1 > @@ -36,11 +41,16 @@ properties: > default: 100000 > enum: [100000, 400000, 1000000] > > + syscon: nuvoton,sys-mgr or similar. > + $ref: "/schemas/types.yaml#/definitions/phandle" > + description: The phandle of system manager register node. > + > required: > - compatible > - reg > - interrupts > - clocks > + - syscon > > allOf: > - $ref: /schemas/i2c/i2c-controller.yaml# > @@ -57,6 +67,7 @@ examples: > clock-frequency = <100000>; > interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; > compatible = "nuvoton,npcm750-i2c"; > + syscon = <&gcr>; > }; > > ... > -- > 2.17.1 > >
Hi Rob: Thank you for your comments and they will be addressed. Regards, Tyrone Rob Herring <robh@kernel.org> 於 2022年2月12日 週六 上午12:14寫道: > > On Mon, Feb 07, 2022 at 02:33:33PM +0800, Tyrone Ting wrote: > > From: Tyrone Ting <kfting@nuvoton.com> > > > > This commit adds compatible and syscon description for NPCM845 i2c module. > > > > Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver") > > Signed-off-by: Tyrone Ting <kfting@nuvoton.com> > > Signed-off-by: Tali Perry <tali.perry1@gmail.com> > > --- > > .../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 21 ++++++++++++++----- > > 1 file changed, 16 insertions(+), 5 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > > index 128444942aec..05e58f44b03a 100644 > > --- a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > > +++ b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml > > @@ -7,17 +7,22 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# > > title: nuvoton NPCM7XX I2C Controller Device Tree Bindings > > > > description: | > > - The NPCM750x includes sixteen I2C bus controllers. All Controllers support > > - both master and slave mode. Each controller can switch between master and slave > > - at run time (i.e. IPMB mode). Each controller has two 16 byte HW FIFO for TX and > > - RX. > > + The NPCM7XX includes sixteen I2C bus controllers and the NPCM8XX includes > > + twenty-seven I2C bus controllers. NPCM8XX controllers 24-26 are connected on I2C > > + pins in parallel to controllers 8-10. > > How many instances is really outside the scope of this binding. And I > don't want to be updating this for every new SoC. So rework it to cover > both chips and the next one. > > > + All controllers support both master and slave mode. > > + Each controller can switch between master and slave at run time (i.e. IPMB mode). > > + NPCM7XX I2C controller has two 16 byte HW FIFO for TX and RX and NPCM8XX I2C > > + controller has two 32 byte HW FIFO for TX and RX. > > > > maintainers: > > - Tali Perry <tali.perry1@gmail.com> > > > > properties: > > compatible: > > - const: nuvoton,npcm750-i2c > > + enum: > > + - nuvoton,npcm750-i2c > > + - nuvoton,npcm845-i2c > > > > reg: > > maxItems: 1 > > @@ -36,11 +41,16 @@ properties: > > default: 100000 > > enum: [100000, 400000, 1000000] > > > > + syscon: > > nuvoton,sys-mgr or similar. > > > + $ref: "/schemas/types.yaml#/definitions/phandle" > > + description: The phandle of system manager register node. > > + > > required: > > - compatible > > - reg > > - interrupts > > - clocks > > + - syscon > > > > allOf: > > - $ref: /schemas/i2c/i2c-controller.yaml# > > @@ -57,6 +67,7 @@ examples: > > clock-frequency = <100000>; > > interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; > > compatible = "nuvoton,npcm750-i2c"; > > + syscon = <&gcr>; > > }; > > > > ... > > -- > > 2.17.1 > > > >
diff --git a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml index 128444942aec..05e58f44b03a 100644 --- a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml @@ -7,17 +7,22 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: nuvoton NPCM7XX I2C Controller Device Tree Bindings description: | - The NPCM750x includes sixteen I2C bus controllers. All Controllers support - both master and slave mode. Each controller can switch between master and slave - at run time (i.e. IPMB mode). Each controller has two 16 byte HW FIFO for TX and - RX. + The NPCM7XX includes sixteen I2C bus controllers and the NPCM8XX includes + twenty-seven I2C bus controllers. NPCM8XX controllers 24-26 are connected on I2C + pins in parallel to controllers 8-10. + All controllers support both master and slave mode. + Each controller can switch between master and slave at run time (i.e. IPMB mode). + NPCM7XX I2C controller has two 16 byte HW FIFO for TX and RX and NPCM8XX I2C + controller has two 32 byte HW FIFO for TX and RX. maintainers: - Tali Perry <tali.perry1@gmail.com> properties: compatible: - const: nuvoton,npcm750-i2c + enum: + - nuvoton,npcm750-i2c + - nuvoton,npcm845-i2c reg: maxItems: 1 @@ -36,11 +41,16 @@ properties: default: 100000 enum: [100000, 400000, 1000000] + syscon: + $ref: "/schemas/types.yaml#/definitions/phandle" + description: The phandle of system manager register node. + required: - compatible - reg - interrupts - clocks + - syscon allOf: - $ref: /schemas/i2c/i2c-controller.yaml# @@ -57,6 +67,7 @@ examples: clock-frequency = <100000>; interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; compatible = "nuvoton,npcm750-i2c"; + syscon = <&gcr>; }; ...