Skip to content

Commit 3ef7f2a

Browse files
jbylickihenrikbrixandersen
authored andcommitted
boards: arm: mercury_xu: Add remaining UART pin definitions
Add remaining UART0 pin definitions and migrate UART1 to utilize the pinmux api Signed-off-by: Jan Bylicki <[email protected]>
1 parent 3042cb8 commit 3ef7f2a

File tree

3 files changed

+108
-2
lines changed

3 files changed

+108
-2
lines changed

boards/arm/mercury_xu/mercury_xu-pinctrl.dtsi

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,13 @@
1515
pinmux = <UART0_TX_39>;
1616
};
1717
};
18+
uart1_default: uart1_default {
19+
group1 {
20+
pinmux = <UART1_RX_21>;
21+
};
22+
group2 {
23+
pinmux = <UART1_TX_20>;
24+
};
25+
};
26+
1827
};

boards/arm/mercury_xu/mercury_xu.dts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,16 @@
3333
pinctrl-names = "default";
3434
};
3535

36+
&uart1 {
37+
pinctrl-0 = <&uart1_default>;
38+
pinctrl-names = "default";
39+
};
40+
3641
&ttc0 {
3742
status = "okay";
3843
clock-frequency = <5000000>;
3944
};
45+
46+
&psgpio {
47+
status = "okay";
48+
};

include/zephyr/dt-bindings/pinctrl/pinctrl-zynqmp.h

Lines changed: 90 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,98 @@
77
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ZYNQMP_PINCTRL_H_
88
#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ZYNQMP_PINCTRL_H_
99

10+
/*
11+
* The offset is defined at `pictrl_soc.h` for the ZynqMP platform
12+
*/
13+
#define FUNCTION_OFFSET 8
1014
#define UART_FUNCTION 0x1
1115

12-
#define UART0_RX_38 (38U | (UART_FUNCTION << 8))
13-
#define UART0_TX_39 (39U | (UART_FUNCTION << 8))
16+
/*
17+
* For functions that can be selected for a subset of MIO pins,
18+
* specific macro identifiers were generated to avoid complex checking
19+
* logic at compile time. For more generalized applications existing on
20+
* every pin (eg. GPIO), a generic macro function to generate a driver-compliant
21+
* selector value can be used.
22+
*/
23+
24+
#define UART0_RX_2 (2U | (UART_FUNCTION << FUNCTION_OFFSET))
25+
#define UART0_RX_6 (6U | (UART_FUNCTION << FUNCTION_OFFSET))
26+
#define UART0_RX_10 (10U | (UART_FUNCTION << FUNCTION_OFFSET))
27+
#define UART0_RX_14 (14U | (UART_FUNCTION << FUNCTION_OFFSET))
28+
#define UART0_RX_18 (18U | (UART_FUNCTION << FUNCTION_OFFSET))
29+
#define UART0_RX_22 (22U | (UART_FUNCTION << FUNCTION_OFFSET))
30+
#define UART0_RX_26 (26U | (UART_FUNCTION << FUNCTION_OFFSET))
31+
#define UART0_RX_30 (30U | (UART_FUNCTION << FUNCTION_OFFSET))
32+
#define UART0_RX_34 (34U | (UART_FUNCTION << FUNCTION_OFFSET))
33+
#define UART0_RX_38 (38U | (UART_FUNCTION << FUNCTION_OFFSET))
34+
#define UART0_RX_42 (42U | (UART_FUNCTION << FUNCTION_OFFSET))
35+
#define UART0_RX_46 (46U | (UART_FUNCTION << FUNCTION_OFFSET))
36+
#define UART0_RX_50 (50U | (UART_FUNCTION << FUNCTION_OFFSET))
37+
#define UART0_RX_54 (54U | (UART_FUNCTION << FUNCTION_OFFSET))
38+
#define UART0_RX_58 (58U | (UART_FUNCTION << FUNCTION_OFFSET))
39+
#define UART0_RX_62 (62U | (UART_FUNCTION << FUNCTION_OFFSET))
40+
#define UART0_RX_66 (66U | (UART_FUNCTION << FUNCTION_OFFSET))
41+
#define UART0_RX_70 (70U | (UART_FUNCTION << FUNCTION_OFFSET))
42+
#define UART0_RX_74 (74U | (UART_FUNCTION << FUNCTION_OFFSET))
43+
44+
#define UART0_TX_3 (3U | (UART_FUNCTION << FUNCTION_OFFSET))
45+
#define UART0_TX_7 (7U | (UART_FUNCTION << FUNCTION_OFFSET))
46+
#define UART0_TX_11 (11U | (UART_FUNCTION << FUNCTION_OFFSET))
47+
#define UART0_TX_15 (15U | (UART_FUNCTION << FUNCTION_OFFSET))
48+
#define UART0_TX_19 (19U | (UART_FUNCTION << FUNCTION_OFFSET))
49+
#define UART0_TX_23 (23U | (UART_FUNCTION << FUNCTION_OFFSET))
50+
#define UART0_TX_27 (27U | (UART_FUNCTION << FUNCTION_OFFSET))
51+
#define UART0_TX_31 (31U | (UART_FUNCTION << FUNCTION_OFFSET))
52+
#define UART0_TX_35 (35U | (UART_FUNCTION << FUNCTION_OFFSET))
53+
#define UART0_TX_39 (39U | (UART_FUNCTION << FUNCTION_OFFSET))
54+
#define UART0_TX_43 (43U | (UART_FUNCTION << FUNCTION_OFFSET))
55+
#define UART0_TX_47 (47U | (UART_FUNCTION << FUNCTION_OFFSET))
56+
#define UART0_TX_51 (51U | (UART_FUNCTION << FUNCTION_OFFSET))
57+
#define UART0_TX_55 (55U | (UART_FUNCTION << FUNCTION_OFFSET))
58+
#define UART0_TX_59 (59U | (UART_FUNCTION << FUNCTION_OFFSET))
59+
#define UART0_TX_63 (63U | (UART_FUNCTION << FUNCTION_OFFSET))
60+
#define UART0_TX_67 (67U | (UART_FUNCTION << FUNCTION_OFFSET))
61+
#define UART0_TX_71 (71U | (UART_FUNCTION << FUNCTION_OFFSET))
62+
#define UART0_TX_75 (75U | (UART_FUNCTION << FUNCTION_OFFSET))
63+
64+
#define UART1_RX_1 (1U | (UART_FUNCTION << FUNCTION_OFFSET))
65+
#define UART1_RX_5 (5U | (UART_FUNCTION << FUNCTION_OFFSET))
66+
#define UART1_RX_9 (9U | (UART_FUNCTION << FUNCTION_OFFSET))
67+
#define UART1_RX_13 (13U | (UART_FUNCTION << FUNCTION_OFFSET))
68+
#define UART1_RX_17 (17U | (UART_FUNCTION << FUNCTION_OFFSET))
69+
#define UART1_RX_21 (21U | (UART_FUNCTION << FUNCTION_OFFSET))
70+
#define UART1_RX_25 (25U | (UART_FUNCTION << FUNCTION_OFFSET))
71+
#define UART1_RX_29 (29U | (UART_FUNCTION << FUNCTION_OFFSET))
72+
#define UART1_RX_33 (33U | (UART_FUNCTION << FUNCTION_OFFSET))
73+
#define UART1_RX_37 (37U | (UART_FUNCTION << FUNCTION_OFFSET))
74+
#define UART1_RX_41 (41U | (UART_FUNCTION << FUNCTION_OFFSET))
75+
#define UART1_RX_45 (45U | (UART_FUNCTION << FUNCTION_OFFSET))
76+
#define UART1_RX_49 (49U | (UART_FUNCTION << FUNCTION_OFFSET))
77+
#define UART1_RX_53 (53U | (UART_FUNCTION << FUNCTION_OFFSET))
78+
#define UART1_RX_57 (57U | (UART_FUNCTION << FUNCTION_OFFSET))
79+
#define UART1_RX_61 (61U | (UART_FUNCTION << FUNCTION_OFFSET))
80+
#define UART1_RX_65 (65U | (UART_FUNCTION << FUNCTION_OFFSET))
81+
#define UART1_RX_69 (69U | (UART_FUNCTION << FUNCTION_OFFSET))
82+
#define UART1_RX_73 (73U | (UART_FUNCTION << FUNCTION_OFFSET))
1483

