Commit 84368d88 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'soc-fixes-6.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC fixes from Arnd Bergmann:
 "Another set of devicetree and code changes for SoC platforms, notably:

   - DT schema warning fixes for i.MX

   - Functional fixes for i.MX tqma8mqml-mba8mx USB and i.MX8M OCOTP

   - MAINTAINERS updates for Hisilicon and RISC-V, documenting which
     RISC-V SoC specific patches will now get merged through the SoC
     tree in the future.

   - A code fix for at91 suspend, to work around broken hardware

   - A devicetree fix for lan966x/pcb8291 LED support

   - Lots of DT fixes for Qualcomm SoCs, mostly fixing minor problems
     like incorrect register sizes and schema warnings. One fix makes
     the UFS controller work on sc8280xp, and six fixes address the same
     regulator problem in a variety of platforms"

* tag 'soc-fixes-6.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (31 commits)
  MAINTAINERS: repair Microchip corei2c driver entry
  MAINTAINERS: add an entry for StarFive devicetrees
  MAINTAINERS: generify the Microchip RISC-V entry name
  MAINTAINERS: add entries for misc. RISC-V SoC drivers and devicetrees
  MAINTAINERS: git://github.com -> https://github.com for HiSilicon
  soc: imx8m: Enable OCOTP clock before reading the register
  arm64: dts: imx93-pinfunc: drop execution permission
  arm64: dts: imx8mn: Fix NAND controller size-cells
  arm64: dts: imx8mm: Fix NAND controller size-cells
  ARM: dts: imx7: Fix NAND controller size-cells
  arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR
  ARM: at91: pm: avoid soft resetting AC DLL
  ARM: dts: lan966x: Enable sgpio on pcb8291
  arm64: dts: qcom: sm8250: Disable the not yet supported cluster idle state
  ARM: dts: at91: sama7g5: fix signal name of pin PB2
  arm64: dts: qcom: sc7280: Add the reset reg for lpass audiocc on SC7280
  arm64: dts: qcom: sc8280xp: fix UFS PHY serdes size
  arm64: dts: qcom: sc8280xp: drop broken DP PHY nodes
  arm64: dts: qcom: sc8280xp: fix USB PHY PCS registers
  arm64: dts: qcom: sc8280xp: fix USB1 PHY RX1 registers
  ...
