Skip to content

Commit c3e5f64

Browse files
committed
Merge tag 'xilinx-v2024.2' of https://github.com/Xilinx/linux-xlnx.git
This is the 2024.2 merge. Clean and with no conflicts.
2 parents 4a41313 + d852896 commit c3e5f64

File tree

235 files changed

+13976
-4242
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

235 files changed

+13976
-4242
lines changed

Documentation/ABI/testing/sysfs-bus-platform-onboard-usb-hub renamed to Documentation/ABI/testing/sysfs-bus-platform-onboard-usb-dev

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ Contact: Matthias Kaehlcke <matthias@kaehlcke.net>
55
linux-usb@vger.kernel.org
66
Description:
77
(RW) Controls whether the USB hub remains always powered
8-
during system suspend or not.
8+
during system suspend or not. This attribute is not
9+
available for non-hub devices.
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
Binding for IDT 8T49N24x Universal Frequency Translator
2+
3+
The 8T49N241 has one fractional-feedback PLL that can be used as a
4+
jitter attenuator and frequency translator. It is equipped with one
5+
integer and three fractional output dividers, allowing the generation
6+
of up to four different output frequencies, ranging from 8kHz to 1GHz.
7+
These frequencies are completely independent of each other, the input
8+
reference frequencies and the crystal reference frequency. The device
9+
places virtually no constraints on input to output frequency conversion,
10+
supporting all FEC rates, including the new revision of ITU-T
11+
Recommendation G.709 (2009), most with 0ppm conversion error.
12+
The outputs may select among LVPECL, LVDS, HCSL or LVCMOS output levels.
13+
14+
The driver can read a full register map from the DT, and will use that
15+
register map to initialize the attached part (via I2C) when the system
16+
boots. Any configuration not supported by the common clock framework
17+
must be done via the full register map, including optimized settings.
18+
19+
The 8T49N241 accepts up to two differential or single-ended input clocks
20+
and a fundamental-mode crystal input. The internal PLL can lock to either
21+
of the input reference clocks or just to the crystal to behave as a
22+
frequency synthesizer. The PLL can use the second input for redundant
23+
backup of the primary input reference, but in this case, both input clock
24+
references must be related in frequency.
25+
26+
All outputs are currently assumed to be LVDS, unless overridden in the
27+
full register map in the DT.
28+
29+
==I2C device node==
30+
31+
Required properties:
32+
- compatible: shall be one of "idt,idt8t49n241"
33+
- reg: i2c device address, shall be one of 0x7C, 0x6C, 0x7D, 0x6D,
34+
0x7E, 0x6E, 0x7F, 0x6F.
35+
- #clock-cells: From common clock bindings: Shall be 1.
36+
37+
- clocks: from common clock binding; input clock handle. Required.
38+
- clock-names: from common clock binding; clock input names, shall be
39+
one of "input-clk0", "input-clk1", "input-xtal". Required.
40+
41+
==Mapping between clock specifier and physical pins==
42+
43+
When referencing the provided clock in the DT using phandle and
44+
clock specifier, the following mapping applies:
45+
46+
8T49N241:
47+
0 -- Q0
48+
1 -- Q1
49+
2 -- Q2
50+
3 -- Q3
51+
52+
==Example==
53+
54+
/* Example1: 25MHz input clock (via CLK0) */
55+
56+
ref25: ref25m {
57+
compatible = "fixed-clock";
58+
#clock-cells = <0>;
59+
clock-frequency = <25000000>;
60+
};
61+
62+
i2c-master-node {
63+
64+
/* IDT 8T49N241 i2c universal frequency translator */
65+
i2c241: clock-generator@6a {
66+
compatible = "idt,idt8t49n241";
67+
reg = <0x6c>;
68+
#clock-cells = <1>;
69+
70+
/* Connect input-clk0 to 25MHz reference */
71+
clocks = <&ref25m>;
72+
clock-names = "input-clk0";
73+
};
74+
};
75+
76+
/* Consumer referencing the 8T49N241 pin Q1 */
77+
consumer {
78+
...
79+
clocks = <&i2c241 1>;
80+
...
81+
}
82+
83+
/* Example2: 40MHz xtal frequency, specify all settings */
84+
85+
ref40: ref40m {
86+
compatible = "fixed-clock";
87+
#clock-cells = <0>;
88+
clock-frequency = <40000000>;
89+
};
90+
91+
i2c-master-node {
92+
93+
/* IDT 8T49N241 i2c universal frequency translator */
94+
i2c241: clock-generator@6a {
95+
compatible = "idt,idt8t49n241";
96+
reg = <0x6c>;
97+
#clock-cells = <1>;
98+
99+
/* Connect input-xtal to 40MHz reference */
100+
clocks = <&ref40m>;
101+
clock-names = "input-xtal";
102+
103+
settings=[
104+
09 50 00 60 67 C5 6C FF 03 00 30 00 00 01 00 00
105+
01 07 00 00 07 00 00 77 6D 06 00 00 00 00 00 FF
106+
FF FF FF 00 3F 00 2A 00 16 33 33 00 01 00 00 D0
107+
00 00 00 00 00 00 00 00 00 04 00 00 00 02 00 00
108+
00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 00
109+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
110+
00 00 00 00 00 00 00 00 D7 0A 2B 20 00 00 00 0B
111+
00 00 00 00 00 00 00 00 00 00 27 00 00 00 00 00
112+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
113+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
114+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
115+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
116+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
117+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
118+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
119+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
120+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
121+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
122+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
123+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
124+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
125+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
126+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
127+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
128+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
129+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
130+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
131+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
132+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
133+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
134+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
135+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
136+
C3 00 08 01 00 00 00 00 00 00 00 00 00 30 00 00
137+
00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00
138+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
139+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
140+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
141+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
142+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
143+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
144+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
145+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
146+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
147+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
148+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
149+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
150+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
151+
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
152+
00 00 00 00 85 00 00 9C 01 D4 02 71 07 00 00 00
153+
00 83 00 10 02 08 8C
154+
];
155+
};
156+
};

Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ properties:
2424
const: 1
2525

