]> git.sur5r.net Git - u-boot/blobdiff - board/keymile/common/common.h
SPDX: Convert all of our single license tags to Linux Kernel style
[u-boot] / board / keymile / common / common.h
index edf6e3aa6360579eeff1f96e516d1c111e93715a..859d9130a9331e2d4ed089221a9d60ed71e27508 100644 (file)
@@ -1,11 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * (C) Copyright 2008
  * Heiko Schocher, DENX Software Engineering, hs@denx.de.
- *
- * 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; either version 2 of
- * the License, or (at your option) any later version.
  */
 
 #ifndef __KEYMILE_COMMON_H
@@ -16,6 +12,8 @@
 #define WRG_LED                0x02
 #define WRL_BOOT       0x01
 
+#define OPRTL_XBUFENA  0x20
+
 #define H_OPORTS_SCC4_ENA      0x10
 #define H_OPORTS_SCC4_FD_ENA   0x04
 #define H_OPORTS_FCC1_PW_DWN   0x01
@@ -30,7 +28,11 @@ struct km_bec_fpga {
        unsigned char   res1[3];
        unsigned char   bprth;
        unsigned char   bprtl;
-       unsigned char   res2[6];
+       unsigned char   gprt3;
+       unsigned char   gprt2;
+       unsigned char   gprt1;
+       unsigned char   gprt0;
+       unsigned char   res2[2];
        unsigned char   prst;
        unsigned char   res3[0xfff0];
        unsigned char   pgy_id;
@@ -123,19 +125,20 @@ struct bfticu_iomap {
 #endif
 
 int ethernet_present(void);
-int ivm_read_eeprom(void);
-void set_pin(int state, unsigned long mask);
+int ivm_read_eeprom(unsigned char *buf, int len);
+int ivm_analyze_eeprom(unsigned char *buf, int len);
+
+int trigger_fpga_config(void);
+int wait_for_fpga_config(void);
+int fpga_reset(void);
+int toggle_eeprom_spi_bus(void);
+
+int get_testpin(void);
 
 int set_km_env(void);
-int fdt_set_node_and_value(void *blob,
-                       char *nodename,
-                       char *regname,
-                       void *var,
-                       int size);
-int fdt_get_node_and_value(void *blob,
-                               char *nodename,
-                               char *propname,
-                               void **var);
+
+#define DELAY_ABORT_SEQ                62  /* @200kHz 9 clocks = 44us, 62us is ok */
+#define DELAY_HALF_PERIOD      (500 / (CONFIG_SYS_I2C_SPEED / 1000))
 
 int i2c_soft_read_pin(void);
 int i2c_make_abort(void);