The Grove connector pins on BeaglePlay supports 3 different functions. Describe these here. Also move the default to be selected by a new Grove connector node. As I2C is not the only possible function, do not enable main_i2c1. It should only be enabled when a add-on board is connected that makes use of it. That enabling should be done by the add-on board's overlay. Signed-off-by: Andrew Davis <afd@xxxxxx> --- .../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts index 70de288d728e4..004eb5c24a84c 100644 --- a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts +++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts @@ -227,6 +227,10 @@ simple-audio-card,codec { }; }; + grove_connector0: grove-connector0 { + pinctrl-names = "default"; + pinctrl-0 = <&grove_pins_default>; + }; }; &main_pmx0 { @@ -270,6 +274,27 @@ AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ >; }; + grove_pins_digital: grove-digital-pins { + pinctrl-single,pins = < + AM62X_IOPAD(0x01e8, PIN_INPUT, 7) /* (B17) I2C1_SCL.GPIO1_28 */ + AM62X_IOPAD(0x01ec, PIN_INPUT, 7) /* (A17) I2C1_SDA.GPIO1_29 */ + >; + }; + + grove_pins_uart: grove-uart-pins { + pinctrl-single,pins = < + AM62X_IOPAD(0x01e8, PIN_INPUT, 1) /* (B17) I2C1_SCL.UART1_RXD */ + AM62X_IOPAD(0x01ec, PIN_OUTPUT, 1) /* (A17) I2C1_SDA.UART1_TXD */ + >; + }; + + grove_pins_i2c: grove-i2c-pins { + pinctrl-single,pins = < + AM62X_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ + AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ + >; + }; + local_i2c_pins_default: local-i2c-default-pins { bootph-all; pinctrl-single,pins = < @@ -753,13 +778,6 @@ ldo4_reg: ldo4 { }; }; -&main_i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&grove_pins_default>; - clock-frequency = <100000>; - status = "okay"; -}; - &main_i2c2 { pinctrl-names = "default"; pinctrl-0 = <&i2c2_1v8_pins_default>; -- 2.39.2