On 2018-05-11 8:24 PM, Rob Herring wrote: > On Thu, May 10, 2018 at 10:45 PM, Levin Du <djw at t-chip.com.cn> wrote: >> On 2018-05-10 8:50 PM, Robin Murphy wrote: >>> On 10/05/18 10:16, djw at t-chip.com.cn wrote: >>>> From: Levin Du <djw at t-chip.com.cn> >>>> >>>> Adding a new gpio controller named "gpio-syscon10" to rk3328, providing >>>> access to the pins defined in the syscon GRF_SOC_CON10. >>> >>> This is the GPIO_MUTE pin, right? The public TRM is rather vague, but >>> cross-referencing against the datasheet and schematics implies that it's the >>> "gpiomut_*" part of the GRF bit names which is most significant. >>> >>> It might be worth using a more descriptive name here, since "syscon10" is >>> pretty much meaningless at the board level. >>> >>> Robin. >>> >> Previously I though other bits might be able to reference from syscon10, >> other than GPIO_MUTE alone. >> If it is renamed to gpio-mute, then the GPIO_MUTE pin is accessed as >> `<&gpio-mute 1>`. Yet other >> bits in syscon10 can also be referenced, say, `<&gpio-mute 10>`, which is >> not good. >> >> I'd like to add a `gpio,syscon-bit` property to gpio-syscon, which overrides >> the properties >> of bit_count, data_bit_offset and dir_bit_offset in the driver. For > No. Once you are describing individual register bits, it is too low > level for DT. Okay. So I'll rename it to gpio_mute, and reference the output pin as <&gpio_mute 1>: + // Use <&gpio_mute 1> to ref to GPIO_MUTE pin + gpio_mute: gpio-mute { + compatible = "rockchip,gpio-syscon"; + gpio-controller; + #gpio-cells = <2>; + gpio,syscon-dev = <0 0x0428 0>; + }; }; Thanks Levin