回复:[PATCH 2/4] pinctrl: sunxi: add support for the Allwinner A100 pin controller
From: 李扬韬 <hidden>
Date: 2020-06-03 09:44:42
Also in:
linux-clk, linux-gpio, lkml
quoted
+ 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.
quoted
+ 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.
quoted
+ 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. Thx, Yangtao