Re: [PATCH v2 3/3] riscv: dts: thead: Enable I2C on the BeagleV-Ahead

From: Emil Renner Berthing
Date: Sun May 26 2024 - 08:06:30 EST


Thomas Bonnefille wrote:
> This commit enables the I2C0 controller of the TH1520, together with
> the FT24C32A EEPROM that is connected to it.
> In addition, this commit also enables the I2C controllers I2C2, I2C4
> and I2C5 as they are all three exposed on headers (P9 19 and 20 for I2C2,
> P9 17 and 18 for I2C5 and MikroBus 7 and 5 for I2C4).
> It also defined the required pinctrl nodes.
>
> Signed-off-by: Thomas Bonnefille <thomas.bonnefille@xxxxxxxxxxx>
> ---
> arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts | 84 ++++++++++++++++++++++
> 1 file changed, 84 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts b/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> index 57a2578123eb..aeb04f5159d5 100644
> --- a/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> +++ b/arch/riscv/boot/dts/thead/th1520-beaglev-ahead.dts
> @@ -121,6 +121,47 @@ led-pins {
> };
> };
>
> +&padctrl1_apsys {

These node references should be ordered alphabetically, so please put this
below &padctrl0_apsys.

> + i2c0_pins: i2c0-0 {
> + i2c-pins {
> + pins = "I2C0_SDA",
> + "I2C0_SCL";
> + function = "i2c";
> + bias-pull-up = <2100>;

Are you sure the strong pull-up is needed here and below?

> + drive-strength = <7>;
> + input-enable;
> + input-schmitt-enable;
> + slew-rate = <0>;
> + };
> + };
> +
> + i2c4_pins: i2c4-0 {
> + i2c-pins {
> + pins = "GPIO0_19", /*I2C4_SDA*/
> + "GPIO0_18"; /*I2C4_SCL*/

Please add spaces here like other kernel comments. Eg. /* I2C4_SDA */

> + function = "i2c";
> + bias-pull-up = <2100>;
> + drive-strength = <7>;
> + input-enable;
> + input-schmitt-enable;
> + slew-rate = <0>;
> + };
> + };
> +
> + i2c5_pins: i2c5-0 {
> + i2c-pins {
> + pins = "QSPI1_D0_MOSI", /*I2C5_SDA*/
> + "QSPI1_CSN0"; /*I2C5_SCL*/

Same here.

> + function = "i2c";
> + bias-pull-up = <2100>;
> + drive-strength = <7>;
> + input-enable;
> + input-schmitt-enable;
> + slew-rate = <0>;
> + };
> + };
> +};
> +
> &padctrl0_apsys {
> uart0_pins: uart0-0 {
> tx-pins {
> @@ -143,6 +184,19 @@ rx-pins {
> slew-rate = <0>;
> };
> };
> +
> + i2c2_pins: i2c2-0 {

i2c2-0 sorts before uart0-0 alphabetically.

> + i2c-pins {
> + pins = "I2C2_SDA",
> + "I2C2_SCL";
> + function = "i2c";
> + bias-pull-up = <2100>;
> + drive-strength = <7>;
> + input-enable;
> + input-schmitt-enable;
> + slew-rate = <0>;
> + };
> + };
> };
>
> &uart0 {
> @@ -150,3 +204,33 @@ &uart0 {
> pinctrl-0 = <&uart0_pins>;
> status = "okay";
> };
> +
> +&i2c0 {

Again please sort these references alphabetically.

> + status = "okay";

And the properties. Eg. move status below pinctrl-0.


> + clock-frequency = <100000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c0_pins>;
> +
> + eeprom@50 {
> + compatible = "atmel,24c32";
> + reg = <0x50>;
> + };
> +};
> +
> +&i2c2 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c2_pins>;
> +};
> +
> +&i2c4 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c4_pins>;
> +};
> +
> +&i2c5 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c5_pins>;
> +};
>
> --
> 2.45.1
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-riscv