mvebu dt64 for 5.3 (part 1)

For Armada 7K/8K:
  - enable AP806 thermal throttling with CPUfreq
  - add missing #interrupt-cells property allowing configuring
    interrupt for GPIO
 
 On Armada 8040 based board:
 - Fix PCI memory window on Mcbin board
 - Set SFP power limit on clearfog GT board
 - Disable AP I2C on Armada-8040-DB
 
 On Armada 3720 based board espressobin correct the SPI node used for
 NOR flash
 
 On Armada 7040 DB board add USB current regulators
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCXQy4uwAKCRALBhiOFHI7
 1dW6AJ9EYqnK7TQxYcxXl/gy8E5zaTH8igCeKGKpjV0P2sUv66nC3pmdipvMP68=
 =KCf7
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-5.3-1' of git://git.infradead.org/linux-mvebu into arm/dt

mvebu dt64 for 5.3 (part 1)

For Armada 7K/8K:
 - enable AP806 thermal throttling with CPUfreq
 - add missing #interrupt-cells property allowing configuring
   interrupt for GPIO

On Armada 8040 based board:
- Fix PCI memory window on Mcbin board
- Set SFP power limit on clearfog GT board
- Disable AP I2C on Armada-8040-DB

On Armada 3720 based board espressobin correct the SPI node used for
NOR flash

On Armada 7040 DB board add USB current regulators

* tag 'mvebu-dt64-5.3-1' of git://git.infradead.org/linux-mvebu:
  arm64: dts: marvell: add missing #interrupt-cells property
  arm64: dts: marvell: armada-7040-db: Add USB current regulators
  arm64: dts: armada-3720-espressobin: correct spi node
  arm64: dts: marvell: Disable AP I2C on Armada-8040-DB
  arm64: dts: marvell: Enable AP806 thermal throttling with CPUfreq
  arm64: dts: marvell: Change core numbering in AP806 thermal-node
  arm64: dts: marvell: clearfog-gt-8k: set SFP power limit
  arm64: dts: marvell: mcbin: enlarge PCI memory window

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2019-06-25 04:47:08 -07:00
commit 4cb0f05d37
9 changed files with 153 additions and 42 deletions

View File

@ -95,25 +95,9 @@
flash@0 {
reg = <0>;
compatible = "winbond,w25q32dw", "jedec,spi-flash";
compatible = "jedec,spi-nor";
spi-max-frequency = <104000000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0 0x180000>;
};
partition@180000 {
label = "ubootenv";
reg = <0x180000 0x10000>;
};
};
};
};

View File

@ -28,6 +28,32 @@
ethernet2 = &cp0_eth2;
};
cp0_exp_usb3_0_current_regulator: gpio-regulator {
compatible = "regulator-gpio";
regulator-name = "cp0-usb3-0-current-regulator";
regulator-type = "current";
regulator-min-microamp = <500000>;
regulator-max-microamp = <900000>;
gpios = <&expander0 4 GPIO_ACTIVE_HIGH>;
states = <500000 0x0
900000 0x1>;
enable-active-high;
gpios-states = <0>;
};
cp0_exp_usb3_1_current_regulator: gpio-regulator {
compatible = "regulator-gpio";
regulator-name = "cp0-usb3-1-current-regulator";
regulator-type = "current";
regulator-min-microamp = <500000>;
regulator-max-microamp = <900000>;
gpios = <&expander0 5 GPIO_ACTIVE_HIGH>;
states = <500000 0x0
900000 0x1>;
enable-active-high;
gpios-states = <0>;
};
cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus {
compatible = "regulator-fixed";
regulator-name = "usb3h0-vbus";
@ -35,6 +61,7 @@
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
vin-supply = <&cp0_exp_usb3_0_current_regulator>;
};
cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus {
@ -44,6 +71,7 @@
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&expander0 1 GPIO_ACTIVE_HIGH>;
vin-supply = <&cp0_exp_usb3_1_current_regulator>;
};
cp0_usb3_0_phy: cp0-usb3-0-phy {

View File

@ -63,6 +63,7 @@
tx-disable-gpio = <&cp1_gpio1 29 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&cp0_sfp_present_pins &cp1_sfp_tx_disable_pins>;
maximum-power-milliwatt = <2000>;
};
leds {

View File

@ -27,6 +27,8 @@
ethernet1 = &cp0_eth2;
ethernet2 = &cp1_eth0;
ethernet3 = &cp1_eth1;
i2c1 = &cp0_i2c0;
i2c2 = &cp1_i2c0;
};
cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus {
@ -72,11 +74,6 @@
};
};
&i2c0 {
status = "okay";
clock-frequency = <100000>;
};
&spi0 {
status = "okay";

View File

@ -184,6 +184,8 @@
num-lanes = <4>;
num-viewport = <8>;
reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
ranges = <0x81000000 0x0 0xf9010000 0x0 0xf9010000 0x0 0x10000
0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
status = "okay";
};

View File

@ -20,12 +20,14 @@
compatible = "arm,cortex-a72";
reg = <0x000>;
enable-method = "psci";
#cooling-cells = <2>;
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <0x001>;
enable-method = "psci";
#cooling-cells = <2>;
};
};
};

