80466455ad
This is an MFD with regulators, an RTC and a watchdog, among other things. This adds the necessary infrastructure for specific children to be added. Note that the PMIC can also be attached via SPI, not just I2C, and so the interface is abstracted. No SPI implementation is added, however. This is the PMIC on SiFive's HiFive Unmatched. Reviewed by: manu, mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36199
53 lines
1.8 KiB
Objective-C
53 lines
1.8 KiB
Objective-C
#-
|
|
# SPDX-License-Identifier: BSD-2-Clause-FreeBSD
|
|
#
|
|
# Copyright (c) 2022 Jessica Clarke <jrtc27@FreeBSD.org>
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
# SUCH DAMAGE.
|
|
#
|
|
|
|
#
|
|
# The Dialog Semiconductor DA9063 PMIC is a multi-function device that can be
|
|
# connected using both I2C and SPI. This provides a bus-independent interface
|
|
# to the underlying protocol-specific driver for the child devices.
|
|
#
|
|
INTERFACE da9063;
|
|
|
|
METHOD int read {
|
|
device_t dev;
|
|
uint16_t addr;
|
|
uint8_t *val;
|
|
};
|
|
|
|
METHOD int write {
|
|
device_t dev;
|
|
uint16_t addr;
|
|
uint8_t val;
|
|
};
|
|
|
|
METHOD int modify {
|
|
device_t dev;
|
|
uint16_t addr;
|
|
uint8_t clear_mask;
|
|
uint8_t set_mask;
|
|
};
|