Add Renesas PMIC RAA215300 and built-in RTC

Merge series from Biju Das <biju.das.jz@bp.renesas.com>:

This patch series aims to add support for Renesas PMIC RAA215300 and
built-in RTC found on this PMIC device.

The details of PMIC can be found here[1].

Renesas PMIC RAA215300 exposes two separate i2c devices, one for the main
device and another for rtc device.
This commit is contained in:
Mark Brown
2023-06-24 01:57:59 +01:00
562 changed files with 5630 additions and 2482 deletions

View File

@@ -233,6 +233,7 @@ Jisheng Zhang <jszhang@kernel.org> <Jisheng.Zhang@synaptics.com>
Johan Hovold <johan@kernel.org> <jhovold@gmail.com> Johan Hovold <johan@kernel.org> <jhovold@gmail.com>
Johan Hovold <johan@kernel.org> <johan@hovoldconsulting.com> Johan Hovold <johan@kernel.org> <johan@hovoldconsulting.com>
John Crispin <john@phrozen.org> <blogic@openwrt.org> John Crispin <john@phrozen.org> <blogic@openwrt.org>
John Keeping <john@keeping.me.uk> <john@metanate.com>
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
John Stultz <johnstul@us.ibm.com> John Stultz <johnstul@us.ibm.com>
<jon.toppins+linux@gmail.com> <jtoppins@cumulusnetworks.com> <jon.toppins+linux@gmail.com> <jtoppins@cumulusnetworks.com>

View File

@@ -1213,23 +1213,25 @@ PAGE_SIZE multiple when read back.
A read-write single value file which exists on non-root A read-write single value file which exists on non-root
cgroups. The default is "max". cgroups. The default is "max".
Memory usage throttle limit. This is the main mechanism to Memory usage throttle limit. If a cgroup's usage goes
control memory usage of a cgroup. If a cgroup's usage goes
over the high boundary, the processes of the cgroup are over the high boundary, the processes of the cgroup are
throttled and put under heavy reclaim pressure. throttled and put under heavy reclaim pressure.
Going over the high limit never invokes the OOM killer and Going over the high limit never invokes the OOM killer and
under extreme conditions the limit may be breached. under extreme conditions the limit may be breached. The high
limit should be used in scenarios where an external process
monitors the limited cgroup to alleviate heavy reclaim
pressure.
memory.max memory.max
A read-write single value file which exists on non-root A read-write single value file which exists on non-root
cgroups. The default is "max". cgroups. The default is "max".
Memory usage hard limit. This is the final protection Memory usage hard limit. This is the main mechanism to limit
mechanism. If a cgroup's memory usage reaches this limit and memory usage of a cgroup. If a cgroup's memory usage reaches
can't be reduced, the OOM killer is invoked in the cgroup. this limit and can't be reduced, the OOM killer is invoked in
Under certain circumstances, the usage may go over the limit the cgroup. Under certain circumstances, the usage may go
temporarily. over the limit temporarily.
In default configuration regular 0-order allocations always In default configuration regular 0-order allocations always
succeed unless OOM killer chooses current task as a victim. succeed unless OOM killer chooses current task as a victim.
@@ -1238,10 +1240,6 @@ PAGE_SIZE multiple when read back.
Caller could retry them differently, return into userspace Caller could retry them differently, return into userspace
as -ENOMEM or silently ignore in cases like disk readahead. as -ENOMEM or silently ignore in cases like disk readahead.
This is the ultimate protection mechanism. As long as the
high limit is used and monitored properly, this limit's
utility is limited to providing the final safety net.
memory.reclaim memory.reclaim
A write-only nested-keyed file which exists for all cgroups. A write-only nested-keyed file which exists for all cgroups.

View File

@@ -8,7 +8,7 @@ title: Common Properties for Serial ATA AHCI controllers
maintainers: maintainers:
- Hans de Goede <hdegoede@redhat.com> - Hans de Goede <hdegoede@redhat.com>
- Damien Le Moal <damien.lemoal@opensource.wdc.com> - Damien Le Moal <dlemoal@kernel.org>
description: description:
This document defines device tree properties for a common AHCI SATA This document defines device tree properties for a common AHCI SATA

View File

@@ -129,6 +129,7 @@ allOf:
- qcom,sm8250-llcc - qcom,sm8250-llcc
- qcom,sm8350-llcc - qcom,sm8350-llcc
- qcom,sm8450-llcc - qcom,sm8450-llcc
- qcom,sm8550-llcc
then: then:
properties: properties:
reg: reg:

View File

@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Canaan Kendryte K210 Clock title: Canaan Kendryte K210 Clock
maintainers: maintainers:
- Damien Le Moal <damien.lemoal@wdc.com> - Damien Le Moal <dlemoal@kernel.org>
description: | description: |
Canaan Kendryte K210 SoC clocks driver bindings. The clock Canaan Kendryte K210 SoC clocks driver bindings. The clock

View File

@@ -44,7 +44,7 @@ required:
- clock-names - clock-names
- clocks - clocks
additionalProperties: true unevaluatedProperties: false
examples: examples:
- | - |

View File

@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Canaan Kendryte K210 System Controller title: Canaan Kendryte K210 System Controller
maintainers: maintainers:
- Damien Le Moal <damien.lemoal@wdc.com> - Damien Le Moal <dlemoal@kernel.org>
description: description:
Canaan Inc. Kendryte K210 SoC system controller which provides a Canaan Inc. Kendryte K210 SoC system controller which provides a

View File

@@ -11,7 +11,7 @@ maintainers:
- Alistair Francis <alistair@alistair23.me> - Alistair Francis <alistair@alistair23.me>
description: description:
RTL8723CS/RTL8723CS/RTL8821CS/RTL8822CS is a WiFi + BT chip. WiFi part RTL8723BS/RTL8723CS/RTL8821CS/RTL8822CS is a WiFi + BT chip. WiFi part
is connected over SDIO, while BT is connected over serial. It speaks is connected over SDIO, while BT is connected over serial. It speaks
H5 protocol with few extra commands to upload firmware and change H5 protocol with few extra commands to upload firmware and change
module speed. module speed.
@@ -27,7 +27,7 @@ properties:
- items: - items:
- enum: - enum:
- realtek,rtl8821cs-bt - realtek,rtl8821cs-bt
- const: realtek,rtl8822cs-bt - const: realtek,rtl8723bs-bt
device-wake-gpios: device-wake-gpios:
maxItems: 1 maxItems: 1

View File

@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Canaan Kendryte K210 FPIOA title: Canaan Kendryte K210 FPIOA
maintainers: maintainers:
- Damien Le Moal <damien.lemoal@wdc.com> - Damien Le Moal <dlemoal@kernel.org>
description: description:
The Canaan Kendryte K210 SoC Fully Programmable IO Array (FPIOA) The Canaan Kendryte K210 SoC Fully Programmable IO Array (FPIOA)

View File

@@ -144,8 +144,9 @@ $defs:
enum: [0, 1, 2, 3, 4, 5, 6, 7] enum: [0, 1, 2, 3, 4, 5, 6, 7]
qcom,paired: qcom,paired:
- description: type: boolean
Indicates that the pin should be operating in paired mode. description:
Indicates that the pin should be operating in paired mode.
required: required:
- pins - pins

View File

