Skip to content

Commit 1fcf414

Browse files
committed
Merge tag 'riscv-dt-fixes-for-v7.1-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into arm/fixes
RISC-V devicetrees fixes for v7.1-rc3 Microchip: Fix a pinctrl misconfiguration caused by a erratum fixed between engineering sample and production silicon, that causes settings for one to not apply to the other. Starfive: Remove nodes relating to the "camss" video device that has been deleted entirely from staging. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> * tag 'riscv-dt-fixes-for-v7.1-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux: riscv: dts: microchip: fix icicle i2c pinctrl configuration riscv: dts: starfive: jh7110: Drop CAMSS node Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 7602c0e + 0df8aa2 commit 1fcf414

5 files changed

Lines changed: 30 additions & 64 deletions

File tree

arch/riscv/boot/dts/microchip/mpfs-icicle-kit-fabric.dtsi

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,6 @@
101101
status = "okay";
102102
};
103103

104-
&i2c0 {
105-
pinctrl-names = "default";
106-
pinctrl-0 = <&i2c0_fabric>;
107-
};
108-
109-
&i2c1 {
110-
pinctrl-names = "default";
111-
pinctrl-0 = <&i2c1_mssio>;
112-
};
113-
114104
&mmuart1 {
115105
pinctrl-names = "default";
116106
pinctrl-0 = <&uart1_fabric>;

arch/riscv/boot/dts/microchip/mpfs-icicle-kit-prod.dts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@
1414
"microchip,mpfs";
1515
};
1616

17+
&i2c0 {
18+
pinctrl-names = "default";
19+
pinctrl-0 = <&i2c0_fabric>;
20+
};
21+
22+
&i2c1 {
23+
pinctrl-names = "default";
24+
pinctrl-0 = <&i2c1_mssio>;
25+
};
26+
1727
&syscontroller {
1828
microchip,bitstream-flash = <&sys_ctrl_flash>;
1929
};

arch/riscv/boot/dts/microchip/mpfs-icicle-kit.dts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,22 @@
1111
"microchip,mpfs-icicle-kit",
1212
"microchip,mpfs";
1313
};
14+
15+
&i2c0 {
16+
pinctrl-names = "default";
17+
pinctrl-0 = <&i2c0_fabric>;
18+
};
19+
20+
/*
21+
* Due to silicon errata, routing via MSS IOs doesn't work on ES devices.
22+
* Instead, i2c1, appearing on B1/C1, which are normally MSS IOs, is routed
23+
* via the fabric and back to B1/C1 via "fabric-test" functionality.
24+
* This is done silently by Libero, so the iomux0 setting for i2c1 has to
25+
* be fabric IO, despite tooling etc saying that MSS IOs are used.
26+
*
27+
* See Section 3.3 of https://ww1.microchip.com/downloads/aemDocuments/documents/FPGA/ProductDocuments/Errata/polarfiresoc/microsemi_polarfire_soc_fpga_egineering_samples_errata_er0219_v1.pdf
28+
*/
29+
&i2c1 {
30+
pinctrl-names = "default";
31+
pinctrl-0 = <&i2c1_fabric>;
32+
};

arch/riscv/boot/dts/starfive/jh7110-common.dtsi

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -135,29 +135,6 @@
135135
clock-frequency = <49152000>;
136136
};
137137

138-
&camss {
139-
assigned-clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
140-
<&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>;
141-
assigned-clock-rates = <49500000>, <198000000>;
142-
143-
ports {
144-
#address-cells = <1>;
145-
#size-cells = <0>;
146-
147-
port@0 {
148-
reg = <0>;
149-
};
150-
151-
port@1 {
152-
reg = <1>;
153-
154-
camss_from_csi2rx: endpoint {
155-
remote-endpoint = <&csi2rx_to_camss>;
156-
};
157-
};
158-
};
159-
};
160-
161138
&csi2rx {
162139
assigned-clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>;
163140
assigned-clock-rates = <297000000>;
@@ -175,9 +152,7 @@
175152
port@1 {
176153
reg = <1>;
177154

178-
csi2rx_to_camss: endpoint {
179-
remote-endpoint = <&camss_from_csi2rx>;
180-
};
155+
/* remote CAMSS endpoint */
181156
};
182157
};
183158
};

arch/riscv/boot/dts/starfive/jh7110.dtsi

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1199,34 +1199,6 @@
11991199
#phy-cells = <0>;
12001200
};
12011201

1202-
camss: isp@19840000 {
1203-
compatible = "starfive,jh7110-camss";
1204-
reg = <0x0 0x19840000 0x0 0x10000>,
1205-
<0x0 0x19870000 0x0 0x30000>;
1206-
reg-names = "syscon", "isp";
1207-
clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
1208-
<&ispcrg JH7110_ISPCLK_ISPV2_TOP_WRAPPER_C>,
1209-
<&ispcrg JH7110_ISPCLK_DVP_INV>,
1210-
<&ispcrg JH7110_ISPCLK_VIN_P_AXI_WR>,
1211-
<&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>,
1212-
<&syscrg JH7110_SYSCLK_ISP_TOP_CORE>,
1213-
<&syscrg JH7110_SYSCLK_ISP_TOP_AXI>;
1214-
clock-names = "apb_func", "wrapper_clk_c", "dvp_inv",
1215-
"axiwr", "mipi_rx0_pxl", "ispcore_2x",
1216-
"isp_axi";
1217-
resets = <&ispcrg JH7110_ISPRST_ISPV2_TOP_WRAPPER_P>,
1218-
<&ispcrg JH7110_ISPRST_ISPV2_TOP_WRAPPER_C>,
1219-
<&ispcrg JH7110_ISPRST_VIN_P_AXI_RD>,
1220-
<&ispcrg JH7110_ISPRST_VIN_P_AXI_WR>,
1221-
<&syscrg JH7110_SYSRST_ISP_TOP>,
1222-
<&syscrg JH7110_SYSRST_ISP_TOP_AXI>;
1223-
reset-names = "wrapper_p", "wrapper_c", "axird",
1224-
"axiwr", "isp_top_n", "isp_top_axi";
1225-
power-domains = <&pwrc JH7110_PD_ISP>;
1226-
interrupts = <92>, <87>, <90>, <88>;
1227-
status = "disabled";
1228-
};
1229-
12301202
voutcrg: clock-controller@295c0000 {
12311203
compatible = "starfive,jh7110-voutcrg";
12321204
reg = <0x0 0x295c0000 0x0 0x10000>;

0 commit comments

Comments
 (0)