From: Steven Lee <steven_lee@aspeedtech.com> To: Linus Walleij <linus.walleij@linaro.org> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>, Rob Herring <robh+dt@kernel.org>, Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, "moderated list:ARM/ASPEED MACHINE SUPPORT" <linux-arm-kernel@lists.infradead.org>, "moderated list:ARM/ASPEED MACHINE SUPPORT" <linux-aspeed@lists.ozlabs.org>, open list <linux-kernel@vger.kernel.org>, Hongwei Zhang <Hongweiz@ami.com>, Ryan Chen <ryan_chen@aspeedtech.com>, Billy Tsai <billy_tsai@aspeedtech.com> Subject: Re: [PATCH v2 1/4] dt-bindings: aspeed-sgpio: Convert txt bindings to yaml. Date: Fri, 28 May 2021 12:09:34 +0800 [thread overview] Message-ID: <20210528040934.GA28403@aspeedtech.com> (raw) In-Reply-To: <CACRpkdZFcFuT9rdrc8BfEBmhy0--9uLMSJWfr=A+nU117_BT8A@mail.gmail.com> The 05/28/2021 07:51, Linus Walleij wrote: > On Thu, May 27, 2021 at 2:55 AM Steven Lee <steven_lee@aspeedtech.com> wrote: > > > SGPIO bindings should be converted as yaml format. > > In addition to the file conversion, a new property max-ngpios is > > added in the yaml file as well. > > The new property is required by the enhanced sgpio driver for > > making the configuration of the max number of gpio pins more flexible. > > > > Signed-off-by: Steven Lee <steven_lee@aspeedtech.com> > (...) > > + max-ngpios: > > + description: > > + represents the number of actual hardware-supported GPIOs (ie, > > + slots within the clocked serial GPIO data). Since each HW GPIO is both an > > + input and an output, we provide max_ngpios * 2 lines on our gpiochip > > + device. We also use it to define the split between the inputs and > > + outputs; the inputs start at line 0, the outputs start at max_ngpios. > > + minimum: 0 > > + maximum: 128 > > Why can this not be derived from the compatible value? > > Normally there should be one compatible per hardware variant > of the block. And this should be aligned with that, should it not? > > If this is not the case, maybe more detailed compatible strings > are needed, maybe double compatibles with compatible per > family and SoC? > Thanks for your suggestion. I add max-ngpios in dt-bindings as there is ngpios defined in dt-bindings, users can get the both max-ngpios and ngpios information from dtsi without digging sgpio driver. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/aspeed-g5.dtsi#n354 If adding more detailed compatibles is better, I will add them to sgpio driver in V3 patch and remove max-ngpios from dt-bindings. Since AST2600 has 2 sgpio controller one with 128 pins and another one with 80 pins. For supporting max-ngpios in compatibles, 2 platform data for each ast2600 sgpio controller as follows are necessary. ``` static const struct aspeed_sgpio_pdata ast2600_sgpiom1_pdata = { .max_ngpios = 128; }; static const struct aspeed_sgpio_pdata ast2600_sgpiom2_pdata = { .max_ngpios = 80; }; { .compatible = "aspeed,ast2500-sgpio" , .data = &ast2400_sgpio_pdata, }, { .compatible = "aspeed,ast2600-sgpiom1", .data = &ast2600_sgpiom1_pdata, }, { .compatible = "aspeed,ast2600-sgpiom2", .data = &ast2600_sgpiom2_pdata, }, ``` Thanks, Steven > Yours, > Linus Walleij
WARNING: multiple messages have this Message-ID (diff)
From: Steven Lee <steven_lee@aspeedtech.com> To: Linus Walleij <linus.walleij@linaro.org> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>, Rob Herring <robh+dt@kernel.org>, Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, "moderated list:ARM/ASPEED MACHINE SUPPORT" <linux-arm-kernel@lists.infradead.org>, "moderated list:ARM/ASPEED MACHINE SUPPORT" <linux-aspeed@lists.ozlabs.org>, open list <linux-kernel@vger.kernel.org>, Hongwei Zhang <Hongweiz@ami.com>, Ryan Chen <ryan_chen@aspeedtech.com>, Billy Tsai <billy_tsai@aspeedtech.com> Subject: Re: [PATCH v2 1/4] dt-bindings: aspeed-sgpio: Convert txt bindings to yaml. Date: Fri, 28 May 2021 12:09:34 +0800 [thread overview] Message-ID: <20210528040934.GA28403@aspeedtech.com> (raw) In-Reply-To: <CACRpkdZFcFuT9rdrc8BfEBmhy0--9uLMSJWfr=A+nU117_BT8A@mail.gmail.com> The 05/28/2021 07:51, Linus Walleij wrote: > On Thu, May 27, 2021 at 2:55 AM Steven Lee <steven_lee@aspeedtech.com> wrote: > > > SGPIO bindings should be converted as yaml format. > > In addition to the file conversion, a new property max-ngpios is > > added in the yaml file as well. > > The new property is required by the enhanced sgpio driver for > > making the configuration of the max number of gpio pins more flexible. > > > > Signed-off-by: Steven Lee <steven_lee@aspeedtech.com> > (...) > > + max-ngpios: > > + description: > > + represents the number of actual hardware-supported GPIOs (ie, > > + slots within the clocked serial GPIO data). Since each HW GPIO is both an > > + input and an output, we provide max_ngpios * 2 lines on our gpiochip > > + device. We also use it to define the split between the inputs and > > + outputs; the inputs start at line 0, the outputs start at max_ngpios. > > + minimum: 0 > > + maximum: 128 > > Why can this not be derived from the compatible value? > > Normally there should be one compatible per hardware variant > of the block. And this should be aligned with that, should it not? > > If this is not the case, maybe more detailed compatible strings > are needed, maybe double compatibles with compatible per > family and SoC? > Thanks for your suggestion. I add max-ngpios in dt-bindings as there is ngpios defined in dt-bindings, users can get the both max-ngpios and ngpios information from dtsi without digging sgpio driver. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/aspeed-g5.dtsi#n354 If adding more detailed compatibles is better, I will add them to sgpio driver in V3 patch and remove max-ngpios from dt-bindings. Since AST2600 has 2 sgpio controller one with 128 pins and another one with 80 pins. For supporting max-ngpios in compatibles, 2 platform data for each ast2600 sgpio controller as follows are necessary. ``` static const struct aspeed_sgpio_pdata ast2600_sgpiom1_pdata = { .max_ngpios = 128; }; static const struct aspeed_sgpio_pdata ast2600_sgpiom2_pdata = { .max_ngpios = 80; }; { .compatible = "aspeed,ast2500-sgpio" , .data = &ast2400_sgpio_pdata, }, { .compatible = "aspeed,ast2600-sgpiom1", .data = &ast2600_sgpiom1_pdata, }, { .compatible = "aspeed,ast2600-sgpiom2", .data = &ast2600_sgpiom2_pdata, }, ``` Thanks, Steven > Yours, > Linus Walleij _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-05-28 4:12 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-27 0:54 [PATCH v2 0/4] ASPEED sgpio driver enhancement Steven Lee 2021-05-27 0:54 ` Steven Lee 2021-05-27 0:54 ` [PATCH v2 1/4] dt-bindings: aspeed-sgpio: Convert txt bindings to yaml Steven Lee 2021-05-27 0:54 ` Steven Lee 2021-05-27 23:51 ` Linus Walleij 2021-05-27 23:51 ` Linus Walleij 2021-05-28 4:09 ` Steven Lee [this message] 2021-05-28 4:09 ` Steven Lee 2021-05-28 8:35 ` Linus Walleij 2021-05-28 8:35 ` Linus Walleij 2021-05-31 5:23 ` Steven Lee 2021-05-31 5:23 ` Steven Lee 2021-06-01 10:16 ` Linus Walleij 2021-06-01 10:16 ` Linus Walleij 2021-06-02 20:10 ` Rob Herring 2021-06-02 20:10 ` Rob Herring 2021-05-27 0:54 ` [PATCH v2 2/4] ARM: dts: aspeed-g6: Add SGPIO node Steven Lee 2021-05-27 0:54 ` Steven Lee 2021-05-27 0:54 ` [PATCH v2 3/4] ARM: dts: aspeed-g5: Modify sgpio node for the enhanced sgpio driver Steven Lee 2021-05-27 0:54 ` Steven Lee 2021-05-27 0:54 ` [PATCH v2 4/4] gpio: gpio-aspeed-sgpio: Add AST2600 sgpio support Steven Lee 2021-05-27 0:54 ` Steven Lee 2021-05-27 1:41 ` [PATCH v2 0/4] ASPEED sgpio driver enhancement Andrew Jeffery 2021-05-27 1:41 ` Andrew Jeffery 2021-05-27 2:43 ` Steven Lee 2021-05-27 2:43 ` Steven Lee
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=20210528040934.GA28403@aspeedtech.com \ --to=steven_lee@aspeedtech.com \ --cc=Hongweiz@ami.com \ --cc=andrew@aj.id.au \ --cc=bgolaszewski@baylibre.com \ --cc=billy_tsai@aspeedtech.com \ --cc=devicetree@vger.kernel.org \ --cc=joel@jms.id.au \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-aspeed@lists.ozlabs.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=robh+dt@kernel.org \ --cc=ryan_chen@aspeedtech.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.