@@ -29,6 +29,7 @@ properties:
- qcom,qcm2290-rpmpd - qcom,qcm2290-rpmpd
- qcom,qcs404-rpmpd - qcom,qcs404-rpmpd
- qcom,qdu1000-rpmhpd - qcom,qdu1000-rpmhpd
- qcom,sa8155p-rpmhpd
- qcom,sa8540p-rpmhpd - qcom,sa8540p-rpmhpd
- qcom,sa8775p-rpmhpd - qcom,sa8775p-rpmhpd
- qcom,sdm660-rpmpd - qcom,sdm660-rpmpd

View File

@@ -0,0 +1,85 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/renesas,raa215300.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas RAA215300 Power Management Integrated Circuit (PMIC)
maintainers:
- Biju Das <biju.das.jz@bp.renesas.com>
description: |
The RAA215300 is a high-performance, low-cost 9-channel PMIC designed for
32-bit and 64-bit MCU and MPU applications. It supports DDR3, DDR3L, DDR4,
and LPDDR4 memory power requirements. The internally compensated regulators,
built-in Real-Time Clock (RTC), 32kHz crystal oscillator, and coin cell
battery charger provide a highly integrated, small footprint power solution
ideal for System-On-Module (SOM) applications. A spread spectrum feature
provides an ease-of-use solution for noise-sensitive audio or RF applications.
This device exposes two devices via I2C. One for the integrated RTC IP, and
one for everything else.
Link to datasheet:
https://www.renesas.com/in/en/products/power-power-management/multi-channel-power-management-ics-pmics/ssdsoc-power-management-ics-pmic-and-pmus/raa215300-high-performance-9-channel-pmic-supporting-ddr-memory-built-charger-and-rtc
properties:
compatible:
enum:
- renesas,raa215300
reg:
maxItems: 2
reg-names:
items:
- const: main
- const: rtc
interrupts:
maxItems: 1
clocks:
description: |
The clocks are optional. The RTC is disabled, if no clocks are
provided(either xin or clkin).
maxItems: 1
clock-names:
description: |
Use xin, if connected to an external crystal.
Use clkin, if connected to an external clock signal.
enum:
- xin
- clkin
required:
- compatible
- reg
- reg-names
additionalProperties: false
examples:
- |
/* 32.768kHz crystal */
x2: x2-clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>;
};
i2c {
#address-cells = <1>;
#size-cells = <0>;
raa215300: pmic@12 {
compatible = "renesas,raa215300";
reg = <0x12>, <0x6f>;
reg-names = "main", "rtc";
clocks = <&x2>;
clock-names = "xin";
};
};

View File

@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Canaan Kendryte K210 Reset Controller title: Canaan Kendryte K210 Reset Controller
maintainers: maintainers:
- Damien Le Moal <damien.lemoal@wdc.com> - Damien Le Moal <dlemoal@kernel.org>
description: | description: |
Canaan Kendryte K210 reset controller driver which supports the SoC Canaan Kendryte K210 reset controller driver which supports the SoC

View File

@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Canaan SoC-based boards title: Canaan SoC-based boards
maintainers: maintainers:
- Damien Le Moal <damien.lemoal@wdc.com> - Damien Le Moal <dlemoal@kernel.org>
description: description:
Canaan Kendryte K210 SoC-based boards Canaan Kendryte K210 SoC-based boards

View File

@@ -415,6 +415,6 @@ When using the DT, this creates problems for of_platform_populate()
because it must decide whether to register each node as either a because it must decide whether to register each node as either a
platform_device or an amba_device. This unfortunately complicates the platform_device or an amba_device. This unfortunately complicates the
device creation model a little bit, but the solution turns out not to device creation model a little bit, but the solution turns out not to
be too invasive. If a node is compatible with "arm,amba-primecell", then be too invasive. If a node is compatible with "arm,primecell", then
of_platform_populate() will register it as an amba_device instead of a of_platform_populate() will register it as an amba_device instead of a
platform_device. platform_device.

View File

@@ -223,7 +223,7 @@ attribute-sets:
name: tx-min-frag-size name: tx-min-frag-size
type: u32 type: u32
- -
name: tx-min-frag-size name: rx-min-frag-size
type: u32 type: u32
- -
name: verify-enabled name: verify-enabled
@@ -294,7 +294,7 @@ attribute-sets:
name: master-slave-state name: master-slave-state
type: u8 type: u8
- -
name: master-slave-lanes name: lanes
type: u32 type: u32
- -
name: rate-matching name: rate-matching
@@ -322,7 +322,7 @@ attribute-sets:
name: ext-substate name: ext-substate
type: u8 type: u8
- -
name: down-cnt name: ext-down-cnt
type: u32 type: u32
- -
name: debug name: debug
@@ -577,7 +577,7 @@ attribute-sets:
name: phc-index name: phc-index
type: u32 type: u32
- -
name: cable-test-nft-nest-result name: cable-test-ntf-nest-result
attributes: attributes:
- -
name: pair name: pair
@@ -586,7 +586,7 @@ attribute-sets:
name: code name: code
type: u8 type: u8
- -
name: cable-test-nft-nest-fault-length name: cable-test-ntf-nest-fault-length
attributes: attributes:
- -
name: pair name: pair
@@ -595,16 +595,16 @@ attribute-sets:
name: cm name: cm
type: u32 type: u32
- -
name: cable-test-nft-nest name: cable-test-ntf-nest
attributes: attributes:
- -
name: result name: result
type: nest type: nest
nested-attributes: cable-test-nft-nest-result nested-attributes: cable-test-ntf-nest-result
- -
name: fault-length name: fault-length
type: nest type: nest
nested-attributes: cable-test-nft-nest-fault-length nested-attributes: cable-test-ntf-nest-fault-length
- -
name: cable-test name: cable-test
attributes: attributes:
@@ -618,7 +618,7 @@ attribute-sets:
- -
name: nest name: nest
type: nest type: nest
nested-attributes: cable-test-nft-nest nested-attributes: cable-test-ntf-nest
- -
name: cable-test-tdr-cfg name: cable-test-tdr-cfg
attributes: attributes:
@@ -776,7 +776,7 @@ attribute-sets:
name: hist-bkt-hi name: hist-bkt-hi
type: u32 type: u32
- -
name: hist-bkt-val name: hist-val
type: u64 type: u64
- -
name: stats name: stats
@@ -965,7 +965,7 @@ operations:
- duplex - duplex
- master-slave-cfg - master-slave-cfg
- master-slave-state - master-slave-state
- master-slave-lanes - lanes
- rate-matching - rate-matching
dump: *linkmodes-get-op dump: *linkmodes-get-op
- -
@@ -999,7 +999,7 @@ operations:
- sqi-max - sqi-max
- ext-state - ext-state
- ext-substate - ext-substate
- down-cnt - ext-down-cnt
dump: *linkstate-get-op dump: *linkstate-get-op
- -
name: debug-get name: debug-get
@@ -1351,7 +1351,7 @@ operations:
reply: reply:
attributes: attributes:
- header - header
- cable-test-nft-nest - cable-test-ntf-nest
- -
name: cable-test-tdr-act name: cable-test-tdr-act
doc: Cable test TDR. doc: Cable test TDR.
@@ -1539,7 +1539,7 @@ operations:
- hkey - hkey
dump: *rss-get-op dump: *rss-get-op
- -
name: plca-get name: plca-get-cfg
doc: Get PLCA params. doc: Get PLCA params.
attribute-set: plca attribute-set: plca
@@ -1561,7 +1561,7 @@ operations:
- burst-tmr - burst-tmr
dump: *plca-get-op dump: *plca-get-op
- -
name: plca-set name: plca-set-cfg
doc: Set PLCA params. doc: Set PLCA params.
attribute-set: plca attribute-set: plca
@@ -1585,7 +1585,7 @@ operations:
- -
name: plca-ntf name: plca-ntf
doc: Notification for change in PLCA params. doc: Notification for change in PLCA params.
notify: plca-get notify: plca-get-cfg
- -
name: mm-get name: mm-get
doc: Get MAC Merge configuration and state doc: Get MAC Merge configuration and state

