Hi Frank, On Wed, Jun 03, 2020 at 05:44:36PM +0800, 李扬韬 wrote: > >> + SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 0), > >> + SUNXI_FUNCTION(0x0, "gpio_in"), > >> + SUNXI_FUNCTION(0x1, "gpio_out"), > >> + SUNXI_FUNCTION(0x2, "mmc0"), /* D1 */ > >> + SUNXI_FUNCTION(0x3, "jtag"), /* MS1 */ > >> + SUNXI_FUNCTION(0x4, "jtag"), /* MS_GPU */ > > > >We should use another name here, since the code will just pick the first one and > >ignore the second. What about jtag-gpu? > > The underscores are used in front, so changing it to jtag_gpu may be more consistent. Yep, that makes sense > >> + SUNXI_PIN(SUNXI_PINCTRL_PIN(B, 7), > >> + SUNXI_FUNCTION(0x0, "gpio_in"), > >> + SUNXI_FUNCTION(0x1, "gpio_out"), > >> + SUNXI_FUNCTION(0x2, "spdif"), /* DIN */ > >> + SUNXI_FUNCTION(0x3, "i2s0"), /* DOUT0 */ > >> + SUNXI_FUNCTION(0x4, "i2s0"), /* DIN1 */ > > > >I guess the second one would be i2s1? > > No, each i2s may have many inputs and outputs. > > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 19), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x2, "cir0"), /* IN */ > SUNXI_FUNCTION(0x3, "i2s3_dout3"), /* DOUT3 */ > SUNXI_FUNCTION(0x4, "i2s3_din3"), /* DIN3 */ > SUNXI_FUNCTION(0x5, "ledc"), > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 19)), > > Considering that the same pin has multiple same functions, > so add a suffix, like i2s3_dout3 and i2s3_din3? > > Or specify muxsel in the device tree may be another solution. Having muxsel is not really an option. We have two sets of bindings to maintain already, adding a third one would make it fairly hard to maintain. And the second binding we support is the generic pinctrl binding, so I'm not really sure why we would want to move away from that. And I'm not really fond of having a suffix either. It kind of breaks the consistency we had so far, and ideally I'd like to keep that. Chen-Yu, Linus? Any input on that one? > >> + SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 2), > >> + SUNXI_FUNCTION(0x0, "gpio_in"), > >> + SUNXI_FUNCTION(0x1, "gpio_out"), > >> + SUNXI_FUNCTION(0x2, "i2c1"), /* SCK */ > >> + SUNXI_FUNCTION(0x3, "cpu"), /* CUR_W */ > > > >What is "cpu" supposed to be? > > As far as I know, this is a function that has never been used. > The hardware guy said that it can be used to control the CPU to reduce the current. Ok. Do we really need to add it right now if we don't really know what it's going to be used for? Thanks! Maxime
Attachment:
signature.asc
Description: PGP signature