All of lore.kernel.org
 help / color / mirror / Atom feed
* Skeleton power control machine configuration
@ 2016-09-23  0:58 Xo Wang
  2016-09-23  5:26 ` Joel Stanley
  0 siblings, 1 reply; 3+ messages in thread
From: Xo Wang @ 2016-09-23  0:58 UTC (permalink / raw)
  To: openbmc

Hi folks,

I was adding power sequencing and buttons for our P9 machine and I
noticed that Firestone, Garrison, and Witherspoon had patches to
op-pwrctl that replaced the net names on the power pins, added more
reset complexes, etc.

https://github.com/openbmc/openbmc/blob/master/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/skeleton/0001-Set-witherspoon-power-pin-and-pgood-nets.patch
https://github.com/openbmc/openbmc/blob/ced4c34ee252d0036b714425eecb0ed8bb528750/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton/0001-Add-power-control-support-for-the-Garrison-system.patch

I didn't want to do the same for our machine. I propose moving machine
specific options to the Python configuration so we can eliminate the
skeleton patches.

I mailed my prototype to the Gerrit that adds a dbus call to
system_manager, C bindings, and power control logic to handle the
abstraction. Please take a look.

https://gerrit.openbmc-project.xyz/#/c/605/
https://gerrit.openbmc-project.xyz/#/c/606/
https://gerrit.openbmc-project.xyz/#/c/607/
https://gerrit.openbmc-project.xyz/#/c/608/

I'm planning to also extend the GPIO/net name abstraction to reset and
power buttons, since they're also using net names directly in their
sources.

cheers
xo

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Skeleton power control machine configuration
  2016-09-23  0:58 Skeleton power control machine configuration Xo Wang
@ 2016-09-23  5:26 ` Joel Stanley
  2016-09-24  3:31   ` Xo Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Joel Stanley @ 2016-09-23  5:26 UTC (permalink / raw)
  To: Xo Wang; +Cc: OpenBMC Maillist

Hey Xo,

On Fri, Sep 23, 2016 at 10:28 AM, Xo Wang <xow@google.com> wrote:
> Hi folks,
>
> I was adding power sequencing and buttons for our P9 machine and I
> noticed that Firestone, Garrison, and Witherspoon had patches to
> op-pwrctl that replaced the net names on the power pins, added more
> reset complexes, etc.
>
> https://github.com/openbmc/openbmc/blob/master/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/skeleton/0001-Set-witherspoon-power-pin-and-pgood-nets.patch
> https://github.com/openbmc/openbmc/blob/ced4c34ee252d0036b714425eecb0ed8bb528750/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton/0001-Add-power-control-support-for-the-Garrison-system.patch
>
> I didn't want to do the same for our machine. I propose moving machine
> specific options to the Python configuration so we can eliminate the
> skeleton patches.

Great! This was an area of concern for me as well.

I'm not sure what the future plans are for this part of the codebase.
I think that fixing it to remove the out of tree patches and enable
new machines is great for the time being. We should check with Patrick
and Brad as to their plans for the future, so we don't waste time on
code that will be reworked.

>
> I mailed my prototype to the Gerrit that adds a dbus call to
> system_manager, C bindings, and power control logic to handle the
> abstraction. Please take a look.
>
> https://gerrit.openbmc-project.xyz/#/c/605/
> https://gerrit.openbmc-project.xyz/#/c/606/
> https://gerrit.openbmc-project.xyz/#/c/607/
> https://gerrit.openbmc-project.xyz/#/c/608/
>
> I'm planning to also extend the GPIO/net name abstraction to reset and
> power buttons, since they're also using net names directly in their
> sources.

I had a brief look at the patches and they look good to me. I left
some minor comments in gerrit.

In the future we want to ensure that all of the GPIOs are configured
correctly to a known state at BMC boot.

Cheers,

Joel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Skeleton power control machine configuration
  2016-09-23  5:26 ` Joel Stanley
@ 2016-09-24  3:31   ` Xo Wang
  0 siblings, 0 replies; 3+ messages in thread
From: Xo Wang @ 2016-09-24  3:31 UTC (permalink / raw)
  To: Joel Stanley; +Cc: OpenBMC Maillist

On Thu, Sep 22, 2016 at 10:26 PM, Joel Stanley <joel@jms.id.au> wrote:
> Hey Xo,
>
> On Fri, Sep 23, 2016 at 10:28 AM, Xo Wang <xow@google.com> wrote:
>> Hi folks,
>>
>> I was adding power sequencing and buttons for our P9 machine and I
>> noticed that Firestone, Garrison, and Witherspoon had patches to
>> op-pwrctl that replaced the net names on the power pins, added more
>> reset complexes, etc.
>>
>> https://github.com/openbmc/openbmc/blob/master/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/skeleton/0001-Set-witherspoon-power-pin-and-pgood-nets.patch
>> https://github.com/openbmc/openbmc/blob/ced4c34ee252d0036b714425eecb0ed8bb528750/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton/0001-Add-power-control-support-for-the-Garrison-system.patch
>>
>> I didn't want to do the same for our machine. I propose moving machine
>> specific options to the Python configuration so we can eliminate the
>> skeleton patches.
>
> Great! This was an area of concern for me as well.
>
> I'm not sure what the future plans are for this part of the codebase.
> I think that fixing it to remove the out of tree patches and enable
> new machines is great for the time being. We should check with Patrick
> and Brad as to their plans for the future, so we don't waste time on
> code that will be reworked.
>

This looked like the shortest path to per-machine power config until
we designed something new, so I just went and implemented it. I
thought Patrick did mention rewriting but you're right, we need this
part to work pretty soon.

>>
>> I mailed my prototype to the Gerrit that adds a dbus call to
>> system_manager, C bindings, and power control logic to handle the
>> abstraction. Please take a look.
>>
>> https://gerrit.openbmc-project.xyz/#/c/605/
>> https://gerrit.openbmc-project.xyz/#/c/606/
>> https://gerrit.openbmc-project.xyz/#/c/607/
>> https://gerrit.openbmc-project.xyz/#/c/608/
>>
>> I'm planning to also extend the GPIO/net name abstraction to reset and
>> power buttons, since they're also using net names directly in their
>> sources.
>
> I had a brief look at the patches and they look good to me. I left
> some minor comments in gerrit.
>
> In the future we want to ensure that all of the GPIOs are configured
> correctly to a known state at BMC boot.

To add to that, we might want to experiment with reset tolerance
registers to protect systems against blips from unexpected BMC warm
resets.

>
> Cheers,
>
> Joel

cheers
xo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-24  3:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-23  0:58 Skeleton power control machine configuration Xo Wang
2016-09-23  5:26 ` Joel Stanley
2016-09-24  3:31   ` Xo Wang

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.