2626
compatible:
27-
const: xlnx,zynqmp-dma-1.0
27+
enum:
28+
- amd,versal2-dma-1.0
29+
- xlnx,zynqmp-dma-1.0
2830

2931
reg:
3032
description: memory map for gdma/adma module access

Documentation/devicetree/bindings/iio/adc/xlnx,versal-sysmon.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ properties:
4242
'#size-cells':
4343
const: 0
4444

45+
'#io-channel-cells':
46+
const: 0
47+
4548
xlnx,numchannels:
4649
$ref: /schemas/types.yaml#/definitions/uint8
4750
description: |
@@ -87,6 +90,8 @@ patternProperties:
8790
- reg
8891
- xlnx,name
8992

93+
additionalProperties: false
94+
9095
required:
9196
- compatible
9297
- reg

Documentation/devicetree/bindings/media/xilinx/xlnx,isppipeline.yaml

Lines changed: 82 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ title: Xilinx Video ISP Pipeline IP
99
maintainers:
1010
- Kaushal Kumar <kaushal.kumar@amd.com>
1111
- Venkat Praveen Kancharlapalli <venkat.praveen.kancharlapalli@amd.com>
12+
- Mounik Katikala <mounik.katikala@amd.com>
1213

1314
description: |
1415
The Xilinx Video ISP pipeline IP is used to interface to a bayer video source.
@@ -17,11 +18,13 @@ description: |
1718
Gamma_lut array values are computed using compute_gamma function whose link is mentioned below:
1819
https://github.com/Xilinx/Vitis_Libraries/blob/de67b58ca9c7f4a76411103c0ecf9d467731b476/vision/L1/examples/isppipeline/xf_isp_tb.cpp#L313
1920
Link to product guide for ISP pipeline is mentioned below:
20-
https://docs.xilinx.com/r/en-US/Vitis_Libraries/vision/overview.html_3_8
21+
https://docs.amd.com/r/en-US/Vitis_Libraries/vision/index.html
2122
2223
properties:
2324
compatible:
24-
const: xlnx,isppipeline-1.0
25+
enum:
26+
- xlnx,isppipeline-1.0
27+
- xlnx,isppipeline-2.0
2528

2629
reg:
2730
maxItems: 1
@@ -107,6 +110,12 @@ properties:
107110

108111
additionalProperties: false
109112

113+
xlnx,video-width:
114+
$ref: /schemas/types.yaml#/definitions/uint32
115+
description: Width of the video data in bits
116+
enum: [8, 10, 12, 16]
117+
default: 10
118+
110119
required:
111120
- reg
112121
- endpoint
@@ -136,6 +145,12 @@ properties:
136145

137146
additionalProperties: false
138147

148+
xlnx,video-width:
149+
$ref: /schemas/types.yaml#/definitions/uint32
150+
description: Width of the video data in bits
151+
enum: [8, 10, 12, 16]
152+
default: 8
153+
139154
required:
140155
- reg
141156
- endpoint
@@ -155,21 +170,46 @@ required:
155170
- reg
156171
- clocks
157172
- reset-gpios
158-
- xlnx,max-width
159-
- xlnx,max-height
160-
- xlnx,rgain
161-
- xlnx,bgain
162-
- xlnx,pawb
163-
- xlnx,mode-reg
164173
- ports
165174

166175
additionalProperties: false
167176

