mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 07:31:29 +00:00
RISC-V Devicetrees for v6.9
Microchip: Missing bus clocks for the CAN controllers spotted during the creation of a driver for the controllers and a specific compatible for the SiFive PDMA block on PolarFire SoC. Starfive: PWM nodes for the jh7100 and jh7110. Camera subsystem support for the latter. Most notably however is the addition of ethernet support for the jh7110 which finally allows people to use the network on the OG VisionFive and on the Beagle-V Starlight board. This was made possible by the non-standard cache management operations support added for the RZ/Five which could be extended to the ccache present on the jh7100. bindings: Additional clarification for what the reg property represents for cpus and two opencores PWM binding changes - the original addition and an added compatible. The latter is here as the driver patch was not ready but the PWM maintainer told me to go ahead and merge it. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZed3VgAKCRB4tDGHoIJi 0rfBAP9n6/i9bitGfqZHXKc1CpqwIWb8sw28OC4u6UWaNEzSmQEA0R0bagMcfVDi szpu4+58Bk4hbd/6lOwacdskEUp0bwU= =gBjh -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXoD90ACgkQYKtH/8kJ Uicd9hAAny3U0DB36GMakjIJJkBMSrrbIydydt9mSdkOjsgAt6qUUpBahbMjGE3+ U688dtHOMlsZ0ZubVngN+xYtI6xOXP9SU0+P3u/reCQ8SSZnbtndtwmRFd8ZHJFT Nx5MSl71SzzSL7E3vT638VlZvcq0a5fcUKPZql40iLUnY0iJ6IdcU8cZLWoqkOZF R2zhCUGzLuRrAZF9nPgAKGHwPskq1gqWMMCnLf6NIgaxfjf8POuGAgJBVJ1CYg0P kSzXUrEphjD+IpCbffkGJ1epq1+SbYfYo6P9MisiWbv8/xvoZ+VJnbTb+NLg3Wuo i8B5uFOBi65rLCCErDDYNr2huESHHC8IN9ndvRG/eXTaLek4WhJ1cxXDPHBzN9OF DMKKgSeRZnMj/EQ0jQQPK0I9KymVdy+qwAhAr0DKEzGSiiu1hVlxfvspq+EzW9DR O9v2+hRCALpripRGf7wVG+16HtzvbbH1hHGABb4YTl3rf0bSqXTt84wIQ9MBSe+e nFsCnOdA5zNBN3gtiKlbYQE/jiTYCeyqfCJOwXlw83KKSGJfNG+mTOR/vhpVOAbq Djb6dEemeYxZ95P5PFSqm7GOttZWI3vthyWpPeF1qfGuZ6g55+zZyZHsVKevkWzd 54Z/rpLdUBeDRkwNLa9W0r/5oZOLNccKhkS9Qy6umjSsBXa14qA= =0UyT -----END PGP SIGNATURE----- Merge tag 'riscv-dt-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/late RISC-V Devicetrees for v6.9 Microchip: Missing bus clocks for the CAN controllers spotted during the creation of a driver for the controllers and a specific compatible for the SiFive PDMA block on PolarFire SoC. Starfive: PWM nodes for the jh7100 and jh7110. Camera subsystem support for the latter. Most notably however is the addition of ethernet support for the jh7110 which finally allows people to use the network on the OG VisionFive and on the Beagle-V Starlight board. This was made possible by the non-standard cache management operations support added for the RZ/Five which could be extended to the ccache present on the jh7100. bindings: Additional clarification for what the reg property represents for cpus and two opencores PWM binding changes - the original addition and an added compatible. The latter is here as the driver patch was not ready but the PWM maintainer told me to go ahead and merge it. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> * tag 'riscv-dt-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux: riscv: dts: starfive: jh7110: Add camera subsystem nodes dt-bindings: pwm: opencores: Add compatible for StarFive JH8100 dt-bindings: riscv: cpus: reg matches hart ID riscv: dts: microchip: add specific compatible for mpfs pdma riscv: dts: microchip: add missing CAN bus clocks riscv: dts: starfive: beaglev-starlight: Setup phy reset gpio riscv: dts: starfive: visionfive-v1: Setup ethernet phy riscv: dts: starfive: jh7100-common: Setup pinmux and enable gmac riscv: dts: starfive: jh7100: Add sysmain and gmac DT nodes riscv: dts: starfive: jh7110: Add PWM node and pins configuration riscv: dts: starfive: jh7100: Add PWM node and pins configuration dt-bindings: pwm: Add bindings for OpenCores PWM Controller Link: https://lore.kernel.org/r/20240305-iodine-moneywise-53797ae9bf6e@spud Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
ee7dad0b81
56
Documentation/devicetree/bindings/pwm/opencores,pwm.yaml
Normal file
56
Documentation/devicetree/bindings/pwm/opencores,pwm.yaml
Normal file
@ -0,0 +1,56 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/pwm/opencores,pwm.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: OpenCores PWM controller
|
||||
|
||||
maintainers:
|
||||
- William Qiu <william.qiu@starfivetech.com>
|
||||
|
||||
description:
|
||||
The OpenCores PTC ip core contains a PWM controller. When operating in PWM
|
||||
mode, the PTC core generates binary signal with user-programmable low and
|
||||
high periods. All PTC counters and registers are 32-bit.
|
||||
|
||||
allOf:
|
||||
- $ref: pwm.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- starfive,jh7100-pwm
|
||||
- starfive,jh7110-pwm
|
||||
- starfive,jh8100-pwm
|
||||
- const: opencores,pwm-v1
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
"#pwm-cells":
|
||||
const: 3
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pwm@12490000 {
|
||||
compatible = "starfive,jh7110-pwm", "opencores,pwm-v1";
|
||||
reg = <0x12490000 0x10000>;
|
||||
clocks = <&clkgen 181>;
|
||||
resets = <&rstgen 109>;
|
||||
#pwm-cells = <3>;
|
||||
};
|
@ -75,6 +75,10 @@ properties:
|
||||
- riscv,sv57
|
||||
- riscv,none
|
||||
|
||||
reg:
|
||||
description:
|
||||
The hart ID of this CPU node.
|
||||
|
||||
riscv,cbom-block-size:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
|
@ -243,7 +243,7 @@
|
||||
};
|
||||
|
||||
pdma: dma-controller@3000000 {
|
||||
compatible = "sifive,fu540-c000-pdma", "sifive,pdma0";
|
||||
compatible = "microchip,mpfs-pdma", "sifive,pdma0";
|
||||
reg = <0x0 0x3000000 0x0 0x8000>;
|
||||
interrupt-parent = <&plic>;
|
||||
interrupts = <5 6>, <7 8>, <9 10>, <11 12>;
|
||||
@ -422,7 +422,7 @@
|
||||
can0: can@2010c000 {
|
||||
compatible = "microchip,mpfs-can";
|
||||
reg = <0x0 0x2010c000 0x0 0x1000>;
|
||||
clocks = <&clkcfg CLK_CAN0>;
|
||||
clocks = <&clkcfg CLK_CAN0>, <&clkcfg CLK_MSSPLL3>;
|
||||
interrupt-parent = <&plic>;
|
||||
interrupts = <56>;
|
||||
status = "disabled";
|
||||
@ -431,7 +431,7 @@
|
||||
can1: can@2010d000 {
|
||||
compatible = "microchip,mpfs-can";
|
||||
reg = <0x0 0x2010d000 0x0 0x1000>;
|
||||
clocks = <&clkcfg CLK_CAN1>;
|
||||
clocks = <&clkcfg CLK_CAN1>, <&clkcfg CLK_MSSPLL3>;
|
||||
interrupt-parent = <&plic>;
|
||||
interrupts = <57>;
|
||||
status = "disabled";
|
||||
|
@ -11,3 +11,14 @@
|
||||
model = "BeagleV Starlight Beta";
|
||||
compatible = "beagle,beaglev-starlight-jh7100-r0", "starfive,jh7100";
|
||||
};
|
||||
|
||||
&gmac {
|
||||
phy-handle = <&phy>;
|
||||
};
|
||||
|
||||
&mdio {
|
||||
phy: ethernet-phy@7 {
|
||||
reg = <7>;
|
||||
reset-gpios = <&gpio 63 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
@ -72,7 +72,91 @@
|
||||
};
|
||||
};
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_pins>;
|
||||
phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
|
||||
mdio: mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "snps,dwmac-mdio";
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
gmac_pins: gmac-0 {
|
||||
gtxclk-pins {
|
||||
pins = <PAD_FUNC_SHARE(115)>;
|
||||
bias-pull-up;
|
||||
drive-strength = <35>;
|
||||
input-enable;
|
||||
input-schmitt-enable;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
miitxclk-pins {
|
||||
pins = <PAD_FUNC_SHARE(116)>;
|
||||
bias-pull-up;
|
||||
drive-strength = <14>;
|
||||
input-enable;
|
||||
input-schmitt-disable;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
tx-pins {
|
||||
pins = <PAD_FUNC_SHARE(117)>,
|
||||
<PAD_FUNC_SHARE(119)>,
|
||||
<PAD_FUNC_SHARE(120)>,
|
||||
<PAD_FUNC_SHARE(121)>,
|
||||
<PAD_FUNC_SHARE(122)>,
|
||||
<PAD_FUNC_SHARE(123)>,
|
||||
<PAD_FUNC_SHARE(124)>,
|
||||
<PAD_FUNC_SHARE(125)>,
|
||||
<PAD_FUNC_SHARE(126)>;
|
||||
bias-pull-up;
|
||||
drive-strength = <35>;
|
||||
input-disable;
|
||||
input-schmitt-disable;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
rxclk-pins {
|
||||
pins = <PAD_FUNC_SHARE(127)>;
|
||||
bias-pull-up;
|
||||
drive-strength = <14>;
|
||||
input-enable;
|
||||
input-schmitt-disable;
|
||||
slew-rate = <6>;
|
||||
};
|
||||
rxer-pins {
|
||||
pins = <PAD_FUNC_SHARE(129)>;
|
||||
bias-pull-up;
|
||||
drive-strength = <14>;
|
||||
input-enable;
|
||||
input-schmitt-disable;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
rx-pins {
|
||||
pins = <PAD_FUNC_SHARE(128)>,
|
||||
<PAD_FUNC_SHARE(130)>,
|
||||
<PAD_FUNC_SHARE(131)>,
|
||||
<PAD_FUNC_SHARE(132)>,
|
||||
<PAD_FUNC_SHARE(133)>,
|
||||
<PAD_FUNC_SHARE(134)>,
|
||||
<PAD_FUNC_SHARE(135)>,
|
||||
<PAD_FUNC_SHARE(136)>,
|
||||
<PAD_FUNC_SHARE(137)>,
|
||||
<PAD_FUNC_SHARE(138)>,
|
||||
<PAD_FUNC_SHARE(139)>,
|
||||
<PAD_FUNC_SHARE(140)>,
|
||||
<PAD_FUNC_SHARE(141)>;
|
||||
bias-pull-up;
|
||||
drive-strength = <14>;
|
||||
input-enable;
|
||||
input-schmitt-enable;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0-0 {
|
||||
i2c-pins {
|
||||
pinmux = <GPIOMUX(62, GPO_LOW,
|
||||
@ -115,6 +199,24 @@
|
||||
};
|
||||
};
|
||||
|
||||
pwm_pins: pwm-0 {
|
||||
pwm-pins {
|
||||
pinmux = <GPIOMUX(7,
|
||||
GPO_PWM_PAD_OUT_BIT0,
|
||||
GPO_PWM_PAD_OE_N_BIT0,
|
||||
GPI_NONE)>,
|
||||
<GPIOMUX(5,
|
||||
GPO_PWM_PAD_OUT_BIT1,
|
||||
GPO_PWM_PAD_OE_N_BIT1,
|
||||
GPI_NONE)>;
|
||||
bias-disable;
|
||||
drive-strength = <35>;
|
||||
input-disable;
|
||||
input-schmitt-disable;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
sdio0_pins: sdio0-0 {
|
||||
clk-pins {
|
||||
pinmux = <GPIOMUX(54, GPO_SDIO0_PAD_CCLK_OUT,
|
||||
@ -257,6 +359,12 @@
|
||||
clock-frequency = <27000000>;
|
||||
};
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdio0 {
|
||||
broken-cd;
|
||||
bus-width = <4>;
|
||||
|
@ -6,7 +6,6 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "jh7100-common.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "StarFive VisionFive V1";
|
||||
@ -18,3 +17,24 @@
|
||||
priority = <224>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac {
|
||||
phy-handle = <&phy>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The board uses a Motorcomm YT8521 PHY supporting RGMII-ID, but requires
|
||||
* manual adjustment of the RX internal delay to work properly. The default
|
||||
* RX delay provided by the driver (1.95ns) is too high, but applying a 50%
|
||||
* reduction seems to mitigate the issue.
|
||||
*
|
||||
* It is worth noting the adjustment is not necessary on BeagleV Starlight SBC,
|
||||
* which uses a Microchip PHY. Hence, most likely the Motorcomm PHY is the one
|
||||
* responsible for the misbehaviour, not the GMAC.
|
||||
*/
|
||||
&mdio {
|
||||
phy: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
rx-internal-delay-ps = <900>;
|
||||
};
|
||||
};
|
||||
|
@ -204,6 +204,37 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gmac: ethernet@10020000 {
|
||||
compatible = "starfive,jh7100-dwmac", "snps,dwmac";
|
||||
reg = <0x0 0x10020000 0x0 0x10000>;
|
||||
clocks = <&clkgen JH7100_CLK_GMAC_ROOT_DIV>,
|
||||
<&clkgen JH7100_CLK_GMAC_AHB>,
|
||||
<&clkgen JH7100_CLK_GMAC_PTP_REF>,
|
||||
<&clkgen JH7100_CLK_GMAC_TX_INV>,
|
||||
<&clkgen JH7100_CLK_GMAC_GTX>;
|
||||
clock-names = "stmmaceth", "pclk", "ptp_ref", "tx", "gtx";
|
||||
resets = <&rstgen JH7100_RSTN_GMAC_AHB>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <6>, <7>;
|
||||
interrupt-names = "macirq", "eth_wake_irq";
|
||||
max-frame-size = <9000>;
|
||||
snps,multicast-filter-bins = <32>;
|
||||
snps,perfect-filter-entries = <128>;
|
||||
starfive,syscon = <&sysmain 0x70 0>;
|
||||
rx-fifo-depth = <32768>;
|
||||
tx-fifo-depth = <16384>;
|
||||
snps,axi-config = <&stmmac_axi_setup>;
|
||||
snps,fixed-burst;
|
||||
snps,force_thresh_dma_mode;
|
||||
status = "disabled";
|
||||
|
||||
stmmac_axi_setup: stmmac-axi-config {
|
||||
snps,wr_osr_lmt = <16>;
|
||||
snps,rd_osr_lmt = <16>;
|
||||
snps,blen = <256 128 64 32 0 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
clkgen: clock-controller@11800000 {
|
||||
compatible = "starfive,jh7100-clkgen";
|
||||
reg = <0x0 0x11800000 0x0 0x10000>;
|
||||
@ -218,6 +249,11 @@
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
sysmain: syscon@11850000 {
|
||||
compatible = "starfive,jh7100-sysmain", "syscon";
|
||||
reg = <0x0 0x11850000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
i2c0: i2c@118b0000 {
|
||||
compatible = "snps,designware-i2c";
|
||||
reg = <0x0 0x118b0000 0x0 0x10000>;
|
||||
@ -320,6 +356,15 @@
|
||||
<&rstgen JH7100_RSTN_WDT>;
|
||||
};
|
||||
|
||||
pwm: pwm@12490000 {
|
||||
compatible = "starfive,jh7100-pwm", "opencores,pwm-v1";
|
||||
reg = <0x0 0x12490000 0x0 0x10000>;
|
||||
clocks = <&clkgen JH7100_CLK_PWM_APB>;
|
||||
resets = <&rstgen JH7100_RSTN_PWM_APB>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sfctemp: temperature-sensor@124a0000 {
|
||||
compatible = "starfive,jh7100-temp";
|
||||
reg = <0x0 0x124a0000 0x0 0x10000>;
|
||||
|
@ -125,6 +125,55 @@
|
||||
clock-frequency = <49152000>;
|
||||
};
|
||||
|
||||
&camss {
|
||||
assigned-clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
|
||||
<&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>;
|
||||
assigned-clock-rates = <49500000>, <198000000>;
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
camss_from_csi2rx: endpoint {
|
||||
remote-endpoint = <&csi2rx_to_camss>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&csi2rx {
|
||||
assigned-clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>;
|
||||
assigned-clock-rates = <297000000>;
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
/* remote MIPI sensor endpoint */
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
csi2rx_to_camss: endpoint {
|
||||
remote-endpoint = <&camss_from_csi2rx>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "rgmii-id";
|
||||
@ -323,6 +372,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins>;
|
||||
@ -513,6 +568,22 @@
|
||||
};
|
||||
};
|
||||
|
||||
pwm_pins: pwm-0 {
|
||||
pwm-pins {
|
||||
pinmux = <GPIOMUX(46, GPOUT_SYS_PWM_CHANNEL0,
|
||||
GPOEN_SYS_PWM0_CHANNEL0,
|
||||
GPI_NONE)>,
|
||||
<GPIOMUX(59, GPOUT_SYS_PWM_CHANNEL1,
|
||||
GPOEN_SYS_PWM0_CHANNEL1,
|
||||
GPI_NONE)>;
|
||||
bias-disable;
|
||||
drive-strength = <12>;
|
||||
input-disable;
|
||||
input-schmitt-disable;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
spi0_pins: spi0-0 {
|
||||
mosi-pins {
|
||||
pinmux = <GPIOMUX(52, GPOUT_SYS_SPI0_TXD,
|
||||
|
@ -829,6 +829,15 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm: pwm@120d0000 {
|
||||
compatible = "starfive,jh7110-pwm", "opencores,pwm-v1";
|
||||
reg = <0x0 0x120d0000 0x0 0x10000>;
|
||||
clocks = <&syscrg JH7110_SYSCLK_PWM_APB>;
|
||||
resets = <&syscrg JH7110_SYSRST_PWM_APB>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sfctemp: temperature-sensor@120e0000 {
|
||||
compatible = "starfive,jh7110-temp";
|
||||
reg = <0x0 0x120e0000 0x0 0x10000>;
|
||||
@ -1104,6 +1113,32 @@
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
csi2rx: csi@19800000 {
|
||||
compatible = "starfive,jh7110-csi2rx", "cdns,csi2rx";
|
||||
reg = <0x0 0x19800000 0x0 0x10000>;
|
||||
clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>,
|
||||
<&ispcrg JH7110_ISPCLK_VIN_APB>,
|
||||
<&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF0>,
|
||||
<&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF1>,
|
||||
<&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF2>,
|
||||
<&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF3>;
|
||||
clock-names = "sys_clk", "p_clk",
|
||||
"pixel_if0_clk", "pixel_if1_clk",
|
||||
"pixel_if2_clk", "pixel_if3_clk";
|
||||
resets = <&ispcrg JH7110_ISPRST_VIN_SYS>,
|
||||
<&ispcrg JH7110_ISPRST_VIN_APB>,
|
||||
<&ispcrg JH7110_ISPRST_VIN_PIXEL_IF0>,
|
||||
<&ispcrg JH7110_ISPRST_VIN_PIXEL_IF1>,
|
||||
<&ispcrg JH7110_ISPRST_VIN_PIXEL_IF2>,
|
||||
<&ispcrg JH7110_ISPRST_VIN_PIXEL_IF3>;
|
||||
reset-names = "sys", "reg_bank",
|
||||
"pixel_if0", "pixel_if1",
|
||||
"pixel_if2", "pixel_if3";
|
||||
phys = <&csi_phy>;
|
||||
phy-names = "dphy";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ispcrg: clock-controller@19810000 {
|
||||
compatible = "starfive,jh7110-ispcrg";
|
||||
reg = <0x0 0x19810000 0x0 0x10000>;
|
||||
@ -1121,6 +1156,47 @@
|
||||
power-domains = <&pwrc JH7110_PD_ISP>;
|
||||
};
|
||||
|
||||
csi_phy: phy@19820000 {
|
||||
compatible = "starfive,jh7110-dphy-rx";
|
||||
reg = <0x0 0x19820000 0x0 0x10000>;
|
||||
clocks = <&ispcrg JH7110_ISPCLK_M31DPHY_CFG_IN>,
|
||||
<&ispcrg JH7110_ISPCLK_M31DPHY_REF_IN>,
|
||||
<&ispcrg JH7110_ISPCLK_M31DPHY_TX_ESC_LAN0>;
|
||||
clock-names = "cfg", "ref", "tx";
|
||||
resets = <&ispcrg JH7110_ISPRST_M31DPHY_HW>,
|
||||
<&ispcrg JH7110_ISPRST_M31DPHY_B09_AON>;
|
||||
power-domains = <&aon_syscon JH7110_AON_PD_DPHY_RX>;
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
camss: isp@19840000 {
|
||||
compatible = "starfive,jh7110-camss";
|
||||
reg = <0x0 0x19840000 0x0 0x10000>,
|
||||
<0x0 0x19870000 0x0 0x30000>;
|
||||
reg-names = "syscon", "isp";
|
||||
clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
|
||||
<&ispcrg JH7110_ISPCLK_ISPV2_TOP_WRAPPER_C>,
|
||||
<&ispcrg JH7110_ISPCLK_DVP_INV>,
|
||||
<&ispcrg JH7110_ISPCLK_VIN_P_AXI_WR>,
|
||||
<&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>,
|
||||
<&syscrg JH7110_SYSCLK_ISP_TOP_CORE>,
|
||||
<&syscrg JH7110_SYSCLK_ISP_TOP_AXI>;
|
||||
clock-names = "apb_func", "wrapper_clk_c", "dvp_inv",
|
||||
"axiwr", "mipi_rx0_pxl", "ispcore_2x",
|
||||
"isp_axi";
|
||||
resets = <&ispcrg JH7110_ISPRST_ISPV2_TOP_WRAPPER_P>,
|
||||
<&ispcrg JH7110_ISPRST_ISPV2_TOP_WRAPPER_C>,
|
||||
<&ispcrg JH7110_ISPRST_VIN_P_AXI_RD>,
|
||||
<&ispcrg JH7110_ISPRST_VIN_P_AXI_WR>,
|
||||
<&syscrg JH7110_SYSRST_ISP_TOP>,
|
||||
<&syscrg JH7110_SYSRST_ISP_TOP_AXI>;
|
||||
reset-names = "wrapper_p", "wrapper_c", "axird",
|
||||
"axiwr", "isp_top_n", "isp_top_axi";
|
||||
power-domains = <&pwrc JH7110_PD_ISP>;
|
||||
interrupts = <92>, <87>, <90>, <88>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
voutcrg: clock-controller@295c0000 {
|
||||
compatible = "starfive,jh7110-voutcrg";
|
||||
reg = <0x0 0x295c0000 0x0 0x10000>;
|
||||
|
Loading…
Reference in New Issue
Block a user