View File

@@ -1352,8 +1352,8 @@ ping_group_range - 2 INTEGERS
Restrict ICMP_PROTO datagram sockets to users in the group range. Restrict ICMP_PROTO datagram sockets to users in the group range.
The default is "1 0", meaning, that nobody (not even root) may The default is "1 0", meaning, that nobody (not even root) may
create ping sockets. Setting it to "100 100" would grant permissions create ping sockets. Setting it to "100 100" would grant permissions
to the single group. "0 4294967295" would enable it for the world, "100 to the single group. "0 4294967294" would enable it for the world, "100
4294967295" would enable it for the users, but not daemons. 4294967294" would enable it for the users, but not daemons.
tcp_early_demux - BOOLEAN tcp_early_demux - BOOLEAN
Enable early demux for established TCP sockets. Enable early demux for established TCP sockets.

View File

@@ -16,6 +16,24 @@ tested code over experimental code. We wish to extend these same
principles to the RISC-V-related code that will be accepted for principles to the RISC-V-related code that will be accepted for
inclusion in the kernel. inclusion in the kernel.
Patchwork
---------
RISC-V has a patchwork instance, where the status of patches can be checked:
https://patchwork.kernel.org/project/linux-riscv/list/
If your patch does not appear in the default view, the RISC-V maintainers have
likely either requested changes, or expect it to be applied to another tree.
Automation runs against this patchwork instance, building/testing patches as
they arrive. The automation applies patches against the current HEAD of the
RISC-V `for-next` and `fixes` branches, depending on whether the patch has been
detected as a fix. Failing those, it will use the RISC-V `master` branch.
The exact commit to which a series has been applied will be noted on patchwork.
Patches for which any of the checks fail are unlikely to be applied and in most
cases will need to be resubmitted.
Submit Checklist Addendum Submit Checklist Addendum
------------------------- -------------------------
We'll only accept patches for new modules or extensions if the We'll only accept patches for new modules or extensions if the

View File

@@ -325,6 +325,6 @@ Primecell设备。然而棘手的一点是AMBA总线上的所有设备并
当使用DT时这给of_platform_populate()带来了问题,因为它必须决定是否将 当使用DT时这给of_platform_populate()带来了问题,因为它必须决定是否将
每个节点注册为platform_device或amba_device。不幸的是这使设备创建模型 每个节点注册为platform_device或amba_device。不幸的是这使设备创建模型
变得有点复杂但解决方案原来并不是太具有侵略性。如果一个节点与“arm,amba-primecell” 变得有点复杂但解决方案原来并不是太具有侵略性。如果一个节点与“arm,primecell”
兼容那么of_platform_populate()将把它注册为amba_device而不是 兼容那么of_platform_populate()将把它注册为amba_device而不是
platform_device。 platform_device。

View File

@@ -5728,6 +5728,14 @@ F: include/linux/tfrc.h
F: include/uapi/linux/dccp.h F: include/uapi/linux/dccp.h
F: net/dccp/ F: net/dccp/
DEBUGOBJECTS:
M: Thomas Gleixner <tglx@linutronix.de>
L: linux-kernel@vger.kernel.org
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/debugobjects
F: lib/debugobjects.c
F: include/linux/debugobjects.h
DECSTATION PLATFORM SUPPORT DECSTATION PLATFORM SUPPORT
M: "Maciej W. Rozycki" <macro@orcam.me.uk> M: "Maciej W. Rozycki" <macro@orcam.me.uk>
L: linux-mips@vger.kernel.org L: linux-mips@vger.kernel.org
@@ -8791,6 +8799,7 @@ F: include/linux/gpio/regmap.h
GPIO SUBSYSTEM GPIO SUBSYSTEM
M: Linus Walleij <linus.walleij@linaro.org> M: Linus Walleij <linus.walleij@linaro.org>
M: Bartosz Golaszewski <brgl@bgdev.pl> M: Bartosz Golaszewski <brgl@bgdev.pl>
R: Andy Shevchenko <andy@kernel.org>
L: linux-gpio@vger.kernel.org L: linux-gpio@vger.kernel.org
S: Maintained S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
@@ -9687,8 +9696,9 @@ F: include/uapi/linux/i2c-*.h
F: include/uapi/linux/i2c.h F: include/uapi/linux/i2c.h
I2C SUBSYSTEM HOST DRIVERS I2C SUBSYSTEM HOST DRIVERS
M: Andi Shyti <andi.shyti@kernel.org>
L: linux-i2c@vger.kernel.org L: linux-i2c@vger.kernel.org
S: Odd Fixes S: Maintained
W: https://i2c.wiki.kernel.org/ W: https://i2c.wiki.kernel.org/
Q: https://patchwork.ozlabs.org/project/linux-i2c/list/ Q: https://patchwork.ozlabs.org/project/linux-i2c/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git
@@ -18038,6 +18048,14 @@ S: Maintained
F: Documentation/devicetree/bindings/usb/renesas,rzn1-usbf.yaml F: Documentation/devicetree/bindings/usb/renesas,rzn1-usbf.yaml
F: drivers/usb/gadget/udc/renesas_usbf.c F: drivers/usb/gadget/udc/renesas_usbf.c
RENESAS RZ/V2M I2C DRIVER
M: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
L: linux-i2c@vger.kernel.org
L: linux-renesas-soc@vger.kernel.org
S: Supported
F: Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml
F: drivers/i2c/busses/i2c-rzv2m.c
RENESAS USB PHY DRIVER RENESAS USB PHY DRIVER
M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
L: linux-renesas-soc@vger.kernel.org L: linux-renesas-soc@vger.kernel.org
@@ -19122,6 +19140,9 @@ SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
M: Karsten Graul <kgraul@linux.ibm.com> M: Karsten Graul <kgraul@linux.ibm.com>
M: Wenjia Zhang <wenjia@linux.ibm.com> M: Wenjia Zhang <wenjia@linux.ibm.com>
M: Jan Karcher <jaka@linux.ibm.com> M: Jan Karcher <jaka@linux.ibm.com>
R: D. Wythe <alibuda@linux.alibaba.com>
R: Tony Lu <tonylu@linux.alibaba.com>
R: Wen Gu <guwen@linux.alibaba.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
F: net/smc/ F: net/smc/

View File

@@ -2,7 +2,7 @@
VERSION = 6 VERSION = 6
PATCHLEVEL = 4 PATCHLEVEL = 4
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc5 EXTRAVERSION = -rc7
NAME = Hurr durr I'ma ninja sloth NAME = Hurr durr I'ma ninja sloth
# *DOCUMENTATION* # *DOCUMENTATION*