parents ae753340 0d6a10dc
...@@ -2197,7 +2197,7 @@ M: Wei Xu <xuwei5@hisilicon.com> ...@@ -2197,7 +2197,7 @@ M: Wei Xu <xuwei5@hisilicon.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Supported S: Supported
W: http://www.hisilicon.com W: http://www.hisilicon.com
T: git git://github.com/hisilicon/linux-hisi.git T: git https://github.com/hisilicon/linux-hisi.git
F: arch/arm/boot/dts/hi3* F: arch/arm/boot/dts/hi3*
F: arch/arm/boot/dts/hip* F: arch/arm/boot/dts/hip*
F: arch/arm/boot/dts/hisi* F: arch/arm/boot/dts/hisi*
...@@ -13625,6 +13625,12 @@ S: Supported ...@@ -13625,6 +13625,12 @@ S: Supported
F: drivers/misc/atmel-ssc.c F: drivers/misc/atmel-ssc.c
F: include/linux/atmel-ssc.h F: include/linux/atmel-ssc.h
MICROCHIP SOC DRIVERS
M: Conor Dooley <conor@kernel.org>
S: Supported
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
F: drivers/soc/microchip/
MICROCHIP USB251XB DRIVER MICROCHIP USB251XB DRIVER
M: Richard Leitner <richard.leitner@skidata.com> M: Richard Leitner <richard.leitner@skidata.com>
L: linux-usb@vger.kernel.org L: linux-usb@vger.kernel.org
...@@ -17723,7 +17729,7 @@ F: arch/riscv/ ...@@ -17723,7 +17729,7 @@ F: arch/riscv/
N: riscv N: riscv
K: riscv K: riscv
RISC-V/MICROCHIP POLARFIRE SOC SUPPORT RISC-V MICROCHIP FPGA SUPPORT
M: Conor Dooley <conor.dooley@microchip.com> M: Conor Dooley <conor.dooley@microchip.com>
M: Daire McNamara <daire.mcnamara@microchip.com> M: Daire McNamara <daire.mcnamara@microchip.com>
L: linux-riscv@lists.infradead.org L: linux-riscv@lists.infradead.org
...@@ -17741,17 +17747,26 @@ F: Documentation/devicetree/bindings/usb/microchip,mpfs-musb.yaml ...@@ -17741,17 +17747,26 @@ F: Documentation/devicetree/bindings/usb/microchip,mpfs-musb.yaml
F: arch/riscv/boot/dts/microchip/ F: arch/riscv/boot/dts/microchip/
F: drivers/char/hw_random/mpfs-rng.c F: drivers/char/hw_random/mpfs-rng.c
F: drivers/clk/microchip/clk-mpfs.c F: drivers/clk/microchip/clk-mpfs.c
F: drivers/i2c/busses/i2c-microchip-core.c F: drivers/i2c/busses/i2c-microchip-corei2c.c
F: drivers/mailbox/mailbox-mpfs.c F: drivers/mailbox/mailbox-mpfs.c
F: drivers/pci/controller/pcie-microchip-host.c F: drivers/pci/controller/pcie-microchip-host.c
F: drivers/reset/reset-mpfs.c F: drivers/reset/reset-mpfs.c
F: drivers/rtc/rtc-mpfs.c F: drivers/rtc/rtc-mpfs.c
F: drivers/soc/microchip/ F: drivers/soc/microchip/mpfs-sys-controller.c
F: drivers/spi/spi-microchip-core-qspi.c F: drivers/spi/spi-microchip-core-qspi.c
F: drivers/spi/spi-microchip-core.c F: drivers/spi/spi-microchip-core.c
F: drivers/usb/musb/mpfs.c F: drivers/usb/musb/mpfs.c
F: include/soc/microchip/mpfs.h F: include/soc/microchip/mpfs.h
RISC-V MISC SOC SUPPORT
M: Conor Dooley <conor@kernel.org>
L: linux-riscv@lists.infradead.org
S: Maintained
Q: https://patchwork.kernel.org/project/linux-riscv/list/
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
F: Documentation/devicetree/bindings/riscv/
F: arch/riscv/boot/dts/
RNBD BLOCK DRIVERS RNBD BLOCK DRIVERS
M: Md. Haris Iqbal <haris.iqbal@ionos.com> M: Md. Haris Iqbal <haris.iqbal@ionos.com>
M: Jack Wang <jinpu.wang@ionos.com> M: Jack Wang <jinpu.wang@ionos.com>
...@@ -18778,7 +18793,6 @@ M: Palmer Dabbelt <palmer@dabbelt.com> ...@@ -18778,7 +18793,6 @@ M: Palmer Dabbelt <palmer@dabbelt.com>
M: Paul Walmsley <paul.walmsley@sifive.com> M: Paul Walmsley <paul.walmsley@sifive.com>
L: linux-riscv@lists.infradead.org L: linux-riscv@lists.infradead.org
S: Supported S: Supported
T: git https://github.com/sifive/riscv-linux.git
N: sifive N: sifive
K: [^@]sifive K: [^@]sifive
...@@ -18797,6 +18811,13 @@ S: Maintained ...@@ -18797,6 +18811,13 @@ S: Maintained
F: Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml F: Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
F: drivers/dma/sf-pdma/ F: drivers/dma/sf-pdma/
SIFIVE SOC DRIVERS
M: Conor Dooley <conor@kernel.org>
L: linux-riscv@lists.infradead.org
S: Maintained
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
F: drivers/soc/sifive/
SILEAD TOUCHSCREEN DRIVER SILEAD TOUCHSCREEN DRIVER
M: Hans de Goede <hdegoede@redhat.com> M: Hans de Goede <hdegoede@redhat.com>
L: linux-input@vger.kernel.org L: linux-input@vger.kernel.org
...@@ -19598,6 +19619,11 @@ M: Ion Badulescu <ionut@badula.org> ...@@ -19598,6 +19619,11 @@ M: Ion Badulescu <ionut@badula.org>
S: Odd Fixes S: Odd Fixes
F: drivers/net/ethernet/adaptec/starfire* F: drivers/net/ethernet/adaptec/starfire*
STARFIVE DEVICETREES
M: Emil Renner Berthing <kernel@esmil.dk>
S: Maintained
F: arch/riscv/boot/dts/starfive/
STARFIVE JH7100 CLOCK DRIVERS STARFIVE JH7100 CLOCK DRIVERS
M: Emil Renner Berthing <kernel@esmil.dk> M: Emil Renner Berthing <kernel@esmil.dk>
S: Maintained S: Maintained
......
...@@ -1270,10 +1270,10 @@ dma_apbh: dma-apbh@33000000 { ...@@ -1270,10 +1270,10 @@ dma_apbh: dma-apbh@33000000 {
clocks = <&clks IMX7D_NAND_USDHC_BUS_RAWNAND_CLK>; clocks = <&clks IMX7D_NAND_USDHC_BUS_RAWNAND_CLK>;
}; };
gpmi: nand-controller@33002000{ gpmi: nand-controller@33002000 {
compatible = "fsl,imx7d-gpmi-nand"; compatible = "fsl,imx7d-gpmi-nand";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <0>;
reg = <0x33002000 0x2000>, <0x33004000 0x4000>; reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
reg-names = "gpmi-nand", "bch"; reg-names = "gpmi-nand", "bch";
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -69,6 +69,12 @@ can0_b_pins: can0-b-pins { ...@@ -69,6 +69,12 @@ can0_b_pins: can0-b-pins {
pins = "GPIO_35", "GPIO_36"; pins = "GPIO_35", "GPIO_36";
function = "can0_b"; function = "can0_b";
}; };
sgpio_a_pins: sgpio-a-pins {
/* SCK, D0, D1, LD */
pins = "GPIO_32", "GPIO_33", "GPIO_34", "GPIO_35";
function = "sgpio_a";
};
}; };
&can0 { &can0 {
...@@ -118,6 +124,20 @@ &serdes { ...@@ -118,6 +124,20 @@ &serdes {
status = "okay"; status = "okay";
}; };
&sgpio {
pinctrl-0 = <&sgpio_a_pins>;
pinctrl-names = "default";
microchip,sgpio-port-ranges = <0 3>, <8 11>;
status = "okay";
gpio@0 {
ngpios = <64>;
};
gpio@1 {
ngpios = <64>;
};
};
&switch { &switch {
status = "okay"; status = "okay";
}; };
......
...@@ -261,7 +261,7 @@ ...@@ -261,7 +261,7 @@
#define PIN_PB2__FLEXCOM6_IO0 PINMUX_PIN(PIN_PB2, 2, 1) #define PIN_PB2__FLEXCOM6_IO0 PINMUX_PIN(PIN_PB2, 2, 1)
#define PIN_PB2__ADTRG PINMUX_PIN(PIN_PB2, 3, 1) #define PIN_PB2__ADTRG PINMUX_PIN(PIN_PB2, 3, 1)
#define PIN_PB2__A20 PINMUX_PIN(PIN_PB2, 4, 1) #define PIN_PB2__A20 PINMUX_PIN(PIN_PB2, 4, 1)
#define PIN_PB2__FLEXCOM11_IO0 PINMUX_PIN(PIN_PB2, 6, 3) #define PIN_PB2__FLEXCOM11_IO1 PINMUX_PIN(PIN_PB2, 6, 3)
#define PIN_PB3 35 #define PIN_PB3 35
#define PIN_PB3__GPIO PINMUX_PIN(PIN_PB3, 0, 0) #define PIN_PB3__GPIO PINMUX_PIN(PIN_PB3, 0, 0)
#define PIN_PB3__RF1 PINMUX_PIN(PIN_PB3, 1, 1) #define PIN_PB3__RF1 PINMUX_PIN(PIN_PB3, 1, 1)
......
...@@ -169,10 +169,15 @@ sr_ena_2: ...@@ -169,10 +169,15 @@ sr_ena_2:
cmp tmp1, #UDDRC_STAT_SELFREF_TYPE_SW cmp tmp1, #UDDRC_STAT_SELFREF_TYPE_SW
bne sr_ena_2 bne sr_ena_2
/* Put DDR PHY's DLL in bypass mode for non-backup modes. */ /* Disable DX DLLs for non-backup modes. */
cmp r7, #AT91_PM_BACKUP cmp r7, #AT91_PM_BACKUP
beq sr_ena_3 beq sr_ena_3
/* Do not soft reset the AC DLL. */
ldr tmp1, [r3, DDR3PHY_ACDLLCR]
bic tmp1, tmp1, DDR3PHY_ACDLLCR_DLLSRST
str tmp1, [r3, DDR3PHY_ACDLLCR]
/* Disable DX DLLs. */ /* Disable DX DLLs. */
ldr tmp1, [r3, #DDR3PHY_DX0DLLCR] ldr tmp1, [r3, #DDR3PHY_DX0DLLCR]
orr tmp1, tmp1, #DDR3PHY_DXDLLCR_DLLDIS orr tmp1, tmp1, #DDR3PHY_DXDLLCR_DLLDIS
......
...@@ -34,11 +34,25 @@ reg_usdhc2_vmmc: regulator-vmmc { ...@@ -34,11 +34,25 @@ reg_usdhc2_vmmc: regulator-vmmc {
off-on-delay-us = <12000>; off-on-delay-us = <12000>;
}; };
extcon_usbotg1: extcon-usbotg1 { connector {
compatible = "linux,extcon-usb-gpio"; compatible = "gpio-usb-b-connector", "usb-b-connector";
type = "micro";
label = "X19";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb1_extcon>; pinctrl-0 = <&pinctrl_usb1_connector>;
id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>; id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_dr_connector: endpoint {
remote-endpoint = <&usb1_drd_sw>;
};
};
};
}; };
}; };
...@@ -105,13 +119,19 @@ &usbotg1 { ...@@ -105,13 +119,19 @@ &usbotg1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbotg1>; pinctrl-0 = <&pinctrl_usbotg1>;
dr_mode = "otg"; dr_mode = "otg";
extcon = <&extcon_usbotg1>;
srp-disable; srp-disable;
hnp-disable; hnp-disable;
adp-disable; adp-disable;
power-active-high; power-active-high;
over-current-active-low; over-current-active-low;
usb-role-switch;
status = "okay"; status = "okay";
port {
usb1_drd_sw: endpoint {
remote-endpoint = <&usb_dr_connector>;
};
};
}; };
&usbotg2 { &usbotg2 {
...@@ -231,7 +251,7 @@ pinctrl_usbotg1: usbotg1grp { ...@@ -231,7 +251,7 @@ pinctrl_usbotg1: usbotg1grp {
<MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC 0x84>; <MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC 0x84>;
}; };
pinctrl_usb1_extcon: usb1-extcongrp { pinctrl_usb1_connector: usb1-connectorgrp {
fsl,pins = <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x1c0>; fsl,pins = <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x1c0>;
}; };
......
...@@ -1244,10 +1244,10 @@ dma_apbh: dma-controller@33000000 { ...@@ -1244,10 +1244,10 @@ dma_apbh: dma-controller@33000000 {
clocks = <&clk IMX8MM_CLK_NAND_USDHC_BUS_RAWNAND_CLK>; clocks = <&clk IMX8MM_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
}; };
gpmi: nand-controller@33002000{ gpmi: nand-controller@33002000 {
compatible = "fsl,imx8mm-gpmi-nand", "fsl,imx7d-gpmi-nand"; compatible = "fsl,imx8mm-gpmi-nand", "fsl,imx7d-gpmi-nand";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <0>;
reg = <0x33002000 0x2000>, <0x33004000 0x4000>; reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
reg-names = "gpmi-nand", "bch"; reg-names = "gpmi-nand", "bch";
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -1102,7 +1102,7 @@ dma_apbh: dma-controller@33000000 { ...@@ -1102,7 +1102,7 @@ dma_apbh: dma-controller@33000000 {
gpmi: nand-controller@33002000 { gpmi: nand-controller@33002000 {
compatible = "fsl,imx8mn-gpmi-nand", "fsl,imx7d-gpmi-nand"; compatible = "fsl,imx8mn-gpmi-nand", "fsl,imx7d-gpmi-nand";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <0>;
reg = <0x33002000 0x2000>, <0x33004000 0x4000>; reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
reg-names = "gpmi-nand", "bch"; reg-names = "gpmi-nand", "bch";
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
......
File mode changed from 100755 to 100644
...@@ -668,7 +668,7 @@ watchdog: watchdog@b017000 { ...@@ -668,7 +668,7 @@ watchdog: watchdog@b017000 {
apcs_glb: mailbox@b111000 { apcs_glb: mailbox@b111000 {
compatible = "qcom,ipq8074-apcs-apps-global"; compatible = "qcom,ipq8074-apcs-apps-global";
reg = <0x0b111000 0x6000>; reg = <0x0b111000 0x1000>;
#clock-cells = <1>; #clock-cells = <1>;
#mbox-cells = <1>; #mbox-cells = <1>;
......
...@@ -3504,7 +3504,7 @@ frame@98c0000 { ...@@ -3504,7 +3504,7 @@ frame@98c0000 {
}; };
saw3: syscon@9a10000 { saw3: syscon@9a10000 {
compatible = "qcom,tcsr-msm8996", "syscon"; compatible = "syscon";
reg = <0x09a10000 0x1000>; reg = <0x09a10000 0x1000>;
}; };
......
...@@ -43,7 +43,6 @@ vreg_s4a_1p8: smps4 { ...@@ -43,7 +43,6 @@ vreg_s4a_1p8: smps4 {
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
regulator-allow-set-load;
vin-supply = <&vreg_3p3>; vin-supply = <&vreg_3p3>;
}; };
...@@ -137,6 +136,9 @@ vreg_l5a_0p88: ldo5 { ...@@ -137,6 +136,9 @@ vreg_l5a_0p88: ldo5 {
regulator-max-microvolt = <880000>; regulator-max-microvolt = <880000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l7a_1p8: ldo7 { vreg_l7a_1p8: ldo7 {
...@@ -152,6 +154,9 @@ vreg_l10a_2p96: ldo10 { ...@@ -152,6 +154,9 @@ vreg_l10a_2p96: ldo10 {
regulator-max-microvolt = <2960000>; regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l11a_0p8: ldo11 { vreg_l11a_0p8: ldo11 {
...@@ -258,6 +263,9 @@ vreg_l5c_1p2: ldo5 { ...@@ -258,6 +263,9 @@ vreg_l5c_1p2: ldo5 {
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l7c_1p8: ldo7 { vreg_l7c_1p8: ldo7 {
...@@ -273,6 +281,9 @@ vreg_l8c_1p2: ldo8 { ...@@ -273,6 +281,9 @@ vreg_l8c_1p2: ldo8 {
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l10c_3p3: ldo10 { vreg_l10c_3p3: ldo10 {
......
...@@ -83,6 +83,9 @@ vreg_l3c: ldo3 { ...@@ -83,6 +83,9 @@ vreg_l3c: ldo3 {
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l4c: ldo4 { vreg_l4c: ldo4 {
...@@ -98,6 +101,9 @@ vreg_l6c: ldo6 { ...@@ -98,6 +101,9 @@ vreg_l6c: ldo6 {
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l7c: ldo7 { vreg_l7c: ldo7 {
...@@ -113,6 +119,9 @@ vreg_l10c: ldo10 { ...@@ -113,6 +119,9 @@ vreg_l10c: ldo10 {
regulator-max-microvolt = <2504000>; regulator-max-microvolt = <2504000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l17c: ldo17 { vreg_l17c: ldo17 {
...@@ -121,6 +130,9 @@ vreg_l17c: ldo17 { ...@@ -121,6 +130,9 @@ vreg_l17c: ldo17 {
regulator-max-microvolt = <2504000>; regulator-max-microvolt = <2504000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
}; };
......
...@@ -2296,7 +2296,8 @@ swr1: soundwire@3230000 { ...@@ -2296,7 +2296,8 @@ swr1: soundwire@3230000 {
lpass_audiocc: clock-controller@3300000 { lpass_audiocc: clock-controller@3300000 {
compatible = "qcom,sc7280-lpassaudiocc"; compatible = "qcom,sc7280-lpassaudiocc";
reg = <0 0x03300000 0 0x30000>; reg = <0 0x03300000 0 0x30000>,
<0 0x032a9000 0 0x1000>;
clocks = <&rpmhcc RPMH_CXO_CLK>, clocks = <&rpmhcc RPMH_CXO_CLK>,
<&lpass_aon LPASS_AON_CC_MAIN_RCG_CLK_SRC>; <&lpass_aon LPASS_AON_CC_MAIN_RCG_CLK_SRC>;
clock-names = "bi_tcxo", "lpass_aon_cc_main_rcg_clk_src"; clock-names = "bi_tcxo", "lpass_aon_cc_main_rcg_clk_src";
......
...@@ -124,6 +124,9 @@ vreg_l7c: ldo7 { ...@@ -124,6 +124,9 @@ vreg_l7c: ldo7 {
regulator-max-microvolt = <2504000>; regulator-max-microvolt = <2504000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l13c: ldo13 { vreg_l13c: ldo13 {
...@@ -146,6 +149,9 @@ vreg_l3d: ldo3 { ...@@ -146,6 +149,9 @@ vreg_l3d: ldo3 {
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l4d: ldo4 { vreg_l4d: ldo4 {
......
...@@ -885,13 +885,13 @@ ufs_mem_hc: ufs@1d84000 { ...@@ -885,13 +885,13 @@ ufs_mem_hc: ufs@1d84000 {
ufs_mem_phy: phy@1d87000 { ufs_mem_phy: phy@1d87000 {
compatible = "qcom,sc8280xp-qmp-ufs-phy"; compatible = "qcom,sc8280xp-qmp-ufs-phy";
reg = <0 0x01d87000 0 0xe10>; reg = <0 0x01d87000 0 0x1c8>;
#address-cells = <2>; #address-cells = <2>;
#size-cells = <2>; #size-cells = <2>;
ranges; ranges;
clock-names = "ref", clock-names = "ref",
"ref_aux"; "ref_aux";
clocks = <&rpmhcc RPMH_CXO_CLK>, clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>,
<&gcc GCC_UFS_PHY_PHY_AUX_CLK>; <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
resets = <&ufs_mem_hc 0>; resets = <&ufs_mem_hc 0>;
...@@ -953,13 +953,13 @@ ufs_card_hc: ufs@1da4000 { ...@@ -953,13 +953,13 @@ ufs_card_hc: ufs@1da4000 {
ufs_card_phy: phy@1da7000 { ufs_card_phy: phy@1da7000 {
compatible = "qcom,sc8280xp-qmp-ufs-phy"; compatible = "qcom,sc8280xp-qmp-ufs-phy";
reg = <0 0x01da7000 0 0xe10>; reg = <0 0x01da7000 0 0x1c8>;
#address-cells = <2>; #address-cells = <2>;
#size-cells = <2>; #size-cells = <2>;
ranges; ranges;
clock-names = "ref", clock-names = "ref",
"ref_aux"; "ref_aux";
clocks = <&gcc GCC_UFS_1_CARD_CLKREF_CLK>, clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>,
<&gcc GCC_UFS_CARD_PHY_AUX_CLK>; <&gcc GCC_UFS_CARD_PHY_AUX_CLK>;
resets = <&ufs_card_hc 0>; resets = <&ufs_card_hc 0>;
...@@ -1181,26 +1181,16 @@ usb_0_qmpphy: phy-wrapper@88ec000 { ...@@ -1181,26 +1181,16 @@ usb_0_qmpphy: phy-wrapper@88ec000 {
usb_0_ssphy: usb3-phy@88eb400 { usb_0_ssphy: usb3-phy@88eb400 {
reg = <0 0x088eb400 0 0x100>, reg = <0 0x088eb400 0 0x100>,
<0 0x088eb600 0 0x3ec>, <0 0x088eb600 0 0x3ec>,
<0 0x088ec400 0 0x1f0>, <0 0x088ec400 0 0x364>,
<0 0x088eba00 0 0x100>, <0 0x088eba00 0 0x100>,
<0 0x088ebc00 0 0x3ec>, <0 0x088ebc00 0 0x3ec>,
<0 0x088ec700 0 0x64>; <0 0x088ec200 0 0x18>;
#phy-cells = <0>; #phy-cells = <0>;
#clock-cells = <0>; #clock-cells = <0>;
clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
clock-names = "pipe0"; clock-names = "pipe0";
clock-output-names = "usb0_phy_pipe_clk_src"; clock-output-names = "usb0_phy_pipe_clk_src";
}; };
usb_0_dpphy: dp-phy@88ed200 {
reg = <0 0x088ed200 0 0x200>,
<0 0x088ed400 0 0x200>,
<0 0x088eda00 0 0x200>,
<0 0x088ea600 0 0x200>,
<0 0x088ea800 0 0x200>;
#clock-cells = <1>;
#phy-cells = <0>;
};
}; };
usb_1_hsphy: phy@8902000 { usb_1_hsphy: phy@8902000 {
...@@ -1242,8 +1232,8 @@ usb_1_qmpphy: phy-wrapper@8904000 { ...@@ -1242,8 +1232,8 @@ usb_1_qmpphy: phy-wrapper@8904000 {
usb_1_ssphy: usb3-phy@8903400 { usb_1_ssphy: usb3-phy@8903400 {
reg = <0 0x08903400 0 0x100>, reg = <0 0x08903400 0 0x100>,
<0 0x08903c00 0 0x3ec>, <0 0x08903600 0 0x3ec>,
<0 0x08904400 0 0x1f0>, <0 0x08904400 0 0x364>,
<0 0x08903a00 0 0x100>, <0 0x08903a00 0 0x100>,
<0 0x08903c00 0 0x3ec>, <0 0x08903c00 0 0x3ec>,
<0 0x08904200 0 0x18>; <0 0x08904200 0 0x18>;
...@@ -1253,16 +1243,6 @@ usb_1_ssphy: usb3-phy@8903400 { ...@@ -1253,16 +1243,6 @@ usb_1_ssphy: usb3-phy@8903400 {
clock-names = "pipe0"; clock-names = "pipe0";
clock-output-names = "usb1_phy_pipe_clk_src"; clock-output-names = "usb1_phy_pipe_clk_src";
}; };
usb_1_dpphy: dp-phy@8904200 {
reg = <0 0x08904200 0 0x200>,
<0 0x08904400 0 0x200>,
<0 0x08904a00 0 0x200>,
<0 0x08904600 0 0x200>,
<0 0x08904800 0 0x200>;
#clock-cells = <1>;
#phy-cells = <0>;
};
}; };
system-cache-controller@9200000 { system-cache-controller@9200000 {
......
...@@ -348,6 +348,9 @@ vreg_l6c_2p9: ldo6 { ...@@ -348,6 +348,9 @@ vreg_l6c_2p9: ldo6 {
regulator-max-microvolt = <2960000>; regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l7c_3p0: ldo7 { vreg_l7c_3p0: ldo7 {
...@@ -367,6 +370,9 @@ vreg_l9c_2p9: ldo9 { ...@@ -367,6 +370,9 @@ vreg_l9c_2p9: ldo9 {
regulator-max-microvolt = <2960000>; regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l10c_3p3: ldo10 { vreg_l10c_3p3: ldo10 {
......
...@@ -317,6 +317,9 @@ vreg_l6c_2p9: ldo6 { ...@@ -317,6 +317,9 @@ vreg_l6c_2p9: ldo6 {
regulator-max-microvolt = <2960000>; regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l7c_2p85: ldo7 { vreg_l7c_2p85: ldo7 {
...@@ -339,6 +342,9 @@ vreg_l9c_2p9: ldo9 { ...@@ -339,6 +342,9 @@ vreg_l9c_2p9: ldo9 {
regulator-max-microvolt = <2960000>; regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l10c_3p3: ldo10 { vreg_l10c_3p3: ldo10 {
......
...@@ -334,6 +334,7 @@ CLUSTER_SLEEP_0: cluster-sleep-0 { ...@@ -334,6 +334,7 @@ CLUSTER_SLEEP_0: cluster-sleep-0 {
exit-latency-us = <6562>; exit-latency-us = <6562>;
min-residency-us = <9987>; min-residency-us = <9987>;
local-timer-stop; local-timer-stop;
status = "disabled";
}; };
}; };
}; };
......
...@@ -107,6 +107,9 @@ vreg_l5b_0p88: ldo5 { ...@@ -107,6 +107,9 @@ vreg_l5b_0p88: ldo5 {
regulator-max-microvolt = <888000>; regulator-max-microvolt = <888000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l6b_1p2: ldo6 { vreg_l6b_1p2: ldo6 {
...@@ -115,6 +118,9 @@ vreg_l6b_1p2: ldo6 { ...@@ -115,6 +118,9 @@ vreg_l6b_1p2: ldo6 {
regulator-max-microvolt = <1208000>; regulator-max-microvolt = <1208000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l7b_2p96: ldo7 { vreg_l7b_2p96: ldo7 {
...@@ -123,6 +129,9 @@ vreg_l7b_2p96: ldo7 { ...@@ -123,6 +129,9 @@ vreg_l7b_2p96: ldo7 {
regulator-max-microvolt = <2504000>; regulator-max-microvolt = <2504000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
vreg_l9b_1p2: ldo9 { vreg_l9b_1p2: ldo9 {
...@@ -131,6 +140,9 @@ vreg_l9b_1p2: ldo9 { ...@@ -131,6 +140,9 @@ vreg_l9b_1p2: ldo9 {
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-allowed-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
}; };
}; };
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/arm-smccc.h> #include <linux/arm-smccc.h>
#include <linux/of.h> #include <linux/of.h>
#include <linux/clk.h>
#define REV_B1 0x21 #define REV_B1 0x21
...@@ -56,6 +57,7 @@ static u32 __init imx8mq_soc_revision(void) ...@@ -56,6 +57,7 @@ static u32 __init imx8mq_soc_revision(void)
void __iomem *ocotp_base; void __iomem *ocotp_base;
u32 magic; u32 magic;
u32 rev; u32 rev;
struct clk *clk;
np = of_find_compatible_node(NULL, NULL, "fsl,imx8mq-ocotp"); np = of_find_compatible_node(NULL, NULL, "fsl,imx8mq-ocotp");
if (!np) if (!np)
...@@ -63,6 +65,13 @@ static u32 __init imx8mq_soc_revision(void) ...@@ -63,6 +65,13 @@ static u32 __init imx8mq_soc_revision(void)
ocotp_base = of_iomap(np, 0); ocotp_base = of_iomap(np, 0);
WARN_ON(!ocotp_base); WARN_ON(!ocotp_base);
clk = of_clk_get_by_name(np, NULL);
if (!clk) {
WARN_ON(!clk);
return 0;
}
clk_prepare_enable(clk);
/* /*
* SOC revision on older imx8mq is not available in fuses so query * SOC revision on older imx8mq is not available in fuses so query
...@@ -79,6 +88,8 @@ static u32 __init imx8mq_soc_revision(void) ...@@ -79,6 +88,8 @@ static u32 __init imx8mq_soc_revision(void)
soc_uid <<= 32; soc_uid <<= 32;
soc_uid |= readl_relaxed(ocotp_base + OCOTP_UID_LOW); soc_uid |= readl_relaxed(ocotp_base + OCOTP_UID_LOW);
clk_disable_unprepare(clk);
clk_put(clk);
iounmap(ocotp_base); iounmap(ocotp_base);
of_node_put(np); of_node_put(np);
......
...@@ -26,6 +26,9 @@ ...@@ -26,6 +26,9 @@
#define DDR3PHY_PGSR (0x0C) /* DDR3PHY PHY General Status Register */ #define DDR3PHY_PGSR (0x0C) /* DDR3PHY PHY General Status Register */
#define DDR3PHY_PGSR_IDONE (1 << 0) /* Initialization Done */ #define DDR3PHY_PGSR_IDONE (1 << 0) /* Initialization Done */
#define DDR3PHY_ACDLLCR (0x14) /* DDR3PHY AC DLL Control Register */
#define DDR3PHY_ACDLLCR_DLLSRST (1 << 30) /* DLL Soft Reset */
#define DDR3PHY_ACIOCR (0x24) /* DDR3PHY AC I/O Configuration Register */ #define DDR3PHY_ACIOCR (0x24) /* DDR3PHY AC I/O Configuration Register */
#define DDR3PHY_ACIOCR_CSPDD_CS0 (1 << 18) /* CS#[0] Power Down Driver */ #define DDR3PHY_ACIOCR_CSPDD_CS0 (1 << 18) /* CS#[0] Power Down Driver */
#define DDR3PHY_ACIOCR_CKPDD_CK0 (1 << 8) /* CK[0] Power Down Driver */ #define DDR3PHY_ACIOCR_CKPDD_CK0 (1 << 8) /* CK[0] Power Down Driver */
......
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