[][Fix pinctrl driving group and update dts]

[Description]
Fix pinctrl fail driving group, and add driving/bias setting
in dts for example

[Release-log]
N/A

Change-Id: Ia59d7fd7ff393da9b9edd0378cd4c99646c0c4a8
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/4828769
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi
index a590e42..c244903 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi
@@ -434,6 +434,21 @@
 			function = "flash";
 			groups = "snfi";
 		};
+		conf-clk {
+			pins = "SPI0_CLK";
+			drive-strength = <MTK_DRIVE_8mA>;
+			mediatek,pull-down-adv = <0>;	/* bias-disable */
+		};
+		conf-pu {
+			pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-up-adv = <0>;	/* bias-disable */
+		};
+		conf-pd {
+			pins = "SPI0_MOSI", "SPI0_MISO";
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-down-adv = <0>;	/* bias-disable */
+		};
 	};
 
 	spic_pins_g2: spic-pins-29-to-32 {
@@ -483,6 +498,16 @@
 			function = "flash";
 			groups = "spi0", "spi0_wp_hold";
 		};
+		conf-pu {
+			pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
+			drive-strength = <MTK_DRIVE_8mA>;
+			mediatek,pull-up-adv = <0>;	/* bias-disable */
+		};
+		conf-pd {
+			pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
+			drive-strength = <MTK_DRIVE_8mA>;
+			mediatek,pull-down-adv = <0>;	/* bias-disable */
+		};
 	};
 
 	uart1_pins: uart1-pins-42-to-45 {
@@ -504,6 +529,25 @@
 			function = "flash";
 			groups = "emmc_51";
 		};
+		conf-cmd-dat {
+			pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
+			       "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
+			       "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD",
+			       "EMMC_DSL";
+			input-enable;
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-up-adv = <1>;	/* pull-up 10K */
+		};
+		conf-clk {
+			pins = "EMMC_CK";
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-down-adv = <2>;	/* pull-down 50K */
+		};
+		conf-rst {
+			pins = "EMMC_RSTB";
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-up-adv = <1>;	/* pull-up 10K */
+		};
 	};
 
 	mmc0_pins_uhs: mmc0-pins-50-to-61-uhs {
@@ -511,6 +555,25 @@
 			function = "flash";
 			groups = "emmc_51";
 		};
+		conf-cmd-dat {
+			pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
+			       "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
+			       "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD",
+			       "EMMC_DSL";
+			input-enable;
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-up-adv = <1>;	/* pull-up 10K */
+		};
+		conf-clk {
+			pins = "EMMC_CK";
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-down-adv = <2>;	/* pull-down 50K */
+		};
+		conf-rst {
+			pins = "EMMC_RSTB";
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-up-adv = <1>;	/* pull-up 10K */
+		};
 	};
 
 	pcm_pins: pcm-pins-62-to-65 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a.dtsi b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a.dtsi
index 7ac9806..56c2a53 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a.dtsi
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a.dtsi
@@ -18,6 +18,7 @@
 #include <dt-bindings/reset/ti-syscon.h>
 #include <dt-bindings/clock/mt7986-clk.h>
 #include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/pinctrl/mt65xx.h>
 
 / {
 	compatible = "mediatek,mt7986a-rfb";
@@ -559,7 +560,6 @@
 					 <&topckgen CK_TOP_CB_MM_D8>;
 		#address-cells = <1>;
 		#size-cells = <0>;
-		drive-strength = <1>;
 		status = "disabled";
 	};
 
@@ -587,7 +587,6 @@
 			 <&infracfg_ao CK_INFRA_SPI0_CK>,
 			 <&infracfg_ao CK_INFRA_SPI0_HCK_CK>;
 		clock-names = "parent-clk", "sel-clk", "spi-clk", "spi-hclk";
-		drive-strength = <3>;
 		status = "disabled";
 	};
 
