Add detection/dump support for ServerEngines SE-SM 4210-P01.
[coreboot.git] / util / ectool / ec.h
index dde1ba313aad0631b2c70fcd80f755dcb5c8abf0..a7b10e4324ec04f158a9faf32cdcd390972b76ca 100644 (file)
@@ -5,8 +5,7 @@
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
+ * published by the Free Software Foundation; version 2 of the License.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #ifndef _EC_H
 #define _EC_H
-#include <stdint.h>
-#define EC_DATA        0x62
-#define EC_SC  0x66
+
+#define EC_DATA                0x62
+#define EC_SC          0x66
 
 /* EC_SC input */
-#define   EC_SMI_EVT   (1 << 6) // 1: SMI event pending
-#define   EC_SCI_EVT   (1 << 5) // 1: SCI event pending
-#define   EC_BURST     (1 << 4) // controller is in burst mode
-#define   EC_CMD       (1 << 3) // 1: byte in data register is command
-                                // 0: byte in data register is data
-#define   EC_IBF       (1 << 1) // 1: input buffer full (data ready for ec)
-#define   EC_OBF       (1 << 0) // 1: output buffer full (data ready for host)
+#define   EC_SMI_EVT   (1 << 6)        // 1: SMI event pending
+#define   EC_SCI_EVT   (1 << 5)        // 1: SCI event pending
+#define   EC_BURST     (1 << 4)        // controller is in burst mode
+#define   EC_CMD       (1 << 3)        // 1: byte in data register is command
+                                       // 0: byte in data register is data
+#define   EC_IBF       (1 << 1)        // 1: input buffer full (data ready for ec)
+#define   EC_OBF       (1 << 0)        // 1: output buffer full (data ready for host)
+
 /* EC_SC output */
-#define   RD_EC                0x80 // Read Embedded Controller
-#define   WR_EC                0x81 // Write Embedded Controller
-#define   BE_EC                0x82 // Burst Enable Embedded Controller
-#define   BD_EC        0x83 // Burst Disable Embedded Controller
-#define   QR_EC        0x84 // Query Embedded Controller
+#define   RD_EC                0x80    // Read Embedded Controller
+#define   WR_EC                0x81    // Write Embedded Controller
+#define   BE_EC                0x82    // Burst Enable Embedded Controller
+#define   BD_EC        0x83    // Burst Disable Embedded Controller
+#define   QR_EC        0x84    // Query Embedded Controller
+#define   RX_EC                0xf0    // Read Extended operation
+#define   WX_EC                0xf1    // Write Extended operation
 
 int send_ec_command(uint8_t command);
 int send_ec_data(uint8_t data);
 int send_ec_data_nowait(uint8_t data);
 uint8_t recv_ec_data(void);
 uint8_t ec_read(uint8_t addr);
+int ec_write(uint8_t addr, uint8_t data);
+uint8_t ec_ext_read(uint16_t addr);
+int ec_ext_write(uint16_t addr, uint8_t data);
+uint8_t ec_idx_read(uint16_t addr);
 #endif
-