1*9f1fad1eSBin Meng /* 2*9f1fad1eSBin Meng * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com> 3*9f1fad1eSBin Meng * 4*9f1fad1eSBin Meng * SPDX-License-Identifier: GPL-2.0+ 5*9f1fad1eSBin Meng */ 6*9f1fad1eSBin Meng 7*9f1fad1eSBin Meng #ifndef __EARLY_CMOS_H 8*9f1fad1eSBin Meng #define __EARLY_CMOS_H 9*9f1fad1eSBin Meng 10*9f1fad1eSBin Meng /* CMOS actually resides in the RTC SRAM */ 11*9f1fad1eSBin Meng #define CMOS_IO_PORT 0x70 12*9f1fad1eSBin Meng 13*9f1fad1eSBin Meng /** 14*9f1fad1eSBin Meng * cmos_read8() - Get 8-bit data stored at the given address 15*9f1fad1eSBin Meng * 16*9f1fad1eSBin Meng * This reads from CMOS for the 8-bit data stored at the given address. 17*9f1fad1eSBin Meng * 18*9f1fad1eSBin Meng * @addr: RTC SRAM address 19*9f1fad1eSBin Meng * @return: 8-bit data stored at the given address 20*9f1fad1eSBin Meng */ 21*9f1fad1eSBin Meng u8 cmos_read8(u8 addr); 22*9f1fad1eSBin Meng 23*9f1fad1eSBin Meng /** 24*9f1fad1eSBin Meng * cmos_read16() - Get 16-bit data stored at the given address 25*9f1fad1eSBin Meng * 26*9f1fad1eSBin Meng * This reads from CMOS for the 16-bit data stored at the given address. 27*9f1fad1eSBin Meng * 28*9f1fad1eSBin Meng * @addr: RTC SRAM address 29*9f1fad1eSBin Meng * @return: 16-bit data stored at the given address 30*9f1fad1eSBin Meng */ 31*9f1fad1eSBin Meng u16 cmos_read16(u8 addr); 32*9f1fad1eSBin Meng 33*9f1fad1eSBin Meng /** 34*9f1fad1eSBin Meng * cmos_read32() - Get 32-bit data stored at the given address 35*9f1fad1eSBin Meng * 36*9f1fad1eSBin Meng * This reads from CMOS for the 32-bit data stored at the given address. 37*9f1fad1eSBin Meng * 38*9f1fad1eSBin Meng * @addr: RTC SRAM address 39*9f1fad1eSBin Meng * @return: 32-bit data stored at the given address 40*9f1fad1eSBin Meng */ 41*9f1fad1eSBin Meng u32 cmos_read32(u8 addr); 42*9f1fad1eSBin Meng 43*9f1fad1eSBin Meng #endif /* __EARLY_CMOS_H */ 44