Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Khadas System control Microcontroller Register map
0004  *
0005  * Copyright (C) 2020 BayLibre SAS
0006  *
0007  * Author(s): Neil Armstrong <narmstrong@baylibre.com>
0008  */
0009 
0010 #ifndef MFD_KHADAS_MCU_H
0011 #define MFD_KHADAS_MCU_H
0012 
0013 #define KHADAS_MCU_PASSWD_VEN_0_REG     0x00 /* RO */
0014 #define KHADAS_MCU_PASSWD_VEN_1_REG     0x01 /* RO */
0015 #define KHADAS_MCU_PASSWD_VEN_2_REG     0x02 /* RO */
0016 #define KHADAS_MCU_PASSWD_VEN_3_REG     0x03 /* RO */
0017 #define KHADAS_MCU_PASSWD_VEN_4_REG     0x04 /* RO */
0018 #define KHADAS_MCU_PASSWD_VEN_5_REG     0x05 /* RO */
0019 #define KHADAS_MCU_MAC_0_REG            0x06 /* RO */
0020 #define KHADAS_MCU_MAC_1_REG            0x07 /* RO */
0021 #define KHADAS_MCU_MAC_2_REG            0x08 /* RO */
0022 #define KHADAS_MCU_MAC_3_REG            0x09 /* RO */
0023 #define KHADAS_MCU_MAC_4_REG            0x0a /* RO */
0024 #define KHADAS_MCU_MAC_5_REG            0x0b /* RO */
0025 #define KHADAS_MCU_USID_0_REG           0x0c /* RO */
0026 #define KHADAS_MCU_USID_1_REG           0x0d /* RO */
0027 #define KHADAS_MCU_USID_2_REG           0x0e /* RO */
0028 #define KHADAS_MCU_USID_3_REG           0x0f /* RO */
0029 #define KHADAS_MCU_USID_4_REG           0x10 /* RO */
0030 #define KHADAS_MCU_USID_5_REG           0x11 /* RO */
0031 #define KHADAS_MCU_VERSION_0_REG        0x12 /* RO */
0032 #define KHADAS_MCU_VERSION_1_REG        0x13 /* RO */
0033 #define KHADAS_MCU_DEVICE_NO_0_REG      0x14 /* RO */
0034 #define KHADAS_MCU_DEVICE_NO_1_REG      0x15 /* RO */
0035 #define KHADAS_MCU_FACTORY_TEST_REG     0x16 /* R */
0036 #define KHADAS_MCU_BOOT_MODE_REG        0x20 /* RW */
0037 #define KHADAS_MCU_BOOT_EN_WOL_REG      0x21 /* RW */
0038 #define KHADAS_MCU_BOOT_EN_RTC_REG      0x22 /* RW */
0039 #define KHADAS_MCU_BOOT_EN_EXP_REG      0x23 /* RW */
0040 #define KHADAS_MCU_BOOT_EN_IR_REG       0x24 /* RW */
0041 #define KHADAS_MCU_BOOT_EN_DCIN_REG     0x25 /* RW */
0042 #define KHADAS_MCU_BOOT_EN_KEY_REG      0x26 /* RW */
0043 #define KHADAS_MCU_KEY_MODE_REG         0x27 /* RW */
0044 #define KHADAS_MCU_LED_MODE_ON_REG      0x28 /* RW */
0045 #define KHADAS_MCU_LED_MODE_OFF_REG     0x29 /* RW */
0046 #define KHADAS_MCU_SHUTDOWN_NORMAL_REG      0x2c /* RW */
0047 #define KHADAS_MCU_MAC_SWITCH_REG       0x2d /* RW */
0048 #define KHADAS_MCU_MCU_SLEEP_MODE_REG       0x2e /* RW */
0049 #define KHADAS_MCU_IR_CODE1_0_REG       0x2f /* RW */
0050 #define KHADAS_MCU_IR_CODE1_1_REG       0x30 /* RW */
0051 #define KHADAS_MCU_IR_CODE1_2_REG       0x31 /* RW */
0052 #define KHADAS_MCU_IR_CODE1_3_REG       0x32 /* RW */
0053 #define KHADAS_MCU_USB_PCIE_SWITCH_REG      0x33 /* RW */
0054 #define KHADAS_MCU_IR_CODE2_0_REG       0x34 /* RW */
0055 #define KHADAS_MCU_IR_CODE2_1_REG       0x35 /* RW */
0056 #define KHADAS_MCU_IR_CODE2_2_REG       0x36 /* RW */
0057 #define KHADAS_MCU_IR_CODE2_3_REG       0x37 /* RW */
0058 #define KHADAS_MCU_PASSWD_USER_0_REG        0x40 /* RW */
0059 #define KHADAS_MCU_PASSWD_USER_1_REG        0x41 /* RW */
0060 #define KHADAS_MCU_PASSWD_USER_2_REG        0x42 /* RW */
0061 #define KHADAS_MCU_PASSWD_USER_3_REG        0x43 /* RW */
0062 #define KHADAS_MCU_PASSWD_USER_4_REG        0x44 /* RW */
0063 #define KHADAS_MCU_PASSWD_USER_5_REG        0x45 /* RW */
0064 #define KHADAS_MCU_USER_DATA_0_REG      0x46 /* RW 56 bytes */
0065 #define KHADAS_MCU_PWR_OFF_CMD_REG      0x80 /* WO */
0066 #define KHADAS_MCU_PASSWD_START_REG     0x81 /* WO */
0067 #define KHADAS_MCU_CHECK_VEN_PASSWD_REG     0x82 /* WO */
0068 #define KHADAS_MCU_CHECK_USER_PASSWD_REG    0x83 /* WO */
0069 #define KHADAS_MCU_SHUTDOWN_NORMAL_STATUS_REG   0x86 /* RO */
0070 #define KHADAS_MCU_WOL_INIT_START_REG       0x87 /* WO */
0071 #define KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG  0x88 /* WO */
0072 
0073 enum {
0074     KHADAS_BOARD_VIM1 = 0x1,
0075     KHADAS_BOARD_VIM2,
0076     KHADAS_BOARD_VIM3,
0077     KHADAS_BOARD_EDGE = 0x11,
0078     KHADAS_BOARD_EDGE_V,
0079 };
0080 
0081 /**
0082  * struct khadas_mcu - Khadas MCU structure
0083  * @device:     device reference used for logs
0084  * @regmap:     register map
0085  */
0086 struct khadas_mcu {
0087     struct device *dev;
0088     struct regmap *regmap;
0089 };
0090 
0091 #endif /* MFD_KHADAS_MCU_H */