84+
#define UART1_TX_0 (0U | (UART_FUNCTION << FUNCTION_OFFSET))
85+
#define UART1_TX_4 (4U | (UART_FUNCTION << FUNCTION_OFFSET))
86+
#define UART1_TX_8 (8U | (UART_FUNCTION << FUNCTION_OFFSET))
87+
#define UART1_TX_12 (12U | (UART_FUNCTION << FUNCTION_OFFSET))
88+
#define UART1_TX_16 (16U | (UART_FUNCTION << FUNCTION_OFFSET))
89+
#define UART1_TX_20 (20U | (UART_FUNCTION << FUNCTION_OFFSET))
90+
#define UART1_TX_24 (24U | (UART_FUNCTION << FUNCTION_OFFSET))
91+
#define UART1_TX_28 (28U | (UART_FUNCTION << FUNCTION_OFFSET))
92+
#define UART1_TX_32 (32U | (UART_FUNCTION << FUNCTION_OFFSET))
93+
#define UART1_TX_36 (36U | (UART_FUNCTION << FUNCTION_OFFSET))
94+
#define UART1_TX_40 (40U | (UART_FUNCTION << FUNCTION_OFFSET))
95+
#define UART1_TX_44 (44U | (UART_FUNCTION << FUNCTION_OFFSET))
96+
#define UART1_TX_48 (28U | (UART_FUNCTION << FUNCTION_OFFSET))
97+
#define UART1_TX_52 (52U | (UART_FUNCTION << FUNCTION_OFFSET))
98+
#define UART1_TX_56 (56U | (UART_FUNCTION << FUNCTION_OFFSET))
99+
#define UART1_TX_60 (60U | (UART_FUNCTION << FUNCTION_OFFSET))
100+
#define UART1_TX_64 (64U | (UART_FUNCTION << FUNCTION_OFFSET))
101+
#define UART1_TX_68 (28U | (UART_FUNCTION << FUNCTION_OFFSET))
102+
#define UART1_TX_72 (72U | (UART_FUNCTION << FUNCTION_OFFSET))
15103

16104
#endif

0 commit comments

Comments
 (0)