[PATCH linux dev-4.10 v6 1/2] ARM: dts: aspeed: Witherspoon add gpio-keys-polled for fan presence

Joel Stanley joel at jms.id.au
Mon Jul 31 18:23:57 AEST 2017


On Sun, Jul 30, 2017 at 4:06 AM, Christopher Bostic
<cbostic at linux.vnet.ibm.com> wrote:
> Add gpio-keys-polled  node for pca955x fan presence lines.
> Add GPIO details to pca955x for the presence lines as well.
>
> Polling period of 1 second determined to be the max acceptable
> value based on discussions with Brad Bishop and Matt Spinler.
> Tested with gpiomon program - verified.
>
> Signed-off-by: Christopher Bostic <cbostic at linux.vnet.ibm.com>
> ---
> v6 - Add gpio pin details for fan presence to pca955x node
> v5 - Fix gpio-keys-polled driver probe errors.  Missing pca955x
>      gpio cells property and wrong format for poll-interval.
> v4 - Add details regarding polling period to commit message.
> v3 - Remove 'autorepeat'
>    - Increase polling period to 1 second.
>    - Remove GPIO specifiers from pca955x in dev tree
> v2 - Change 'linux,code' from a unique global value to a local one
>      for all the gpio-keys-polled devices.
> ---
>  arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts | 52 ++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
>
> diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
> index 5afc03a..70328668 100644
> --- a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
> +++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
> @@ -56,6 +56,37 @@
>                 };
>         };
>
> +       gpio-keys-polled {
> +               compatible = "gpio-keys-polled";
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +               poll-interval = <1000>;
> +
> +               fan0-presence {
> +                       label = "fan0-presence";
> +                       gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
> +                       linux,code = <4>;
> +               };
> +
> +               fan1-presence {
> +                       label = "fan1-presence";
> +                       gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
> +                       linux,code = <5>;
> +               };
> +
> +               fan2-presence {
> +                       label = "fan2-presence";
> +                       gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
> +                       linux,code = <6>;
> +               };
> +
> +               fan3-presence {
> +                       label = "fan3-presence";
> +                       gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
> +                       linux,code = <7>;
> +               };
> +       };
> +
>         leds {
>                 compatible = "gpio-leds";
>
> @@ -277,6 +308,7 @@
>                 reg = <0x60>;
>                 #address-cells = <1>;
>                 #size-cells = <0>;
> +               #gpio-cells = <2>;
>
>                 fan0: led at 0 {
>                         label = "fan0";
> @@ -302,6 +334,26 @@
>                         reg = <3>;
>                         type = <PCA955X_TYPE_LED>;
>                 };
> +               fan0_pres_gpio: gpio at 4 {
> +                       label = "fan0_presence";

These signals are all labled _N, so I would expect them to be marked
as active low in the device tree. I am looking at the pass 4
schematic.

Cheers,

Joel

> +                       reg = <4>;
> +                       type = <PCA955X_TYPE_GPIO>;
> +               };
> +               fan1_pres_gpio: gpio at 5 {
> +                       label = "fan1_presence";
> +                       reg = <5>;
> +                       type = <PCA955X_TYPE_GPIO>;
> +               };
> +               fan2_pres_gpio: gpio at 6 {
> +                       label = "fan2_presence";
> +                       reg = <6>;
> +                       type = <PCA955X_TYPE_GPIO>;
> +               };
> +               fan3_pres_gpio: gpio at 7 {
> +                       label = "fan3_presence";
> +                       reg = <7>;
> +                       type = <PCA955X_TYPE_GPIO>;
> +               };
>                 front_fault: led at 13 {
>                         label = "front-fault";
>                         default-state = "keep";
> --
> 1.8.2.2
>


More information about the openbmc mailing list