Commit d1e3a9ef authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'mvebu-dt64-5.13-1' of...

Merge tag 'mvebu-dt64-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/dt

mvebu dt64 for 5.13 (part 1)

Add DT for fan control on SolidRun Clearfog GT8k platform

Add syscon compatible to NB clk node allowing improving cpufreq
support on Armada 37xx

Add support for UTMI PHY allowing removing kernel dependency from the
boot loader for UBS port connected to this PHY (Armada 7K, 8K and
CN91xx)

* tag 'mvebu-dt64-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: enable CP110 UTMI PHY usage
  arm64: dts: marvell: add support for Marvell CP110 UTMI PHY
  arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node
  arm64: dts: marvell: clearfog-gt-8k: add cooling maps
  arm64: dts: marvell: clearfog-gt-8k: add pwm-fan

Link: https://lore.kernel.org/r/874kgocs7t.fsf@BL-laptopSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 0d310a37 99fa8ac5
......@@ -156,7 +156,8 @@ uart1: serial@12200 {
};
nb_periph_clk: nb-periph-clk@13000 {
compatible = "marvell,armada-3700-periph-clock-nb";
compatible = "marvell,armada-3700-periph-clock-nb",
"syscon";
reg = <0x13000 0x100>;
clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
<&tbg 3>, <&xtalclk>;
......
......@@ -218,6 +218,10 @@ sata-port@1 {
};
};
&cp0_utmi {
status = "okay";
};
&cp0_comphy1 {
cp0_usbh0_con: connector {
compatible = "usb-a-connector";
......@@ -226,8 +230,9 @@ cp0_usbh0_con: connector {
};
&cp0_usb3_0 {
phys = <&cp0_comphy1 0>;
phy-names = "cp0-usb3h0-comphy";
phys = <&cp0_comphy1 0>, <&cp0_utmi0>;
phy-names = "cp0-usb3h0-comphy", "utmi";
dr_mode = "host";
status = "okay";
};
......@@ -239,8 +244,9 @@ cp0_usbh1_con: connector {
};
&cp0_usb3_1 {
phys = <&cp0_comphy4 1>;
phy-names = "cp0-usb3h1-comphy";
phys = <&cp0_comphy4 1>, <&cp0_utmi1>;
phy-names = "cp0-usb3h1-comphy", "utmi";
dr_mode = "host";
status = "okay";
};
......
......@@ -31,6 +31,16 @@ aliases {
ethernet2 = &cp1_eth2;
};
fan: pwm {
compatible = "pwm-fan";
/* 20% steps */
cooling-levels = <0 51 102 153 204 255>;
#cooling-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&cp0_fan_pwm_pins>;
pwms = <&cp0_gpio2 16 40000>;
};
v_3_3: regulator-3-3v {
compatible = "regulator-fixed";
regulator-name = "v_3_3";
......@@ -102,6 +112,123 @@ button_1 {
};
};
&ap_thermal_ic {
polling-delay = <1000>; /* milliseconds */
trips {
ap_active: trip-active {
temperature = <40000>; /* millicelsius */
hysteresis = <4000>; /* millicelsius */
type = "active";
};
};
cooling-maps {
map0 {
trip = <&ap_active>;
cooling-device = <&fan THERMAL_NO_LIMIT 4>;
};
map1 {
trip = <&ap_crit>;
cooling-device = <&fan 4 5>;
};
};
};
&cp0_thermal_ic {
polling-delay = <1000>; /* milliseconds */
trips {
cp0_active0: trip-active0 {
temperature = <40000>; /* millicelsius */
hysteresis = <2500>; /* millicelsius */
type = "active";
};
cp0_active1: trip-active1 {
temperature = <45000>; /* millicelsius */
hysteresis = <2500>; /* millicelsius */
type = "active";
};
cp0_active2: trip-active2 {
temperature = <50000>; /* millicelsius */
hysteresis = <2500>; /* millicelsius */
type = "active";
};
cp0_active3: trip-active3 {
temperature = <60000>; /* millicelsius */
hysteresis = <2500>; /* millicelsius */
type = "active";
};
};
cooling-maps {
map0 {
trip = <&cp0_active0>;
cooling-device = <&fan 0 1>;
};
map1 {
trip = <&cp0_active1>;
cooling-device = <&fan 1 2>;
};
map2 {
trip = <&cp0_active2>;
cooling-device = <&fan 2 3>;
};
map3 {
trip = <&cp0_active3>;
cooling-device = <&fan 3 4>;
};
map4 {
trip = <&cp0_crit>;
cooling-device = <&fan 4 5>;
};
};
};
&cp1_thermal_ic {
polling-delay = <1000>; /* milliseconds */
trips {
cp1_active0: trip-active0 {
temperature = <40000>; /* millicelsius */
hysteresis = <2500>; /* millicelsius */
type = "active";
};
cp1_active1: trip-active1 {
temperature = <45000>; /* millicelsius */
hysteresis = <2500>; /* millicelsius */
type = "active";
};
cp1_active2: trip-active2 {
temperature = <50000>; /* millicelsius */
hysteresis = <2500>; /* millicelsius */
type = "active";
};
cp1_active3: trip-active3 {
temperature = <60000>; /* millicelsius */
hysteresis = <2500>; /* millicelsius */
type = "active";
};
};
cooling-maps {
map0 {
trip = <&cp1_active0>;
cooling-device = <&fan 0 1>;
};
map1 {
trip = <&cp1_active1>;
cooling-device = <&fan 1 2>;
};
map2 {
trip = <&cp1_active2>;
cooling-device = <&fan 2 3>;
};
map3 {
trip = <&cp1_active3>;
cooling-device = <&fan 3 4>;
};
map4 {
trip = <&cp1_crit>;
cooling-device = <&fan 4 5>;
};
};
};
&uart0 {
status = "okay";
pinctrl-0 = <&uart0_pins>;
......
......@@ -154,8 +154,15 @@ sata-port@1 {
};
/* CON9 on CP0 expansion */
&cp0_utmi {
status = "okay";
};
&cp0_usb3_0 {
usb-phy = <&cp0_usb3_0_phy>;
phys = <&cp0_utmi0>;
phy-names = "utmi";
dr_mode = "host";
status = "okay";
};
......@@ -168,8 +175,9 @@ cp0_usbh1_con: connector {
/* CON10 on CP0 expansion */
&cp0_usb3_1 {
phys = <&cp0_comphy4 1>;
phy-names = "cp0-usb3h1-comphy";
phys = <&cp0_comphy4 1>, <&cp0_utmi1>;
phy-names = "usb", "utmi";
dr_mode = "host";
status = "okay";
};
......@@ -306,14 +314,23 @@ sata-port@1 {
};
};
&cp1_utmi {
status = "okay";
};
/* CON9 on CP1 expansion */
&cp1_usb3_0 {
usb-phy = <&cp1_usb3_0_phy>;
phys = <&cp1_utmi0>;
phy-names = "utmi";
dr_mode = "host";
status = "okay";
};
/* CON10 on CP1 expansion */
&cp1_usb3_1 {
phys = <&cp1_utmi1>;
phy-names = "utmi";
status = "okay";
};
......
......@@ -259,13 +259,23 @@ &cp0_sdhci0 {
vqmmc-supply = <&v_3_3>;
};
&cp0_utmi {
status = "okay";
};
&cp0_usb3_0 {
/* J38? - USB2.0 only */
phys = <&cp0_utmi0>;
phy-names = "utmi";
dr_mode = "host";
status = "okay";
};
&cp0_usb3_1 {
/* J38? - USB2.0 only */
phys = <&cp0_utmi1>;
phy-names = "utmi";
dr_mode = "host";
status = "okay";
};
......@@ -364,9 +374,14 @@ cp1_usbh0_con: connector {
};
};
&cp1_utmi {
status = "okay";
};
&cp1_usb3_0 {
/* CPS Lane 2 - CON7 */
phys = <&cp1_comphy2 0>;
phy-names = "cp1-usb3h0-comphy";
phys = <&cp1_comphy2 0>, <&cp1_utmi0>;
phy-names = "cp1-usb3h0-comphy", "utmi";
dr_mode = "host";
status = "okay";
};
......@@ -285,6 +285,25 @@ CP11X_LABEL(thermal): thermal-sensor@70 {
};
};
CP11X_LABEL(utmi): utmi@580000 {
compatible = "marvell,cp110-utmi-phy";
reg = <0x580000 0x2000>;
marvell,system-controller = <&CP11X_LABEL(syscon0)>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
CP11X_LABEL(utmi0): usb-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
CP11X_LABEL(utmi1): usb-phy@1 {
reg = <1>;
#phy-cells = <0>;
};
};
CP11X_LABEL(usb3_0): usb@500000 {
compatible = "marvell,armada-8k-xhci",
"generic-xhci";
......
......@@ -392,14 +392,22 @@ nand_rb: nand-rb {
};
};
&cp0_utmi {
status = "okay";
};
&cp0_usb3_0 {
status = "okay";
usb-phy = <&cp0_usb3_0_phy0>;
phy-names = "usb";
phys = <&cp0_utmi0>;
phy-names = "utmi";
dr_mode = "host";
};
&cp0_usb3_1 {
status = "okay";
usb-phy = <&cp0_usb3_0_phy1>;
phy-names = "usb";
phys = <&cp0_utmi1>;
phy-names = "utmi";
dr_mode = "host";
};
......@@ -193,10 +193,15 @@ cp1_pcie_reset_pins: cp1-pcie-reset-pins {
};
/* CON58 */
&cp1_utmi {
status = "okay";
};
&cp1_usb3_1 {
status = "okay";
usb-phy = <&cp1_usb3_0_phy0>;
/* Generic PHY, providing serdes lanes */
phys = <&cp1_comphy3 1>;
phy-names = "usb";
phys = <&cp1_comphy3 1>, <&cp1_utmi1>;
phy-names = "usb", "utmi";
dr_mode = "host";
};
......@@ -205,17 +205,24 @@ cp2_sdhci_pins: cp2-sdhi-pins-0 {
};
};
&cp2_utmi {
status = "okay";
};
&cp2_usb3_0 {
status = "okay";
usb-phy = <&cp2_usb3_0_phy0>;
phys = <&cp2_utmi0>;
phy-names = "usb";
dr_mode = "host";
};
/* SLM-1521-V2, CON11 */
&cp2_usb3_1 {
status = "okay";
usb-phy = <&cp2_usb3_0_phy1>;
phy-names = "usb";
/* Generic PHY, providing serdes lanes */
phys = <&cp2_comphy3 1>;
phys = <&cp2_comphy3 1>, <&cp2_utmi1>;
phy-names = "usb", "utmi";
dr_mode = "host";
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment