mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
ARM: SoC fixes for 6.3, part 2
As usual, most of the bug fixes address issues in the devicetree files, and out of these, most are for the Qualcomm and NXP platforms, including: - A missing "reserved-memory" property on LG G Watch R that is needed to prevent clashing with firmware - Annotations for cache coherency on multiple machines - Corrections for pinctrl, regulator, clock, iommu and power domain properties for i.MX and Qualcomm to correctly reflect the hardware settings - Firmware file names on multiple machines SA8540P Ride board - An incompatible change to the qcom vadc driver requires adding individual labels - Fix EQoS PHY reset GPIO by dropping the deprecated/wrong property and switch to the new bindings. - A fix for PCI bus address translation Tegra194 and Tegra234. There are also a couple of device driver fixes, addressing - A race condition in the amdtee driver - A performance regression in the Qualcomm 'llcc' driver - An unitialized variable use NXP i.MX "weim" driver - Error handling issues in Qualcomm "rmtfs", and "scm" drivers and the Arm scmi firmware driver -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmQeF5sACgkQmmx57+YA GNmbGhAAigQgZjlV8Y4IIguJ2WjPcufD9b30j/iWp/5iFFCLlHex409FM+cYv6wo oSqEpplW/D2UoVEmODv9JGnknwgg6NZLq0pMxBuTC+vUPRwWH8DPKSkijMVcEZOd MmRB8kMwPaQhXPy5lWHfcGtrRISekqQf1rrIhQQN1bdWw2gIxGNN63UXJJIZDsTQ tno85BLiWGIrwvmqTN93ecv0lwsA2xkgDAxA0eWSWmy4cjLNzzRQ0QuAtcgSsV/V 5E+R6JWidmdCMIkjU6XD0jR4c2oCUoMjXZcUDwkBP1yvA0Eev+xBdJciM/DZemKL pl2iJThmcLu5qkuEqREi0UexMYgnoqg8KklPPeNdJTmLGeWh05aw36RYkqMXnyMw S4hqJS0jH/wmRomUtnJhMCL0HCJ4QrTD10kw1Rt67gRy2weGtu7X4fEmqIOESG8G 3XikL/udHiLDZ6Nk9bAE7xdmIAJao2RA8t5wJhActVLV9y5H6Fv+EbzULBUBmNew 9v0XqgcuW66T+OilRm7pR5jYcUdOUKcq/4lC+P+nVAsDXEgT2BADRVk84gY+WRkz MwAeqeNhZtJsEA/Ym+JLFb4vAHr6v3S3kqHlWaDtyBOeWAsU0EDiXO47iabdvGcc 4NR9jn+Js7npSpGJKkopiRIHPyAYbukMkTKtYtsuucLnqZF2Znw= =rKwy -----END PGP SIGNATURE----- Merge tag 'arm-fixes-6.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM SoC fixes from Arnd Bergmann: "As usual, most of the bug fixes address issues in the devicetree files, and out of these, most are for the Qualcomm and NXP platforms, including: - A missing 'reserved-memory' property on LG G Watch R that is needed to prevent clashing with firmware - Annotations for cache coherency on multiple machines - Corrections for pinctrl, regulator, clock, iommu and power domain properties for i.MX and Qualcomm to correctly reflect the hardware settings - Firmware file names on multiple machines SA8540P Ride board - An incompatible change to the qcom vadc driver requires adding individual labels - Fix EQoS PHY reset GPIO by dropping the deprecated/wrong property and switch to the new bindings. - A fix for PCI bus address translation Tegra194 and Tegra234. There are also a couple of device driver fixes, addressing: - A race condition in the amdtee driver - A performance regression in the Qualcomm 'llcc' driver - An unitialized variable use NXP i.MX 'weim' driver - Error handling issues in Qualcomm 'rmtfs', and 'scm' drivers and the Arm scmi firmware driver" * tag 'arm-fixes-6.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (48 commits) arm64: dts: qcom: sc8280xp-x13s: mark bob regulator as always-on arm64: dts: qcom: sc8280xp-x13s: mark s12b regulator as always-on arm64: dts: qcom: sc8280xp-x13s: mark s10b regulator as always-on arm64: dts: qcom: sc8280xp-x13s: mark s11b regulator as always-on arm64: dts: imx93: add missing #address-cells and #size-cells to i2c nodes bus: imx-weim: fix branch condition evaluates to a garbage value arm64: dts: imx8mn: specify #sound-dai-cells for SAI nodes ARM: dts: imx6sl: tolino-shine2hd: fix usbotg1 pinctrl ARM: dts: imx6sll: e60k02: fix usbotg1 pinctrl ARM: dts: imx6sll: e70k02: fix usbotg1 pinctrl arm64: dts: imx93: Fix eqos properties arm64: dts: imx8mp: Fix LCDIF2 node clock order arm64: dts: imx8mm-nitrogen-r2: fix WM8960 clock name arm64: dts: imx8dxl-evk: Fix eqos phy reset gpio firmware: qcom: scm: fix bogus irq error at probe arm64: dts: qcom: sm8550: Mark UFS controller as cache coherent arm64: dts: qcom: sa8540p-ride: correct name of remoteproc_nsp0 firmware arm64: dts: qcom: sm8450: Mark UFS controller as cache coherent arm64: dts: qcom: sm8350: Mark UFS controller as cache coherent arm64: dts: qcom: sm8550: fix LPASS pinctrl slew base address ...
This commit is contained in:
commit
e76db6e50c
@ -311,6 +311,7 @@
|
||||
|
||||
&usbotg1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg1>;
|
||||
disable-over-current;
|
||||
srp-disable;
|
||||
hnp-disable;
|
||||
|
@ -321,6 +321,7 @@
|
||||
|
||||
&usbotg1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg1>;
|
||||
disable-over-current;
|
||||
srp-disable;
|
||||
hnp-disable;
|
||||
|
@ -625,6 +625,7 @@
|
||||
|
||||
&usbotg1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg1>;
|
||||
disable-over-current;
|
||||
srp-disable;
|
||||
hnp-disable;
|
||||
|
@ -27,6 +27,16 @@
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
sbl_region: sbl@2f00000 {
|
||||
reg = <0x02f00000 0x100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
external_image_region: external-image@3100000 {
|
||||
reg = <0x03100000 0x200000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
adsp_region: adsp@3300000 {
|
||||
reg = <0x03300000 0x1400000>;
|
||||
no-map;
|
||||
|
@ -56,14 +56,10 @@
|
||||
};
|
||||
|
||||
&enetc_port2 {
|
||||
nvmem-cells = <&base_mac_address 2>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&enetc_port3 {
|
||||
nvmem-cells = <&base_mac_address 3>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -84,8 +80,6 @@
|
||||
managed = "in-band-status";
|
||||
phy-handle = <&qsgmii_phy0>;
|
||||
phy-mode = "qsgmii";
|
||||
nvmem-cells = <&base_mac_address 4>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -94,8 +88,6 @@
|
||||
managed = "in-band-status";
|
||||
phy-handle = <&qsgmii_phy1>;
|
||||
phy-mode = "qsgmii";
|
||||
nvmem-cells = <&base_mac_address 5>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -104,8 +96,6 @@
|
||||
managed = "in-band-status";
|
||||
phy-handle = <&qsgmii_phy2>;
|
||||
phy-mode = "qsgmii";
|
||||
nvmem-cells = <&base_mac_address 6>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -114,8 +104,6 @@
|
||||
managed = "in-band-status";
|
||||
phy-handle = <&qsgmii_phy3>;
|
||||
phy-mode = "qsgmii";
|
||||
nvmem-cells = <&base_mac_address 7>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -55,7 +55,5 @@
|
||||
&enetc_port1 {
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "rgmii-id";
|
||||
nvmem-cells = <&base_mac_address 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -36,14 +36,10 @@
|
||||
};
|
||||
|
||||
&enetc_port2 {
|
||||
nvmem-cells = <&base_mac_address 2>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&enetc_port3 {
|
||||
nvmem-cells = <&base_mac_address 3>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -56,8 +52,6 @@
|
||||
managed = "in-band-status";
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "sgmii";
|
||||
nvmem-cells = <&base_mac_address 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -66,8 +60,6 @@
|
||||
managed = "in-band-status";
|
||||
phy-handle = <&phy1>;
|
||||
phy-mode = "sgmii";
|
||||
nvmem-cells = <&base_mac_address 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -43,7 +43,5 @@
|
||||
&enetc_port1 {
|
||||
phy-handle = <&phy1>;
|
||||
phy-mode = "rgmii-id";
|
||||
nvmem-cells = <&base_mac_address 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -92,8 +92,6 @@
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "sgmii";
|
||||
managed = "in-band-status";
|
||||
nvmem-cells = <&base_mac_address 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -156,21 +154,6 @@
|
||||
label = "bootloader environment";
|
||||
};
|
||||
};
|
||||
|
||||
otp-1 {
|
||||
compatible = "user-otp";
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "kontron,sl28-vpd";
|
||||
|
||||
serial_number: serial-number {
|
||||
};
|
||||
|
||||
base_mac_address: base-mac-address {
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -117,7 +117,7 @@ lsio_subsys: bus@5d000000 {
|
||||
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX_SC_R_FSPI_0 IMX_SC_PM_CLK_PER>,
|
||||
<&clk IMX_SC_R_FSPI_0 IMX_SC_PM_CLK_PER>;
|
||||
clock-names = "fspi", "fspi_en";
|
||||
clock-names = "fspi_en", "fspi";
|
||||
power-domains = <&pd IMX_SC_R_FSPI_0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -121,8 +121,6 @@
|
||||
phy-handle = <ðphy0>;
|
||||
nvmem-cells = <&fec_mac1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
snps,reset-gpios = <&pca6416_1 2 GPIO_ACTIVE_LOW>;
|
||||
snps,reset-delays-us = <10 20 200000>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
@ -136,6 +134,9 @@
|
||||
eee-broken-1000t;
|
||||
qca,disable-smarteee;
|
||||
qca,disable-hibernation-mode;
|
||||
reset-gpios = <&pca6416_1 2 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <20>;
|
||||
reset-deassert-us = <200000>;
|
||||
vddio-supply = <&vddio0>;
|
||||
|
||||
vddio0: vddio-regulator {
|
||||
|
@ -247,7 +247,7 @@
|
||||
compatible = "wlf,wm8960";
|
||||
reg = <0x1a>;
|
||||
clocks = <&clk IMX8MM_CLK_SAI1_ROOT>;
|
||||
clock-names = "mclk1";
|
||||
clock-names = "mclk";
|
||||
wlf,shared-lrclk;
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
@ -296,6 +296,7 @@
|
||||
sai2: sai@30020000 {
|
||||
compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
|
||||
reg = <0x30020000 0x10000>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MN_CLK_SAI2_IPG>,
|
||||
<&clk IMX8MN_CLK_DUMMY>,
|
||||
@ -310,6 +311,7 @@
|
||||
sai3: sai@30030000 {
|
||||
compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
|
||||
reg = <0x30030000 0x10000>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
|
||||
<&clk IMX8MN_CLK_DUMMY>,
|
||||
@ -324,6 +326,7 @@
|
||||
sai5: sai@30050000 {
|
||||
compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
|
||||
reg = <0x30050000 0x10000>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MN_CLK_SAI5_IPG>,
|
||||
<&clk IMX8MN_CLK_DUMMY>,
|
||||
@ -340,6 +343,7 @@
|
||||
sai6: sai@30060000 {
|
||||
compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
|
||||
reg = <0x30060000 0x10000>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MN_CLK_SAI6_IPG>,
|
||||
<&clk IMX8MN_CLK_DUMMY>,
|
||||
@ -397,6 +401,7 @@
|
||||
sai7: sai@300b0000 {
|
||||
compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
|
||||
reg = <0x300b0000 0x10000>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MN_CLK_SAI7_IPG>,
|
||||
<&clk IMX8MN_CLK_DUMMY>,
|
||||
|
@ -1131,8 +1131,8 @@
|
||||
reg = <0x32e90000 0x238>;
|
||||
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT>,
|
||||
<&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
|
||||
<&clk IMX8MP_CLK_MEDIA_APB_ROOT>;
|
||||
<&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
|
||||
<&clk IMX8MP_CLK_MEDIA_AXI_ROOT>;
|
||||
clock-names = "pix", "axi", "disp_axi";
|
||||
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_DISP2_PIX>,
|
||||
<&clk IMX8MP_VIDEO_PLL1>;
|
||||
|
@ -164,6 +164,8 @@
|
||||
lpi2c1: i2c@44340000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x44340000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C1_GATE>,
|
||||
<&clk IMX93_CLK_BUS_AON>;
|
||||
@ -174,6 +176,8 @@
|
||||
lpi2c2: i2c@44350000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x44350000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C2_GATE>,
|
||||
<&clk IMX93_CLK_BUS_AON>;
|
||||
@ -343,6 +347,8 @@
|
||||
lpi2c3: i2c@42530000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x42530000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C3_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
@ -353,6 +359,8 @@
|
||||
lpi2c4: i2c@42540000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x42540000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C4_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
@ -455,6 +463,8 @@
|
||||
lpi2c5: i2c@426b0000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x426b0000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C5_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
@ -465,6 +475,8 @@
|
||||
lpi2c6: i2c@426c0000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x426c0000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C6_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
@ -475,6 +487,8 @@
|
||||
lpi2c7: i2c@426d0000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x426d0000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C7_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
@ -485,6 +499,8 @@
|
||||
lpi2c8: i2c@426e0000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x426e0000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C8_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
@ -580,9 +596,9 @@
|
||||
eqos: ethernet@428a0000 {
|
||||
compatible = "nxp,imx93-dwmac-eqos", "snps,dwmac-5.10a";
|
||||
reg = <0x428a0000 0x10000>;
|
||||
interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "eth_wake_irq", "macirq";
|
||||
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq", "eth_wake_irq";
|
||||
clocks = <&clk IMX93_CLK_ENET_QOS_GATE>,
|
||||
<&clk IMX93_CLK_ENET_QOS_GATE>,
|
||||
<&clk IMX93_CLK_ENET_TIMER2>,
|
||||
@ -595,7 +611,7 @@
|
||||
<&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>;
|
||||
assigned-clock-rates = <100000000>, <250000000>;
|
||||
intf_mode = <&wakeupmix_gpr 0x28>;
|
||||
clk_csr = <0>;
|
||||
snps,clk-csr = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0x0 0x0 0x40000000>;
|
||||
ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
|
||||
|
||||
apbmisc: misc@100000 {
|
||||
compatible = "nvidia,tegra194-misc";
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0x0 0x0 0x40000000>;
|
||||
ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
|
||||
|
||||
misc@100000 {
|
||||
compatible = "nvidia,tegra234-misc";
|
||||
|
@ -33,7 +33,3 @@
|
||||
&gpio_leds_default {
|
||||
pins = "gpio81", "gpio82", "gpio83";
|
||||
};
|
||||
|
||||
&sim_ctrl_default {
|
||||
pins = "gpio1", "gpio2";
|
||||
};
|
||||
|
@ -25,6 +25,11 @@
|
||||
gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&mpss {
|
||||
pinctrl-0 = <&sim_ctrl_default>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&button_default {
|
||||
pins = "gpio37";
|
||||
bias-pull-down;
|
||||
@ -34,6 +39,25 @@
|
||||
pins = "gpio20", "gpio21", "gpio22";
|
||||
};
|
||||
|
||||
&sim_ctrl_default {
|
||||
pins = "gpio1", "gpio2";
|
||||
/* This selects the external SIM card slot by default */
|
||||
&msmgpio {
|
||||
sim_ctrl_default: sim-ctrl-default-state {
|
||||
esim-sel-pins {
|
||||
pins = "gpio0", "gpio3";
|
||||
bias-disable;
|
||||
output-low;
|
||||
};
|
||||
|
||||
sim-en-pins {
|
||||
pins = "gpio1";
|
||||
bias-disable;
|
||||
output-low;
|
||||
};
|
||||
|
||||
sim-sel-pins {
|
||||
pins = "gpio2";
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -92,9 +92,6 @@
|
||||
};
|
||||
|
||||
&mpss {
|
||||
pinctrl-0 = <&sim_ctrl_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -240,11 +237,4 @@
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
sim_ctrl_default: sim-ctrl-default-state {
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
@ -241,7 +241,7 @@
|
||||
};
|
||||
|
||||
&remoteproc_nsp0 {
|
||||
firmware-name = "qcom/sa8540p/cdsp.mbn";
|
||||
firmware-name = "qcom/sa8540p/cdsp0.mbn";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -2131,6 +2131,8 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie1_clkreq_n>;
|
||||
|
||||
dma-coherent;
|
||||
|
||||
iommus = <&apps_smmu 0x1c80 0x1>;
|
||||
|
||||
iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
|
||||
|
@ -370,6 +370,7 @@
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vreg_s11b: smps11 {
|
||||
@ -377,6 +378,7 @@
|
||||
regulator-min-microvolt = <1272000>;
|
||||
regulator-max-microvolt = <1272000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vreg_s12b: smps12 {
|
||||
@ -384,6 +386,7 @@
|
||||
regulator-min-microvolt = <984000>;
|
||||
regulator-max-microvolt = <984000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vreg_l3b: ldo3 {
|
||||
@ -441,6 +444,7 @@
|
||||
regulator-min-microvolt = <3008000>;
|
||||
regulator-max-microvolt = <3960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
@ -772,75 +776,88 @@
|
||||
pmic-die-temp@3 {
|
||||
reg = <PMK8350_ADC7_DIE_TEMP>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
label = "pmk8350_die_temp";
|
||||
};
|
||||
|
||||
xo-therm@44 {
|
||||
reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "pmk8350_xo_therm";
|
||||
};
|
||||
|
||||
pmic-die-temp@103 {
|
||||
reg = <PM8350_ADC7_DIE_TEMP(1)>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
label = "pmc8280_1_die_temp";
|
||||
};
|
||||
|
||||
sys-therm@144 {
|
||||
reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "sys_therm1";
|
||||
};
|
||||
|
||||
sys-therm@145 {
|
||||
reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "sys_therm2";
|
||||
};
|
||||
|
||||
sys-therm@146 {
|
||||
reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "sys_therm3";
|
||||
};
|
||||
|
||||
sys-therm@147 {
|
||||
reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "sys_therm4";
|
||||
};
|
||||
|
||||
pmic-die-temp@303 {
|
||||
reg = <PM8350_ADC7_DIE_TEMP(3)>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
label = "pmc8280_2_die_temp";
|
||||
};
|
||||
|
||||
sys-therm@344 {
|
||||
reg = <PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "sys_therm5";
|
||||
};
|
||||
|
||||
sys-therm@345 {
|
||||
reg = <PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "sys_therm6";
|
||||
};
|
||||
|
||||
sys-therm@346 {
|
||||
reg = <PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "sys_therm7";
|
||||
};
|
||||
|
||||
sys-therm@347 {
|
||||
reg = <PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
|
||||
qcom,hw-settle-time = <200>;
|
||||
qcom,ratiometric;
|
||||
label = "sys_therm8";
|
||||
};
|
||||
|
||||
pmic-die-temp@403 {
|
||||
reg = <PMR735A_ADC7_DIE_TEMP>;
|
||||
qcom,pre-scaling = <1 1>;
|
||||
label = "pmr735a_die_temp";
|
||||
};
|
||||
};
|
||||
|
||||
@ -884,9 +901,9 @@
|
||||
"VA DMIC0", "MIC BIAS1",
|
||||
"VA DMIC1", "MIC BIAS1",
|
||||
"VA DMIC2", "MIC BIAS3",
|
||||
"TX DMIC0", "MIC BIAS1",
|
||||
"TX DMIC1", "MIC BIAS2",
|
||||
"TX DMIC2", "MIC BIAS3",
|
||||
"VA DMIC0", "VA MIC BIAS1",
|
||||
"VA DMIC1", "VA MIC BIAS1",
|
||||
"VA DMIC2", "VA MIC BIAS3",
|
||||
"TX SWR_ADC1", "ADC2_OUTPUT";
|
||||
|
||||
wcd-playback-dai-link {
|
||||
@ -937,7 +954,7 @@
|
||||
va-dai-link {
|
||||
link-name = "VA Capture";
|
||||
cpu {
|
||||
sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
|
||||
sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
|
||||
};
|
||||
|
||||
platform {
|
||||
@ -1062,7 +1079,7 @@
|
||||
|
||||
vdd-micb-supply = <&vreg_s10b>;
|
||||
|
||||
qcom,dmic-sample-rate = <600000>;
|
||||
qcom,dmic-sample-rate = <4800000>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -2504,12 +2504,12 @@
|
||||
qcom,ports-sinterval-low = /bits/ 8 <0x03 0x1f 0x1f 0x07 0x00>;
|
||||
qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x0B 0x01 0x00>;
|
||||
qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x0B 0x00 0x00>;
|
||||
qcom,ports-hstart = /bits/ 8 <0xff 0x03 0xff 0xff 0xff>;
|
||||
qcom,ports-hstop = /bits/ 8 <0xff 0x06 0xff 0xff 0xff>;
|
||||
qcom,ports-hstart = /bits/ 8 <0xff 0x03 0x00 0xff 0xff>;
|
||||
qcom,ports-hstop = /bits/ 8 <0xff 0x06 0x0f 0xff 0xff>;
|
||||
qcom,ports-word-length = /bits/ 8 <0x01 0x07 0x04 0xff 0xff>;
|
||||
qcom,ports-block-pack-mode = /bits/ 8 <0xff 0x00 0x01 0xff 0xff>;
|
||||
qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0x01 0xff 0xff>;
|
||||
qcom,ports-lane-control = /bits/ 8 <0x01 0x00 0x00 0x00 0x00>;
|
||||
qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0x00>;
|
||||
qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
|
||||
|
||||
#sound-dai-cells = <1>;
|
||||
#address-cells = <2>;
|
||||
@ -2600,7 +2600,7 @@
|
||||
<&intc GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "core", "wake";
|
||||
|
||||
clocks = <&vamacro>;
|
||||
clocks = <&txmacro>;
|
||||
clock-names = "iface";
|
||||
label = "TX";
|
||||
#sound-dai-cells = <1>;
|
||||
@ -2609,15 +2609,15 @@
|
||||
|
||||
qcom,din-ports = <4>;
|
||||
qcom,dout-ports = <0>;
|
||||
qcom,ports-sinterval-low = /bits/ 8 <0x01 0x03 0x03 0x03>;
|
||||
qcom,ports-offset1 = /bits/ 8 <0x01 0x00 0x02 0x01>;
|
||||
qcom,ports-sinterval-low = /bits/ 8 <0x01 0x01 0x03 0x03>;
|
||||
qcom,ports-offset1 = /bits/ 8 <0x01 0x00 0x02 0x00>;
|
||||
qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x00 0x00>;
|
||||
qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-word-length = /bits/ 8 <0xff 0x00 0xff 0xff>;
|
||||
qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-lane-control = /bits/ 8 <0x00 0x01 0x00 0x00>;
|
||||
qcom,ports-lane-control = /bits/ 8 <0x00 0x01 0x00 0x01>;
|
||||
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -1078,6 +1078,7 @@
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1209,6 +1209,7 @@
|
||||
clock-names = "xo";
|
||||
|
||||
power-domains = <&rpmpd SM6375_VDDCX>;
|
||||
power-domain-names = "cx";
|
||||
|
||||
memory-region = <&pil_cdsp_mem>;
|
||||
|
||||
|
@ -1826,7 +1826,7 @@
|
||||
"slave_q2a",
|
||||
"tbu";
|
||||
|
||||
iommus = <&apps_smmu 0x1d80 0x7f>;
|
||||
iommus = <&apps_smmu 0x1d80 0x3f>;
|
||||
iommu-map = <0x0 &apps_smmu 0x1d80 0x1>,
|
||||
<0x100 &apps_smmu 0x1d81 0x1>;
|
||||
|
||||
@ -1925,7 +1925,7 @@
|
||||
assigned-clocks = <&gcc GCC_PCIE_1_AUX_CLK>;
|
||||
assigned-clock-rates = <19200000>;
|
||||
|
||||
iommus = <&apps_smmu 0x1e00 0x7f>;
|
||||
iommus = <&apps_smmu 0x1e00 0x3f>;
|
||||
iommu-map = <0x0 &apps_smmu 0x1e00 0x1>,
|
||||
<0x100 &apps_smmu 0x1e01 0x1>;
|
||||
|
||||
|
@ -625,6 +625,6 @@
|
||||
};
|
||||
|
||||
&venus {
|
||||
firmware-name = "qcom/sm8250/elish/venus.mbn";
|
||||
firmware-name = "qcom/sm8250/xiaomi/elish/venus.mbn";
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -1664,6 +1664,7 @@
|
||||
power-domains = <&gcc UFS_PHY_GDSC>;
|
||||
|
||||
iommus = <&apps_smmu 0xe0 0x0>;
|
||||
dma-coherent;
|
||||
|
||||
clock-names =
|
||||
"core_clk",
|
||||
|
@ -2143,8 +2143,8 @@
|
||||
<&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
|
||||
<&vamacro>;
|
||||
clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
|
||||
assigned-clocks = <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
|
||||
<&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
|
||||
assigned-clocks = <&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
|
||||
<&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
|
||||
assigned-clock-rates = <19200000>, <19200000>;
|
||||
|
||||
#clock-cells = <0>;
|
||||
@ -4003,6 +4003,7 @@
|
||||
power-domains = <&gcc UFS_PHY_GDSC>;
|
||||
|
||||
iommus = <&apps_smmu 0xe0 0x0>;
|
||||
dma-coherent;
|
||||
|
||||
interconnects = <&aggre1_noc MASTER_UFS_MEM 0 &mc_virt SLAVE_EBI1 0>,
|
||||
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_UFS_MEM_CFG 0>;
|
||||
|
@ -66,7 +66,7 @@
|
||||
|
||||
CPU0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
compatible = "arm,cortex-a510";
|
||||
reg = <0 0>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_0>;
|
||||
@ -89,7 +89,7 @@
|
||||
|
||||
CPU1: cpu@100 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
compatible = "arm,cortex-a510";
|
||||
reg = <0 0x100>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_100>;
|
||||
@ -108,7 +108,7 @@
|
||||
|
||||
CPU2: cpu@200 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
compatible = "arm,cortex-a510";
|
||||
reg = <0 0x200>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_200>;
|
||||
@ -127,7 +127,7 @@
|
||||
|
||||
CPU3: cpu@300 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
compatible = "arm,cortex-a715";
|
||||
reg = <0 0x300>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_300>;
|
||||
@ -146,7 +146,7 @@
|
||||
|
||||
CPU4: cpu@400 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
compatible = "arm,cortex-a715";
|
||||
reg = <0 0x400>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_400>;
|
||||
@ -165,7 +165,7 @@
|
||||
|
||||
CPU5: cpu@500 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
compatible = "arm,cortex-a710";
|
||||
reg = <0 0x500>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_500>;
|
||||
@ -184,7 +184,7 @@
|
||||
|
||||
CPU6: cpu@600 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
compatible = "arm,cortex-a710";
|
||||
reg = <0 0x600>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_600>;
|
||||
@ -203,7 +203,7 @@
|
||||
|
||||
CPU7: cpu@700 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
compatible = "arm,cortex-x3";
|
||||
reg = <0 0x700>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_700>;
|
||||
@ -1905,6 +1905,7 @@
|
||||
required-opps = <&rpmhpd_opp_nom>;
|
||||
|
||||
iommus = <&apps_smmu 0x60 0x0>;
|
||||
dma-coherent;
|
||||
|
||||
interconnects = <&aggre1_noc MASTER_UFS_MEM 0 &mc_virt SLAVE_EBI1 0>,
|
||||
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_UFS_MEM_CFG 0>;
|
||||
@ -1997,7 +1998,7 @@
|
||||
lpass_tlmm: pinctrl@6e80000 {
|
||||
compatible = "qcom,sm8550-lpass-lpi-pinctrl";
|
||||
reg = <0 0x06e80000 0 0x20000>,
|
||||
<0 0x0725a000 0 0x10000>;
|
||||
<0 0x07250000 0 0x10000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&lpass_tlmm 0 0 23>;
|
||||
@ -2691,7 +2692,7 @@
|
||||
pins = "gpio28", "gpio29";
|
||||
function = "qup1_se0";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c1_data_clk: qup-i2c1-data-clk-state {
|
||||
@ -2699,7 +2700,7 @@
|
||||
pins = "gpio32", "gpio33";
|
||||
function = "qup1_se1";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c2_data_clk: qup-i2c2-data-clk-state {
|
||||
@ -2707,7 +2708,7 @@
|
||||
pins = "gpio36", "gpio37";
|
||||
function = "qup1_se2";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c3_data_clk: qup-i2c3-data-clk-state {
|
||||
@ -2715,7 +2716,7 @@
|
||||
pins = "gpio40", "gpio41";
|
||||
function = "qup1_se3";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c4_data_clk: qup-i2c4-data-clk-state {
|
||||
@ -2723,7 +2724,7 @@
|
||||
pins = "gpio44", "gpio45";
|
||||
function = "qup1_se4";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c5_data_clk: qup-i2c5-data-clk-state {
|
||||
@ -2731,7 +2732,7 @@
|
||||
pins = "gpio52", "gpio53";
|
||||
function = "qup1_se5";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c6_data_clk: qup-i2c6-data-clk-state {
|
||||
@ -2739,7 +2740,7 @@
|
||||
pins = "gpio48", "gpio49";
|
||||
function = "qup1_se6";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c8_data_clk: qup-i2c8-data-clk-state {
|
||||
@ -2747,14 +2748,14 @@
|
||||
pins = "gpio57";
|
||||
function = "qup2_se0_l1_mira";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
sda-pins {
|
||||
pins = "gpio56";
|
||||
function = "qup2_se0_l0_mira";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -2763,7 +2764,7 @@
|
||||
pins = "gpio60", "gpio61";
|
||||
function = "qup2_se1";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c10_data_clk: qup-i2c10-data-clk-state {
|
||||
@ -2771,7 +2772,7 @@
|
||||
pins = "gpio64", "gpio65";
|
||||
function = "qup2_se2";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c11_data_clk: qup-i2c11-data-clk-state {
|
||||
@ -2779,7 +2780,7 @@
|
||||
pins = "gpio68", "gpio69";
|
||||
function = "qup2_se3";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c12_data_clk: qup-i2c12-data-clk-state {
|
||||
@ -2787,7 +2788,7 @@
|
||||
pins = "gpio2", "gpio3";
|
||||
function = "qup2_se4";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c13_data_clk: qup-i2c13-data-clk-state {
|
||||
@ -2795,7 +2796,7 @@
|
||||
pins = "gpio80", "gpio81";
|
||||
function = "qup2_se5";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_i2c15_data_clk: qup-i2c15-data-clk-state {
|
||||
@ -2803,7 +2804,7 @@
|
||||
pins = "gpio72", "gpio106";
|
||||
function = "qup2_se7";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
bias-pull-up = <2200>;
|
||||
};
|
||||
|
||||
qup_spi0_cs: qup-spi0-cs-state {
|
||||
|
@ -204,8 +204,8 @@ static int weim_parse_dt(struct platform_device *pdev)
|
||||
const struct of_device_id *of_id = of_match_device(weim_id_table,
|
||||
&pdev->dev);
|
||||
const struct imx_weim_devtype *devtype = of_id->data;
|
||||
int ret = 0, have_child = 0;
|
||||
struct device_node *child;
|
||||
int ret, have_child = 0;
|
||||
struct weim_priv *priv;
|
||||
void __iomem *base;
|
||||
u32 reg;
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/of.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
@ -436,7 +435,7 @@ struct scmi_device *scmi_device_create(struct device_node *np,
|
||||
/* Nothing to do. */
|
||||
if (!phead) {
|
||||
mutex_unlock(&scmi_requested_devices_mtx);
|
||||
return scmi_dev;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Walk the list of requested devices for protocol and create them */
|
||||
|
@ -2221,8 +2221,8 @@ static int __scmi_xfer_info_init(struct scmi_info *sinfo,
|
||||
hash_init(info->pending_xfers);
|
||||
|
||||
/* Allocate a bitmask sized to hold MSG_TOKEN_MAX tokens */
|
||||
info->xfer_alloc_table = devm_kcalloc(dev, BITS_TO_LONGS(MSG_TOKEN_MAX),
|
||||
sizeof(long), GFP_KERNEL);
|
||||
info->xfer_alloc_table = devm_bitmap_zalloc(dev, MSG_TOKEN_MAX,
|
||||
GFP_KERNEL);
|
||||
if (!info->xfer_alloc_table)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -2657,6 +2657,7 @@ static int scmi_probe(struct platform_device *pdev)
|
||||
struct scmi_handle *handle;
|
||||
const struct scmi_desc *desc;
|
||||
struct scmi_info *info;
|
||||
bool coex = IS_ENABLED(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT_COEX);
|
||||
struct device *dev = &pdev->dev;
|
||||
struct device_node *child, *np = dev->of_node;
|
||||
|
||||
@ -2731,16 +2732,13 @@ static int scmi_probe(struct platform_device *pdev)
|
||||
dev_warn(dev, "Failed to setup SCMI debugfs.\n");
|
||||
|
||||
if (IS_ENABLED(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT)) {
|
||||
bool coex =
|
||||
IS_ENABLED(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT_COEX);
|
||||
|
||||
ret = scmi_debugfs_raw_mode_setup(info);
|
||||
if (!coex) {
|
||||
if (ret)
|
||||
goto clear_dev_req_notifier;
|
||||
|
||||
/* Bail out anyway when coex enabled */
|
||||
return ret;
|
||||
/* Bail out anyway when coex disabled. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Coex enabled, carry on in any case. */
|
||||
@ -2764,6 +2762,8 @@ static int scmi_probe(struct platform_device *pdev)
|
||||
ret = scmi_protocol_acquire(handle, SCMI_PROTOCOL_BASE);
|
||||
if (ret) {
|
||||
dev_err(dev, "unable to communicate with SCMI\n");
|
||||
if (coex)
|
||||
return 0;
|
||||
goto notification_exit;
|
||||
}
|
||||
|
||||
|
@ -52,6 +52,39 @@ static bool mailbox_chan_available(struct device_node *of_node, int idx)
|
||||
"#mbox-cells", idx, NULL);
|
||||
}
|
||||
|
||||
static int mailbox_chan_validate(struct device *cdev)
|
||||
{
|
||||
int num_mb, num_sh, ret = 0;
|
||||
struct device_node *np = cdev->of_node;
|
||||
|
||||
num_mb = of_count_phandle_with_args(np, "mboxes", "#mbox-cells");
|
||||
num_sh = of_count_phandle_with_args(np, "shmem", NULL);
|
||||
/* Bail out if mboxes and shmem descriptors are inconsistent */
|
||||
if (num_mb <= 0 || num_sh > 2 || num_mb != num_sh) {
|
||||
dev_warn(cdev, "Invalid channel descriptor for '%s'\n",
|
||||
of_node_full_name(np));
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (num_sh > 1) {
|
||||
struct device_node *np_tx, *np_rx;
|
||||
|
||||
np_tx = of_parse_phandle(np, "shmem", 0);
|
||||
np_rx = of_parse_phandle(np, "shmem", 1);
|
||||
/* SCMI Tx and Rx shared mem areas have to be distinct */
|
||||
if (!np_tx || !np_rx || np_tx == np_rx) {
|
||||
dev_warn(cdev, "Invalid shmem descriptor for '%s'\n",
|
||||
of_node_full_name(np));
|
||||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
of_node_put(np_tx);
|
||||
of_node_put(np_rx);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int mailbox_chan_setup(struct scmi_chan_info *cinfo, struct device *dev,
|
||||
bool tx)
|
||||
{
|
||||
@ -64,6 +97,10 @@ static int mailbox_chan_setup(struct scmi_chan_info *cinfo, struct device *dev,
|
||||
resource_size_t size;
|
||||
struct resource res;
|
||||
|
||||
ret = mailbox_chan_validate(cdev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
smbox = devm_kzalloc(dev, sizeof(*smbox), GFP_KERNEL);
|
||||
if (!smbox)
|
||||
return -ENOMEM;
|
||||
|
@ -1479,7 +1479,7 @@ static int qcom_scm_probe(struct platform_device *pdev)
|
||||
|
||||
init_completion(&__scm->waitq_comp);
|
||||
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
irq = platform_get_irq_optional(pdev, 0);
|
||||
if (irq < 0) {
|
||||
if (irq != -ENXIO)
|
||||
return irq;
|
||||
|
@ -191,9 +191,9 @@ static const struct llcc_slice_config sc8280xp_data[] = {
|
||||
{ LLCC_CVP, 28, 512, 3, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 },
|
||||
{ LLCC_APTCM, 30, 1024, 3, 1, 0x0, 0x1, 1, 0, 0, 1, 0, 0 },
|
||||
{ LLCC_WRCACHE, 31, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 },
|
||||
{ LLCC_CVPFW, 32, 512, 1, 0, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 },
|
||||
{ LLCC_CPUSS1, 33, 2048, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 },
|
||||
{ LLCC_CPUHWT, 36, 512, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 },
|
||||
{ LLCC_CVPFW, 17, 512, 1, 0, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 },
|
||||
{ LLCC_CPUSS1, 3, 2048, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 },
|
||||
{ LLCC_CPUHWT, 5, 512, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 },
|
||||
};
|
||||
|
||||
static const struct llcc_slice_config sdm845_data[] = {
|
||||
|
@ -176,7 +176,8 @@ static int qcom_rmtfs_mem_probe(struct platform_device *pdev)
|
||||
struct reserved_mem *rmem;
|
||||
struct qcom_rmtfs_mem *rmtfs_mem;
|
||||
u32 client_id;
|
||||
u32 num_vmids, vmid[NUM_MAX_VMIDS];
|
||||
u32 vmid[NUM_MAX_VMIDS];
|
||||
int num_vmids;
|
||||
int ret, i;
|
||||
|
||||
rmem = of_reserved_mem_lookup(node);
|
||||
@ -228,8 +229,11 @@ static int qcom_rmtfs_mem_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
num_vmids = of_property_count_u32_elems(node, "qcom,vmid");
|
||||
if (num_vmids < 0) {
|
||||
dev_err(&pdev->dev, "failed to count qcom,vmid elements: %d\n", ret);
|
||||
if (num_vmids == -EINVAL) {
|
||||
/* qcom,vmid is optional */
|
||||
num_vmids = 0;
|
||||
} else if (num_vmids < 0) {
|
||||
dev_err(&pdev->dev, "failed to count qcom,vmid elements: %d\n", num_vmids);
|
||||
goto remove_cdev;
|
||||
} else if (num_vmids > NUM_MAX_VMIDS) {
|
||||
dev_warn(&pdev->dev,
|
||||
|
@ -267,35 +267,34 @@ int amdtee_open_session(struct tee_context *ctx,
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Open session with loaded TA */
|
||||
handle_open_session(arg, &session_info, param);
|
||||
if (arg->ret != TEEC_SUCCESS) {
|
||||
pr_err("open_session failed %d\n", arg->ret);
|
||||
handle_unload_ta(ta_handle);
|
||||
kref_put(&sess->refcount, destroy_session);
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Find an empty session index for the given TA */
|
||||
spin_lock(&sess->lock);
|
||||
i = find_first_zero_bit(sess->sess_mask, TEE_NUM_SESSIONS);
|
||||
if (i < TEE_NUM_SESSIONS)
|
||||
if (i < TEE_NUM_SESSIONS) {
|
||||
sess->session_info[i] = session_info;
|
||||
set_session_id(ta_handle, i, &arg->session);
|
||||
set_bit(i, sess->sess_mask);
|
||||
}
|
||||
spin_unlock(&sess->lock);
|
||||
|
||||
if (i >= TEE_NUM_SESSIONS) {
|
||||
pr_err("reached maximum session count %d\n", TEE_NUM_SESSIONS);
|
||||
handle_close_session(ta_handle, session_info);
|
||||
handle_unload_ta(ta_handle);
|
||||
kref_put(&sess->refcount, destroy_session);
|
||||
rc = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Open session with loaded TA */
|
||||
handle_open_session(arg, &session_info, param);
|
||||
if (arg->ret != TEEC_SUCCESS) {
|
||||
pr_err("open_session failed %d\n", arg->ret);
|
||||
spin_lock(&sess->lock);
|
||||
clear_bit(i, sess->sess_mask);
|
||||
spin_unlock(&sess->lock);
|
||||
handle_unload_ta(ta_handle);
|
||||
kref_put(&sess->refcount, destroy_session);
|
||||
goto out;
|
||||
}
|
||||
|
||||
sess->session_info[i] = session_info;
|
||||
set_session_id(ta_handle, i, &arg->session);
|
||||
out:
|
||||
free_pages((u64)ta, get_order(ta_size));
|
||||
return rc;
|
||||
|
Loading…
Reference in New Issue
Block a user