166a3e513SSøren Schmidt /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 366a3e513SSøren Schmidt * 466a3e513SSøren Schmidt * Copyright (c) 2021, 2022 Soren Schmidt <sos@deepcore.dk> 566a3e513SSøren Schmidt * 666a3e513SSøren Schmidt * Redistribution and use in source and binary forms, with or without 766a3e513SSøren Schmidt * modification, are permitted provided that the following conditions 866a3e513SSøren Schmidt * are met: 966a3e513SSøren Schmidt * 1. Redistributions of source code must retain the above copyright 1066a3e513SSøren Schmidt * notice, this list of conditions and the following disclaimer. 1166a3e513SSøren Schmidt * 2. Redistributions in binary form must reproduce the above copyright 1266a3e513SSøren Schmidt * notice, this list of conditions and the following disclaimer in the 1366a3e513SSøren Schmidt * documentation and/or other materials provided with the distribution. 1466a3e513SSøren Schmidt * 1566a3e513SSøren Schmidt * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1666a3e513SSøren Schmidt * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1766a3e513SSøren Schmidt * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1866a3e513SSøren Schmidt * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1966a3e513SSøren Schmidt * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2066a3e513SSøren Schmidt * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2166a3e513SSøren Schmidt * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2266a3e513SSøren Schmidt * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2366a3e513SSøren Schmidt * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2466a3e513SSøren Schmidt * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2566a3e513SSøren Schmidt * SUCH DAMAGE. 2666a3e513SSøren Schmidt * 2766a3e513SSøren Schmidt */ 2866a3e513SSøren Schmidt 2966a3e513SSøren Schmidt 3066a3e513SSøren Schmidt #ifndef _RK817REG_H_ 3166a3e513SSøren Schmidt #define _RK817REG_H_ 3266a3e513SSøren Schmidt 3366a3e513SSøren Schmidt #define RK817_RTC_SECONDS 0x00 3466a3e513SSøren Schmidt #define RK817_RTC_SECONDS_MASK 0x7f 3566a3e513SSøren Schmidt #define RK817_RTC_MINUTES 0x01 3666a3e513SSøren Schmidt #define RK817_RTC_MINUTES_MASK 0x7f 3766a3e513SSøren Schmidt #define RK817_RTC_HOURS 0x02 3866a3e513SSøren Schmidt #define RK817_RTC_HOURS_MASK 0x3f 3966a3e513SSøren Schmidt #define RK817_RTC_DAYS 0x03 4066a3e513SSøren Schmidt #define RK817_RTC_DAYS_MASK 0x3f 4166a3e513SSøren Schmidt #define RK817_RTC_MONTHS 0x04 4266a3e513SSøren Schmidt #define RK817_RTC_MONTHS_MASK 0x1f 4366a3e513SSøren Schmidt #define RK817_RTC_YEARS 0x05 4466a3e513SSøren Schmidt #define RK817_RTC_WEEKS 0x06 4566a3e513SSøren Schmidt #define RK817_RTC_WEEKS_MASK 0x07 4666a3e513SSøren Schmidt #define RK817_ALARM_SECONDS 0x7 4766a3e513SSøren Schmidt #define RK817_ALARM_MINUTES 0x8 4866a3e513SSøren Schmidt #define RK817_ALARM_HOURS 0x9 4966a3e513SSøren Schmidt #define RK817_ALARM_DAYS 0xA 5066a3e513SSøren Schmidt #define RK817_ALARM_MONTHS 0xB 5166a3e513SSøren Schmidt #define RK817_ALARM_YEARS 0xC 5266a3e513SSøren Schmidt #define RK817_RTC_CTRL 0x0d 5366a3e513SSøren Schmidt #define RK817_RTC_CTRL_STOP (1 << 0) 5466a3e513SSøren Schmidt #define RK817_RTC_AMPM_MODE (1 << 3) 5566a3e513SSøren Schmidt #define RK817_RTC_GET_TIME (1 << 6) 5666a3e513SSøren Schmidt #define RK817_RTC_READSEL (1 << 7) 5766a3e513SSøren Schmidt #define RK817_RTC_STATUS 0x0e 5866a3e513SSøren Schmidt #define RK817_RTC_INT 0x0f 5966a3e513SSøren Schmidt #define RK817_RTC_COMP_LSB 0x10 6066a3e513SSøren Schmidt #define RK817_RTC_COMP_MSB 0x11 6166a3e513SSøren Schmidt 6266a3e513SSøren Schmidt #define RK817_DCDC_EN 0xb1 6366a3e513SSøren Schmidt #define RK817_LDO_EN1 0xb2 6466a3e513SSøren Schmidt #define RK817_LDO_EN2 0xb3 6566a3e513SSøren Schmidt #define RK817_LDO_EN3 0xb4 6666a3e513SSøren Schmidt #define RK817_DCDC1_ON_VSEL 0xbb 6766a3e513SSøren Schmidt #define RK817_DCDC2_ON_VSEL 0xbe 6866a3e513SSøren Schmidt #define RK817_DCDC3_ON_VSEL 0xc1 6966a3e513SSøren Schmidt #define RK817_DCDC4_ON_VSEL 0xc4 7066a3e513SSøren Schmidt #define RK817_LDO1_ON_VSEL 0xcc 7166a3e513SSøren Schmidt #define RK817_LDO2_ON_VSEL 0xce 7266a3e513SSøren Schmidt #define RK817_LDO3_ON_VSEL 0xd0 7366a3e513SSøren Schmidt #define RK817_LDO4_ON_VSEL 0xd2 7466a3e513SSøren Schmidt #define RK817_LDO5_ON_VSEL 0xd4 7566a3e513SSøren Schmidt #define RK817_LDO6_ON_VSEL 0xd6 7666a3e513SSøren Schmidt #define RK817_LDO7_ON_VSEL 0xd8 7766a3e513SSøren Schmidt #define RK817_LDO8_ON_VSEL 0xda 7866a3e513SSøren Schmidt #define RK817_LDO9_ON_VSEL 0xdc 7966a3e513SSøren Schmidt #define RK817_BOOST_ON_VSEL 0xde 8066a3e513SSøren Schmidt #define RK817_SYS_CFG3 0xf4 8166a3e513SSøren Schmidt #define RK817_SYS_CFG3_OFF (1 << 0) 8266a3e513SSøren Schmidt #define RK817_SYS_CFG3_SLP (1 << 1) 8366a3e513SSøren Schmidt #define RK817_SYS_CFG3_RST (1 << 2) 8466a3e513SSøren Schmidt 8566a3e513SSøren Schmidt enum rk809_regulator { 8666a3e513SSøren Schmidt RK809_DCDC1 = 0, 8766a3e513SSøren Schmidt RK809_DCDC2, 8866a3e513SSøren Schmidt RK809_DCDC3, 8966a3e513SSøren Schmidt RK809_DCDC4, 9066a3e513SSøren Schmidt RK809_DCDC5, 9166a3e513SSøren Schmidt RK809_LDO1, 9266a3e513SSøren Schmidt RK809_LDO2, 9366a3e513SSøren Schmidt RK809_LDO3, 9466a3e513SSøren Schmidt RK809_LDO4, 9566a3e513SSøren Schmidt RK809_LDO5, 9666a3e513SSøren Schmidt RK809_LDO6, 9766a3e513SSøren Schmidt RK809_LDO7, 9866a3e513SSøren Schmidt RK809_LDO8, 9966a3e513SSøren Schmidt RK809_LDO9, 10066a3e513SSøren Schmidt RK809_SWITCH1, 10166a3e513SSøren Schmidt RK809_SWITCH2, 10266a3e513SSøren Schmidt }; 10366a3e513SSøren Schmidt 10466a3e513SSøren Schmidt enum rk817_regulator { 10566a3e513SSøren Schmidt RK817_DCDC1 = 0, 10666a3e513SSøren Schmidt RK817_DCDC2, 10766a3e513SSøren Schmidt RK817_DCDC3, 10866a3e513SSøren Schmidt RK817_DCDC4, 10966a3e513SSøren Schmidt RK817_LDO1, 11066a3e513SSøren Schmidt RK817_LDO2, 11166a3e513SSøren Schmidt RK817_LDO3, 11266a3e513SSøren Schmidt RK817_LDO4, 11366a3e513SSøren Schmidt RK817_LDO5, 11466a3e513SSøren Schmidt RK817_LDO6, 11566a3e513SSøren Schmidt RK817_LDO7, 11666a3e513SSøren Schmidt RK817_LDO8, 11766a3e513SSøren Schmidt RK817_LDO9, 11866a3e513SSøren Schmidt RK817_BOOST, 11966a3e513SSøren Schmidt RK817_OTG_SWITCH, 12066a3e513SSøren Schmidt }; 12166a3e513SSøren Schmidt #endif /* _RK817REG_H_ */ 122