View File

@@ -527,7 +527,7 @@
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <31 0>; interrupts = <31 0>;
pendown-gpio = <&gpio1 31 0>; pendown-gpio = <&gpio1 31 GPIO_ACTIVE_LOW>;
ti,x-min = /bits/ 16 <0x0>; ti,x-min = /bits/ 16 <0x0>;

View File

@@ -792,7 +792,7 @@
}; };
&shdwc { &shdwc {
atmel,shdwc-debouncer = <976>; debounce-delay-us = <976>;
status = "okay"; status = "okay";
input@0 { input@0 {

View File

@@ -156,7 +156,7 @@
compatible = "ti,ads7843"; compatible = "ti,ads7843";
interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>; interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
spi-max-frequency = <3000000>; 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-min = /bits/ 16 <150>;
ti,x-max = /bits/ 16 <3830>; ti,x-max = /bits/ 16 <3830>;

View File

@@ -64,7 +64,7 @@
interrupt-parent = <&gpio2>; interrupt-parent = <&gpio2>;
interrupts = <7 0>; interrupts = <7 0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
pendown-gpio = <&gpio2 7 0>; pendown-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
vcc-supply = <&reg_3p3v>; vcc-supply = <&reg_3p3v>;
ti,x-min = /bits/ 16 <0>; ti,x-min = /bits/ 16 <0>;
ti,x-max = /bits/ 16 <4095>; ti,x-max = /bits/ 16 <4095>;

View File

@@ -205,7 +205,7 @@
pinctrl-0 = <&pinctrl_tsc2046_pendown>; pinctrl-0 = <&pinctrl_tsc2046_pendown>;
interrupt-parent = <&gpio2>; interrupt-parent = <&gpio2>;
interrupts = <29 0>; interrupts = <29 0>;
pendown-gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>; pendown-gpio = <&gpio2 29 GPIO_ACTIVE_LOW>;
touchscreen-max-pressure = <255>; touchscreen-max-pressure = <255>;
wakeup-source; wakeup-source;
}; };

View File

@@ -227,7 +227,7 @@
interrupt-parent = <&gpio2>; interrupt-parent = <&gpio2>;
interrupts = <25 0>; /* gpio_57 */ 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-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>; ti,x-max = /bits/ 16 <0x0fff>;

View File

@@ -54,7 +54,7 @@
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <27 0>; /* gpio_27 */ 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-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>; ti,x-max = /bits/ 16 <0x0fff>;

View File

@@ -311,7 +311,7 @@
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <8 0>; /* boot6 / gpio_8 */ interrupts = <8 0>; /* boot6 / gpio_8 */
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
pendown-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>; pendown-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
vcc-supply = <&reg_vcc3>; vcc-supply = <&reg_vcc3>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&tsc2048_pins>; pinctrl-0 = <&tsc2048_pins>;

View File

@@ -149,7 +149,7 @@
interrupt-parent = <&gpio4>; interrupt-parent = <&gpio4>;
interrupts = <18 0>; /* gpio_114 */ 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-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>; ti,x-max = /bits/ 16 <0x0fff>;

View File

@@ -160,7 +160,7 @@
interrupt-parent = <&gpio4>; interrupt-parent = <&gpio4>;
interrupts = <18 0>; /* gpio_114 */ 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-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>; ti,x-max = /bits/ 16 <0x0fff>;

View File

@@ -651,7 +651,7 @@
pinctrl-0 = <&penirq_pins>; pinctrl-0 = <&penirq_pins>;
interrupt-parent = <&gpio3>; interrupt-parent = <&gpio3>;
interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */ interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */
pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; pendown-gpio = <&gpio3 30 GPIO_ACTIVE_LOW>;
vcc-supply = <&vaux4>; vcc-supply = <&vaux4>;
ti,x-min = /bits/ 16 <0>; ti,x-min = /bits/ 16 <0>;

View File

@@ -354,7 +354,7 @@
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <15 0>; /* gpio1_wk15 */ 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>; ti,x-min = /bits/ 16 <0x0>;

View File

@@ -268,7 +268,6 @@
function = "gpio"; function = "gpio";
drive-strength = <8>; drive-strength = <8>;
bias-disable; bias-disable;
input-enable;
}; };
wlan_hostwake_default_state: wlan-hostwake-default-state { wlan_hostwake_default_state: wlan-hostwake-default-state {
@@ -276,7 +275,6 @@
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
input-enable;
}; };
wlan_regulator_default_state: wlan-regulator-default-state { wlan_regulator_default_state: wlan-regulator-default-state {

View File

@@ -352,7 +352,6 @@
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
input-enable;
}; };
wlan_regulator_default_state: wlan-regulator-default-state { wlan_regulator_default_state: wlan-regulator-default-state {

View File

@@ -307,7 +307,6 @@
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
input-enable;
}; };
touch_pins: touch-state { touch_pins: touch-state {
@@ -317,7 +316,6 @@
drive-strength = <8>; drive-strength = <8>;
bias-pull-down; bias-pull-down;
input-enable;
}; };
reset-pins { reset-pins {
@@ -335,7 +333,6 @@
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
input-enable;
}; };
wlan_regulator_default_state: wlan-regulator-default-state { wlan_regulator_default_state: wlan-regulator-default-state {

View File

@@ -83,6 +83,7 @@
L2: l2-cache { L2: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
idle-states { idle-states {

View File

@@ -74,6 +74,7 @@
L2: l2-cache { L2: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
qcom,saw = <&saw_l2>; qcom,saw = <&saw_l2>;
}; };

View File

@@ -102,6 +102,7 @@
L2: l2-cache { L2: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
qcom,saw = <&saw_l2>; qcom,saw = <&saw_l2>;
}; };
}; };

View File

@@ -45,6 +45,7 @@
L2: l2-cache { L2: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -49,7 +49,6 @@
gpioext1-pins { gpioext1-pins {
pins = "gpio2"; pins = "gpio2";
function = "gpio"; function = "gpio";
input-enable;
bias-disable; bias-disable;
}; };
}; };

View File