@@ -616,7 +615,6 @@
 				  <&topckgen CK_TOP_EMMC_250M_SEL>;
 		assigned-clock-parents = <&topckgen CK_TOP_CB_CKSQ_40M>,
 					 <&topckgen CK_TOP_CB_CKSQ_40M>;
-		drive-strength = <1>;
 		status = "disabled";
 	};
 
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-rfb.dtsi b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-rfb.dtsi
index dd62734..ce88b13 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-rfb.dtsi
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-rfb.dtsi
@@ -273,18 +273,45 @@
 };
 
 &pio {
-	spi_flash_pins: spi0-pins {
+	spi_flash_pins: spi-flash-pins-33-to-38 {
 		mux {
 			function = "flash";
 			groups = "spi0", "spi0_wp_hold";
 		};
+		conf-pu {
+			pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
+			drive-strength = <MTK_DRIVE_8mA>;
+			mediatek,pull-up-adv = <0>;	/* bias-disable */
+		};
+		conf-pd {
+			pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
+			drive-strength = <MTK_DRIVE_8mA>;
+			mediatek,pull-down-adv = <0>;	/* bias-disable */
+		};
+
 	};
 
-	snfi_pins: snfi-pins {
+	snfi_pins: snfi-pins-23-to-28 {
 		mux {
 			function = "flash";
 			groups = "snfi";
 		};
+		conf-clk {
+			pins = "SPI0_CLK";
+			drive-strength = <MTK_DRIVE_8mA>;
+			mediatek,pull-down-adv = <0>;	/* bias-disable */
+		};
+		conf-pu {
+			pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-up-adv = <0>;	/* bias-disable */
+		};
+		conf-pd {
+			pins = "SPI0_MOSI", "SPI0_MISO";
+			drive-strength = <MTK_DRIVE_6mA>;
+			mediatek,pull-down-adv = <0>;	/* bias-disable */
+		};
+
 	};
 
 	spic_pins: spi1-pins {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b.dtsi b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b.dtsi
index 0698675..adc409e 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b.dtsi
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b.dtsi
@@ -18,6 +18,7 @@
 #include <dt-bindings/reset/ti-syscon.h>
 #include <dt-bindings/clock/mt7986-clk.h>
 #include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/pinctrl/mt65xx.h>
 
 / {
 	compatible = "mediatek,mt7986b-rfb";
@@ -528,7 +529,6 @@
 					 <&topckgen CK_TOP_CB_MM_D8>;
 		#address-cells = <1>;
 		#size-cells = <0>;
-		drive-strength = <1>;
 		status = "disabled";
 	};
 
@@ -556,7 +556,6 @@
 			 <&infracfg_ao CK_INFRA_SPI0_CK>,
 			 <&infracfg_ao CK_INFRA_SPI0_HCK_CK>;
 		clock-names = "parent-clk", "sel-clk", "spi-clk", "spi-hclk";
-		drive-strength = <3>;
 		status = "disabled";
 	};
 
diff --git a/target/linux/mediatek/files-5.4/drivers/pinctrl/mediatek/pinctrl-mt7986.c b/target/linux/mediatek/files-5.4/drivers/pinctrl/mediatek/pinctrl-mt7986.c
index 9e29145..7af2358 100644
--- a/target/linux/mediatek/files-5.4/drivers/pinctrl/mediatek/pinctrl-mt7986.c
+++ b/target/linux/mediatek/files-5.4/drivers/pinctrl/mediatek/pinctrl-mt7986.c
@@ -9,7 +9,7 @@
 #include "pinctrl-moore.h"
 
 #define MT7986_PIN(_number, _name)				\
-	MTK_PIN(_number, _name, 0, _number, DRV_GRP1)
+	MTK_PIN(_number, _name, 0, _number, DRV_GRP4)
 
 #define PIN_FIELD_BASE(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits)	\
 	PIN_FIELD_CALC(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit,	\