View File

@ -20,24 +20,29 @@
compatible = "arm,cortex-a72";
reg = <0x000>;
enable-method = "psci";
#cooling-cells = <2>;
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <0x001>;
enable-method = "psci";
#cooling-cells = <2>;
};
cpu2: cpu@100 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <0x100>;
enable-method = "psci";
#cooling-cells = <2>;
};
cpu3: cpu@101 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <0x101>;
enable-method = "psci";
#cooling-cells = <2>;
};
};
};

View File

@ -297,8 +297,6 @@
*
* Only one thermal zone per AP/CP may trigger interrupts at a time, the
* first one that will have a critical trip point will be chosen.
*
* The cooling maps are always empty as there are no cooling devices.
*/
thermal-zones {
ap_thermal_ic: ap-thermal-ic {
@ -318,44 +316,136 @@
cooling-maps { };
};
ap_thermal_cpu1: ap-thermal-cpu1 {
ap_thermal_cpu0: ap-thermal-cpu0 {
polling-delay-passive = <1000>;
polling-delay = <1000>;
thermal-sensors = <&ap_thermal 1>;
trips { };
cooling-maps { };
trips {
cpu0_hot: cpu0-hot {
temperature = <85000>;
hysteresis = <2000>;
type = "passive";
};
cpu0_emerg: cpu0-emerg {
temperature = <95000>;
hysteresis = <2000>;
type = "passive";
};
};
cooling-maps {
map0_hot: map0-hot {
trip = <&cpu0_hot>;
cooling-device = <&cpu0 1 2>,
<&cpu1 1 2>;
};
map0_emerg: map0-ermerg {
trip = <&cpu0_emerg>;
cooling-device = <&cpu0 3 3>,
<&cpu1 3 3>;
};
};
};
ap_thermal_cpu1: ap-thermal-cpu1 {
polling-delay-passive = <1000>;
polling-delay = <1000>;
thermal-sensors = <&ap_thermal 2>;
trips {
cpu1_hot: cpu1-hot {
temperature = <85000>;
hysteresis = <2000>;
type = "passive";
};
cpu1_emerg: cpu1-emerg {
temperature = <95000>;
hysteresis = <2000>;
type = "passive";
};
};
cooling-maps {
map1_hot: map1-hot {
trip = <&cpu1_hot>;
cooling-device = <&cpu0 1 2>,
<&cpu1 1 2>;
};
map1_emerg: map1-emerg {
trip = <&cpu1_emerg>;
cooling-device = <&cpu0 3 3>,
<&cpu1 3 3>;
};
};
};
ap_thermal_cpu2: ap-thermal-cpu2 {
polling-delay-passive = <1000>;
polling-delay = <1000>;
thermal-sensors = <&ap_thermal 2>;
thermal-sensors = <&ap_thermal 3>;
trips { };
cooling-maps { };
trips {
cpu2_hot: cpu2-hot {
temperature = <85000>;
hysteresis = <2000>;
type = "passive";
};
cpu2_emerg: cpu2-emerg {
temperature = <95000>;
hysteresis = <2000>;
type = "passive";
};
};
cooling-maps {
map2_hot: map2-hot {
trip = <&cpu2_hot>;
cooling-device = <&cpu2 1 2>,
<&cpu3 1 2>;
};
map2_emerg: map2-emerg {
trip = <&cpu2_emerg>;
cooling-device = <&cpu2 3 3>,
<&cpu3 3 3>;
};
};
};
ap_thermal_cpu3: ap-thermal-cpu3 {
polling-delay-passive = <1000>;
polling-delay = <1000>;
thermal-sensors = <&ap_thermal 3>;
trips { };
cooling-maps { };
};
ap_thermal_cpu4: ap-thermal-cpu4 {
polling-delay-passive = <1000>;
polling-delay = <1000>;
thermal-sensors = <&ap_thermal 4>;
trips { };
cooling-maps { };
trips {
cpu3_hot: cpu3-hot {
temperature = <85000>;
hysteresis = <2000>;
type = "passive";
};
cpu3_emerg: cpu3-emerg {
temperature = <95000>;
hysteresis = <2000>;
type = "passive";
};
};
cooling-maps {
map3_hot: map3-bhot {
trip = <&cpu3_hot>;
cooling-device = <&cpu2 1 2>,
<&cpu3 1 2>;
};
map3_emerg: map3-emerg {
trip = <&cpu3_emerg>;
cooling-device = <&cpu2 3 3>,
<&cpu3 3 3>;
};
};
};
};
};

View File

@ -238,6 +238,7 @@
<85 IRQ_TYPE_LEVEL_HIGH>,
<84 IRQ_TYPE_LEVEL_HIGH>,
<83 IRQ_TYPE_LEVEL_HIGH>;
#interrupt-cells = <2>;
status = "disabled";
};
@ -253,6 +254,7 @@
<81 IRQ_TYPE_LEVEL_HIGH>,
<80 IRQ_TYPE_LEVEL_HIGH>,
<79 IRQ_TYPE_LEVEL_HIGH>;
#interrupt-cells = <2>;
status = "disabled";
};
};