Browse Source

add i2c gpio configure

Huan.Feng 3 years ago
parent
commit
8d75e152e3
2 changed files with 30 additions and 6 deletions
  1. 0 6
      arch/riscv/dts/starfive_vic7100_evb.dts
  2. 30 0
      board/starfive/vic7100/vic7100.c

+ 0 - 6
arch/riscv/dts/starfive_vic7100_evb.dts

@@ -293,8 +293,6 @@
 			i2c-sda-hold-time-ns = <300>;
 			i2c-sda-falling-time-ns = <500>;
 			i2c-scl-falling-time-ns = <500>;
-			scl-gpio = <&gpio 62 0>;
-			sda-gpio = <&gpio 61 0>;
 		};
 
 		i2c1: i2c@118c0000 {
@@ -309,8 +307,6 @@
 			i2c-sda-hold-time-ns = <300>;
 			i2c-sda-falling-time-ns = <100>;
 			i2c-scl-falling-time-ns = <100>;
-			scl-gpio = <&gpio 47 0>;
-			sda-gpio = <&gpio 48 0>;
 		};
 
 		i2c2: i2c@12450000 {
@@ -325,8 +321,6 @@
 			i2c-sda-hold-time-ns = <300>;
 			i2c-sda-falling-time-ns = <500>;
 			i2c-scl-falling-time-ns = <500>;
-			scl-gpio = <&gpio 60 0>;
-			sda-gpio = <&gpio 59 0>;
 
 			seeed_plane_i2c@45 {
 				compatible = "seeed_panel";

+ 30 - 0
board/starfive/vic7100/vic7100.c

@@ -612,6 +612,16 @@ INIT_FUNC_DEF(i2c0)
 
 	_CLEAR_RESET_rstgen_rstn_i2c0_apb_;
 	_CLEAR_RESET_rstgen_rstn_i2c0_core_;
+
+	SET_GPIO_62_dout_LOW;
+	SET_GPIO_61_dout_LOW;
+	SET_GPIO_62_doen_reverse_(1);
+	SET_GPIO_61_doen_reverse_(1);
+
+	SET_GPIO_62_doen_i2c0_pad_sck_oe;
+	SET_GPIO_61_doen_i2c0_pad_sda_oe;
+	SET_GPIO_i2c0_pad_sck_in(62);
+	SET_GPIO_i2c0_pad_sda_in(61);
 }
 
 INIT_FUNC_DEF(i2c1)
@@ -621,6 +631,16 @@ INIT_FUNC_DEF(i2c1)
 
 	_CLEAR_RESET_rstgen_rstn_i2c1_apb_;
 	_CLEAR_RESET_rstgen_rstn_i2c1_core_;
+
+	SET_GPIO_47_dout_LOW;
+	SET_GPIO_48_dout_LOW;
+	SET_GPIO_47_doen_reverse_(1);
+	SET_GPIO_48_doen_reverse_(1);
+
+	SET_GPIO_47_doen_i2c1_pad_sck_oe;
+	SET_GPIO_48_doen_i2c1_pad_sda_oe;
+	SET_GPIO_i2c1_pad_sck_in(47);
+	SET_GPIO_i2c1_pad_sda_in(48);
 }
 
 INIT_FUNC_DEF(trng)
@@ -685,6 +705,16 @@ INIT_FUNC_DEF(i2c2)
 
 	_CLEAR_RESET_rstgen_rstn_i2c2_apb_;
 	_CLEAR_RESET_rstgen_rstn_i2c2_core_;
+
+	SET_GPIO_60_dout_LOW;
+	SET_GPIO_59_dout_LOW;
+	SET_GPIO_60_doen_reverse_(1);
+	SET_GPIO_59_doen_reverse_(1);
+
+	SET_GPIO_60_doen_i2c2_pad_sck_oe;
+	SET_GPIO_59_doen_i2c2_pad_sda_oe;
+	SET_GPIO_i2c2_pad_sck_in(60);
+	SET_GPIO_i2c2_pad_sda_in(59);
 }
 
 INIT_FUNC_DEF(i2c3)