[PATCH 5/5] ARM: dts: BCM5301X: add pinctrl pins, groups & functions
Rafał Miłecki
zajec5 at gmail.com
Thu Nov 18 05:21:52 PST 2021
From: Rafał Miłecki <rafal at milecki.pl>
They can now be described in DT so do that.
Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
arch/arm/boot/dts/bcm4709.dtsi | 74 +++++++++++++++++++
arch/arm/boot/dts/bcm47094.dtsi | 11 +--
arch/arm/boot/dts/bcm5301x.dtsi | 123 ++++++++++++++++++++++++++++++++
3 files changed, 198 insertions(+), 10 deletions(-)
diff --git a/arch/arm/boot/dts/bcm4709.dtsi b/arch/arm/boot/dts/bcm4709.dtsi
index cba3d910bed8..ba4700a85772 100644
--- a/arch/arm/boot/dts/bcm4709.dtsi
+++ b/arch/arm/boot/dts/bcm4709.dtsi
@@ -10,6 +10,80 @@ &uart0 {
status = "okay";
};
+&pinctrl {
+ compatible = "brcm,bcm4709-pinmux";
+
+ pins {
+ reg at 6 {
+ reg = <6>;
+ label = "mdc";
+ };
+
+ reg at 7 {
+ reg = <7>;
+ label = "mdio";
+ };
+
+ reg at 10 {
+ reg = <16>;
+ label = "uart2_rx";
+ };
+
+ reg at 11 {
+ reg = <17>;
+ label = "uart2_tx";
+ };
+
+ /* TODO
+ * reg@ {
+ * label = "xtal_out";
+ * };
+ */
+
+ reg at 16 {
+ reg = <22>;
+ label = "sdio_pwr";
+ };
+
+ reg at 17 {
+ reg = <23>;
+ label = "sdio_en_1p8v";
+ };
+ };
+
+ groups {
+ mdio_grp: mdio_grp {
+ pins = <6 7>;
+ };
+
+ uart2_grp: uart2_grp {
+ pins = <16 17>;
+ };
+
+ sdio_pwr_grp: sdio_pwr_grp {
+ pins = <22>;
+ };
+
+ sdio_1p8v_grp: sdio_1p8v_grp {
+ pins = <23>;
+ };
+ };
+
+ functions {
+ mdio {
+ groups = <&mdio_grp>;
+ };
+
+ uart2 {
+ groups = <&uart2_grp>;
+ };
+
+ sdio {
+ groups = <&sdio_pwr_grp &sdio_1p8v_grp>;
+ };
+ };
+};
+
&srab {
compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
};
diff --git a/arch/arm/boot/dts/bcm47094.dtsi b/arch/arm/boot/dts/bcm47094.dtsi
index 6282363313e1..239c1c1b0268 100644
--- a/arch/arm/boot/dts/bcm47094.dtsi
+++ b/arch/arm/boot/dts/bcm47094.dtsi
@@ -3,14 +3,12 @@
* Copyright (C) 2016 Rafał Miłecki <rafal at milecki.pl>
*/
-#include "bcm4708.dtsi"
+#include "bcm4709.dtsi"
/ {
};
&pinctrl {
- compatible = "brcm,bcm4709-pinmux";
-
pinmux_mdio: mdio-pins {
groups = "mdio_grp";
function = "mdio";
@@ -21,11 +19,4 @@ &usb3_phy {
compatible = "brcm,ns-bx-usb3-phy";
};
-&uart0 {
- clock-frequency = <125000000>;
- status = "okay";
-};
-&srab {
- compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
-};
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index d4f355015e3c..31c6a3dbba30 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -473,6 +473,129 @@ pinmux_uart1: uart1-pins {
groups = "uart1_grp";
function = "uart1";
};
+
+ pins {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pin at 0 {
+ reg = <0>;
+ label = "spi_clk";
+ };
+
+ pin at 1 {
+ reg = <1>;
+ label = "spi_ss";
+ };
+
+ pin at 2 {
+ reg = <2>;
+ label = "spi_mosi";
+ };
+
+ pin at 3 {
+ reg = <3>;
+ label = "spi_miso";
+ };
+
+ pin at 4 {
+ reg = <4>;
+ label = "i2c_scl";
+ };
+
+ pin at 5 {
+ reg = <5>;
+ label = "i2c_sda";
+ };
+
+ pin at 8 {
+ reg = <8>;
+ label = "pwm0";
+ };
+
+ pin at 9 {
+ reg = <9>;
+ label = "pwm1";
+ };
+
+ pin at a {
+ reg = <10>;
+ label = "pwm2";
+ };
+
+ pin at b {
+ reg = <11>;
+ label = "pwm3";
+ };
+
+ pin at c {
+ reg = <12>;
+ label = "uart1_rx";
+ };
+
+ pin at d {
+ reg = <13>;
+ label = "uart1_tx";
+ };
+
+ pin at e {
+ reg = <14>;
+ label = "uart1_cts";
+ };
+
+ pin at f {
+ reg = <15>;
+ label = "uart1_rts";
+ };
+ };
+
+ groups {
+ spi_grp: spi_grp {
+ pins = <0 1 2 3>;
+ };
+
+ i2c_grp: i2c_grp {
+ pins = <4 5>;
+ };
+
+ pwm0_grp: pwm0_grp {
+ pins = <8>;
+ };
+
+ pwm1_grp: pwm1_grp {
+ pins = <9>;
+ };
+
+ pwm2_grp: pwm2_grp {
+ pins = <10>;
+ };
+
+ pwm3_grp: pwm3_grp {
+ pins = <11>;
+ };
+
+ uart1_grp: uart1_grp {
+ pins = <12 13 14 15>;
+ };
+ };
+
+ functions {
+ spi {
+ groups = <&spi_grp>;
+ };
+
+ i2c {
+ groups = <&i2c_grp>;
+ };
+
+ pwm {
+ groups = <&pwm0_grp &pwm1_grp &pwm2_grp &pwm3_grp>;
+ };
+
+ uart1 {
+ groups = <&uart1_grp>;
+ };
+ };
};
thermal: thermal at 2c0 {
--
2.31.1
More information about the linux-arm-kernel
mailing list