@@ -36,6 +36,7 @@
L2: l2-cache { L2: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -42,6 +42,7 @@
L2: l2-cache { L2: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -592,7 +592,6 @@
pins = "gpio73"; pins = "gpio73";
function = "gpio"; function = "gpio";
bias-disable; bias-disable;
input-enable;
}; };
touch_pin: touch-state { touch_pin: touch-state {
@@ -602,7 +601,6 @@
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
input-enable;
}; };
reset-pins { reset-pins {

View File

@@ -433,7 +433,6 @@
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
input-enable;
}; };
sdc1_on: sdc1-on-state { sdc1_on: sdc1-on-state {

View File

@@ -80,6 +80,7 @@
L2: l2-cache { L2: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
qcom,saw = <&saw_l2>; qcom,saw = <&saw_l2>;
}; };

View File

@@ -461,7 +461,6 @@
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
input-enable;
}; };
reset-pins { reset-pins {

View File

@@ -704,7 +704,6 @@
pins = "gpio75"; pins = "gpio75";
function = "gpio"; function = "gpio";
drive-strength = <16>; drive-strength = <16>;
input-enable;
}; };
devwake-pins { devwake-pins {
@@ -760,14 +759,12 @@
i2c_touchkey_pins: i2c-touchkey-state { i2c_touchkey_pins: i2c-touchkey-state {
pins = "gpio95", "gpio96"; pins = "gpio95", "gpio96";
function = "gpio"; function = "gpio";
input-enable;
bias-pull-up; bias-pull-up;
}; };
i2c_led_gpioex_pins: i2c-led-gpioex-state { i2c_led_gpioex_pins: i2c-led-gpioex-state {
pins = "gpio120", "gpio121"; pins = "gpio120", "gpio121";
function = "gpio"; function = "gpio";
input-enable;
bias-pull-down; bias-pull-down;
}; };
@@ -781,7 +778,6 @@
wifi_pin: wifi-state { wifi_pin: wifi-state {
pins = "gpio92"; pins = "gpio92";
function = "gpio"; function = "gpio";
input-enable;
bias-pull-down; bias-pull-down;
}; };

View File

@@ -631,7 +631,6 @@
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
input-enable;
}; };
bt_host_wake_pin: bt-host-wake-state { bt_host_wake_pin: bt-host-wake-state {

View File

@@ -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); pdev = of_find_device_by_node(eth->np);
if (!pdev) if (!pdev)
return false; return false;
/* put_device(eth->dev) is called at the end of suspend. */
eth->dev = &pdev->dev; eth->dev = &pdev->dev;
} }
/* No quirks if device isn't a wakeup source. */ /* No quirks if device isn't a wakeup source. */
if (!device_may_wakeup(eth->dev)) { if (!device_may_wakeup(eth->dev))
put_device(eth->dev);
return false; return false;
}
/* put_device(eth->dev) is called at the end of suspend. */
return true; return true;
} }
@@ -439,14 +437,14 @@ clk_unconfigure:
pr_err("AT91: PM: failed to enable %s clocks\n", pr_err("AT91: PM: failed to enable %s clocks\n",
j == AT91_PM_G_ETH ? "geth" : "eth"); 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; return ret;

View File

@@ -1516,7 +1516,7 @@ config XEN
# 16K | 27 | 14 | 13 | 11 | # 16K | 27 | 14 | 13 | 11 |
# 64K | 29 | 16 | 13 | 13 | # 64K | 29 | 16 | 13 | 13 |
config ARCH_FORCE_MAX_ORDER config ARCH_FORCE_MAX_ORDER
int "Order of maximal physically contiguous allocations" if EXPERT && (ARM64_4K_PAGES || ARM64_16K_PAGES) int
default "13" if ARM64_64K_PAGES default "13" if ARM64_64K_PAGES
default "11" if ARM64_16K_PAGES default "11" if ARM64_16K_PAGES
default "10" default "10"

View File

@@ -90,6 +90,8 @@ dma_subsys: bus@5a000000 {
clocks = <&uart0_lpcg IMX_LPCG_CLK_4>, clocks = <&uart0_lpcg IMX_LPCG_CLK_4>,
<&uart0_lpcg IMX_LPCG_CLK_0>; <&uart0_lpcg IMX_LPCG_CLK_0>;
clock-names = "ipg", "baud"; 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>; power-domains = <&pd IMX_SC_R_UART_0>;
status = "disabled"; status = "disabled";
}; };
@@ -100,6 +102,8 @@ dma_subsys: bus@5a000000 {
clocks = <&uart1_lpcg IMX_LPCG_CLK_4>, clocks = <&uart1_lpcg IMX_LPCG_CLK_4>,
<&uart1_lpcg IMX_LPCG_CLK_0>; <&uart1_lpcg IMX_LPCG_CLK_0>;
clock-names = "ipg", "baud"; 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>; power-domains = <&pd IMX_SC_R_UART_1>;
status = "disabled"; status = "disabled";
}; };
@@ -110,6 +114,8 @@ dma_subsys: bus@5a000000 {
clocks = <&uart2_lpcg IMX_LPCG_CLK_4>, clocks = <&uart2_lpcg IMX_LPCG_CLK_4>,
<&uart2_lpcg IMX_LPCG_CLK_0>; <&uart2_lpcg IMX_LPCG_CLK_0>;
clock-names = "ipg", "baud"; 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>; power-domains = <&pd IMX_SC_R_UART_2>;
status = "disabled"; status = "disabled";
}; };
@@ -120,6 +126,8 @@ dma_subsys: bus@5a000000 {
clocks = <&uart3_lpcg IMX_LPCG_CLK_4>, clocks = <&uart3_lpcg IMX_LPCG_CLK_4>,
<&uart3_lpcg IMX_LPCG_CLK_0>; <&uart3_lpcg IMX_LPCG_CLK_0>;
clock-names = "ipg", "baud"; 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>; power-domains = <&pd IMX_SC_R_UART_3>;
status = "disabled"; status = "disabled";
}; };

View File

@@ -81,7 +81,7 @@
&ecspi2 { &ecspi2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_espi2>; pinctrl-0 = <&pinctrl_espi2>;
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
status = "okay"; status = "okay";
eeprom@0 { eeprom@0 {
@@ -202,7 +202,7 @@
MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82
MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82
MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82
MX8MN_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x41 MX8MN_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x41
>; >;
}; };

View File

@@ -82,8 +82,8 @@
pinctrl-0 = <&pinctrl_usdhc2>; pinctrl-0 = <&pinctrl_usdhc2>;
bus-width = <4>; bus-width = <4>;
vmmc-supply = <&reg_usdhc2_vmmc>; vmmc-supply = <&reg_usdhc2_vmmc>;
cd-gpios = <&lsio_gpio4 22 GPIO_ACTIVE_LOW>; cd-gpios = <&lsio_gpio5 22 GPIO_ACTIVE_LOW>;
wp-gpios = <&lsio_gpio4 21 GPIO_ACTIVE_HIGH>; wp-gpios = <&lsio_gpio5 21 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };

View File

