ARM: SoC fixes for 6.4, part 2
Most of the changes this time are for the Qualcomm Snapdragon platforms. There are bug fixes for error handling in Qualcomm icc-bwmon, rpmh-rsc, ramp_controller and rmtfs driver as well as the AMD tee firmware driver and a missing initialization in the Arm ff-a firmware driver. The Qualcomm RPMh and EDAC drivers need some rework to work correctly on all supported chips. The DT fixes include: - i.MX8 fixes for gpio, pinmux and clock settings - ADS touchscreen gpio polarity settings in several machines - Address dtb warnings for caches, panel and input-enable properties on Qualcomm platforms - Incorrect data on qualcomm platforms fir SA8155P power domains, SM8550 LLCC, SC7180-lite SDRAM frequencies and SM8550 soundwire. - Remoteproc firmware paths are corrected for Sony Xperia 10 IV. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDmZQACgkQYKtH/8kJ UiekPhAA49X84I1sBZXeS2x5gJNV9fs0DQYVPDIEvGMUSZPIYCurXZfIvGh7FnDc GkqGoNovnRSIH6O+xY3TPaAlkiRhPEUPnKHBbNNsxQcEDlByrpuEsKhX05ZSFdV6 rvAb11gsZ65nDWQBDPAJE52QmqHOi2looygmHJSuHE6NodlNafgMASOlVAlY/KoD esbgxOxmyro3E5GLzyD5H8bEsUKO6+k/5NcUEqDk7K90TK7+dQ3oga3SKAE8HBSB M7U5AV/nOmVcSzeqCX9gmkZvHUmeQpa5EvNyzuauUQOpEPs1QuwFIkYDmsFlrU6E ZFVJL8qO6k574Id6LDRuSctCFQT+hXd2pICvtqCZVM0ZHcP+fDjf0lqEVzHYvejU ERT2mEy0MiIlBsqB6tAwshSt8lP/lXklAKu2tGc/QrneUWDu2prO56sentdOtZ3F wvWAfCfi24plNIXhqikNYbx8vRsO76GhuF+e31bodmpK5fM4he1LmWD38bXsb9uw bWUyQmgliNcPq0ypZGohs7zXV8CGY2KouIic0XzZrsQZGHrtA0Fq+2WwdEuRlA9B M8ArWykGQmCtIfsMUAt2cn3pPpC6OgF2Tykpb0oMvNdcJ4m1/ZPf3XsCz+P3xd1d G4Q2V/3E1YfH+fOzpWFDjd9pDSo4D6bGMd8JgCqy9PfftAy5zQ0= =auoN -----END PGP SIGNATURE----- Merge tag 'arm-fixes-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM SoC fixes from Arnd Bergmann: "Most of the changes this time are for the Qualcomm Snapdragon platforms. There are bug fixes for error handling in Qualcomm icc-bwmon, rpmh-rsc, ramp_controller and rmtfs driver as well as the AMD tee firmware driver and a missing initialization in the Arm ff-a firmware driver. The Qualcomm RPMh and EDAC drivers need some rework to work correctly on all supported chips. The DT fixes include: - i.MX8 fixes for gpio, pinmux and clock settings - ADS touchscreen gpio polarity settings in several machines - Address dtb warnings for caches, panel and input-enable properties on Qualcomm platforms - Incorrect data on qualcomm platforms fir SA8155P power domains, SM8550 LLCC, SC7180-lite SDRAM frequencies and SM8550 soundwire - Remoteproc firmware paths are corrected for Sony Xperia 10 IV" * tag 'arm-fixes-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (36 commits) firmware: arm_ffa: Set handle field to zero in memory descriptor ARM: dts: Fix erroneous ADS touchscreen polarities arm64: dts: imx8mn-beacon: Fix SPI CS pinmux arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals EDAC/qcom: Get rid of hardcoded register offsets EDAC/qcom: Remove superfluous return variable assignment in qcom_llcc_core_setup() arm64: dts: qcom: sm8550: Use the correct LLCC register scheme dt-bindings: cache: qcom,llcc: Fix SM8550 description arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite boards arm64: dts: qcom: sm8550: use uint16 for Soundwire interval soc: qcom: rpmhpd: Add SA8155P power domains arm64: dts: qcom: Split out SA8155P and use correct RPMh power domains dt-bindings: power: qcom,rpmpd: Add SA8155P soc: qcom: Rename ice to qcom_ice to avoid module name conflict soc: qcom: rmtfs: Fix error code in probe() soc: qcom: ramp_controller: Fix an error handling path in qcom_ramp_controller_probe() ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc ARM: at91: pm: fix imbalanced reference counter for ethernet devices arm64: dts: qcom: sm6375-pdx225: Fix remoteproc firmware paths ...
This commit is contained in:
commit
859c745951
@ -129,6 +129,7 @@ allOf:
|
||||
- qcom,sm8250-llcc
|
||||
- qcom,sm8350-llcc
|
||||
- qcom,sm8450-llcc
|
||||
- qcom,sm8550-llcc
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
|
@ -29,6 +29,7 @@ properties:
|
||||
- qcom,qcm2290-rpmpd
|
||||
- qcom,qcs404-rpmpd
|
||||
- qcom,qdu1000-rpmhpd
|
||||
- qcom,sa8155p-rpmhpd
|
||||
- qcom,sa8540p-rpmhpd
|
||||
- qcom,sa8775p-rpmhpd
|
||||
- qcom,sdm660-rpmpd
|
||||
|
@ -527,7 +527,7 @@
|
||||
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <31 0>;
|
||||
pendown-gpio = <&gpio1 31 0>;
|
||||
pendown-gpio = <&gpio1 31 GPIO_ACTIVE_LOW>;
|
||||
|
||||
|
||||
ti,x-min = /bits/ 16 <0x0>;
|
||||
|
@ -792,7 +792,7 @@
|
||||
};
|
||||
|
||||
&shdwc {
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
debounce-delay-us = <976>;
|
||||
status = "okay";
|
||||
|
||||
input@0 {
|
||||
|
@ -156,7 +156,7 @@
|
||||
compatible = "ti,ads7843";
|
||||
interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
|
||||
spi-max-frequency = <3000000>;
|
||||
pendown-gpio = <&pioC 2 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&pioC 2 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ti,x-min = /bits/ 16 <150>;
|
||||
ti,x-max = /bits/ 16 <3830>;
|
||||
|
@ -64,7 +64,7 @@
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <7 0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
pendown-gpio = <&gpio2 7 0>;
|
||||
pendown-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
|
||||
vcc-supply = <®_3p3v>;
|
||||
ti,x-min = /bits/ 16 <0>;
|
||||
ti,x-max = /bits/ 16 <4095>;
|
||||
|
@ -205,7 +205,7 @@
|
||||
pinctrl-0 = <&pinctrl_tsc2046_pendown>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <29 0>;
|
||||
pendown-gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&gpio2 29 GPIO_ACTIVE_LOW>;
|
||||
touchscreen-max-pressure = <255>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
@ -227,7 +227,7 @@
|
||||
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <25 0>; /* gpio_57 */
|
||||
pendown-gpio = <&gpio2 25 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&gpio2 25 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ti,x-min = /bits/ 16 <0x0>;
|
||||
ti,x-max = /bits/ 16 <0x0fff>;
|
||||
|
@ -54,7 +54,7 @@
|
||||
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <27 0>; /* gpio_27 */
|
||||
pendown-gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&gpio1 27 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ti,x-min = /bits/ 16 <0x0>;
|
||||
ti,x-max = /bits/ 16 <0x0fff>;
|
||||
|
@ -311,7 +311,7 @@
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <8 0>; /* boot6 / gpio_8 */
|
||||
spi-max-frequency = <1000000>;
|
||||
pendown-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
|
||||
vcc-supply = <®_vcc3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&tsc2048_pins>;
|
||||
|
@ -149,7 +149,7 @@
|
||||
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <18 0>; /* gpio_114 */
|
||||
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ti,x-min = /bits/ 16 <0x0>;
|
||||
ti,x-max = /bits/ 16 <0x0fff>;
|
||||
|
@ -160,7 +160,7 @@
|
||||
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <18 0>; /* gpio_114 */
|
||||
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ti,x-min = /bits/ 16 <0x0>;
|
||||
ti,x-max = /bits/ 16 <0x0fff>;
|
||||
|
@ -651,7 +651,7 @@
|
||||
pinctrl-0 = <&penirq_pins>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */
|
||||
pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&gpio3 30 GPIO_ACTIVE_LOW>;
|
||||
vcc-supply = <&vaux4>;
|
||||
|
||||
ti,x-min = /bits/ 16 <0>;
|
||||
|
@ -354,7 +354,7 @@
|
||||
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <15 0>; /* gpio1_wk15 */
|
||||
pendown-gpio = <&gpio1 15 GPIO_ACTIVE_HIGH>;
|
||||
pendown-gpio = <&gpio1 15 GPIO_ACTIVE_LOW>;
|
||||
|
||||
|
||||
ti,x-min = /bits/ 16 <0x0>;
|
||||
|
@ -268,7 +268,6 @@
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
wlan_hostwake_default_state: wlan-hostwake-default-state {
|
||||
@ -276,7 +275,6 @@
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
wlan_regulator_default_state: wlan-regulator-default-state {
|
||||
|
@ -352,7 +352,6 @@
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
wlan_regulator_default_state: wlan-regulator-default-state {
|
||||
|
@ -307,7 +307,6 @@
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
touch_pins: touch-state {
|
||||
@ -317,7 +316,6 @@
|
||||
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
reset-pins {
|
||||
@ -335,7 +333,6 @@
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
wlan_regulator_default_state: wlan-regulator-default-state {
|
||||
|
@ -83,6 +83,7 @@
|
||||
L2: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
|
||||
idle-states {
|
||||
|
@ -74,6 +74,7 @@
|
||||
L2: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
qcom,saw = <&saw_l2>;
|
||||
};
|
||||
|
||||
|
@ -102,6 +102,7 @@
|
||||
L2: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
qcom,saw = <&saw_l2>;
|
||||
};
|
||||
};
|
||||
|
@ -45,6 +45,7 @@
|
||||
L2: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -49,7 +49,6 @@
|
||||
gpioext1-pins {
|
||||
pins = "gpio2";
|
||||
function = "gpio";
|
||||
input-enable;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
@ -36,6 +36,7 @@
|
||||
L2: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -42,6 +42,7 @@
|
||||
L2: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -592,7 +592,6 @@
|
||||
pins = "gpio73";
|
||||
function = "gpio";
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
touch_pin: touch-state {
|
||||
@ -602,7 +601,6 @@
|
||||
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
reset-pins {
|
||||
|
@ -433,7 +433,6 @@
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
sdc1_on: sdc1-on-state {
|
||||
|
@ -80,6 +80,7 @@
|
||||
L2: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
qcom,saw = <&saw_l2>;
|
||||
};
|
||||
|
||||
|
@ -461,7 +461,6 @@
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
reset-pins {
|
||||
|
@ -704,7 +704,6 @@
|
||||
pins = "gpio75";
|
||||
function = "gpio";
|
||||
drive-strength = <16>;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
devwake-pins {
|
||||
@ -760,14 +759,12 @@
|
||||
i2c_touchkey_pins: i2c-touchkey-state {
|
||||
pins = "gpio95", "gpio96";
|
||||
function = "gpio";
|
||||
input-enable;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
i2c_led_gpioex_pins: i2c-led-gpioex-state {
|
||||
pins = "gpio120", "gpio121";
|
||||
function = "gpio";
|
||||
input-enable;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
@ -781,7 +778,6 @@
|
||||
wifi_pin: wifi-state {
|
||||
pins = "gpio92";
|
||||
function = "gpio";
|
||||
input-enable;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
|
@ -631,7 +631,6 @@
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
input-enable;
|
||||
};
|
||||
|
||||
bt_host_wake_pin: bt-host-wake-state {
|
||||
|
@ -334,16 +334,14 @@ static bool at91_pm_eth_quirk_is_valid(struct at91_pm_quirk_eth *eth)
|
||||
pdev = of_find_device_by_node(eth->np);
|
||||
if (!pdev)
|
||||
return false;
|
||||
/* put_device(eth->dev) is called at the end of suspend. */
|
||||
eth->dev = &pdev->dev;
|
||||
}
|
||||
|
||||
/* No quirks if device isn't a wakeup source. */
|
||||
if (!device_may_wakeup(eth->dev)) {
|
||||
put_device(eth->dev);
|
||||
if (!device_may_wakeup(eth->dev))
|
||||
return false;
|
||||
}
|
||||
|
||||
/* put_device(eth->dev) is called at the end of suspend. */
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -439,14 +437,14 @@ clk_unconfigure:
|
||||
pr_err("AT91: PM: failed to enable %s clocks\n",
|
||||
j == AT91_PM_G_ETH ? "geth" : "eth");
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
* Release the reference to eth->dev taken in
|
||||
* at91_pm_eth_quirk_is_valid().
|
||||
*/
|
||||
put_device(eth->dev);
|
||||
eth->dev = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Release the reference to eth->dev taken in
|
||||
* at91_pm_eth_quirk_is_valid().
|
||||
*/
|
||||
put_device(eth->dev);
|
||||
eth->dev = NULL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -90,6 +90,8 @@ dma_subsys: bus@5a000000 {
|
||||
clocks = <&uart0_lpcg IMX_LPCG_CLK_4>,
|
||||
<&uart0_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "ipg", "baud";
|
||||
assigned-clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <80000000>;
|
||||
power-domains = <&pd IMX_SC_R_UART_0>;
|
||||
status = "disabled";
|
||||
};
|
||||
@ -100,6 +102,8 @@ dma_subsys: bus@5a000000 {
|
||||
clocks = <&uart1_lpcg IMX_LPCG_CLK_4>,
|
||||
<&uart1_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "ipg", "baud";
|
||||
assigned-clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <80000000>;
|
||||
power-domains = <&pd IMX_SC_R_UART_1>;
|
||||
status = "disabled";
|
||||
};
|
||||
@ -110,6 +114,8 @@ dma_subsys: bus@5a000000 {
|
||||
clocks = <&uart2_lpcg IMX_LPCG_CLK_4>,
|
||||
<&uart2_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "ipg", "baud";
|
||||
assigned-clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <80000000>;
|
||||
power-domains = <&pd IMX_SC_R_UART_2>;
|
||||
status = "disabled";
|
||||
};
|
||||
@ -120,6 +126,8 @@ dma_subsys: bus@5a000000 {
|
||||
clocks = <&uart3_lpcg IMX_LPCG_CLK_4>,
|
||||
<&uart3_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "ipg", "baud";
|
||||
assigned-clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <80000000>;
|
||||
power-domains = <&pd IMX_SC_R_UART_3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -81,7 +81,7 @@
|
||||
&ecspi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_espi2>;
|
||||
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
|
||||
cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
eeprom@0 {
|
||||
@ -202,7 +202,7 @@
|
||||
MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82
|
||||
MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82
|
||||
MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82
|
||||
MX8MN_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x41
|
||||
MX8MN_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
|
@ -82,8 +82,8 @@
|
||||
pinctrl-0 = <&pinctrl_usdhc2>;
|
||||
bus-width = <4>;
|
||||
vmmc-supply = <®_usdhc2_vmmc>;
|
||||
cd-gpios = <&lsio_gpio4 22 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&lsio_gpio4 21 GPIO_ACTIVE_HIGH>;
|
||||
cd-gpios = <&lsio_gpio5 22 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&lsio_gpio5 21 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -73,6 +73,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -83,7 +83,8 @@
|
||||
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <0x2>;
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -66,7 +66,8 @@
|
||||
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <0x2>;
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -72,6 +72,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -180,6 +180,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
|
||||
idle-states {
|
||||
|
@ -153,11 +153,13 @@
|
||||
L2_0: l2-cache-0 {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
|
||||
L2_1: l2-cache-1 {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -193,11 +193,13 @@
|
||||
l2_0: l2-cache0 {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
|
||||
l2_1: l2-cache1 {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -52,6 +52,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
@ -88,6 +89,7 @@
|
||||
L2_1: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -53,8 +53,9 @@
|
||||
#cooling-cells = <2>;
|
||||
next-level-cache = <&L2_0>;
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
@ -83,8 +84,9 @@
|
||||
#cooling-cells = <2>;
|
||||
next-level-cache = <&L2_1>;
|
||||
L2_1: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -146,6 +146,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
@ -190,6 +191,7 @@
|
||||
L2_1: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -51,6 +51,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -95,6 +95,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
|
||||
idle-states {
|
||||
|
@ -35,9 +35,13 @@
|
||||
next-level-cache = <&L2_0>;
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -54,6 +58,8 @@
|
||||
next-level-cache = <&L2_100>;
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -70,6 +76,8 @@
|
||||
next-level-cache = <&L2_200>;
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -86,6 +94,8 @@
|
||||
next-level-cache = <&L2_300>;
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "sm8150.dtsi"
|
||||
#include "sa8155p.dtsi"
|
||||
#include "pmm8155au_1.dtsi"
|
||||
#include "pmm8155au_2.dtsi"
|
||||
|
||||
|
40
arch/arm64/boot/dts/qcom/sa8155p.dtsi
Normal file
40
arch/arm64/boot/dts/qcom/sa8155p.dtsi
Normal file
@ -0,0 +1,40 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2023, Linaro Limited
|
||||
*
|
||||
* SA8155P is an automotive variant of SM8150, with some minor changes.
|
||||
* Most notably, the RPMhPD setup differs: MMCX and LCX/LMX rails are gone,
|
||||
* though the cmd-db doesn't reflect that and access attemps result in a bite.
|
||||
*/
|
||||
|
||||
#include "sm8150.dtsi"
|
||||
|
||||
&dispcc {
|
||||
power-domains = <&rpmhpd SA8155P_CX>;
|
||||
};
|
||||
|
||||
&mdss_dsi0 {
|
||||
power-domains = <&rpmhpd SA8155P_CX>;
|
||||
};
|
||||
|
||||
&mdss_dsi1 {
|
||||
power-domains = <&rpmhpd SA8155P_CX>;
|
||||
};
|
||||
|
||||
&mdss_mdp {
|
||||
power-domains = <&rpmhpd SA8155P_CX>;
|
||||
};
|
||||
|
||||
&remoteproc_slpi {
|
||||
power-domains = <&rpmhpd SA8155P_CX>,
|
||||
<&rpmhpd SA8155P_MX>;
|
||||
};
|
||||
|
||||
&rpmhpd {
|
||||
/*
|
||||
* The bindings were crafted such that SA8155P PDs match their
|
||||
* SM8150 counterparts to make it more maintainable and only
|
||||
* necessitate adjusting entries that actually differ
|
||||
*/
|
||||
compatible = "qcom,sa8155p-rpmhpd";
|
||||
};
|
@ -42,9 +42,13 @@
|
||||
next-level-cache = <&L2_0>;
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -58,6 +62,8 @@
|
||||
next-level-cache = <&L2_1>;
|
||||
L2_1: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -71,6 +77,8 @@
|
||||
next-level-cache = <&L2_2>;
|
||||
L2_2: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -84,6 +92,8 @@
|
||||
next-level-cache = <&L2_3>;
|
||||
L2_3: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -97,9 +107,13 @@
|
||||
next-level-cache = <&L2_4>;
|
||||
L2_4: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_1>;
|
||||
L3_1: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
|
||||
};
|
||||
@ -114,6 +128,8 @@
|
||||
next-level-cache = <&L2_5>;
|
||||
L2_5: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_1>;
|
||||
};
|
||||
};
|
||||
@ -127,6 +143,8 @@
|
||||
next-level-cache = <&L2_6>;
|
||||
L2_6: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_1>;
|
||||
};
|
||||
};
|
||||
@ -140,6 +158,8 @@
|
||||
next-level-cache = <&L2_7>;
|
||||
L2_7: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_1>;
|
||||
};
|
||||
};
|
||||
|
@ -16,3 +16,11 @@
|
||||
&cpu6_opp12 {
|
||||
opp-peak-kBps = <8532000 23347200>;
|
||||
};
|
||||
|
||||
&cpu6_opp13 {
|
||||
opp-peak-kBps = <8532000 23347200>;
|
||||
};
|
||||
|
||||
&cpu6_opp14 {
|
||||
opp-peak-kBps = <8532000 23347200>;
|
||||
};
|
||||
|
@ -92,10 +92,12 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -120,6 +122,7 @@
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -144,6 +147,7 @@
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -168,6 +172,7 @@
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -192,6 +197,7 @@
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -216,6 +222,7 @@
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -240,6 +247,7 @@
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -264,6 +272,7 @@
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
@ -480,7 +480,6 @@
|
||||
wcd_rx: codec@0,4 {
|
||||
compatible = "sdw20217010d00";
|
||||
reg = <0 4>;
|
||||
#sound-dai-cells = <1>;
|
||||
qcom,rx-port-mapping = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
@ -491,7 +490,6 @@
|
||||
wcd_tx: codec@0,3 {
|
||||
compatible = "sdw20217010d00";
|
||||
reg = <0 3>;
|
||||
#sound-dai-cells = <1>;
|
||||
qcom,tx-port-mapping = <1 2 3 4>;
|
||||
};
|
||||
};
|
||||
|
@ -414,7 +414,6 @@
|
||||
wcd_rx: codec@0,4 {
|
||||
compatible = "sdw20217010d00";
|
||||
reg = <0 4>;
|
||||
#sound-dai-cells = <1>;
|
||||
qcom,rx-port-mapping = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
@ -423,7 +422,6 @@
|
||||
wcd_tx: codec@0,3 {
|
||||
compatible = "sdw20217010d00";
|
||||
reg = <0 3>;
|
||||
#sound-dai-cells = <1>;
|
||||
qcom,tx-port-mapping = <1 2 3 4>;
|
||||
};
|
||||
};
|
||||
|
@ -182,10 +182,12 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -208,6 +210,7 @@
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -230,6 +233,7 @@
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -252,6 +256,7 @@
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -274,6 +279,7 @@
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -296,6 +302,7 @@
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -318,6 +325,7 @@
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -340,6 +348,7 @@
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
@ -58,10 +58,12 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -83,6 +85,7 @@
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -104,6 +107,7 @@
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -125,6 +129,7 @@
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -146,6 +151,7 @@
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -167,6 +173,7 @@
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -188,6 +195,7 @@
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -209,6 +217,7 @@
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -2726,6 +2735,7 @@
|
||||
pins = "gpio7";
|
||||
function = "dmic1_data";
|
||||
drive-strength = <8>;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
@ -2743,6 +2753,7 @@
|
||||
function = "dmic1_data";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
@ -2758,6 +2769,7 @@
|
||||
pins = "gpio9";
|
||||
function = "dmic2_data";
|
||||
drive-strength = <8>;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
@ -2775,6 +2787,7 @@
|
||||
function = "dmic2_data";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
@ -3982,6 +3995,7 @@
|
||||
qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>,
|
||||
<WAKE_TCS 3>, <CONTROL_TCS 1>;
|
||||
label = "apps_rsc";
|
||||
power-domains = <&CLUSTER_PD>;
|
||||
|
||||
apps_bcm_voter: bcm-voter {
|
||||
compatible = "qcom,bcm-voter";
|
||||
|
@ -63,6 +63,7 @@
|
||||
L2_1: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
@ -127,6 +128,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -41,8 +41,12 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -57,6 +61,8 @@
|
||||
next-level-cache = <&L2_100>;
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -71,6 +77,8 @@
|
||||
next-level-cache = <&L2_200>;
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -85,6 +93,8 @@
|
||||
next-level-cache = <&L2_300>;
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -99,6 +109,8 @@
|
||||
next-level-cache = <&L2_400>;
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -113,6 +125,8 @@
|
||||
next-level-cache = <&L2_500>;
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -127,6 +141,8 @@
|
||||
next-level-cache = <&L2_600>;
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -141,6 +157,8 @@
|
||||
next-level-cache = <&L2_700>;
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
@ -108,10 +108,12 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -135,6 +137,7 @@
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -158,6 +161,7 @@
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -181,6 +185,7 @@
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -204,6 +209,7 @@
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -227,6 +233,7 @@
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -250,6 +257,7 @@
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -273,6 +281,7 @@
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
@ -50,6 +50,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
@ -102,6 +103,7 @@
|
||||
L2_1: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -47,6 +47,7 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
@ -87,6 +88,7 @@
|
||||
L2_1: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -60,10 +60,12 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -86,6 +88,7 @@
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -108,6 +111,7 @@
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -130,6 +134,7 @@
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -152,6 +157,7 @@
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -174,6 +180,7 @@
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -196,6 +203,7 @@
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -218,6 +226,7 @@
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
@ -178,12 +178,12 @@
|
||||
};
|
||||
|
||||
&remoteproc_adsp {
|
||||
firmware-name = "qcom/Sony/murray/adsp.mbn";
|
||||
firmware-name = "qcom/sm6375/Sony/murray/adsp.mbn";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&remoteproc_cdsp {
|
||||
firmware-name = "qcom/Sony/murray/cdsp.mbn";
|
||||
firmware-name = "qcom/sm6375/Sony/murray/cdsp.mbn";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -48,10 +48,14 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -68,8 +72,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -85,8 +91,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -102,8 +110,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -119,8 +129,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -136,8 +148,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -153,8 +167,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -170,8 +186,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -63,10 +63,12 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -90,6 +92,7 @@
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -113,6 +116,7 @@
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -136,6 +140,7 @@
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -159,6 +164,7 @@
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -182,6 +188,7 @@
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -205,6 +212,7 @@
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -228,6 +236,7 @@
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
@ -13,6 +13,6 @@
|
||||
};
|
||||
|
||||
&display_panel {
|
||||
compatible = "xiaomi,elish-boe-nt36523";
|
||||
compatible = "xiaomi,elish-boe-nt36523", "novatek,nt36523";
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -13,6 +13,6 @@
|
||||
};
|
||||
|
||||
&display_panel {
|
||||
compatible = "xiaomi,elish-csot-nt36523";
|
||||
compatible = "xiaomi,elish-csot-nt36523", "novatek,nt36523";
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -58,12 +58,14 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -80,9 +82,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -98,9 +101,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -116,9 +120,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -134,9 +139,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -152,9 +158,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -170,9 +177,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -188,9 +196,10 @@
|
||||
power-domain-names = "psci";
|
||||
#cooling-cells = <2>;
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -57,12 +57,14 @@
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&cpufreq_hw 0>;
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -79,9 +81,10 @@
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&cpufreq_hw 0>;
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -97,9 +100,10 @@
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&cpufreq_hw 0>;
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -115,9 +119,10 @@
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&cpufreq_hw 0>;
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -133,9 +138,10 @@
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&cpufreq_hw 1>;
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -151,9 +157,10 @@
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&cpufreq_hw 1>;
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -169,9 +176,10 @@
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&cpufreq_hw 1>;
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -187,9 +195,10 @@
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&cpufreq_hw 2>;
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -80,10 +80,12 @@
|
||||
L2_0: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
L3_0: l3-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <3>;
|
||||
cache-unified;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -104,6 +106,7 @@
|
||||
L2_100: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -124,6 +127,7 @@
|
||||
L2_200: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -144,6 +148,7 @@
|
||||
L2_300: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -164,6 +169,7 @@
|
||||
L2_400: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -184,6 +190,7 @@
|
||||
L2_500: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -204,6 +211,7 @@
|
||||
L2_600: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -224,6 +232,7 @@
|
||||
L2_700: l2-cache {
|
||||
compatible = "cache";
|
||||
cache-level = <2>;
|
||||
cache-unified;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
@ -2022,7 +2031,7 @@
|
||||
qcom,din-ports = <4>;
|
||||
qcom,dout-ports = <9>;
|
||||
|
||||
qcom,ports-sinterval = <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
|
||||
qcom,ports-sinterval = /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
|
||||
qcom,ports-offset1 = /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>;
|
||||
qcom,ports-offset2 = /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
|
||||
@ -2068,7 +2077,7 @@
|
||||
qcom,din-ports = <0>;
|
||||
qcom,dout-ports = <10>;
|
||||
|
||||
qcom,ports-sinterval = <0x03 0x3f 0x1f 0x07 0x00 0x18f 0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-sinterval = /bits/ 16 <0x03 0x3f 0x1f 0x07 0x00 0x18f 0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x0b 0x01 0x00 0x00 0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x0b 0x00 0x00 0x00 0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-hstart = /bits/ 8 <0xff 0x03 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff>;
|
||||
@ -2133,7 +2142,7 @@
|
||||
qcom,din-ports = <4>;
|
||||
qcom,dout-ports = <9>;
|
||||
|
||||
qcom,ports-sinterval = <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
|
||||
qcom,ports-sinterval = /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
|
||||
qcom,ports-offset1 = /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>;
|
||||
qcom,ports-offset2 = /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
|
||||
qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
|
||||
@ -3762,9 +3771,16 @@
|
||||
|
||||
system-cache-controller@25000000 {
|
||||
compatible = "qcom,sm8550-llcc";
|
||||
reg = <0 0x25000000 0 0x800000>,
|
||||
reg = <0 0x25000000 0 0x200000>,
|
||||
<0 0x25200000 0 0x200000>,
|
||||
<0 0x25400000 0 0x200000>,
|
||||
<0 0x25600000 0 0x200000>,
|
||||
<0 0x25800000 0 0x200000>;
|
||||
reg-names = "llcc_base", "llcc_broadcast_base";
|
||||
reg-names = "llcc0_base",
|
||||
"llcc1_base",
|
||||
"llcc2_base",
|
||||
"llcc3_base",
|
||||
"llcc_broadcast_base";
|
||||
interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
|
@ -21,30 +21,9 @@
|
||||
#define TRP_SYN_REG_CNT 6
|
||||
#define DRP_SYN_REG_CNT 8
|
||||
|
||||
#define LLCC_COMMON_STATUS0 0x0003000c
|
||||
#define LLCC_LB_CNT_MASK GENMASK(31, 28)
|
||||
#define LLCC_LB_CNT_SHIFT 28
|
||||
|
||||
/* Single & double bit syndrome register offsets */
|
||||
#define TRP_ECC_SB_ERR_SYN0 0x0002304c
|
||||
#define TRP_ECC_DB_ERR_SYN0 0x00020370
|
||||
#define DRP_ECC_SB_ERR_SYN0 0x0004204c
|
||||
#define DRP_ECC_DB_ERR_SYN0 0x00042070
|
||||
|
||||
/* Error register offsets */
|
||||
#define TRP_ECC_ERROR_STATUS1 0x00020348
|
||||
#define TRP_ECC_ERROR_STATUS0 0x00020344
|
||||
#define DRP_ECC_ERROR_STATUS1 0x00042048
|
||||
#define DRP_ECC_ERROR_STATUS0 0x00042044
|
||||
|
||||
/* TRP, DRP interrupt register offsets */
|
||||
#define DRP_INTERRUPT_STATUS 0x00041000
|
||||
#define TRP_INTERRUPT_0_STATUS 0x00020480
|
||||
#define DRP_INTERRUPT_CLEAR 0x00041008
|
||||
#define DRP_ECC_ERROR_CNTR_CLEAR 0x00040004
|
||||
#define TRP_INTERRUPT_0_CLEAR 0x00020484
|
||||
#define TRP_ECC_ERROR_CNTR_CLEAR 0x00020440
|
||||
|
||||
/* Mask and shift macros */
|
||||
#define ECC_DB_ERR_COUNT_MASK GENMASK(4, 0)
|
||||
#define ECC_DB_ERR_WAYS_MASK GENMASK(31, 16)
|
||||
@ -60,15 +39,6 @@
|
||||
#define DRP_TRP_INT_CLEAR GENMASK(1, 0)
|
||||
#define DRP_TRP_CNT_CLEAR GENMASK(1, 0)
|
||||
|
||||
/* Config registers offsets*/
|
||||
#define DRP_ECC_ERROR_CFG 0x00040000
|
||||
|
||||
/* Tag RAM, Data RAM interrupt register offsets */
|
||||
#define CMN_INTERRUPT_0_ENABLE 0x0003001c
|
||||
#define CMN_INTERRUPT_2_ENABLE 0x0003003c
|
||||
#define TRP_INTERRUPT_0_ENABLE 0x00020488
|
||||
#define DRP_INTERRUPT_ENABLE 0x0004100c
|
||||
|
||||
#define SB_ERROR_THRESHOLD 0x1
|
||||
#define SB_ERROR_THRESHOLD_SHIFT 24
|
||||
#define SB_DB_TRP_INTERRUPT_ENABLE 0x3
|
||||
@ -88,9 +58,6 @@ enum {
|
||||
static const struct llcc_edac_reg_data edac_reg_data[] = {
|
||||
[LLCC_DRAM_CE] = {
|
||||
.name = "DRAM Single-bit",
|
||||
.synd_reg = DRP_ECC_SB_ERR_SYN0,
|
||||
.count_status_reg = DRP_ECC_ERROR_STATUS1,
|
||||
.ways_status_reg = DRP_ECC_ERROR_STATUS0,
|
||||
.reg_cnt = DRP_SYN_REG_CNT,
|
||||
.count_mask = ECC_SB_ERR_COUNT_MASK,
|
||||
.ways_mask = ECC_SB_ERR_WAYS_MASK,
|
||||
@ -98,9 +65,6 @@ static const struct llcc_edac_reg_data edac_reg_data[] = {
|
||||
},
|
||||
[LLCC_DRAM_UE] = {
|
||||
.name = "DRAM Double-bit",
|
||||
.synd_reg = DRP_ECC_DB_ERR_SYN0,
|
||||
.count_status_reg = DRP_ECC_ERROR_STATUS1,
|
||||
.ways_status_reg = DRP_ECC_ERROR_STATUS0,
|
||||
.reg_cnt = DRP_SYN_REG_CNT,
|
||||
.count_mask = ECC_DB_ERR_COUNT_MASK,
|
||||
.ways_mask = ECC_DB_ERR_WAYS_MASK,
|
||||
@ -108,9 +72,6 @@ static const struct llcc_edac_reg_data edac_reg_data[] = {
|
||||
},
|
||||
[LLCC_TRAM_CE] = {
|
||||
.name = "TRAM Single-bit",
|
||||
.synd_reg = TRP_ECC_SB_ERR_SYN0,
|
||||
.count_status_reg = TRP_ECC_ERROR_STATUS1,
|
||||
.ways_status_reg = TRP_ECC_ERROR_STATUS0,
|
||||
.reg_cnt = TRP_SYN_REG_CNT,
|
||||
.count_mask = ECC_SB_ERR_COUNT_MASK,
|
||||
.ways_mask = ECC_SB_ERR_WAYS_MASK,
|
||||
@ -118,9 +79,6 @@ static const struct llcc_edac_reg_data edac_reg_data[] = {
|
||||
},
|
||||
[LLCC_TRAM_UE] = {
|
||||
.name = "TRAM Double-bit",
|
||||
.synd_reg = TRP_ECC_DB_ERR_SYN0,
|
||||
.count_status_reg = TRP_ECC_ERROR_STATUS1,
|
||||
.ways_status_reg = TRP_ECC_ERROR_STATUS0,
|
||||
.reg_cnt = TRP_SYN_REG_CNT,
|
||||
.count_mask = ECC_DB_ERR_COUNT_MASK,
|
||||
.ways_mask = ECC_DB_ERR_WAYS_MASK,
|
||||
@ -128,7 +86,7 @@ static const struct llcc_edac_reg_data edac_reg_data[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static int qcom_llcc_core_setup(struct regmap *llcc_bcast_regmap)
|
||||
static int qcom_llcc_core_setup(struct llcc_drv_data *drv, struct regmap *llcc_bcast_regmap)
|
||||
{
|
||||
u32 sb_err_threshold;
|
||||
int ret;
|
||||
@ -137,31 +95,31 @@ static int qcom_llcc_core_setup(struct regmap *llcc_bcast_regmap)
|
||||
* Configure interrupt enable registers such that Tag, Data RAM related
|
||||
* interrupts are propagated to interrupt controller for servicing
|
||||
*/
|
||||
ret = regmap_update_bits(llcc_bcast_regmap, CMN_INTERRUPT_2_ENABLE,
|
||||
ret = regmap_update_bits(llcc_bcast_regmap, drv->edac_reg_offset->cmn_interrupt_2_enable,
|
||||
TRP0_INTERRUPT_ENABLE,
|
||||
TRP0_INTERRUPT_ENABLE);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = regmap_update_bits(llcc_bcast_regmap, TRP_INTERRUPT_0_ENABLE,
|
||||
ret = regmap_update_bits(llcc_bcast_regmap, drv->edac_reg_offset->trp_interrupt_0_enable,
|
||||
SB_DB_TRP_INTERRUPT_ENABLE,
|
||||
SB_DB_TRP_INTERRUPT_ENABLE);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
sb_err_threshold = (SB_ERROR_THRESHOLD << SB_ERROR_THRESHOLD_SHIFT);
|
||||
ret = regmap_write(llcc_bcast_regmap, DRP_ECC_ERROR_CFG,
|
||||
ret = regmap_write(llcc_bcast_regmap, drv->edac_reg_offset->drp_ecc_error_cfg,
|
||||
sb_err_threshold);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = regmap_update_bits(llcc_bcast_regmap, CMN_INTERRUPT_2_ENABLE,
|
||||
ret = regmap_update_bits(llcc_bcast_regmap, drv->edac_reg_offset->cmn_interrupt_2_enable,
|
||||
DRP0_INTERRUPT_ENABLE,
|
||||
DRP0_INTERRUPT_ENABLE);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = regmap_write(llcc_bcast_regmap, DRP_INTERRUPT_ENABLE,
|
||||
ret = regmap_write(llcc_bcast_regmap, drv->edac_reg_offset->drp_interrupt_enable,
|
||||
SB_DB_DRP_INTERRUPT_ENABLE);
|
||||
return ret;
|
||||
}
|
||||
@ -170,29 +128,33 @@ static int qcom_llcc_core_setup(struct regmap *llcc_bcast_regmap)
|
||||
static int
|
||||
qcom_llcc_clear_error_status(int err_type, struct llcc_drv_data *drv)
|
||||
{
|
||||
int ret = 0;
|
||||
int ret;
|
||||
|
||||
switch (err_type) {
|
||||
case LLCC_DRAM_CE:
|
||||
case LLCC_DRAM_UE:
|
||||
ret = regmap_write(drv->bcast_regmap, DRP_INTERRUPT_CLEAR,
|
||||
ret = regmap_write(drv->bcast_regmap,
|
||||
drv->edac_reg_offset->drp_interrupt_clear,
|
||||
DRP_TRP_INT_CLEAR);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = regmap_write(drv->bcast_regmap, DRP_ECC_ERROR_CNTR_CLEAR,
|
||||
ret = regmap_write(drv->bcast_regmap,
|
||||
drv->edac_reg_offset->drp_ecc_error_cntr_clear,
|
||||
DRP_TRP_CNT_CLEAR);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
case LLCC_TRAM_CE:
|
||||
case LLCC_TRAM_UE:
|
||||
ret = regmap_write(drv->bcast_regmap, TRP_INTERRUPT_0_CLEAR,
|
||||
ret = regmap_write(drv->bcast_regmap,
|
||||
drv->edac_reg_offset->trp_interrupt_0_clear,
|
||||
DRP_TRP_INT_CLEAR);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = regmap_write(drv->bcast_regmap, TRP_ECC_ERROR_CNTR_CLEAR,
|
||||
ret = regmap_write(drv->bcast_regmap,
|
||||
drv->edac_reg_offset->trp_ecc_error_cntr_clear,
|
||||
DRP_TRP_CNT_CLEAR);
|
||||
if (ret)
|
||||
return ret;
|
||||
@ -205,16 +167,54 @@ qcom_llcc_clear_error_status(int err_type, struct llcc_drv_data *drv)
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct qcom_llcc_syn_regs {
|
||||
u32 synd_reg;
|
||||
u32 count_status_reg;
|
||||
u32 ways_status_reg;
|
||||
};
|
||||
|
||||
static void get_reg_offsets(struct llcc_drv_data *drv, int err_type,
|
||||
struct qcom_llcc_syn_regs *syn_regs)
|
||||
{
|
||||
const struct llcc_edac_reg_offset *edac_reg_offset = drv->edac_reg_offset;
|
||||
|
||||
switch (err_type) {
|
||||
case LLCC_DRAM_CE:
|
||||
syn_regs->synd_reg = edac_reg_offset->drp_ecc_sb_err_syn0;
|
||||
syn_regs->count_status_reg = edac_reg_offset->drp_ecc_error_status1;
|
||||
syn_regs->ways_status_reg = edac_reg_offset->drp_ecc_error_status0;
|
||||
break;
|
||||
case LLCC_DRAM_UE:
|
||||
syn_regs->synd_reg = edac_reg_offset->drp_ecc_db_err_syn0;
|
||||
syn_regs->count_status_reg = edac_reg_offset->drp_ecc_error_status1;
|
||||
syn_regs->ways_status_reg = edac_reg_offset->drp_ecc_error_status0;
|
||||
break;
|
||||
case LLCC_TRAM_CE:
|
||||
syn_regs->synd_reg = edac_reg_offset->trp_ecc_sb_err_syn0;
|
||||
syn_regs->count_status_reg = edac_reg_offset->trp_ecc_error_status1;
|
||||
syn_regs->ways_status_reg = edac_reg_offset->trp_ecc_error_status0;
|
||||
break;
|
||||
case LLCC_TRAM_UE:
|
||||
syn_regs->synd_reg = edac_reg_offset->trp_ecc_db_err_syn0;
|
||||
syn_regs->count_status_reg = edac_reg_offset->trp_ecc_error_status1;
|
||||
syn_regs->ways_status_reg = edac_reg_offset->trp_ecc_error_status0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Dump Syndrome registers data for Tag RAM, Data RAM bit errors*/
|
||||
static int
|
||||
dump_syn_reg_values(struct llcc_drv_data *drv, u32 bank, int err_type)
|
||||
{
|
||||
struct llcc_edac_reg_data reg_data = edac_reg_data[err_type];
|
||||
struct qcom_llcc_syn_regs regs = { };
|
||||
int err_cnt, err_ways, ret, i;
|
||||
u32 synd_reg, synd_val;
|
||||
|
||||
get_reg_offsets(drv, err_type, ®s);
|
||||
|
||||
for (i = 0; i < reg_data.reg_cnt; i++) {
|
||||
synd_reg = reg_data.synd_reg + (i * 4);
|
||||
synd_reg = regs.synd_reg + (i * 4);
|
||||
ret = regmap_read(drv->regmaps[bank], synd_reg,
|
||||
&synd_val);
|
||||
if (ret)
|
||||
@ -224,7 +224,7 @@ dump_syn_reg_values(struct llcc_drv_data *drv, u32 bank, int err_type)
|
||||
reg_data.name, i, synd_val);
|
||||
}
|
||||
|
||||
ret = regmap_read(drv->regmaps[bank], reg_data.count_status_reg,
|
||||
ret = regmap_read(drv->regmaps[bank], regs.count_status_reg,
|
||||
&err_cnt);
|
||||
if (ret)
|
||||
goto clear;
|
||||
@ -234,7 +234,7 @@ dump_syn_reg_values(struct llcc_drv_data *drv, u32 bank, int err_type)
|
||||
edac_printk(KERN_CRIT, EDAC_LLCC, "%s: Error count: 0x%4x\n",
|
||||
reg_data.name, err_cnt);
|
||||
|
||||
ret = regmap_read(drv->regmaps[bank], reg_data.ways_status_reg,
|
||||
ret = regmap_read(drv->regmaps[bank], regs.ways_status_reg,
|
||||
&err_ways);
|
||||
if (ret)
|
||||
goto clear;
|
||||
@ -295,7 +295,7 @@ static irqreturn_t llcc_ecc_irq_handler(int irq, void *edev_ctl)
|
||||
|
||||
/* Iterate over the banks and look for Tag RAM or Data RAM errors */
|
||||
for (i = 0; i < drv->num_banks; i++) {
|
||||
ret = regmap_read(drv->regmaps[i], DRP_INTERRUPT_STATUS,
|
||||
ret = regmap_read(drv->regmaps[i], drv->edac_reg_offset->drp_interrupt_status,
|
||||
&drp_error);
|
||||
|
||||
if (!ret && (drp_error & SB_ECC_ERROR)) {
|
||||
@ -310,7 +310,7 @@ static irqreturn_t llcc_ecc_irq_handler(int irq, void *edev_ctl)
|
||||
if (!ret)
|
||||
irq_rc = IRQ_HANDLED;
|
||||
|
||||
ret = regmap_read(drv->regmaps[i], TRP_INTERRUPT_0_STATUS,
|
||||
ret = regmap_read(drv->regmaps[i], drv->edac_reg_offset->trp_interrupt_0_status,
|
||||
&trp_error);
|
||||
|
||||
if (!ret && (trp_error & SB_ECC_ERROR)) {
|
||||
@ -342,7 +342,7 @@ static int qcom_llcc_edac_probe(struct platform_device *pdev)
|
||||
int ecc_irq;
|
||||
int rc;
|
||||
|
||||
rc = qcom_llcc_core_setup(llcc_driv_data->bcast_regmap);
|
||||
rc = qcom_llcc_core_setup(llcc_driv_data, llcc_driv_data->bcast_regmap);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
|
@ -424,6 +424,7 @@ ffa_setup_and_transmit(u32 func_id, void *buffer, u32 max_fragsize,
|
||||
ep_mem_access->flag = 0;
|
||||
ep_mem_access->reserved = 0;
|
||||
}
|
||||
mem_region->handle = 0;
|
||||
mem_region->reserved_0 = 0;
|
||||
mem_region->reserved_1 = 0;
|
||||
mem_region->ep_count = args->nattrs;
|
||||
|
@ -32,4 +32,5 @@ obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o
|
||||
obj-$(CONFIG_QCOM_RPMPD) += rpmpd.o
|
||||
obj-$(CONFIG_QCOM_KRYO_L2_ACCESSORS) += kryo-l2-accessors.o
|
||||
obj-$(CONFIG_QCOM_ICC_BWMON) += icc-bwmon.o
|
||||
obj-$(CONFIG_QCOM_INLINE_CRYPTO_ENGINE) += ice.o
|
||||
qcom_ice-objs += ice.o
|
||||
obj-$(CONFIG_QCOM_INLINE_CRYPTO_ENGINE) += qcom_ice.o
|
||||
|
@ -773,12 +773,12 @@ static int bwmon_probe(struct platform_device *pdev)
|
||||
bwmon->max_bw_kbps = UINT_MAX;
|
||||
opp = dev_pm_opp_find_bw_floor(dev, &bwmon->max_bw_kbps, 0);
|
||||
if (IS_ERR(opp))
|
||||
return dev_err_probe(dev, ret, "failed to find max peak bandwidth\n");
|
||||
return dev_err_probe(dev, PTR_ERR(opp), "failed to find max peak bandwidth\n");
|
||||
|
||||
bwmon->min_bw_kbps = 0;
|
||||
opp = dev_pm_opp_find_bw_ceil(dev, &bwmon->min_bw_kbps, 0);
|
||||
if (IS_ERR(opp))
|
||||
return dev_err_probe(dev, ret, "failed to find min peak bandwidth\n");
|
||||
return dev_err_probe(dev, PTR_ERR(opp), "failed to find min peak bandwidth\n");
|
||||
|
||||
bwmon->dev = dev;
|
||||
|
||||
|
@ -296,7 +296,7 @@ static int qcom_ramp_controller_probe(struct platform_device *pdev)
|
||||
return -ENOMEM;
|
||||
|
||||
qrc->desc = device_get_match_data(&pdev->dev);
|
||||
if (!qrc)
|
||||
if (!qrc->desc)
|
||||
return -EINVAL;
|
||||
|
||||
qrc->regmap = devm_regmap_init_mmio(&pdev->dev, base, &qrc_regmap_config);
|
||||
|
@ -233,6 +233,7 @@ static int qcom_rmtfs_mem_probe(struct platform_device *pdev)
|
||||
num_vmids = 0;
|
||||
} else if (num_vmids < 0) {
|
||||
dev_err(&pdev->dev, "failed to count qcom,vmid elements: %d\n", num_vmids);
|
||||
ret = num_vmids;
|
||||
goto remove_cdev;
|
||||
} else if (num_vmids > NUM_MAX_VMIDS) {
|
||||
dev_warn(&pdev->dev,
|
||||
|
@ -1073,7 +1073,7 @@ static int rpmh_rsc_probe(struct platform_device *pdev)
|
||||
drv->ver.minor = rsc_id & (MINOR_VER_MASK << MINOR_VER_SHIFT);
|
||||
drv->ver.minor >>= MINOR_VER_SHIFT;
|
||||
|
||||
if (drv->ver.major == 3 && drv->ver.minor >= 0)
|
||||
if (drv->ver.major == 3)
|
||||
drv->regs = rpmh_rsc_reg_offset_ver_3_0;
|
||||
else
|
||||
drv->regs = rpmh_rsc_reg_offset_ver_2_7;
|
||||
|
@ -342,6 +342,21 @@ static const struct rpmhpd_desc sm8150_desc = {
|
||||
.num_pds = ARRAY_SIZE(sm8150_rpmhpds),
|
||||
};
|
||||
|
||||
static struct rpmhpd *sa8155p_rpmhpds[] = {
|
||||
[SA8155P_CX] = &cx_w_mx_parent,
|
||||
[SA8155P_CX_AO] = &cx_ao_w_mx_parent,
|
||||
[SA8155P_EBI] = &ebi,
|
||||
[SA8155P_GFX] = &gfx,
|
||||
[SA8155P_MSS] = &mss,
|
||||
[SA8155P_MX] = &mx,
|
||||
[SA8155P_MX_AO] = &mx_ao,
|
||||
};
|
||||
|
||||
static const struct rpmhpd_desc sa8155p_desc = {
|
||||
.rpmhpds = sa8155p_rpmhpds,
|
||||
.num_pds = ARRAY_SIZE(sa8155p_rpmhpds),
|
||||
};
|
||||
|
||||
/* SM8250 RPMH powerdomains */
|
||||
static struct rpmhpd *sm8250_rpmhpds[] = {
|
||||
[SM8250_CX] = &cx_w_mx_parent,
|
||||
@ -519,6 +534,7 @@ static const struct rpmhpd_desc sc8280xp_desc = {
|
||||
|
||||
static const struct of_device_id rpmhpd_match_table[] = {
|
||||
{ .compatible = "qcom,qdu1000-rpmhpd", .data = &qdu1000_desc },
|
||||
{ .compatible = "qcom,sa8155p-rpmhpd", .data = &sa8155p_desc },
|
||||
{ .compatible = "qcom,sa8540p-rpmhpd", .data = &sa8540p_desc },
|
||||
{ .compatible = "qcom,sa8775p-rpmhpd", .data = &sa8775p_desc },
|
||||
{ .compatible = "qcom,sc7180-rpmhpd", .data = &sc7180_desc },
|
||||
|
@ -118,16 +118,18 @@ struct tee_cmd_unmap_shared_mem {
|
||||
|
||||
/**
|
||||
* struct tee_cmd_load_ta - load Trusted Application (TA) binary into TEE
|
||||
* @low_addr: [in] bits [31:0] of the physical address of the TA binary
|
||||
* @hi_addr: [in] bits [63:32] of the physical address of the TA binary
|
||||
* @size: [in] size of TA binary in bytes
|
||||
* @ta_handle: [out] return handle of the loaded TA
|
||||
* @low_addr: [in] bits [31:0] of the physical address of the TA binary
|
||||
* @hi_addr: [in] bits [63:32] of the physical address of the TA binary
|
||||
* @size: [in] size of TA binary in bytes
|
||||
* @ta_handle: [out] return handle of the loaded TA
|
||||
* @return_origin: [out] origin of return code after TEE processing
|
||||
*/
|
||||
struct tee_cmd_load_ta {
|
||||
u32 low_addr;
|
||||
u32 hi_addr;
|
||||
u32 size;
|
||||
u32 ta_handle;
|
||||
u32 return_origin;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -423,19 +423,23 @@ int handle_load_ta(void *data, u32 size, struct tee_ioctl_open_session_arg *arg)
|
||||
if (ret) {
|
||||
arg->ret_origin = TEEC_ORIGIN_COMMS;
|
||||
arg->ret = TEEC_ERROR_COMMUNICATION;
|
||||
} else if (arg->ret == TEEC_SUCCESS) {
|
||||
ret = get_ta_refcount(load_cmd.ta_handle);
|
||||
if (!ret) {
|
||||
arg->ret_origin = TEEC_ORIGIN_COMMS;
|
||||
arg->ret = TEEC_ERROR_OUT_OF_MEMORY;
|
||||
} else {
|
||||
arg->ret_origin = load_cmd.return_origin;
|
||||
|
||||
/* Unload the TA on error */
|
||||
unload_cmd.ta_handle = load_cmd.ta_handle;
|
||||
psp_tee_process_cmd(TEE_CMD_ID_UNLOAD_TA,
|
||||
(void *)&unload_cmd,
|
||||
sizeof(unload_cmd), &ret);
|
||||
} else {
|
||||
set_session_id(load_cmd.ta_handle, 0, &arg->session);
|
||||
if (arg->ret == TEEC_SUCCESS) {
|
||||
ret = get_ta_refcount(load_cmd.ta_handle);
|
||||
if (!ret) {
|
||||
arg->ret_origin = TEEC_ORIGIN_COMMS;
|
||||
arg->ret = TEEC_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
/* Unload the TA on error */
|
||||
unload_cmd.ta_handle = load_cmd.ta_handle;
|
||||
psp_tee_process_cmd(TEE_CMD_ID_UNLOAD_TA,
|
||||
(void *)&unload_cmd,
|
||||
sizeof(unload_cmd), &ret);
|
||||
} else {
|
||||
set_session_id(load_cmd.ta_handle, 0, &arg->session);
|
||||
}
|
||||
}
|
||||
}
|
||||
mutex_unlock(&ta_refcount_mutex);
|
||||
|
@ -90,6 +90,15 @@
|
||||
#define SM8150_MMCX 9
|
||||
#define SM8150_MMCX_AO 10
|
||||
|
||||
/* SA8155P is a special case, kept for backwards compatibility */
|
||||
#define SA8155P_CX SM8150_CX
|
||||
#define SA8155P_CX_AO SM8150_CX_AO
|
||||
#define SA8155P_EBI SM8150_EBI
|
||||
#define SA8155P_GFX SM8150_GFX
|
||||
#define SA8155P_MSS SM8150_MSS
|
||||
#define SA8155P_MX SM8150_MX
|
||||
#define SA8155P_MX_AO SM8150_MX_AO
|
||||
|
||||
/* SM8250 Power Domain Indexes */
|
||||
#define SM8250_CX 0
|
||||
#define SM8250_CX_AO 1
|
||||
|
@ -69,9 +69,6 @@ struct llcc_slice_desc {
|
||||
/**
|
||||
* struct llcc_edac_reg_data - llcc edac registers data for each error type
|
||||
* @name: Name of the error
|
||||
* @synd_reg: Syndrome register address
|
||||
* @count_status_reg: Status register address to read the error count
|
||||
* @ways_status_reg: Status register address to read the error ways
|
||||
* @reg_cnt: Number of registers
|
||||
* @count_mask: Mask value to get the error count
|
||||
* @ways_mask: Mask value to get the error ways
|
||||
@ -80,9 +77,6 @@ struct llcc_slice_desc {
|
||||
*/
|
||||
struct llcc_edac_reg_data {
|
||||
char *name;
|
||||
u64 synd_reg;
|
||||
u64 count_status_reg;
|
||||
u64 ways_status_reg;
|
||||
u32 reg_cnt;
|
||||
u32 count_mask;
|
||||
u32 ways_mask;
|
||||
|
Loading…
x
Reference in New Issue
Block a user