drivers: mfd: Add initial Senoko MFD device

Senoko is the battery board used with the Kosagi Novena desktop and
laptop models.  It shows up on I2C, and is capable of acting in the
following roles:

  * Keypad (power button)
  * RTC
  * System watchdog
  * GPIO port expander
  * Power regulator (AC status reporting)

Signed-off-by: Sean Cross <xobs@kosagi.com>
drivers: input: Get senoko-kbd working

Senoko keyboard now works properly like a power button.

Signed-off-by: Sean Cross <xobs@kosagi.com>
drivers: power: Add senoko power supply

Senoko power supply can detect the state of the AC connection.  Additionally,
it can power down the system via a pm_power_off call.

Signed-off-by: Sean Cross <xobs@kosagi.com>
arch: arm: dts: Update novena battery devices

The Novena Senoko battery manager now supports acting as an AC source, and
can be used to supply AC state information to the battery.

Signed-off-by: Sean Cross <xobs@kosagi.com>
arch: arm: config: Add senoko drivers to novena_defconfig

Signed-off-by: Sean Cross <xobs@kosagi.com>