177+
allOf:
178+
- if:
179+
properties:
180+
compatible:
181+
contains:
182+
const: xlnx,isppipeline-1.0
183+
then:
184+
required:
185+
- xlnx,max-height
186+
- xlnx,max-width
187+
- xlnx,rgain
188+
- xlnx,bgain
189+
- xlnx,pawb
190+
- xlnx,mode-reg
191+
192+
- if:
193+
properties:
194+
compatible:
195+
contains:
196+
const: xlnx,isppipeline-2.0
197+
then:
198+
properties:
199+
ports:
200+
properties:
201+
port@0:
202+
required:
203+
- xlnx,video-width
204+
port@1:
205+
required:
206+
- xlnx,video-width
207+
168208
examples:
169209
- |
170-
ISPPipeline: ISPPipeline@a40f0000 {
210+
ISPPipeline0: ISPPipeline@a40c0000 {
171211
compatible = "xlnx,isppipeline-1.0";
172-
reg = <0xa40f0000 0x10000>;
212+
reg = <0xa40c0000 0x10000>;
173213
clocks = <&misc_clk_0>;
174214
clock-names = "ap_clk";
175215
reset-gpios = <&gpio 87 1>;
@@ -186,17 +226,46 @@ examples:
186226
port@0 {
187227
/* Sink port */
188228
reg = <0>;
189-
isppipeline_in: endpoint {
229+
isppipeline0_in: endpoint {
190230
remote-endpoint = <&isp_csiss_out>;
191231
};
192232
};
193233
port@1 {
194234
/* Source port */
195235
reg = <1>;
196-
isppipeline_out: endpoint {
236+
isppipeline0_out: endpoint {
237+
remote-endpoint = <&isp_vcap_csi_in>;
238+
};
239+
};
240+
};
241+
};
242+
243+
- |
244+
ISPPipeline1: ISPPipeline@a40f0000 {
245+
compatible = "xlnx,isppipeline-2.0";
246+
reg = <0xa40f0000 0x10000>;
247+
clocks = <&misc_clk_0>;
248+
reset-gpios = <&gpio0 27 1>;
249+
ports {
250+
#address-cells = <1>;
251+
#size-cells = <0>;
252+
253+
port@0 {
254+
/* Sink port */
255+
reg = <0>;
256+
xlnx,video-width = <10>;
257+
isppipeline1_in: endpoint {
258+
remote-endpoint = <&isp_csiss_out>;
259+
};
260+
};
261+
262+
port@1 {
263+
/* Source port */
264+
reg = <1>;
265+
xlnx,video-width = <8>;
266+
isppipeline1_out: endpoint {
197267
remote-endpoint = <&isp_vcap_csi_in>;
198268
};
199269
};
200270
};
201271
};
202-
...

Documentation/devicetree/bindings/media/xilinx/xlnx,v-hdmi-rxss1.yaml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,18 @@ properties:
3030
maxItems: 1
3131

3232
interrupts:
33-
maxItems: 2
33+
maxItems: 5
34+
35+
interrupt-names:
36+
description: Only irq is mandatory. Others are optional.
37+
hdcp14_irq and hdcp14_timer_irq will be present when HDCP 1x is selected.
38+
hdcp22_irq and hdcp22_timer_irq will be present when HDCP 2x is selected.
39+
items:
40+
- const: hdcp14_irq
41+
- const: hdcp14_timer_irq
42+
- const: hdcp22_irq
43+
- const: hdcp22_timer_irq
44+
- const: irq
3445

3546
clocks:
3647
items:
@@ -172,6 +183,7 @@ required:
172183
- compatible
173184
- reg
174185
- interrupts
186+
- interrupt-names
175187
- clocks
176188
- clock-names
177189
- xlnx,edid-ram-size
@@ -194,7 +206,8 @@ examples:
194206
clock-names = "s_axi_cpu_aclk", "frl_clk", "s_axis_video_aclk";
195207
clocks = <&zynqmp_clk 71>, <&misc_clk_4>, <&misc_clk_5>;
196208
interrupt-parent = <&gic>;
197-
interrupts = <0 90 4>, <0 104 4>;
209+
interrupt-names = "hdcp14_irq", "hdcp14_timer_irq", "hdcp22_irq", "hdcp22_timer_irq", "irq";
210+
interrupts = <0 106 4>, <0 107 4>, <0 110 4>, <0 111 4>, <0 91 4>;
198211
xlnx,edid-ram-size = /bits/ 16 <0x100>;
199212
xlnx,input-pixels-per-clock = /bits/ 8 <0x8>;
200213
xlnx,max-bits-per-component = /bits/ 8 <0xa>;

Documentation/devicetree/bindings/net/can/xilinx,can.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ $id: http://devicetree.org/schemas/net/can/xilinx,can.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

77
title:
8-
Xilinx Axi CAN/Zynq CANPS controller
8+
Xilinx CAN and CANFD controller
99

1010
maintainers:
1111
- Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>

0 commit comments

Comments
 (0)