@@ -73,6 +73,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -83,7 +83,8 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <0x2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -66,7 +66,8 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <0x2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -72,6 +72,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -180,6 +180,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
idle-states { idle-states {

View File

@@ -153,11 +153,13 @@
L2_0: l2-cache-0 { L2_0: l2-cache-0 {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
L2_1: l2-cache-1 { L2_1: l2-cache-1 {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -193,11 +193,13 @@
l2_0: l2-cache0 { l2_0: l2-cache0 {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
l2_1: l2-cache1 { l2_1: l2-cache1 {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -52,6 +52,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };
@@ -88,6 +89,7 @@
L2_1: l2-cache { L2_1: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -53,8 +53,9 @@
#cooling-cells = <2>; #cooling-cells = <2>;
next-level-cache = <&L2_0>; next-level-cache = <&L2_0>;
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };
@@ -83,8 +84,9 @@
#cooling-cells = <2>; #cooling-cells = <2>;
next-level-cache = <&L2_1>; next-level-cache = <&L2_1>;
L2_1: l2-cache { L2_1: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -146,6 +146,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };
@@ -190,6 +191,7 @@
L2_1: l2-cache { L2_1: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -51,6 +51,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -95,6 +95,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
idle-states { idle-states {

View File

@@ -35,9 +35,13 @@
next-level-cache = <&L2_0>; next-level-cache = <&L2_0>;
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -54,6 +58,8 @@
next-level-cache = <&L2_100>; next-level-cache = <&L2_100>;
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -70,6 +76,8 @@
next-level-cache = <&L2_200>; next-level-cache = <&L2_200>;
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -86,6 +94,8 @@
next-level-cache = <&L2_300>; next-level-cache = <&L2_300>;
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -7,7 +7,7 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include "sm8150.dtsi" #include "sa8155p.dtsi"
#include "pmm8155au_1.dtsi" #include "pmm8155au_1.dtsi"
#include "pmm8155au_2.dtsi" #include "pmm8155au_2.dtsi"

View 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";
};

View File

@@ -42,9 +42,13 @@
next-level-cache = <&L2_0>; next-level-cache = <&L2_0>;
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -58,6 +62,8 @@
next-level-cache = <&L2_1>; next-level-cache = <&L2_1>;
L2_1: l2-cache { L2_1: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -71,6 +77,8 @@
next-level-cache = <&L2_2>; next-level-cache = <&L2_2>;
L2_2: l2-cache { L2_2: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -84,6 +92,8 @@
next-level-cache = <&L2_3>; next-level-cache = <&L2_3>;
L2_3: l2-cache { L2_3: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -97,9 +107,13 @@
next-level-cache = <&L2_4>; next-level-cache = <&L2_4>;
L2_4: l2-cache { L2_4: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_1>; next-level-cache = <&L3_1>;
L3_1: l3-cache { L3_1: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>;
cache-unified;
}; };
}; };
@@ -114,6 +128,8 @@
next-level-cache = <&L2_5>; next-level-cache = <&L2_5>;
L2_5: l2-cache { L2_5: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_1>; next-level-cache = <&L3_1>;
}; };
}; };
@@ -127,6 +143,8 @@
next-level-cache = <&L2_6>; next-level-cache = <&L2_6>;
L2_6: l2-cache { L2_6: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_1>; next-level-cache = <&L3_1>;
}; };
}; };
@@ -140,6 +158,8 @@
next-level-cache = <&L2_7>; next-level-cache = <&L2_7>;
L2_7: l2-cache { L2_7: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_1>; next-level-cache = <&L3_1>;
}; };
}; };

View File

@@ -16,3 +16,11 @@
&cpu6_opp12 { &cpu6_opp12 {
opp-peak-kBps = <8532000 23347200>; opp-peak-kBps = <8532000 23347200>;
}; };
&cpu6_opp13 {
opp-peak-kBps = <8532000 23347200>;
};
&cpu6_opp14 {
opp-peak-kBps = <8532000 23347200>;
};

View File

@@ -92,10 +92,12 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -120,6 +122,7 @@
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -144,6 +147,7 @@
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -168,6 +172,7 @@
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -192,6 +197,7 @@
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -216,6 +222,7 @@
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -240,6 +247,7 @@
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -264,6 +272,7 @@
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -480,7 +480,6 @@
wcd_rx: codec@0,4 { wcd_rx: codec@0,4 {
compatible = "sdw20217010d00"; compatible = "sdw20217010d00";
reg = <0 4>; reg = <0 4>;
#sound-dai-cells = <1>;
qcom,rx-port-mapping = <1 2 3 4 5>; qcom,rx-port-mapping = <1 2 3 4 5>;
}; };
}; };
@@ -491,7 +490,6 @@
wcd_tx: codec@0,3 { wcd_tx: codec@0,3 {
compatible = "sdw20217010d00"; compatible = "sdw20217010d00";
reg = <0 3>; reg = <0 3>;
#sound-dai-cells = <1>;
qcom,tx-port-mapping = <1 2 3 4>; qcom,tx-port-mapping = <1 2 3 4>;
}; };
}; };

View File

@@ -414,7 +414,6 @@
wcd_rx: codec@0,4 { wcd_rx: codec@0,4 {
compatible = "sdw20217010d00"; compatible = "sdw20217010d00";
reg = <0 4>; reg = <0 4>;
#sound-dai-cells = <1>;
qcom,rx-port-mapping = <1 2 3 4 5>; qcom,rx-port-mapping = <1 2 3 4 5>;
}; };
}; };
@@ -423,7 +422,6 @@
wcd_tx: codec@0,3 { wcd_tx: codec@0,3 {
compatible = "sdw20217010d00"; compatible = "sdw20217010d00";
reg = <0 3>; reg = <0 3>;
#sound-dai-cells = <1>;
qcom,tx-port-mapping = <1 2 3 4>; qcom,tx-port-mapping = <1 2 3 4>;
}; };
}; };

View File

@@ -182,10 +182,12 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -208,6 +210,7 @@
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -230,6 +233,7 @@
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -252,6 +256,7 @@
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -274,6 +279,7 @@
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -296,6 +302,7 @@
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -318,6 +325,7 @@
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -340,6 +348,7 @@
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -58,10 +58,12 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -83,6 +85,7 @@
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -104,6 +107,7 @@
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -125,6 +129,7 @@
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -146,6 +151,7 @@
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -167,6 +173,7 @@
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -188,6 +195,7 @@
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -209,6 +217,7 @@
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -2726,6 +2735,7 @@
pins = "gpio7"; pins = "gpio7";
function = "dmic1_data"; function = "dmic1_data";
drive-strength = <8>; drive-strength = <8>;
input-enable;
}; };
}; };
@@ -2743,6 +2753,7 @@
function = "dmic1_data"; function = "dmic1_data";
drive-strength = <2>; drive-strength = <2>;
bias-pull-down; bias-pull-down;
input-enable;
}; };
}; };
@@ -2758,6 +2769,7 @@
pins = "gpio9"; pins = "gpio9";
function = "dmic2_data"; function = "dmic2_data";
drive-strength = <8>; drive-strength = <8>;
input-enable;
}; };
}; };
@@ -2775,6 +2787,7 @@
function = "dmic2_data"; function = "dmic2_data";
drive-strength = <2>; drive-strength = <2>;
bias-pull-down; bias-pull-down;
input-enable;
}; };
}; };
@@ -3982,6 +3995,7 @@
qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>, qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>,
<WAKE_TCS 3>, <CONTROL_TCS 1>; <WAKE_TCS 3>, <CONTROL_TCS 1>;
label = "apps_rsc"; label = "apps_rsc";
power-domains = <&CLUSTER_PD>;
apps_bcm_voter: bcm-voter { apps_bcm_voter: bcm-voter {
compatible = "qcom,bcm-voter"; compatible = "qcom,bcm-voter";

View File

@@ -63,6 +63,7 @@
L2_1: l2-cache { L2_1: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };
@@ -127,6 +128,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -41,8 +41,12 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
cache-level = <2>;
cache-unified;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -57,6 +61,8 @@
next-level-cache = <&L2_100>; next-level-cache = <&L2_100>;
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -71,6 +77,8 @@
next-level-cache = <&L2_200>; next-level-cache = <&L2_200>;
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -85,6 +93,8 @@
next-level-cache = <&L2_300>; next-level-cache = <&L2_300>;
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -99,6 +109,8 @@
next-level-cache = <&L2_400>; next-level-cache = <&L2_400>;
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -113,6 +125,8 @@
next-level-cache = <&L2_500>; next-level-cache = <&L2_500>;
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -127,6 +141,8 @@
next-level-cache = <&L2_600>; next-level-cache = <&L2_600>;
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -141,6 +157,8 @@
next-level-cache = <&L2_700>; next-level-cache = <&L2_700>;
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -108,10 +108,12 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -135,6 +137,7 @@
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -158,6 +161,7 @@
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -181,6 +185,7 @@
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -204,6 +209,7 @@
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -227,6 +233,7 @@
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -250,6 +257,7 @@
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -273,6 +281,7 @@
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -50,6 +50,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };
@@ -102,6 +103,7 @@
L2_1: l2-cache { L2_1: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -47,6 +47,7 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };
@@ -87,6 +88,7 @@
L2_1: l2-cache { L2_1: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
}; };
}; };

