1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 29f1fad1eSBin Meng /* 39f1fad1eSBin Meng * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com> 49f1fad1eSBin Meng */ 59f1fad1eSBin Meng 69f1fad1eSBin Meng #ifndef __EARLY_CMOS_H 79f1fad1eSBin Meng #define __EARLY_CMOS_H 89f1fad1eSBin Meng 99f1fad1eSBin Meng /* CMOS actually resides in the RTC SRAM */ 109f1fad1eSBin Meng #define CMOS_IO_PORT 0x70 119f1fad1eSBin Meng 129f1fad1eSBin Meng /** 139f1fad1eSBin Meng * cmos_read8() - Get 8-bit data stored at the given address 149f1fad1eSBin Meng * 159f1fad1eSBin Meng * This reads from CMOS for the 8-bit data stored at the given address. 169f1fad1eSBin Meng * 179f1fad1eSBin Meng * @addr: RTC SRAM address 189f1fad1eSBin Meng * @return: 8-bit data stored at the given address 199f1fad1eSBin Meng */ 209f1fad1eSBin Meng u8 cmos_read8(u8 addr); 219f1fad1eSBin Meng 229f1fad1eSBin Meng /** 239f1fad1eSBin Meng * cmos_read16() - Get 16-bit data stored at the given address 249f1fad1eSBin Meng * 259f1fad1eSBin Meng * This reads from CMOS for the 16-bit data stored at the given address. 269f1fad1eSBin Meng * 279f1fad1eSBin Meng * @addr: RTC SRAM address 289f1fad1eSBin Meng * @return: 16-bit data stored at the given address 299f1fad1eSBin Meng */ 309f1fad1eSBin Meng u16 cmos_read16(u8 addr); 319f1fad1eSBin Meng 329f1fad1eSBin Meng /** 339f1fad1eSBin Meng * cmos_read32() - Get 32-bit data stored at the given address 349f1fad1eSBin Meng * 359f1fad1eSBin Meng * This reads from CMOS for the 32-bit data stored at the given address. 369f1fad1eSBin Meng * 379f1fad1eSBin Meng * @addr: RTC SRAM address 389f1fad1eSBin Meng * @return: 32-bit data stored at the given address 399f1fad1eSBin Meng */ 409f1fad1eSBin Meng u32 cmos_read32(u8 addr); 419f1fad1eSBin Meng 429f1fad1eSBin Meng #endif /* __EARLY_CMOS_H */ 43