View File

@@ -60,10 +60,12 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -86,6 +88,7 @@
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -108,6 +111,7 @@
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -130,6 +134,7 @@
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -152,6 +157,7 @@
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -174,6 +180,7 @@
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -196,6 +203,7 @@
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -218,6 +226,7 @@
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -178,12 +178,12 @@
}; };
&remoteproc_adsp { &remoteproc_adsp {
firmware-name = "qcom/Sony/murray/adsp.mbn"; firmware-name = "qcom/sm6375/Sony/murray/adsp.mbn";
status = "okay"; status = "okay";
}; };
&remoteproc_cdsp { &remoteproc_cdsp {
firmware-name = "qcom/Sony/murray/cdsp.mbn"; firmware-name = "qcom/sm6375/Sony/murray/cdsp.mbn";
status = "okay"; status = "okay";
}; };

View File

@@ -48,10 +48,14 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -68,8 +72,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -85,8 +91,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -102,8 +110,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -119,8 +129,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -136,8 +148,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -153,8 +167,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -170,8 +186,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
next-level-cache = <&L3_0>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -63,10 +63,12 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -90,6 +92,7 @@
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -113,6 +116,7 @@
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -136,6 +140,7 @@
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -159,6 +164,7 @@
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -182,6 +188,7 @@
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -205,6 +212,7 @@
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -228,6 +236,7 @@
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -13,6 +13,6 @@
}; };
&display_panel { &display_panel {
compatible = "xiaomi,elish-boe-nt36523"; compatible = "xiaomi,elish-boe-nt36523", "novatek,nt36523";
status = "okay"; status = "okay";
}; };

View File

@@ -13,6 +13,6 @@
}; };
&display_panel { &display_panel {
compatible = "xiaomi,elish-csot-nt36523"; compatible = "xiaomi,elish-csot-nt36523", "novatek,nt36523";
status = "okay"; status = "okay";
}; };

View File

@@ -58,12 +58,14 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -80,9 +82,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -98,9 +101,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -116,9 +120,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -134,9 +139,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -152,9 +158,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -170,9 +177,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -188,9 +196,10 @@
power-domain-names = "psci"; power-domain-names = "psci";
#cooling-cells = <2>; #cooling-cells = <2>;
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -57,12 +57,14 @@
#cooling-cells = <2>; #cooling-cells = <2>;
clocks = <&cpufreq_hw 0>; clocks = <&cpufreq_hw 0>;
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -79,9 +81,10 @@
#cooling-cells = <2>; #cooling-cells = <2>;
clocks = <&cpufreq_hw 0>; clocks = <&cpufreq_hw 0>;
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -97,9 +100,10 @@
#cooling-cells = <2>; #cooling-cells = <2>;
clocks = <&cpufreq_hw 0>; clocks = <&cpufreq_hw 0>;
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -115,9 +119,10 @@
#cooling-cells = <2>; #cooling-cells = <2>;
clocks = <&cpufreq_hw 0>; clocks = <&cpufreq_hw 0>;
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -133,9 +138,10 @@
#cooling-cells = <2>; #cooling-cells = <2>;
clocks = <&cpufreq_hw 1>; clocks = <&cpufreq_hw 1>;
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -151,9 +157,10 @@
#cooling-cells = <2>; #cooling-cells = <2>;
clocks = <&cpufreq_hw 1>; clocks = <&cpufreq_hw 1>;
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -169,9 +176,10 @@
#cooling-cells = <2>; #cooling-cells = <2>;
clocks = <&cpufreq_hw 1>; clocks = <&cpufreq_hw 1>;
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };
@@ -187,9 +195,10 @@
#cooling-cells = <2>; #cooling-cells = <2>;
clocks = <&cpufreq_hw 2>; clocks = <&cpufreq_hw 2>;
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
next-level-cache = <&L3_0>; cache-unified;
next-level-cache = <&L3_0>;
}; };
}; };

View File

@@ -80,10 +80,12 @@
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
L3_0: l3-cache { L3_0: l3-cache {
compatible = "cache"; compatible = "cache";
cache-level = <3>; cache-level = <3>;
cache-unified;
}; };
}; };
}; };
@@ -104,6 +106,7 @@
L2_100: l2-cache { L2_100: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -124,6 +127,7 @@
L2_200: l2-cache { L2_200: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -144,6 +148,7 @@
L2_300: l2-cache { L2_300: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -164,6 +169,7 @@
L2_400: l2-cache { L2_400: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -184,6 +190,7 @@
L2_500: l2-cache { L2_500: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -204,6 +211,7 @@
L2_600: l2-cache { L2_600: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -224,6 +232,7 @@
L2_700: l2-cache { L2_700: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
cache-unified;
next-level-cache = <&L3_0>; next-level-cache = <&L3_0>;
}; };
}; };
@@ -2022,7 +2031,7 @@
qcom,din-ports = <4>; qcom,din-ports = <4>;
qcom,dout-ports = <9>; 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-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-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>; 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,din-ports = <0>;
qcom,dout-ports = <10>; 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-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-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>; qcom,ports-hstart = /bits/ 8 <0xff 0x03 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff>;
@@ -2133,7 +2142,7 @@
qcom,din-ports = <4>; qcom,din-ports = <4>;
qcom,dout-ports = <9>; 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-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-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>; 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 { system-cache-controller@25000000 {
compatible = "qcom,sm8550-llcc"; 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>; <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>; interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
}; };

View File

@@ -600,8 +600,7 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
vma_end_read(vma); vma_end_read(vma);
goto lock_mmap; goto lock_mmap;
} }
fault = handle_mm_fault(vma, addr & PAGE_MASK, fault = handle_mm_fault(vma, addr, mm_flags | FAULT_FLAG_VMA_LOCK, regs);
mm_flags | FAULT_FLAG_VMA_LOCK, regs);
vma_end_read(vma); vma_end_read(vma);
if (!(fault & VM_FAULT_RETRY)) { if (!(fault & VM_FAULT_RETRY)) {

View File

@@ -1496,7 +1496,7 @@ __BUILD_CSR_OP(tlbidx)
#define write_fcsr(dest, val) \ #define write_fcsr(dest, val) \
do { \ do { \
__asm__ __volatile__( \ __asm__ __volatile__( \
" movgr2fcsr %0, "__stringify(dest)" \n" \ " movgr2fcsr "__stringify(dest)", %0 \n" \
: : "r" (val)); \ : : "r" (val)); \
} while (0) } while (0)

View File

@@ -22,12 +22,14 @@
#define _PAGE_PFN_SHIFT 12 #define _PAGE_PFN_SHIFT 12
#define _PAGE_SWP_EXCLUSIVE_SHIFT 23 #define _PAGE_SWP_EXCLUSIVE_SHIFT 23
#define _PAGE_PFN_END_SHIFT 48 #define _PAGE_PFN_END_SHIFT 48
#define _PAGE_PRESENT_INVALID_SHIFT 60
#define _PAGE_NO_READ_SHIFT 61 #define _PAGE_NO_READ_SHIFT 61
#define _PAGE_NO_EXEC_SHIFT 62 #define _PAGE_NO_EXEC_SHIFT 62
#define _PAGE_RPLV_SHIFT 63 #define _PAGE_RPLV_SHIFT 63
/* Used by software */ /* Used by software */
#define _PAGE_PRESENT (_ULCAST_(1) << _PAGE_PRESENT_SHIFT) #define _PAGE_PRESENT (_ULCAST_(1) << _PAGE_PRESENT_SHIFT)
#define _PAGE_PRESENT_INVALID (_ULCAST_(1) << _PAGE_PRESENT_INVALID_SHIFT)
#define _PAGE_WRITE (_ULCAST_(1) << _PAGE_WRITE_SHIFT) #define _PAGE_WRITE (_ULCAST_(1) << _PAGE_WRITE_SHIFT)
#define _PAGE_ACCESSED (_ULCAST_(1) << _PAGE_ACCESSED_SHIFT) #define _PAGE_ACCESSED (_ULCAST_(1) << _PAGE_ACCESSED_SHIFT)
#define _PAGE_MODIFIED (_ULCAST_(1) << _PAGE_MODIFIED_SHIFT) #define _PAGE_MODIFIED (_ULCAST_(1) << _PAGE_MODIFIED_SHIFT)

View File

@@ -213,7 +213,7 @@ static inline int pmd_bad(pmd_t pmd)
static inline int pmd_present(pmd_t pmd) static inline int pmd_present(pmd_t pmd)
{ {
if (unlikely(pmd_val(pmd) & _PAGE_HUGE)) if (unlikely(pmd_val(pmd) & _PAGE_HUGE))
return !!(pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROTNONE)); return !!(pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROTNONE | _PAGE_PRESENT_INVALID));
return pmd_val(pmd) != (unsigned long)invalid_pte_table; return pmd_val(pmd) != (unsigned long)invalid_pte_table;
} }
@@ -558,6 +558,7 @@ static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)
static inline pmd_t pmd_mkinvalid(pmd_t pmd) static inline pmd_t pmd_mkinvalid(pmd_t pmd)
{ {
pmd_val(pmd) |= _PAGE_PRESENT_INVALID;
pmd_val(pmd) &= ~(_PAGE_PRESENT | _PAGE_VALID | _PAGE_DIRTY | _PAGE_PROTNONE); pmd_val(pmd) &= ~(_PAGE_PRESENT | _PAGE_VALID | _PAGE_DIRTY | _PAGE_PROTNONE);
return pmd; return pmd;

View File

@@ -396,6 +396,8 @@ int hw_breakpoint_arch_parse(struct perf_event *bp,
if (hw->ctrl.type != LOONGARCH_BREAKPOINT_EXECUTE) if (hw->ctrl.type != LOONGARCH_BREAKPOINT_EXECUTE)
alignment_mask = 0x7; alignment_mask = 0x7;
else
alignment_mask = 0x3;
offset = hw->address & alignment_mask; offset = hw->address & alignment_mask;
hw->address &= ~alignment_mask; hw->address &= ~alignment_mask;

View File

@@ -271,7 +271,7 @@ static void loongarch_pmu_enable_event(struct hw_perf_event *evt, int idx)
WARN_ON(idx < 0 || idx >= loongarch_pmu.num_counters); WARN_ON(idx < 0 || idx >= loongarch_pmu.num_counters);
/* Make sure interrupt enabled. */ /* Make sure interrupt enabled. */
cpuc->saved_ctrl[idx] = M_PERFCTL_EVENT(evt->event_base & 0xff) | cpuc->saved_ctrl[idx] = M_PERFCTL_EVENT(evt->event_base) |
(evt->config_base & M_PERFCTL_CONFIG_MASK) | CSR_PERFCTRL_IE; (evt->config_base & M_PERFCTL_CONFIG_MASK) | CSR_PERFCTRL_IE;
cpu = (event->cpu >= 0) ? event->cpu : smp_processor_id(); cpu = (event->cpu >= 0) ? event->cpu : smp_processor_id();
@@ -594,7 +594,7 @@ static struct pmu pmu = {
static unsigned int loongarch_pmu_perf_event_encode(const struct loongarch_perf_event *pev) static unsigned int loongarch_pmu_perf_event_encode(const struct loongarch_perf_event *pev)
{ {
return (pev->event_id & 0xff); return M_PERFCTL_EVENT(pev->event_id);
} }
static const struct loongarch_perf_event *loongarch_pmu_map_general_event(int idx) static const struct loongarch_perf_event *loongarch_pmu_map_general_event(int idx)
@@ -849,7 +849,7 @@ static void resume_local_counters(void)
static const struct loongarch_perf_event *loongarch_pmu_map_raw_event(u64 config) static const struct loongarch_perf_event *loongarch_pmu_map_raw_event(u64 config)
{ {
raw_event.event_id = config & 0xff; raw_event.event_id = M_PERFCTL_EVENT(config);
return &raw_event; return &raw_event;
} }

View File

@@ -485,7 +485,7 @@ static int __init debugfs_unaligned(void)
struct dentry *d; struct dentry *d;
d = debugfs_create_dir("loongarch", NULL); d = debugfs_create_dir("loongarch", NULL);
if (!d) if (IS_ERR_OR_NULL(d))
return -ENOMEM; return -ENOMEM;
debugfs_create_u32("unaligned_instructions_user", debugfs_create_u32("unaligned_instructions_user",

View File

@@ -97,7 +97,7 @@
rx-fifo-depth = <8192>; rx-fifo-depth = <8192>;
tx-fifo-depth = <8192>; tx-fifo-depth = <8192>;
address-bits = <48>; address-bits = <48>;
max-frame-size = <1518>; max-frame-size = <1500>;
local-mac-address = [00 00 00 00 00 00]; local-mac-address = [00 00 00 00 00 00];
altr,has-supplementary-unicast; altr,has-supplementary-unicast;
altr,enable-sup-addr = <1>; altr,enable-sup-addr = <1>;

View File

@@ -106,7 +106,7 @@
interrupt-names = "rx_irq", "tx_irq"; interrupt-names = "rx_irq", "tx_irq";
rx-fifo-depth = <8192>; rx-fifo-depth = <8192>;
tx-fifo-depth = <8192>; tx-fifo-depth = <8192>;
max-frame-size = <1518>; max-frame-size = <1500>;
local-mac-address = [ 00 00 00 00 00 00 ]; local-mac-address = [ 00 00 00 00 00 00 ];
phy-mode = "rgmii-id"; phy-mode = "rgmii-id";
phy-handle = <&phy0>; phy-handle = <&phy0>;

View File

@@ -90,10 +90,6 @@
#include <asm/asmregs.h> #include <asm/asmregs.h>
#include <asm/psw.h> #include <asm/psw.h>
sp = 30
gp = 27
ipsw = 22
/* /*
* We provide two versions of each macro to convert from physical * We provide two versions of each macro to convert from physical
* to virtual and vice versa. The "_r1" versions take one argument * to virtual and vice versa. The "_r1" versions take one argument

Some files were not shown because too many files have changed in this diff Show More