mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-27 04:22:58 +00:00
Compare commits
2 Commits
rpi-5.10.y
...
audio_hdmi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d8e963f36 | ||
|
|
010586f1bd |
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us fix your issue
|
||||
|
||||
---
|
||||
|
||||
**Is this the right place for my bug report?**
|
||||
This repository contains the Linux kernel used on the Raspberry Pi. If you believe that the issue you are seeing is kernel-related, this is the right place. If not, we have other repositories for the GPU firmware at [github.com/raspberrypi/firmware](https://github.com/raspberrypi/firmware) and Raspberry Pi userland applications at [github.com/raspberrypi/userland](https://github.com/raspberrypi/userland). If you have problems with the Raspbian distribution packages, report them in the [github.com/RPi-Distro/repo](https://github.com/RPi-Distro/repo). If you simply have a question, then [the Raspberry Pi forums](https://www.raspberrypi.org/forums) are the best place to ask it.
|
||||
|
||||
**Describe the bug**
|
||||
Add a clear and concise description of what you think the bug is.
|
||||
|
||||
**To reproduce**
|
||||
List the steps required to reproduce the issue.
|
||||
|
||||
**Expected behaviour**
|
||||
Add a clear and concise description of what you expected to happen.
|
||||
|
||||
**Actual behaviour**
|
||||
Add a clear and concise description of what actually happened.
|
||||
|
||||
**System**
|
||||
Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:
|
||||
|
||||
* Which model of Raspberry Pi? e.g. Pi3B+, PiZeroW
|
||||
* Which OS and version (`cat /etc/rpi-issue`)?
|
||||
* Which firmware version (`vcgencmd version`)?
|
||||
* Which kernel version (`uname -a`)?
|
||||
|
||||
**Logs**
|
||||
If applicable, add the relevant output from `dmesg` or similar.
|
||||
|
||||
**Additional context**
|
||||
Add any other relevant context for the problem.
|
||||
91
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
91
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,91 +0,0 @@
|
||||
name: "Bug report"
|
||||
description: Create a report to help us fix your issue
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Is this the right place for my bug report?**
|
||||
This repository contains the Linux kernel used on the Raspberry Pi.
|
||||
If you believe that the issue you are seeing is kernel-related, this is the right place.
|
||||
If not, we have other repositories for the GPU firmware at [github.com/raspberrypi/firmware](https://github.com/raspberrypi/firmware) and Raspberry Pi userland applications at [github.com/raspberrypi/userland](https://github.com/raspberrypi/userland).
|
||||
|
||||
If you have problems with the Raspbian distribution packages, report them in the [github.com/RPi-Distro/repo](https://github.com/RPi-Distro/repo).
|
||||
If you simply have a question, then [the Raspberry Pi forums](https://www.raspberrypi.org/forums) are the best place to ask it.
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Describe the bug
|
||||
description: |
|
||||
Add a clear and concise description of what you think the bug is.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: Steps to reproduce the behaviour
|
||||
description: |
|
||||
List the steps required to reproduce the issue.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: model
|
||||
attributes:
|
||||
label: Device (s)
|
||||
description: On which device you are facing the bug?
|
||||
multiple: true
|
||||
options:
|
||||
- Raspberry Pi Zero
|
||||
- Raspberry Pi Zero W / WH
|
||||
- Raspberry Pi Zero 2 W
|
||||
- Raspberry Pi 1 Mod. A
|
||||
- Raspberry Pi 1 Mod. A+
|
||||
- Raspberry Pi 1 Mod. B
|
||||
- Raspberry Pi 1 Mod. B+
|
||||
- Raspberry Pi 2 Mod. B
|
||||
- Raspberry Pi 2 Mod. B v1.2
|
||||
- Raspberry Pi 3 Mod. A+
|
||||
- Raspberry Pi 3 Mod. B
|
||||
- Raspberry Pi 3 Mod. B+
|
||||
- Raspberry Pi 4 Mod. B
|
||||
- Raspberry Pi 400
|
||||
- Raspberry Pi CM1
|
||||
- Raspberry Pi CM3
|
||||
- Raspberry Pi CM3 Lite
|
||||
- Raspberry Pi CM3+
|
||||
- Raspberry Pi CM3+ Lite
|
||||
- Raspberry Pi CM4
|
||||
- Raspberry Pi CM4 Lite
|
||||
- Other
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: system
|
||||
attributes:
|
||||
label: System
|
||||
description: |
|
||||
Copy and paste the results of the raspinfo command in to this section.
|
||||
Alternatively, copy and paste a pastebin link, or add answers to the following questions:
|
||||
* Which OS and version (`cat /etc/rpi-issue`)?
|
||||
* Which firmware version (`vcgencmd version`)?
|
||||
* Which kernel version (`uname -a`)?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Logs
|
||||
description: |
|
||||
If applicable, add the relevant output from `dmesg` or similar.
|
||||
|
||||
- type: textarea
|
||||
id: additional
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: |
|
||||
Add any other relevant context for the problem.
|
||||
|
||||
9
.github/ISSUE_TEMPLATE/config.yml
vendored
9
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,9 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: "⛔ Question"
|
||||
url: https://www.raspberrypi.org/forums
|
||||
about: "Please do not use GitHub for asking questions. If you simply have a question, then the Raspberry Pi forums are the best place to ask it. Thanks in advance for helping us keep the issue tracker clean!"
|
||||
- name: "⛔ Problems with the Raspbian distribution packages"
|
||||
url: https://github.com/RPi-Distro/repo
|
||||
about: "If you have problems with the Raspbian distribution packages, please report them in the github.com/RPi-Distro/repo."
|
||||
|
||||
62
Documentation/ABI/testing/sysfs-bus-iio-lptimer-stm32
Normal file
62
Documentation/ABI/testing/sysfs-bus-iio-lptimer-stm32
Normal file
@@ -0,0 +1,62 @@
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_count0_preset
|
||||
KernelVersion: 4.13
|
||||
Contact: fabrice.gasnier@st.com
|
||||
Description:
|
||||
Reading returns the current preset value. Writing sets the
|
||||
preset value. Encoder counts continuously from 0 to preset
|
||||
value, depending on direction (up/down).
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
|
||||
KernelVersion: 4.13
|
||||
Contact: fabrice.gasnier@st.com
|
||||
Description:
|
||||
Reading returns the list possible quadrature modes.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode
|
||||
KernelVersion: 4.13
|
||||
Contact: fabrice.gasnier@st.com
|
||||
Description:
|
||||
Configure the device counter quadrature modes:
|
||||
|
||||
- non-quadrature:
|
||||
Encoder IN1 input servers as the count input (up
|
||||
direction).
|
||||
|
||||
- quadrature:
|
||||
Encoder IN1 and IN2 inputs are mixed to get direction
|
||||
and count.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_count_polarity_available
|
||||
KernelVersion: 4.13
|
||||
Contact: fabrice.gasnier@st.com
|
||||
Description:
|
||||
Reading returns the list possible active edges.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_count0_polarity
|
||||
KernelVersion: 4.13
|
||||
Contact: fabrice.gasnier@st.com
|
||||
Description:
|
||||
Configure the device encoder/counter active edge:
|
||||
|
||||
- rising-edge
|
||||
- falling-edge
|
||||
- both-edges
|
||||
|
||||
In non-quadrature mode, device counts up on active edge.
|
||||
|
||||
In quadrature mode, encoder counting scenarios are as follows:
|
||||
|
||||
+---------+----------+--------------------+--------------------+
|
||||
| Active | Level on | IN1 signal | IN2 signal |
|
||||
| edge | opposite +----------+---------+----------+---------+
|
||||
| | signal | Rising | Falling | Rising | Falling |
|
||||
+---------+----------+----------+---------+----------+---------+
|
||||
| Rising | High -> | Down | - | Up | - |
|
||||
| edge | Low -> | Up | - | Down | - |
|
||||
+---------+----------+----------+---------+----------+---------+
|
||||
| Falling | High -> | - | Up | - | Down |
|
||||
| edge | Low -> | - | Down | - | Up |
|
||||
+---------+----------+----------+---------+----------+---------+
|
||||
| Both | High -> | Down | Up | Up | Down |
|
||||
| edges | Low -> | Up | Down | Down | Up |
|
||||
+---------+----------+----------+---------+----------+---------+
|
||||
@@ -92,8 +92,7 @@ Triggers can be set on more than one psi metric and more than one trigger
|
||||
for the same psi metric can be specified. However for each trigger a separate
|
||||
file descriptor is required to be able to poll it separately from others,
|
||||
therefore for each trigger a separate open() syscall should be made even
|
||||
when opening the same psi interface file. Write operations to a file descriptor
|
||||
with an already existing psi trigger will fail with EBUSY.
|
||||
when opening the same psi interface file.
|
||||
|
||||
Monitors activate only when system enters stall state for the monitored
|
||||
psi metric and deactivates upon exit from the stall state. While system is
|
||||
|
||||
@@ -60,8 +60,8 @@ privileged data touched during the speculative execution.
|
||||
Spectre variant 1 attacks take advantage of speculative execution of
|
||||
conditional branches, while Spectre variant 2 attacks use speculative
|
||||
execution of indirect branches to leak privileged memory.
|
||||
See :ref:`[1] <spec_ref1>` :ref:`[5] <spec_ref5>` :ref:`[6] <spec_ref6>`
|
||||
:ref:`[7] <spec_ref7>` :ref:`[10] <spec_ref10>` :ref:`[11] <spec_ref11>`.
|
||||
See :ref:`[1] <spec_ref1>` :ref:`[5] <spec_ref5>` :ref:`[7] <spec_ref7>`
|
||||
:ref:`[10] <spec_ref10>` :ref:`[11] <spec_ref11>`.
|
||||
|
||||
Spectre variant 1 (Bounds Check Bypass)
|
||||
---------------------------------------
|
||||
@@ -131,19 +131,6 @@ steer its indirect branch speculations to gadget code, and measure the
|
||||
speculative execution's side effects left in level 1 cache to infer the
|
||||
victim's data.
|
||||
|
||||
Yet another variant 2 attack vector is for the attacker to poison the
|
||||
Branch History Buffer (BHB) to speculatively steer an indirect branch
|
||||
to a specific Branch Target Buffer (BTB) entry, even if the entry isn't
|
||||
associated with the source address of the indirect branch. Specifically,
|
||||
the BHB might be shared across privilege levels even in the presence of
|
||||
Enhanced IBRS.
|
||||
|
||||
Currently the only known real-world BHB attack vector is via
|
||||
unprivileged eBPF. Therefore, it's highly recommended to not enable
|
||||
unprivileged eBPF, especially when eIBRS is used (without retpolines).
|
||||
For a full mitigation against BHB attacks, it's recommended to use
|
||||
retpolines (or eIBRS combined with retpolines).
|
||||
|
||||
Attack scenarios
|
||||
----------------
|
||||
|
||||
@@ -377,15 +364,13 @@ The possible values in this file are:
|
||||
|
||||
- Kernel status:
|
||||
|
||||
======================================== =================================
|
||||
'Not affected' The processor is not vulnerable
|
||||
'Mitigation: None' Vulnerable, no mitigation
|
||||
'Mitigation: Retpolines' Use Retpoline thunks
|
||||
'Mitigation: LFENCE' Use LFENCE instructions
|
||||
'Mitigation: Enhanced IBRS' Hardware-focused mitigation
|
||||
'Mitigation: Enhanced IBRS + Retpolines' Hardware-focused + Retpolines
|
||||
'Mitigation: Enhanced IBRS + LFENCE' Hardware-focused + LFENCE
|
||||
======================================== =================================
|
||||
==================================== =================================
|
||||
'Not affected' The processor is not vulnerable
|
||||
'Vulnerable' Vulnerable, no mitigation
|
||||
'Mitigation: Full generic retpoline' Software-focused mitigation
|
||||
'Mitigation: Full AMD retpoline' AMD-specific software mitigation
|
||||
'Mitigation: Enhanced IBRS' Hardware-focused mitigation
|
||||
==================================== =================================
|
||||
|
||||
- Firmware status: Show if Indirect Branch Restricted Speculation (IBRS) is
|
||||
used to protect against Spectre variant 2 attacks when calling firmware (x86 only).
|
||||
@@ -483,7 +468,7 @@ Spectre variant 2
|
||||
before invoking any firmware code to prevent Spectre variant 2 exploits
|
||||
using the firmware.
|
||||
|
||||
Using kernel address space randomization (CONFIG_RANDOMIZE_BASE=y
|
||||
Using kernel address space randomization (CONFIG_RANDOMIZE_SLAB=y
|
||||
and CONFIG_SLAB_FREELIST_RANDOM=y in the kernel configuration) makes
|
||||
attacks on the kernel generally more difficult.
|
||||
|
||||
@@ -599,13 +584,12 @@ kernel command line.
|
||||
|
||||
Specific mitigations can also be selected manually:
|
||||
|
||||
retpoline auto pick between generic,lfence
|
||||
retpoline,generic Retpolines
|
||||
retpoline,lfence LFENCE; indirect branch
|
||||
retpoline,amd alias for retpoline,lfence
|
||||
eibrs enhanced IBRS
|
||||
eibrs,retpoline enhanced IBRS + Retpolines
|
||||
eibrs,lfence enhanced IBRS + LFENCE
|
||||
retpoline
|
||||
replace indirect branches
|
||||
retpoline,generic
|
||||
google's original retpoline
|
||||
retpoline,amd
|
||||
AMD-specific minimal thunk
|
||||
|
||||
Not specifying this option is equivalent to
|
||||
spectre_v2=auto.
|
||||
@@ -746,7 +730,7 @@ AMD white papers:
|
||||
|
||||
.. _spec_ref6:
|
||||
|
||||
[6] `Software techniques for managing speculation on AMD processors <https://developer.amd.com/wp-content/resources/Managing-Speculation-on-AMD-Processors.pdf>`_.
|
||||
[6] `Software techniques for managing speculation on AMD processors <https://developer.amd.com/wp-content/resources/90343-B_SoftwareTechniquesforManagingSpeculation_WP_7-18Update_FNL.pdf>`_.
|
||||
|
||||
ARM white papers:
|
||||
|
||||
|
||||
@@ -1617,8 +1617,6 @@
|
||||
architectures force reset to be always executed
|
||||
i8042.unlock [HW] Unlock (ignore) the keylock
|
||||
i8042.kbdreset [HW] Reset device connected to KBD port
|
||||
i8042.probe_defer
|
||||
[HW] Allow deferred probing upon i8042 probe errors
|
||||
|
||||
i810= [HW,DRM]
|
||||
|
||||
@@ -2296,12 +2294,8 @@
|
||||
Default is 1 (enabled)
|
||||
|
||||
kvm-intel.emulate_invalid_guest_state=
|
||||
[KVM,Intel] Disable emulation of invalid guest state.
|
||||
Ignored if kvm-intel.enable_unrestricted_guest=1, as
|
||||
guest state is never invalid for unrestricted guests.
|
||||
This param doesn't apply to nested guests (L2), as KVM
|
||||
never emulates invalid L2 guest state.
|
||||
Default is 1 (enabled)
|
||||
[KVM,Intel] Enable emulation of invalid guest states
|
||||
Default is 0 (disabled)
|
||||
|
||||
kvm-intel.flexpriority=
|
||||
[KVM,Intel] Disable FlexPriority feature (TPR shadow).
|
||||
@@ -4957,12 +4951,8 @@
|
||||
Specific mitigations can also be selected manually:
|
||||
|
||||
retpoline - replace indirect branches
|
||||
retpoline,generic - Retpolines
|
||||
retpoline,lfence - LFENCE; indirect branch
|
||||
retpoline,amd - alias for retpoline,lfence
|
||||
eibrs - enhanced IBRS
|
||||
eibrs,retpoline - enhanced IBRS + Retpolines
|
||||
eibrs,lfence - enhanced IBRS + LFENCE
|
||||
retpoline,generic - google's original retpoline
|
||||
retpoline,amd - AMD-specific minimal thunk
|
||||
|
||||
Not specifying this option is equivalent to
|
||||
spectre_v2=auto.
|
||||
|
||||
@@ -787,7 +787,6 @@ bit 1 print system memory info
|
||||
bit 2 print timer info
|
||||
bit 3 print locks info if ``CONFIG_LOCKDEP`` is on
|
||||
bit 4 print ftrace buffer
|
||||
bit 5 print all printk messages in buffer
|
||||
===== ============================================
|
||||
|
||||
So for example to print tasks and memory info on panic, user can::
|
||||
@@ -1458,22 +1457,11 @@ unprivileged_bpf_disabled
|
||||
=========================
|
||||
|
||||
Writing 1 to this entry will disable unprivileged calls to ``bpf()``;
|
||||
once disabled, calling ``bpf()`` without ``CAP_SYS_ADMIN`` or ``CAP_BPF``
|
||||
will return ``-EPERM``. Once set to 1, this can't be cleared from the
|
||||
running kernel anymore.
|
||||
once disabled, calling ``bpf()`` without ``CAP_SYS_ADMIN`` will return
|
||||
``-EPERM``.
|
||||
|
||||
Writing 2 to this entry will also disable unprivileged calls to ``bpf()``,
|
||||
however, an admin can still change this setting later on, if needed, by
|
||||
writing 0 or 1 to this entry.
|
||||
Once set, this can't be cleared.
|
||||
|
||||
If ``BPF_UNPRIV_DEFAULT_OFF`` is enabled in the kernel config, then this
|
||||
entry will default to 2 instead of 0.
|
||||
|
||||
= =============================================================
|
||||
0 Unprivileged calls to ``bpf()`` are enabled
|
||||
1 Unprivileged calls to ``bpf()`` are disabled without recovery
|
||||
2 Unprivileged calls to ``bpf()`` are disabled
|
||||
= =============================================================
|
||||
|
||||
watchdog
|
||||
========
|
||||
|
||||
@@ -235,15 +235,7 @@ infrastructure:
|
||||
| DPB | [3-0] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
6) ID_AA64MMFR0_EL1 - Memory model feature register 0
|
||||
|
||||
+------------------------------+---------+---------+
|
||||
| Name | bits | visible |
|
||||
+------------------------------+---------+---------+
|
||||
| ECV | [63-60] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
7) ID_AA64MMFR2_EL1 - Memory model feature register 2
|
||||
6) ID_AA64MMFR2_EL1 - Memory model feature register 2
|
||||
|
||||
+------------------------------+---------+---------+
|
||||
| Name | bits | visible |
|
||||
@@ -251,7 +243,7 @@ infrastructure:
|
||||
| AT | [35-32] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
8) ID_AA64ZFR0_EL1 - SVE feature ID register 0
|
||||
7) ID_AA64ZFR0_EL1 - SVE feature ID register 0
|
||||
|
||||
+------------------------------+---------+---------+
|
||||
| Name | bits | visible |
|
||||
@@ -275,23 +267,6 @@ infrastructure:
|
||||
| SVEVer | [3-0] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
8) ID_AA64MMFR1_EL1 - Memory model feature register 1
|
||||
|
||||
+------------------------------+---------+---------+
|
||||
| Name | bits | visible |
|
||||
+------------------------------+---------+---------+
|
||||
| AFP | [47-44] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
9) ID_AA64ISAR2_EL1 - Instruction set attribute register 2
|
||||
|
||||
+------------------------------+---------+---------+
|
||||
| Name | bits | visible |
|
||||
+------------------------------+---------+---------+
|
||||
| RPRES | [7-4] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
|
||||
Appendix I: Example
|
||||
-------------------
|
||||
|
||||
|
||||
@@ -245,18 +245,6 @@ HWCAP2_MTE
|
||||
Functionality implied by ID_AA64PFR1_EL1.MTE == 0b0010, as described
|
||||
by Documentation/arm64/memory-tagging-extension.rst.
|
||||
|
||||
HWCAP2_ECV
|
||||
|
||||
Functionality implied by ID_AA64MMFR0_EL1.ECV == 0b0001.
|
||||
|
||||
HWCAP2_AFP
|
||||
|
||||
Functionality implied by ID_AA64MFR1_EL1.AFP == 0b0001.
|
||||
|
||||
HWCAP2_RPRES
|
||||
|
||||
Functionality implied by ID_AA64ISAR2_EL1.RPRES == 0b0001.
|
||||
|
||||
4. Unused AT_HWCAP bits
|
||||
-----------------------
|
||||
|
||||
|
||||
@@ -130,11 +130,3 @@ accesses to DMA buffers in both privileged "supervisor" and unprivileged
|
||||
subsystem that the buffer is fully accessible at the elevated privilege
|
||||
level (and ideally inaccessible or at least read-only at the
|
||||
lesser-privileged levels).
|
||||
|
||||
DMA_ATTR_OVERWRITE
|
||||
------------------
|
||||
|
||||
This is a hint to the DMA-mapping subsystem that the device is expected to
|
||||
overwrite the entire mapped size, thus the caller does not require any of the
|
||||
previous buffer contents to be preserved. This allows bounce-buffering
|
||||
implementations to optimise DMA_FROM_DEVICE transfers.
|
||||
|
||||
@@ -119,9 +119,6 @@ Boards (incomplete list of examples):
|
||||
- OMAP3 BeagleBoard : Low cost community board
|
||||
compatible = "ti,omap3-beagle", "ti,omap3430", "ti,omap3"
|
||||
|
||||
- OMAP3 BeagleBoard A to B4 : Early BeagleBoard revisions A to B4 with a timer quirk
|
||||
compatible = "ti,omap3-beagle-ab4", "ti,omap3-beagle", "ti,omap3430", "ti,omap3"
|
||||
|
||||
- OMAP3 Tobi with Overo : Commercial expansion board with daughter board
|
||||
compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap3430", "ti,omap3"
|
||||
|
||||
|
||||
@@ -10,9 +10,6 @@ title: Amlogic specific extensions to the Synopsys Designware HDMI Controller
|
||||
maintainers:
|
||||
- Neil Armstrong <narmstrong@baylibre.com>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/sound/name-prefix.yaml#
|
||||
|
||||
description: |
|
||||
The Amlogic Meson Synopsys Designware Integration is composed of
|
||||
- A Synopsys DesignWare HDMI Controller IP
|
||||
@@ -102,8 +99,6 @@ properties:
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
sound-name-prefix: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -78,10 +78,6 @@ properties:
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
amlogic,canvas:
|
||||
description: should point to a canvas provider node
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
description: phandle to the associated power domain
|
||||
@@ -110,7 +106,6 @@ required:
|
||||
- port@1
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- amlogic,canvas
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
@@ -123,7 +118,6 @@ examples:
|
||||
interrupts = <3>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
amlogic,canvas = <&canvas>;
|
||||
|
||||
/* CVBS VDAC output port */
|
||||
port@0 {
|
||||
|
||||
@@ -133,8 +133,6 @@ properties:
|
||||
- frida,frd350h54004
|
||||
# FriendlyELEC HD702E 800x1280 LCD panel
|
||||
- friendlyarm,hd702e
|
||||
# Geekworm MZP280 2.8" 480x640 LCD panel with capacitive touch
|
||||
- geekworm,mzp280
|
||||
# GiantPlus GPG48273QS5 4.3" (480x272) WQVGA TFT LCD panel
|
||||
- giantplus,gpg48273qs5
|
||||
# GiantPlus GPM940B0 3.0" QVGA TFT LCD panel
|
||||
|
||||
@@ -44,7 +44,7 @@ patternProperties:
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
Contains the chip-select IDs.
|
||||
Contains the native Ready/Busy IDs.
|
||||
|
||||
nand-ecc-mode:
|
||||
description:
|
||||
@@ -174,6 +174,6 @@ examples:
|
||||
nand-ecc-mode = "soft";
|
||||
nand-ecc-algo = "bch";
|
||||
|
||||
/* NAND chip specific properties */
|
||||
/* controller specific properties */
|
||||
};
|
||||
};
|
||||
|
||||
@@ -31,7 +31,7 @@ tcan4x5x: tcan4x5x@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi-max-frequency = <10000000>;
|
||||
bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>;
|
||||
bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
|
||||
device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
@@ -91,14 +91,6 @@ properties:
|
||||
compensate for the board being designed with the lanes
|
||||
swapped.
|
||||
|
||||
enet-phy-lane-no-swap:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
If set, indicates that PHY will disable swap of the
|
||||
TX/RX lanes. This property allows the PHY to work correcly after
|
||||
e.g. wrong bootstrap configuration caused by issues in PCB
|
||||
layout design.
|
||||
|
||||
eee-broken-100tx:
|
||||
$ref: /schemas/types.yaml#definitions/flag
|
||||
description:
|
||||
|
||||
@@ -8,13 +8,11 @@ Required properties:
|
||||
- reg: should contain 2 entries, one for the registers and one for the direct
|
||||
mapping area
|
||||
- reg-names: should contain "regs" and "dirmap"
|
||||
- interrupts: interrupt line connected to the SPI controller
|
||||
- clock-names: should contain "ps_clk", "send_clk" and "send_dly_clk"
|
||||
- clocks: should contain 3 entries for the "ps_clk", "send_clk" and
|
||||
"send_dly_clk" clocks
|
||||
|
||||
Optional properties:
|
||||
- interrupts: interrupt line connected to the SPI controller
|
||||
|
||||
Example:
|
||||
|
||||
spi@43c30000 {
|
||||
|
||||
@@ -199,11 +199,12 @@ patternProperties:
|
||||
|
||||
contribution:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 100
|
||||
description:
|
||||
The cooling contribution to the thermal zone of the referred
|
||||
cooling device at the referred trip point. The contribution is
|
||||
a ratio of the sum of all cooling contributions within a
|
||||
thermal zone.
|
||||
The percentage contribution of the cooling devices at the
|
||||
specific trip temperature referenced in this map
|
||||
to this thermal zone
|
||||
|
||||
required:
|
||||
- trip
|
||||
|
||||
@@ -401,8 +401,6 @@ patternProperties:
|
||||
description: General Electric Company
|
||||
"^geekbuying,.*":
|
||||
description: GeekBuying
|
||||
"^geekworm,.*":
|
||||
description: Geekworm
|
||||
"^gef,.*":
|
||||
description: GE Fanuc Intelligent Platforms Embedded Systems, Inc.
|
||||
"^GEFanuc,.*":
|
||||
|
||||
@@ -39,8 +39,8 @@ properties:
|
||||
samsung,syscon-phandle:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
Phandle to the PMU system controller node (in case of Exynos5250,
|
||||
Exynos5420 and Exynos7).
|
||||
Phandle to the PMU system controller node (in case of Exynos5250
|
||||
and Exynos5420).
|
||||
|
||||
required:
|
||||
- compatible
|
||||
@@ -58,7 +58,6 @@ allOf:
|
||||
enum:
|
||||
- samsung,exynos5250-wdt
|
||||
- samsung,exynos5420-wdt
|
||||
- samsung,exynos7-wdt
|
||||
then:
|
||||
required:
|
||||
- samsung,syscon-phandle
|
||||
|
||||
@@ -143,14 +143,13 @@ Part 5 - Handling channel allocation
|
||||
Allocating Channels
|
||||
-------------------
|
||||
|
||||
Channels do not need to be configured prior to starting a test run. Attempting
|
||||
to run the test without configuring the channels will result in testing any
|
||||
channels that are available.
|
||||
Channels are required to be configured prior to starting the test run.
|
||||
Attempting to run the test without configuring the channels will fail.
|
||||
|
||||
Example::
|
||||
|
||||
% echo 1 > /sys/module/dmatest/parameters/run
|
||||
dmatest: No channels configured, continue with any
|
||||
dmatest: Could not start test, no channels configured
|
||||
|
||||
Channels are registered using the "channel" parameter. Channels can be requested by their
|
||||
name, once requested, the channel is registered and a pending thread is added to the test list.
|
||||
|
||||
@@ -19,7 +19,7 @@ of kernel interfaces is available via exported symbols in `firewire-core` module
|
||||
Firewire char device data structures
|
||||
====================================
|
||||
|
||||
.. include:: ../ABI/stable/firewire-cdev
|
||||
.. include:: /ABI/stable/firewire-cdev
|
||||
:literal:
|
||||
|
||||
.. kernel-doc:: include/uapi/linux/firewire-cdev.h
|
||||
@@ -28,7 +28,7 @@ Firewire char device data structures
|
||||
Firewire device probing and sysfs interfaces
|
||||
============================================
|
||||
|
||||
.. include:: ../ABI/stable/sysfs-bus-firewire
|
||||
.. include:: /ABI/stable/sysfs-bus-firewire
|
||||
:literal:
|
||||
|
||||
.. kernel-doc:: drivers/firewire/core-device.c
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
Referencing hierarchical data nodes
|
||||
===================================
|
||||
|
||||
:Copyright: |copy| 2018, 2021 Intel Corporation
|
||||
:Copyright: |copy| 2018 Intel Corporation
|
||||
:Author: Sakari Ailus <sakari.ailus@linux.intel.com>
|
||||
|
||||
ACPI in general allows referring to device objects in the tree only.
|
||||
@@ -52,14 +52,12 @@ the ANOD object which is also the final target node of the reference.
|
||||
Name (NOD0, Package() {
|
||||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package () {
|
||||
Package () { "reg", 0 },
|
||||
Package () { "random-property", 3 },
|
||||
}
|
||||
})
|
||||
Name (NOD1, Package() {
|
||||
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package () {
|
||||
Package () { "reg", 1 },
|
||||
Package () { "anothernode", "ANOD" },
|
||||
}
|
||||
})
|
||||
@@ -76,11 +74,7 @@ the ANOD object which is also the final target node of the reference.
|
||||
Name (_DSD, Package () {
|
||||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package () {
|
||||
Package () {
|
||||
"reference", Package () {
|
||||
^DEV0, "node@1", "anothernode"
|
||||
}
|
||||
},
|
||||
Package () { "reference", ^DEV0, "node@1", "anothernode" },
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -273,6 +273,24 @@ Contact: Daniel Vetter, Noralf Tronnes
|
||||
|
||||
Level: Advanced
|
||||
|
||||
Garbage collect fbdev scrolling acceleration
|
||||
--------------------------------------------
|
||||
|
||||
Scroll acceleration is disabled in fbcon by hard-wiring p->scrollmode =
|
||||
SCROLL_REDRAW. There's a ton of code this will allow us to remove:
|
||||
- lots of code in fbcon.c
|
||||
- a bunch of the hooks in fbcon_ops, maybe the remaining hooks could be called
|
||||
directly instead of the function table (with a switch on p->rotate)
|
||||
- fb_copyarea is unused after this, and can be deleted from all drivers
|
||||
|
||||
Note that not all acceleration code can be deleted, since clearing and cursor
|
||||
support is still accelerated, which might be good candidates for further
|
||||
deletion projects.
|
||||
|
||||
Contact: Daniel Vetter
|
||||
|
||||
Level: Intermediate
|
||||
|
||||
idr_init_base()
|
||||
---------------
|
||||
|
||||
|
||||
@@ -265,16 +265,6 @@ Supported chips:
|
||||
|
||||
https://www.ti.com/litv/pdf/sbos686
|
||||
|
||||
* Texas Instruments TMP461
|
||||
|
||||
Prefix: 'tmp461'
|
||||
|
||||
Addresses scanned: I2C 0x48 through 0x4F
|
||||
|
||||
Datasheet: Publicly available at TI website
|
||||
|
||||
https://www.ti.com/lit/gpn/tmp461
|
||||
|
||||
Author: Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
|
||||
|
||||
@@ -11,13 +11,16 @@ compiler [1]_. They are useful for runtime instrumentation and static analysis.
|
||||
We can analyse, change and add further code during compilation via
|
||||
callbacks [2]_, GIMPLE [3]_, IPA [4]_ and RTL passes [5]_.
|
||||
|
||||
The GCC plugin infrastructure of the kernel supports building out-of-tree
|
||||
modules, cross-compilation and building in a separate directory.
|
||||
Plugin source files have to be compilable by a C++ compiler.
|
||||
The GCC plugin infrastructure of the kernel supports all gcc versions from
|
||||
4.5 to 6.0, building out-of-tree modules, cross-compilation and building in a
|
||||
separate directory.
|
||||
Plugin source files have to be compilable by both a C and a C++ compiler as well
|
||||
because gcc versions 4.5 and 4.6 are compiled by a C compiler,
|
||||
gcc-4.7 can be compiled by a C or a C++ compiler,
|
||||
and versions 4.8+ can only be compiled by a C++ compiler.
|
||||
|
||||
Currently the GCC plugin infrastructure supports only some architectures.
|
||||
Grep "select HAVE_GCC_PLUGINS" to find out which architectures support
|
||||
GCC plugins.
|
||||
Currently the GCC plugin infrastructure supports only the x86, arm, arm64 and
|
||||
powerpc architectures.
|
||||
|
||||
This infrastructure was ported from grsecurity [6]_ and PaX [7]_.
|
||||
|
||||
@@ -44,13 +47,20 @@ Files
|
||||
This is a compatibility header for GCC plugins.
|
||||
It should be always included instead of individual gcc headers.
|
||||
|
||||
**$(src)/scripts/gcc-plugin.sh**
|
||||
|
||||
This script checks the availability of the included headers in
|
||||
gcc-common.h and chooses the proper host compiler to build the plugins
|
||||
(gcc-4.7 can be built by either gcc or g++).
|
||||
|
||||
**$(src)/scripts/gcc-plugins/gcc-generate-gimple-pass.h,
|
||||
$(src)/scripts/gcc-plugins/gcc-generate-ipa-pass.h,
|
||||
$(src)/scripts/gcc-plugins/gcc-generate-simple_ipa-pass.h,
|
||||
$(src)/scripts/gcc-plugins/gcc-generate-rtl-pass.h**
|
||||
|
||||
These headers automatically generate the registration structures for
|
||||
GIMPLE, SIMPLE_IPA, IPA and RTL passes.
|
||||
GIMPLE, SIMPLE_IPA, IPA and RTL passes. They support all gcc versions
|
||||
from 4.5 to 6.0.
|
||||
They should be preferred to creating the structures by hand.
|
||||
|
||||
|
||||
@@ -58,25 +68,21 @@ Usage
|
||||
=====
|
||||
|
||||
You must install the gcc plugin headers for your gcc version,
|
||||
e.g., on Ubuntu for gcc-10::
|
||||
e.g., on Ubuntu for gcc-4.9::
|
||||
|
||||
apt-get install gcc-10-plugin-dev
|
||||
apt-get install gcc-4.9-plugin-dev
|
||||
|
||||
Or on Fedora::
|
||||
|
||||
dnf install gcc-plugin-devel
|
||||
|
||||
Enable the GCC plugin infrastructure and some plugin(s) you want to use
|
||||
in the kernel config::
|
||||
Enable a GCC plugin based feature in the kernel config::
|
||||
|
||||
CONFIG_GCC_PLUGINS=y
|
||||
CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=y
|
||||
CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
|
||||
...
|
||||
CONFIG_GCC_PLUGIN_CYC_COMPLEXITY = y
|
||||
|
||||
To compile the minimum tool set including the plugin(s)::
|
||||
To compile only the plugin(s)::
|
||||
|
||||
make scripts
|
||||
make gcc-plugins
|
||||
|
||||
or just run the kernel make and compile the whole kernel with
|
||||
the cyclomatic complexity GCC plugin.
|
||||
@@ -85,8 +91,7 @@ the cyclomatic complexity GCC plugin.
|
||||
4. How to add a new GCC plugin
|
||||
==============================
|
||||
|
||||
The GCC plugins are in scripts/gcc-plugins/. You need to put plugin source files
|
||||
right under scripts/gcc-plugins/. Creating subdirectories is not supported.
|
||||
It must be added to scripts/gcc-plugins/Makefile, scripts/Makefile.gcc-plugins
|
||||
and a relevant Kconfig file.
|
||||
The GCC plugins are in $(src)/scripts/gcc-plugins/. You can use a file or a directory
|
||||
here. It must be added to $(src)/scripts/gcc-plugins/Makefile,
|
||||
$(src)/scripts/Makefile.gcc-plugins and $(src)/arch/Kconfig.
|
||||
See the cyc_complexity_plugin.c (CONFIG_GCC_PLUGIN_CYC_COMPLEXITY) GCC plugin.
|
||||
|
||||
@@ -439,9 +439,11 @@ preemption. The following substitution works on both kernels::
|
||||
spin_lock(&p->lock);
|
||||
p->count += this_cpu_read(var2);
|
||||
|
||||
On a non-PREEMPT_RT kernel migrate_disable() maps to preempt_disable()
|
||||
which makes the above code fully equivalent. On a PREEMPT_RT kernel
|
||||
migrate_disable() ensures that the task is pinned on the current CPU which
|
||||
in turn guarantees that the per-CPU access to var1 and var2 are staying on
|
||||
the same CPU while the task remains preemptible.
|
||||
the same CPU.
|
||||
|
||||
The migrate_disable() substitution is not valid for the following
|
||||
scenario::
|
||||
@@ -454,8 +456,9 @@ scenario::
|
||||
p = this_cpu_ptr(&var1);
|
||||
p->val = func2();
|
||||
|
||||
This breaks because migrate_disable() does not protect against reentrancy from
|
||||
a preempting task. A correct substitution for this case is::
|
||||
While correct on a non-PREEMPT_RT kernel, this breaks on PREEMPT_RT because
|
||||
here migrate_disable() does not protect against reentrancy from a
|
||||
preempting task. A correct substitution for this case is::
|
||||
|
||||
func()
|
||||
{
|
||||
|
||||
@@ -196,12 +196,11 @@ ad_actor_sys_prio
|
||||
ad_actor_system
|
||||
|
||||
In an AD system, this specifies the mac-address for the actor in
|
||||
protocol packet exchanges (LACPDUs). The value cannot be a multicast
|
||||
address. If the all-zeroes MAC is specified, bonding will internally
|
||||
use the MAC of the bond itself. It is preferred to have the
|
||||
local-admin bit set for this mac but driver does not enforce it. If
|
||||
the value is not given then system defaults to using the masters'
|
||||
mac address as actors' system address.
|
||||
protocol packet exchanges (LACPDUs). The value cannot be NULL or
|
||||
multicast. It is preferred to have the local-admin bit set for this
|
||||
mac but driver does not enforce it. If the value is not given then
|
||||
system defaults to using the masters' mac address as actors' system
|
||||
address.
|
||||
|
||||
This parameter has effect only in 802.3ad mode and is available through
|
||||
SysFs interface.
|
||||
|
||||
@@ -440,22 +440,6 @@ NOTE: For 82599-based network connections, if you are enabling jumbo frames in
|
||||
a virtual function (VF), jumbo frames must first be enabled in the physical
|
||||
function (PF). The VF MTU setting cannot be larger than the PF MTU.
|
||||
|
||||
NBASE-T Support
|
||||
---------------
|
||||
The ixgbe driver supports NBASE-T on some devices. However, the advertisement
|
||||
of NBASE-T speeds is suppressed by default, to accommodate broken network
|
||||
switches which cannot cope with advertised NBASE-T speeds. Use the ethtool
|
||||
command to enable advertising NBASE-T speeds on devices which support it::
|
||||
|
||||
ethtool -s eth? advertise 0x1800000001028
|
||||
|
||||
On Linux systems with INTERFACES(5), this can be specified as a pre-up command
|
||||
in /etc/network/interfaces so that the interface is always brought up with
|
||||
NBASE-T support, e.g.::
|
||||
|
||||
iface eth? inet dhcp
|
||||
pre-up ethtool -s eth? advertise 0x1800000001028 || true
|
||||
|
||||
Generic Receive Offload, aka GRO
|
||||
--------------------------------
|
||||
The driver supports the in-kernel software implementation of GRO. GRO has
|
||||
|
||||
@@ -168,16 +168,7 @@ Trees
|
||||
- The finalized and tagged releases of all stable kernels can be found
|
||||
in separate branches per version at:
|
||||
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
|
||||
|
||||
- The release candidate of all stable kernel versions can be found at:
|
||||
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/
|
||||
|
||||
.. warning::
|
||||
The -stable-rc tree is a snapshot in time of the stable-queue tree and
|
||||
will change frequently, hence will be rebased often. It should only be
|
||||
used for testing purposes (e.g. to be consumed by CI systems).
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
|
||||
|
||||
|
||||
Review committee
|
||||
|
||||
@@ -261,10 +261,6 @@ alc-sense-combo
|
||||
huawei-mbx-stereo
|
||||
Enable initialization verbs for Huawei MBX stereo speakers;
|
||||
might be risky, try this at your own risk
|
||||
alc298-samsung-headphone
|
||||
Samsung laptops with ALC298
|
||||
alc256-samsung-headphone
|
||||
Samsung laptops with ALC256
|
||||
|
||||
ALC66x/67x/892
|
||||
==============
|
||||
@@ -330,8 +326,6 @@ usi-headset
|
||||
Headset support on USI machines
|
||||
dual-codecs
|
||||
Lenovo laptops with dual codecs
|
||||
alc285-hp-amp-init
|
||||
HP laptops which require speaker amplifier initialization (ALC285)
|
||||
|
||||
ALC680
|
||||
======
|
||||
|
||||
@@ -198,15 +198,6 @@ The glob (~) accepts a wild card character (\*,?) and character classes
|
||||
prev_comm ~ "*sh*"
|
||||
prev_comm ~ "ba*sh"
|
||||
|
||||
If the field is a pointer that points into user space (for example
|
||||
"filename" from sys_enter_openat), then you have to append ".ustring" to the
|
||||
field name::
|
||||
|
||||
filename.ustring ~ "password"
|
||||
|
||||
As the kernel will have to know how to retrieve the memory that the pointer
|
||||
is at from user space.
|
||||
|
||||
5.2 Setting filters
|
||||
-------------------
|
||||
|
||||
@@ -239,16 +230,6 @@ Currently the caret ('^') for an error always appears at the beginning of
|
||||
the filter string; the error message should still be useful though
|
||||
even without more accurate position info.
|
||||
|
||||
5.2.1 Filter limitations
|
||||
------------------------
|
||||
|
||||
If a filter is placed on a string pointer ``(char *)`` that does not point
|
||||
to a string on the ring buffer, but instead points to kernel or user space
|
||||
memory, then, for safety reasons, at most 1024 bytes of the content is
|
||||
copied onto a temporary buffer to do the compare. If the copy of the memory
|
||||
faults (the pointer points to memory that should not be accessed), then the
|
||||
string compare will be treated as not matching.
|
||||
|
||||
5.3 Clearing filters
|
||||
--------------------
|
||||
|
||||
|
||||
@@ -58,23 +58,3 @@ Image Source Control IDs
|
||||
The unit cell consists of the whole area of the pixel, sensitive and
|
||||
non-sensitive.
|
||||
This control is required for automatic calibration of sensors/cameras.
|
||||
|
||||
``V4L2_CID_NOTIFY_GAINS (integer array)``
|
||||
The sensor is notified what gains will be applied to the different
|
||||
colour channels by subsequent processing (such as by an ISP). The
|
||||
sensor is merely informed of these values in case it performs
|
||||
processing that requires them, but it does not apply them itself to
|
||||
the output pixels.
|
||||
|
||||
Currently it is defined only for Bayer sensors, and is an array
|
||||
control taking 4 gain values, being the gains for each of the
|
||||
Bayer channels. The gains are always in the order B, Gb, Gr and R,
|
||||
irrespective of the exact Bayer order of the sensor itself.
|
||||
|
||||
The use of an array allows this control to be extended to sensors
|
||||
with, for example, non-Bayer CFAs (colour filter arrays).
|
||||
|
||||
The units for the gain values are linear, with the default value
|
||||
representing a gain of exactly 1.0. For example, if this default value
|
||||
is reported as being (say) 128, then a value of 192 would represent
|
||||
a gain of exactly 1.5.
|
||||
|
||||
@@ -620,43 +620,6 @@ The following tables list existing packed RGB formats.
|
||||
- b\ :sub:`2`
|
||||
- b\ :sub:`1`
|
||||
- b\ :sub:`0`
|
||||
* .. _MEDIA_BUS_FMT_RGB565_1X24_CPADHI:
|
||||
|
||||
- MEDIA_BUS_FMT_RGB565_1X24_CPADHI
|
||||
- 0x1020
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- r\ :sub:`4`
|
||||
- r\ :sub:`3`
|
||||
- r\ :sub:`2`
|
||||
- r\ :sub:`1`
|
||||
- r\ :sub:`0`
|
||||
- 0
|
||||
- 0
|
||||
- g\ :sub:`5`
|
||||
- g\ :sub:`4`
|
||||
- g\ :sub:`3`
|
||||
- g\ :sub:`2`
|
||||
- g\ :sub:`1`
|
||||
- g\ :sub:`0`
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- b\ :sub:`4`
|
||||
- b\ :sub:`3`
|
||||
- b\ :sub:`2`
|
||||
- b\ :sub:`1`
|
||||
- b\ :sub:`0`
|
||||
* .. _MEDIA-BUS-FMT-BGR565-2X8-BE:
|
||||
|
||||
- MEDIA_BUS_FMT_BGR565_2X8_BE
|
||||
|
||||
@@ -7341,6 +7341,7 @@ L: linux-hardening@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/kbuild/gcc-plugins.rst
|
||||
F: scripts/Makefile.gcc-plugins
|
||||
F: scripts/gcc-plugin.sh
|
||||
F: scripts/gcc-plugins/
|
||||
|
||||
GCOV BASED KERNEL PROFILING
|
||||
|
||||
4
Makefile
4
Makefile
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 5
|
||||
PATCHLEVEL = 10
|
||||
SUBLEVEL = 110
|
||||
SUBLEVEL = 83
|
||||
EXTRAVERSION =
|
||||
NAME = Dare mighty things
|
||||
|
||||
@@ -1073,7 +1073,7 @@ export mod_sign_cmd
|
||||
HOST_LIBELF_LIBS = $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf)
|
||||
|
||||
has_libelf = $(call try-run,\
|
||||
echo "int main() {}" | $(HOSTCC) $(KBUILD_HOSTLDFLAGS) -xc -o /dev/null $(HOST_LIBELF_LIBS) -,1,0)
|
||||
echo "int main() {}" | $(HOSTCC) -xc -o /dev/null $(HOST_LIBELF_LIBS) -,1,0)
|
||||
|
||||
ifdef CONFIG_STACK_VALIDATION
|
||||
ifeq ($(has_libelf),1)
|
||||
|
||||
@@ -43,7 +43,7 @@ SYSCALL_DEFINE0(arc_gettls)
|
||||
return task_thread_info(current)->thr_ptr;
|
||||
}
|
||||
|
||||
SYSCALL_DEFINE3(arc_usr_cmpxchg, int __user *, uaddr, int, expected, int, new)
|
||||
SYSCALL_DEFINE3(arc_usr_cmpxchg, int *, uaddr, int, expected, int, new)
|
||||
{
|
||||
struct pt_regs *regs = current_pt_regs();
|
||||
u32 uval;
|
||||
|
||||
@@ -400,12 +400,12 @@ choice
|
||||
Say Y here if you want kernel low-level debugging support
|
||||
on i.MX25.
|
||||
|
||||
config DEBUG_IMX27_UART
|
||||
bool "i.MX27 Debug UART"
|
||||
depends on SOC_IMX27
|
||||
config DEBUG_IMX21_IMX27_UART
|
||||
bool "i.MX21 and i.MX27 Debug UART"
|
||||
depends on SOC_IMX21 || SOC_IMX27
|
||||
help
|
||||
Say Y here if you want kernel low-level debugging support
|
||||
on i.MX27.
|
||||
on i.MX21 or i.MX27.
|
||||
|
||||
config DEBUG_IMX28_UART
|
||||
bool "i.MX28 Debug UART"
|
||||
@@ -1523,7 +1523,7 @@ config DEBUG_IMX_UART_PORT
|
||||
int "i.MX Debug UART Port Selection"
|
||||
depends on DEBUG_IMX1_UART || \
|
||||
DEBUG_IMX25_UART || \
|
||||
DEBUG_IMX27_UART || \
|
||||
DEBUG_IMX21_IMX27_UART || \
|
||||
DEBUG_IMX31_UART || \
|
||||
DEBUG_IMX35_UART || \
|
||||
DEBUG_IMX50_UART || \
|
||||
@@ -1591,12 +1591,12 @@ config DEBUG_LL_INCLUDE
|
||||
default "debug/icedcc.S" if DEBUG_ICEDCC
|
||||
default "debug/imx.S" if DEBUG_IMX1_UART || \
|
||||
DEBUG_IMX25_UART || \
|
||||
DEBUG_IMX27_UART || \
|
||||
DEBUG_IMX21_IMX27_UART || \
|
||||
DEBUG_IMX31_UART || \
|
||||
DEBUG_IMX35_UART || \
|
||||
DEBUG_IMX50_UART || \
|
||||
DEBUG_IMX51_UART || \
|
||||
DEBUG_IMX53_UART || \
|
||||
DEBUG_IMX53_UART ||\
|
||||
DEBUG_IMX6Q_UART || \
|
||||
DEBUG_IMX6SL_UART || \
|
||||
DEBUG_IMX6SX_UART || \
|
||||
|
||||
@@ -9,22 +9,16 @@
|
||||
#include <linux/sizes.h>
|
||||
|
||||
.macro __nop
|
||||
#ifdef CONFIG_EFI_STUB
|
||||
@ This is almost but not quite a NOP, since it does clobber the
|
||||
@ condition flags. But it is the best we can do for EFI, since
|
||||
@ PE/COFF expects the magic string "MZ" at offset 0, while the
|
||||
@ ARM/Linux boot protocol expects an executable instruction
|
||||
@ there.
|
||||
.inst MZ_MAGIC | (0x1310 << 16) @ tstne r0, #0x4d000
|
||||
#else
|
||||
AR_CLASS( mov r0, r0 )
|
||||
M_CLASS( nop.w )
|
||||
.endm
|
||||
|
||||
.macro __initial_nops
|
||||
#ifdef CONFIG_EFI_STUB
|
||||
@ This is a two-instruction NOP, which happens to bear the
|
||||
@ PE/COFF signature "MZ" in the first two bytes, so the kernel
|
||||
@ is accepted as an EFI binary. Booting via the UEFI stub
|
||||
@ will not execute those instructions, but the ARM/Linux
|
||||
@ boot protocol does, so we need some NOPs here.
|
||||
.inst MZ_MAGIC | (0xe225 << 16) @ eor r5, r5, 0x4d000
|
||||
eor r5, r5, 0x4d000 @ undo previous insn
|
||||
#else
|
||||
__nop
|
||||
__nop
|
||||
#endif
|
||||
.endm
|
||||
|
||||
|
||||
@@ -190,8 +190,7 @@ start:
|
||||
* were patching the initial instructions of the kernel, i.e
|
||||
* had started to exploit this "patch area".
|
||||
*/
|
||||
__initial_nops
|
||||
.rept 5
|
||||
.rept 7
|
||||
__nop
|
||||
.endr
|
||||
#ifndef CONFIG_THUMB2_KERNEL
|
||||
|
||||
@@ -16,8 +16,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
|
||||
bcm2711-rpi-4-b.dtb \
|
||||
bcm2711-rpi-400.dtb \
|
||||
bcm2710-rpi-cm3.dtb \
|
||||
bcm2711-rpi-cm4.dtb \
|
||||
bcm2711-rpi-cm4s.dtb
|
||||
bcm2711-rpi-cm4.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_ALPINE) += \
|
||||
alpine-db.dtb
|
||||
@@ -750,7 +749,6 @@ dtb-$(CONFIG_ARCH_OMAP3) += \
|
||||
logicpd-som-lv-37xx-devkit.dtb \
|
||||
omap3430-sdp.dtb \
|
||||
omap3-beagle.dtb \
|
||||
omap3-beagle-ab4.dtb \
|
||||
omap3-beagle-xm.dtb \
|
||||
omap3-beagle-xm-ab.dtb \
|
||||
omap3-cm-t3517.dtb \
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
};
|
||||
|
||||
uart0: serial@12000 {
|
||||
compatible = "marvell,armada-38x-uart", "ns16550a";
|
||||
compatible = "marvell,armada-38x-uart";
|
||||
reg = <0x12000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -178,7 +178,7 @@
|
||||
};
|
||||
|
||||
uart1: serial@12100 {
|
||||
compatible = "marvell,armada-38x-uart", "ns16550a";
|
||||
compatible = "marvell,armada-38x-uart";
|
||||
reg = <0x12100 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
};
|
||||
|
||||
pinctrl_fwqspid_default: fwqspid_default {
|
||||
function = "FWSPID";
|
||||
function = "FWQSPID";
|
||||
groups = "FWQSPID";
|
||||
};
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "bcm283x-rpi-smsc9514.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_28.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
|
||||
@@ -115,9 +116,6 @@
|
||||
gpio = <&gpio 41 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "bcm2708-rpi.dtsi"
|
||||
#include "bcm283x-rpi-smsc9512.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,model-b", "brcm,bcm2835";
|
||||
@@ -122,9 +123,6 @@ i2c_csi_dsi: &i2c1 {
|
||||
gpio = <&gpio 27 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "bcm283x-rpi-smsc9512.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_28.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,model-b", "brcm,bcm2835";
|
||||
@@ -109,9 +110,6 @@
|
||||
gpio = <&gpio 21 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -8,15 +8,21 @@
|
||||
/ {
|
||||
compatible = "raspberrypi,compute-module", "brcm,bcm2835";
|
||||
model = "Raspberry Pi Compute Module";
|
||||
};
|
||||
|
||||
&cam1_reg {
|
||||
gpio = <&gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cam0_reg: &cam0_regulator {
|
||||
gpio = <&gpio 30 GPIO_ACTIVE_HIGH>;
|
||||
cam1_reg: cam1_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam1-regulator";
|
||||
gpio = <&gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
status = "disabled";
|
||||
};
|
||||
cam0_reg: cam0_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam0-regulator";
|
||||
gpio = <&gpio 30 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
|
||||
@@ -14,9 +14,5 @@
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
act_led_activelow = <&act_led>,"gpios:8";
|
||||
act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||
cam0_reg = <&cam0_reg>,"status";
|
||||
cam0_reg_gpio = <&cam0_reg>,"gpios:4";
|
||||
cam1_reg = <&cam1_reg>,"status";
|
||||
cam1_reg_gpio = <&cam1_reg>,"gpios:4";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_28.dtsi"
|
||||
#include "bcm2708-rpi-bt.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
|
||||
@@ -166,9 +167,6 @@
|
||||
gpio = <&gpio 44 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "bcm2708-rpi.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_28.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,model-zero", "brcm,bcm2835";
|
||||
@@ -113,9 +114,6 @@
|
||||
gpio = <&gpio 41 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "bcm283x-rpi-smsc9514.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_28.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
|
||||
@@ -115,9 +116,6 @@
|
||||
gpio = <&gpio 41 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -153,39 +153,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
cam1_reg: cam1_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam1-reg";
|
||||
enable-active-high;
|
||||
/* Needs to be enabled, as removing a regulator is very unsafe */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
cam1_clk: cam1_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cam0_regulator: cam0_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam0-reg";
|
||||
enable-active-high;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cam0_clk: cam0_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cam_dummy_reg: cam_dummy_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam-dummy-reg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
cam0-pwdn-ctrl;
|
||||
cam0-pwdn;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "bcm283x-rpi-smsc9514.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_28.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,2-model-b-rev2", "brcm,bcm2837";
|
||||
@@ -115,9 +116,6 @@
|
||||
gpio = <&gpio 41 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
#include "bcm271x-rpi-bt.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
|
||||
@@ -187,9 +188,6 @@
|
||||
gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
#include "bcm271x-rpi-bt.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
|
||||
@@ -196,9 +197,6 @@
|
||||
gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -8,15 +8,21 @@
|
||||
/ {
|
||||
compatible = "raspberrypi,3-compute-module", "brcm,bcm2837";
|
||||
model = "Raspberry Pi Compute Module 3";
|
||||
};
|
||||
|
||||
&cam1_reg {
|
||||
gpio = <&gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cam0_reg: &cam0_regulator {
|
||||
gpio = <&gpio 30 GPIO_ACTIVE_HIGH>;
|
||||
cam1_reg: cam1_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam1-regulator";
|
||||
gpio = <&gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
status = "disabled";
|
||||
};
|
||||
cam0_reg: cam0_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam0-regulator";
|
||||
gpio = <&gpio 30 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
@@ -138,9 +144,5 @@ cam0_reg: &cam0_regulator {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
act_led_activelow = <&act_led>,"gpios:8";
|
||||
act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||
cam0_reg = <&cam0_reg>,"status";
|
||||
cam0_reg_gpio = <&cam0_reg>,"gpios:4";
|
||||
cam1_reg = <&cam1_reg>,"status";
|
||||
cam1_reg_gpio = <&cam1_reg>,"gpios:4";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
#include "bcm2708-rpi-bt.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,model-zero-2-w", "brcm,bcm2837";
|
||||
@@ -187,9 +188,6 @@
|
||||
gpio = <&gpio 40 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -339,6 +339,7 @@
|
||||
#include "bcm2711-rpi.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
@@ -607,9 +608,6 @@
|
||||
gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include "bcm2711.dtsi"
|
||||
#include "bcm2835-rpi.dtsi"
|
||||
|
||||
#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,4-compute-module", "brcm,bcm2711";
|
||||
model = "Raspberry Pi Compute Module 4";
|
||||
@@ -291,6 +293,11 @@
|
||||
ranges;
|
||||
|
||||
reg = <0 0 0 0 0>;
|
||||
|
||||
usb@0,0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -346,6 +353,7 @@
|
||||
#include "bcm283x-rpi-csi0-2lane.dtsi"
|
||||
#include "bcm283x-rpi-csi1-4lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
#include "bcm283x-rpi-cam1-regulator.dtsi"
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
|
||||
@@ -1,477 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/dts-v1/;
|
||||
#include "bcm2711.dtsi"
|
||||
#include "bcm2835-rpi.dtsi"
|
||||
|
||||
#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,4-compute-module-s", "brcm,bcm2711";
|
||||
model = "Raspberry Pi Compute Module 4S";
|
||||
|
||||
chosen {
|
||||
/* 8250 auxiliary UART instead of pl011 */
|
||||
stdout-path = "serial1:115200n8";
|
||||
};
|
||||
|
||||
/* Will be filled by the bootloader */
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0 0 0>;
|
||||
};
|
||||
|
||||
aliases {
|
||||
emmc2bus = &emmc2bus;
|
||||
blconfig = &blconfig;
|
||||
};
|
||||
|
||||
leds {
|
||||
led-act {
|
||||
gpios = <&virtgpio 0 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ddc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&firmware {
|
||||
firmware_clocks: clocks {
|
||||
compatible = "raspberrypi,firmware-clocks";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
reset: reset {
|
||||
compatible = "raspberrypi,firmware-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
/*
|
||||
* Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
|
||||
* the official GPU firmware DT blob.
|
||||
*
|
||||
* Legend:
|
||||
* "FOO" = GPIO line named "FOO" on the schematic
|
||||
* "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||
*/
|
||||
gpio-line-names = "ID_SDA",
|
||||
"ID_SCL",
|
||||
"SDA1",
|
||||
"SCL1",
|
||||
"GPIO_GCLK",
|
||||
"GPIO5",
|
||||
"GPIO6",
|
||||
"SPI_CE1_N",
|
||||
"SPI_CE0_N",
|
||||
"SPI_MISO",
|
||||
"SPI_MOSI",
|
||||
"SPI_SCLK",
|
||||
"GPIO12",
|
||||
"GPIO13",
|
||||
/* Serial port */
|
||||
"TXD1",
|
||||
"RXD1",
|
||||
"GPIO16",
|
||||
"GPIO17",
|
||||
"GPIO18",
|
||||
"GPIO19",
|
||||
"GPIO20",
|
||||
"GPIO21",
|
||||
"GPIO22",
|
||||
"GPIO23",
|
||||
"GPIO24",
|
||||
"GPIO25",
|
||||
"GPIO26",
|
||||
"GPIO27",
|
||||
"GPIO28",
|
||||
"GPIO29",
|
||||
"GPIO30",
|
||||
"GPIO31",
|
||||
"GPIO32",
|
||||
"GPIO33",
|
||||
"GPIO34",
|
||||
"GPIO35",
|
||||
"GPIO36",
|
||||
"GPIO37",
|
||||
"GPIO38",
|
||||
"GPIO39",
|
||||
"PWM0_MISO",
|
||||
"PWM1_MOSI",
|
||||
"GPIO42",
|
||||
"GPIO43",
|
||||
"GPIO44",
|
||||
"GPIO45";
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
|
||||
clock-names = "hdmi", "bvb", "audio", "cec";
|
||||
wifi-2.4ghz-coexistence;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&hvs {
|
||||
clocks = <&firmware_clocks 4>;
|
||||
};
|
||||
|
||||
&pixelvalve0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pixelvalve1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pixelvalve2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pixelvalve4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rmem {
|
||||
/*
|
||||
* RPi4's co-processor will copy the board's bootloader configuration
|
||||
* into memory for the OS to consume. It'll also update this node with
|
||||
* its placement information.
|
||||
*/
|
||||
blconfig: nvram@0 {
|
||||
compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x0 0x0 0x0>;
|
||||
no-map;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
/* EMMC2 is used to drive the EMMC card */
|
||||
&emmc2 {
|
||||
bus-width = <8>;
|
||||
broken-cd;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&vchiq {
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&vc4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vec {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
// =============================================
|
||||
// Downstream rpi- changes
|
||||
|
||||
#define BCM2711
|
||||
|
||||
#include "bcm270x.dtsi"
|
||||
|
||||
/ {
|
||||
soc {
|
||||
/delete-node/ pixelvalve@7e807000;
|
||||
/delete-node/ hdmi@7e902000;
|
||||
|
||||
virtgpio: virtgpio {
|
||||
compatible = "brcm,bcm2835-virtgpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
firmware = <&firmware>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#include "bcm2711-rpi.dtsi"
|
||||
#include "bcm283x-rpi-csi0-2lane.dtsi"
|
||||
#include "bcm283x-rpi-csi1-4lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_28.dtsi"
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1";
|
||||
};
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
mmc0 = &emmc2;
|
||||
mmc1 = &mmcnr;
|
||||
mmc2 = &sdhost;
|
||||
i2c3 = &i2c3;
|
||||
i2c4 = &i2c4;
|
||||
i2c5 = &i2c5;
|
||||
i2c6 = &i2c6;
|
||||
spi3 = &spi3;
|
||||
spi4 = &spi4;
|
||||
spi5 = &spi5;
|
||||
spi6 = &spi6;
|
||||
/delete-property/ intc;
|
||||
};
|
||||
|
||||
/delete-node/ wifi-pwrseq;
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
|
||||
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
|
||||
|
||||
spidev0: spidev@0{
|
||||
compatible = "spidev";
|
||||
reg = <0>; /* CE0 */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
spi-max-frequency = <125000000>;
|
||||
};
|
||||
|
||||
spidev1: spidev@1{
|
||||
compatible = "spidev";
|
||||
reg = <1>; /* CE1 */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
spi-max-frequency = <125000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
spi0_pins: spi0_pins {
|
||||
brcm,pins = <9 10 11>;
|
||||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
|
||||
spi0_cs_pins: spi0_cs_pins {
|
||||
brcm,pins = <8 7>;
|
||||
brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||
};
|
||||
|
||||
spi3_pins: spi3_pins {
|
||||
brcm,pins = <1 2 3>;
|
||||
brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
};
|
||||
|
||||
spi3_cs_pins: spi3_cs_pins {
|
||||
brcm,pins = <0 24>;
|
||||
brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||
};
|
||||
|
||||
spi4_pins: spi4_pins {
|
||||
brcm,pins = <5 6 7>;
|
||||
brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
};
|
||||
|
||||
spi4_cs_pins: spi4_cs_pins {
|
||||
brcm,pins = <4 25>;
|
||||
brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||
};
|
||||
|
||||
spi5_pins: spi5_pins {
|
||||
brcm,pins = <13 14 15>;
|
||||
brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
};
|
||||
|
||||
spi5_cs_pins: spi5_cs_pins {
|
||||
brcm,pins = <12 26>;
|
||||
brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||
};
|
||||
|
||||
spi6_pins: spi6_pins {
|
||||
brcm,pins = <19 20 21>;
|
||||
brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
};
|
||||
|
||||
spi6_cs_pins: spi6_cs_pins {
|
||||
brcm,pins = <18 27>;
|
||||
brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0 {
|
||||
brcm,pins = <0 1>;
|
||||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
brcm,pull = <BCM2835_PUD_UP>;
|
||||
};
|
||||
|
||||
i2c1_pins: i2c1 {
|
||||
brcm,pins = <2 3>;
|
||||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
brcm,pull = <BCM2835_PUD_UP>;
|
||||
};
|
||||
|
||||
i2c3_pins: i2c3 {
|
||||
brcm,pins = <4 5>;
|
||||
brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
brcm,pull = <BCM2835_PUD_UP>;
|
||||
};
|
||||
|
||||
i2c4_pins: i2c4 {
|
||||
brcm,pins = <8 9>;
|
||||
brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
brcm,pull = <BCM2835_PUD_UP>;
|
||||
};
|
||||
|
||||
i2c5_pins: i2c5 {
|
||||
brcm,pins = <12 13>;
|
||||
brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
brcm,pull = <BCM2835_PUD_UP>;
|
||||
};
|
||||
|
||||
i2c6_pins: i2c6 {
|
||||
brcm,pins = <22 23>;
|
||||
brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
brcm,pull = <BCM2835_PUD_UP>;
|
||||
};
|
||||
|
||||
i2s_pins: i2s {
|
||||
brcm,pins = <18 19 20 21>;
|
||||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
|
||||
sdio_pins: sdio_pins {
|
||||
brcm,pins = <34 35 36 37 38 39>;
|
||||
brcm,function = <BCM2835_FSEL_ALT3>; // alt3 = SD1
|
||||
brcm,pull = <0 2 2 2 2 2>;
|
||||
};
|
||||
|
||||
uart0_pins: uart0_pins {
|
||||
brcm,pins;
|
||||
brcm,function;
|
||||
brcm,pull;
|
||||
};
|
||||
|
||||
uart2_pins: uart2_pins {
|
||||
brcm,pins = <0 1>;
|
||||
brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
brcm,pull = <0 2>;
|
||||
};
|
||||
|
||||
uart3_pins: uart3_pins {
|
||||
brcm,pins = <4 5>;
|
||||
brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
brcm,pull = <0 2>;
|
||||
};
|
||||
|
||||
uart4_pins: uart4_pins {
|
||||
brcm,pins = <8 9>;
|
||||
brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
brcm,pull = <0 2>;
|
||||
};
|
||||
|
||||
uart5_pins: uart5_pins {
|
||||
brcm,pins = <12 13>;
|
||||
brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
brcm,pull = <0 2>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0if {
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2s {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2s_pins>;
|
||||
};
|
||||
|
||||
// =============================================
|
||||
// Board specific stuff here
|
||||
|
||||
/* Enable USB in OTG-aware mode */
|
||||
&usb {
|
||||
compatible = "brcm,bcm2835-usb";
|
||||
dr_mode = "otg";
|
||||
g-np-tx-fifo-size = <32>;
|
||||
g-rx-fifo-size = <558>;
|
||||
g-tx-fifo-size = <512 512 512 512 512 256 256>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhost {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&gpio {
|
||||
audio_pins: audio_pins {
|
||||
brcm,pins = <>;
|
||||
brcm,function = <>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Permanently disable HDMI1 */
|
||||
&hdmi1 {
|
||||
compatible = "disabled";
|
||||
};
|
||||
|
||||
/* Permanently disable DDC1 */
|
||||
&ddc1 {
|
||||
compatible = "disabled";
|
||||
};
|
||||
|
||||
&leds {
|
||||
act_led: led-act {
|
||||
label = "led0";
|
||||
linux,default-trigger = "mmc0";
|
||||
gpios = <&virtgpio 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&pwm1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&audio {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&audio_pins>;
|
||||
brcm,disable-headphones = <1>;
|
||||
};
|
||||
|
||||
&cam1_reg {
|
||||
gpio = <&gpio 2 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cam0_reg: &cam0_regulator {
|
||||
gpio = <&gpio 30 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
act_led_activelow = <&act_led>,"gpios:8";
|
||||
act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||
|
||||
sd_poll_once = <&emmc2>, "non-removable?";
|
||||
spi_dma4 = <&spi0>, "dmas:0=", <&dma40>,
|
||||
<&spi0>, "dmas:8=", <&dma40>;
|
||||
};
|
||||
};
|
||||
@@ -290,7 +290,6 @@
|
||||
|
||||
hvs: hvs@7e400000 {
|
||||
compatible = "brcm,bcm2711-hvs";
|
||||
reg = <0x7e400000 0x8000>;
|
||||
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
@@ -320,7 +319,7 @@
|
||||
aon_intr: interrupt-controller@7ef00100 {
|
||||
compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc";
|
||||
reg = <0x7ef00100 0x30>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
status = "disabled";
|
||||
@@ -403,7 +402,7 @@
|
||||
<&clk_27MHz>;
|
||||
resets = <&dvp 1>;
|
||||
interrupt-parent = <&aon_intr>;
|
||||
interrupts = <8>, <7>, <6>, // This is correct
|
||||
interrupts = <8>, <7>, <6>,
|
||||
<9>, <10>, <11>;
|
||||
interrupt-names = "cec-tx", "cec-rx", "cec-low",
|
||||
"wakeup", "hpd-connected", "hpd-removed";
|
||||
@@ -472,26 +471,12 @@
|
||||
#size-cells = <0>;
|
||||
enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit
|
||||
|
||||
/* Source for d/i-cache-line-size and d/i-cache-sets
|
||||
* https://developer.arm.com/documentation/100095/0003
|
||||
* /Level-1-Memory-System/About-the-L1-memory-system?lang=en
|
||||
* Source for d/i-cache-size
|
||||
* https://www.raspberrypi.com/documentation/computers
|
||||
* /processors.html#bcm2711
|
||||
*/
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x0 0x000000d8>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
|
||||
i-cache-size = <0xc000>;
|
||||
i-cache-line-size = <64>;
|
||||
i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
@@ -500,13 +485,6 @@
|
||||
reg = <1>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x0 0x000000e0>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
|
||||
i-cache-size = <0xc000>;
|
||||
i-cache-line-size = <64>;
|
||||
i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
@@ -515,13 +493,6 @@
|
||||
reg = <2>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x0 0x000000e8>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
|
||||
i-cache-size = <0xc000>;
|
||||
i-cache-line-size = <64>;
|
||||
i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
@@ -530,28 +501,6 @@
|
||||
reg = <3>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x0 0x000000f0>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
|
||||
i-cache-size = <0xc000>;
|
||||
i-cache-line-size = <64>;
|
||||
i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
/* Source for d/i-cache-line-size and d/i-cache-sets
|
||||
* https://developer.arm.com/documentation/100095/0003
|
||||
* /Level-2-Memory-System/About-the-L2-memory-system?lang=en
|
||||
* Source for d/i-cache-size
|
||||
* https://www.raspberrypi.com/documentation/computers
|
||||
* /processors.html#bcm2711
|
||||
*/
|
||||
l2: l2-cache0 {
|
||||
compatible = "cache";
|
||||
cache-size = <0x100000>;
|
||||
cache-line-size = <64>;
|
||||
cache-sets = <1024>; // 1MiB(size)/64(line-size)=16384ways/16-way set
|
||||
cache-level = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -40,26 +40,12 @@
|
||||
#size-cells = <0>;
|
||||
enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit
|
||||
|
||||
/* Source for d/i-cache-line-size and d/i-cache-sets
|
||||
* https://developer.arm.com/documentation/ddi0500/e/level-1-memory-system
|
||||
* /about-the-l1-memory-system?lang=en
|
||||
*
|
||||
* Source for d/i-cache-size
|
||||
* https://magpi.raspberrypi.com/articles/raspberry-pi-3-specs-benchmarks
|
||||
*/
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x0 0x000000d8>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>; // 32KiB(size)/64(line-size)=512ways/4-way set
|
||||
i-cache-size = <0x8000>;
|
||||
i-cache-line-size = <64>;
|
||||
i-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
@@ -68,13 +54,6 @@
|
||||
reg = <1>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x0 0x000000e0>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>; // 32KiB(size)/64(line-size)=512ways/4-way set
|
||||
i-cache-size = <0x8000>;
|
||||
i-cache-line-size = <64>;
|
||||
i-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
@@ -83,13 +62,6 @@
|
||||
reg = <2>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x0 0x000000e8>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>; // 32KiB(size)/64(line-size)=512ways/4-way set
|
||||
i-cache-size = <0x8000>;
|
||||
i-cache-line-size = <64>;
|
||||
i-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
@@ -98,27 +70,6 @@
|
||||
reg = <3>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x0 0x000000f0>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>; // 32KiB(size)/64(line-size)=512ways/4-way set
|
||||
i-cache-size = <0x8000>;
|
||||
i-cache-line-size = <64>;
|
||||
i-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
|
||||
next-level-cache = <&l2>;
|
||||
};
|
||||
|
||||
/* Source for cache-line-size + cache-sets
|
||||
* https://developer.arm.com/documentation/ddi0500
|
||||
* /e/level-2-memory-system/about-the-l2-memory-system?lang=en
|
||||
* Source for cache-size
|
||||
* https://datasheets.raspberrypi.com/cm/cm1-and-cm3-datasheet.pdf
|
||||
*/
|
||||
l2: l2-cache0 {
|
||||
compatible = "cache";
|
||||
cache-size = <0x80000>;
|
||||
cache-line-size = <64>;
|
||||
cache-sets = <512>; // 512KiB(size)/64(line-size)=8192ways/16-way set
|
||||
cache-level = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
10
arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi
Normal file
10
arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi
Normal file
@@ -0,0 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
/ {
|
||||
cam1_reg: cam1_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam1-reg";
|
||||
enable-active-high;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
@@ -3448,7 +3448,8 @@
|
||||
ti,timer-pwm;
|
||||
};
|
||||
};
|
||||
timer15_target: target-module@2c000 { /* 0x4882c000, ap 17 02.0 */
|
||||
|
||||
target-module@2c000 { /* 0x4882c000, ap 17 02.0 */
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
reg = <0x2c000 0x4>,
|
||||
<0x2c010 0x4>;
|
||||
@@ -3476,7 +3477,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
timer16_target: target-module@2e000 { /* 0x4882e000, ap 19 14.0 */
|
||||
target-module@2e000 { /* 0x4882e000, ap 19 14.0 */
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
reg = <0x2e000 0x4>,
|
||||
<0x2e010 0x4>;
|
||||
|
||||
@@ -1093,20 +1093,20 @@
|
||||
};
|
||||
|
||||
/* Local timers, see ARM architected timer wrap erratum i940 */
|
||||
&timer15_target {
|
||||
&timer3_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER15_CLKCTRL 24>;
|
||||
assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER3_CLKCTRL 24>;
|
||||
assigned-clock-parents = <&timer_sys_clk_div>;
|
||||
};
|
||||
};
|
||||
|
||||
&timer16_target {
|
||||
&timer4_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER16_CLKCTRL 24>;
|
||||
assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER4_CLKCTRL 24>;
|
||||
assigned-clock-parents = <&timer_sys_clk_div>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -765,7 +765,7 @@
|
||||
compatible = "brcm,bcm4330-bt";
|
||||
|
||||
shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
|
||||
reset-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>;
|
||||
device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
|
||||
host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
};
|
||||
|
||||
uart3_data: uart3-data {
|
||||
samsung,pins = "gpa1-4", "gpa1-5";
|
||||
samsung,pins = "gpa1-4", "gpa1-4";
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
|
||||
|
||||
@@ -118,9 +118,6 @@
|
||||
status = "okay";
|
||||
ddc = <&i2c_2>;
|
||||
hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
|
||||
vdd-supply = <&ldo8_reg>;
|
||||
vdd_osc-supply = <&ldo10_reg>;
|
||||
vdd_pll-supply = <&ldo8_reg>;
|
||||
};
|
||||
|
||||
&i2c_0 {
|
||||
|
||||
@@ -124,9 +124,6 @@
|
||||
hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmi_hpd_irq>;
|
||||
vdd-supply = <&ldo6_reg>;
|
||||
vdd_osc-supply = <&ldo7_reg>;
|
||||
vdd_pll-supply = <&ldo6_reg>;
|
||||
};
|
||||
|
||||
&hsi2c_4 {
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
partitions {
|
||||
compatible = "redboot-fis";
|
||||
/* Eraseblock at 0xfe0000 */
|
||||
fis-index-block = <0x7f>;
|
||||
fis-index-block = <0x1fc>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
MX23_PAD_LCD_RESET__GPIO_1_18
|
||||
MX23_PAD_PWM3__GPIO_1_29
|
||||
MX23_PAD_PWM4__GPIO_1_30
|
||||
MX23_PAD_SSP1_DETECT__SSP1_DETECT
|
||||
>;
|
||||
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
||||
fsl,voltage = <MXS_VOLTAGE_HIGH>;
|
||||
|
||||
@@ -53,31 +53,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
lvds-decoder {
|
||||
compatible = "ti,ds90cf364a", "lvds-decoder";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
lvds_decoder_in: endpoint {
|
||||
remote-endpoint = <&lvds0_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
lvds_decoder_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
panel {
|
||||
compatible = "edt,etm0700g0dh6";
|
||||
pinctrl-0 = <&pinctrl_display_gpio>;
|
||||
@@ -86,7 +61,7 @@
|
||||
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&lvds_decoder_out>;
|
||||
remote-endpoint = <&lvds0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -475,7 +450,7 @@
|
||||
reg = <2>;
|
||||
|
||||
lvds0_out: endpoint {
|
||||
remote-endpoint = <&lvds_decoder_in>;
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
* Author: Fabio Estevam <fabio.estevam@freescale.com>
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
backlight = &backlight;
|
||||
@@ -228,7 +226,6 @@
|
||||
MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
|
||||
MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
|
||||
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
|
||||
MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -307,7 +304,7 @@
|
||||
&usdhc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@@ -289,7 +289,6 @@
|
||||
|
||||
ethphy: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
qca,clk-out-frequency = <125000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -82,6 +82,6 @@
|
||||
#define MX6ULL_PAD_CSI_DATA04__ESAI_TX_FS 0x01F4 0x0480 0x0000 0x9 0x0
|
||||
#define MX6ULL_PAD_CSI_DATA05__ESAI_TX_CLK 0x01F8 0x0484 0x0000 0x9 0x0
|
||||
#define MX6ULL_PAD_CSI_DATA06__ESAI_TX5_RX0 0x01FC 0x0488 0x0000 0x9 0x0
|
||||
#define MX6ULL_PAD_CSI_DATA07__ESAI_TX0 0x0200 0x048C 0x0000 0x9 0x0
|
||||
#define MX6ULL_PAD_CSI_DATA07__ESAI_T0 0x0200 0x048C 0x0000 0x9 0x0
|
||||
|
||||
#endif /* __DTS_IMX6ULL_PINFUNC_H */
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
dailink_master: simple-audio-card,codec {
|
||||
sound-dai = <&codec>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -293,7 +293,7 @@
|
||||
compatible = "fsl,sgtl5000";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x0a>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai1_mclk>;
|
||||
VDDA-supply = <®_module_3v3_avdd>;
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
tlv320aic32x4: audio-codec@18 {
|
||||
compatible = "ti,tlv320aic32x4";
|
||||
reg = <0x18>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
clock-names = "mclk";
|
||||
ldoin-supply = <®_audio_3v3>;
|
||||
iov-supply = <®_audio_3v3>;
|
||||
|
||||
@@ -288,7 +288,7 @@
|
||||
codec: wm8960@1a {
|
||||
compatible = "wlf,wm8960";
|
||||
reg = <0x1a>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
clock-names = "mclk";
|
||||
wlf,shared-lrclk;
|
||||
};
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
dailink_master: simple-audio-card,codec {
|
||||
sound-dai = <&sgtl5000>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -41,7 +41,7 @@
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x0a>;
|
||||
compatible = "fsl,sgtl5000";
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
VDDA-supply = <®_2p5v>;
|
||||
VDDIO-supply = <®_vref_1v8>;
|
||||
};
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
dailink_master: simple-audio-card,codec {
|
||||
sound-dai = <&sgtl5000>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -41,7 +41,7 @@
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x0a>;
|
||||
compatible = "fsl,sgtl5000";
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
VDDA-supply = <®_2p5v>;
|
||||
VDDIO-supply = <®_vref_1v8>;
|
||||
};
|
||||
|
||||
@@ -378,14 +378,14 @@
|
||||
codec: wm8960@1a {
|
||||
compatible = "wlf,wm8960";
|
||||
reg = <0x1a>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
clock-names = "mclk";
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <2 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
assigned-clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_SRC>,
|
||||
<&clks IMX7D_PLL_AUDIO_POST_DIV>,
|
||||
<&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
<&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>;
|
||||
assigned-clock-rates = <0>, <884736000>, <12288000>;
|
||||
};
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
dailink_master: simple-audio-card,codec {
|
||||
sound-dai = <&codec>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -232,7 +232,7 @@
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x0a>;
|
||||
compatible = "fsl,sgtl5000";
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
|
||||
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai1_mclk>;
|
||||
VDDA-supply = <&vgen4_reg>;
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
|
||||
assigned-clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
|
||||
assigned-clock-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
|
||||
assigned-clocks-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
|
||||
timeout-sec = <40>;
|
||||
};
|
||||
|
||||
|
||||
@@ -42,14 +42,14 @@
|
||||
};
|
||||
|
||||
uart_A: serial@84c0 {
|
||||
compatible = "amlogic,meson6-uart";
|
||||
compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
|
||||
reg = <0x84c0 0x18>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart_B: serial@84dc {
|
||||
compatible = "amlogic,meson6-uart";
|
||||
compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
|
||||
reg = <0x84dc 0x18>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
|
||||
status = "disabled";
|
||||
@@ -87,7 +87,7 @@
|
||||
};
|
||||
|
||||
uart_C: serial@8700 {
|
||||
compatible = "amlogic,meson6-uart";
|
||||
compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
|
||||
reg = <0x8700 0x18>;
|
||||
interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
|
||||
status = "disabled";
|
||||
@@ -203,7 +203,7 @@
|
||||
};
|
||||
|
||||
uart_AO: serial@4c0 {
|
||||
compatible = "amlogic,meson6-uart", "amlogic,meson-ao-uart";
|
||||
compatible = "amlogic,meson6-uart", "amlogic,meson-ao-uart", "amlogic,meson-uart";
|
||||
reg = <0x4c0 0x18>;
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
|
||||
status = "disabled";
|
||||
|
||||
@@ -598,27 +598,27 @@
|
||||
};
|
||||
|
||||
&uart_AO {
|
||||
compatible = "amlogic,meson8-uart", "amlogic,meson-ao-uart";
|
||||
clocks = <&xtal>, <&clkc CLKID_CLK81>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
compatible = "amlogic,meson8-uart", "amlogic,meson-uart";
|
||||
clocks = <&clkc CLKID_CLK81>, <&xtal>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "baud", "xtal", "pclk";
|
||||
};
|
||||
|
||||
&uart_A {
|
||||
compatible = "amlogic,meson8-uart";
|
||||
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
compatible = "amlogic,meson8-uart", "amlogic,meson-uart";
|
||||
clocks = <&clkc CLKID_CLK81>, <&xtal>, <&clkc CLKID_UART0>;
|
||||
clock-names = "baud", "xtal", "pclk";
|
||||
};
|
||||
|
||||
&uart_B {
|
||||
compatible = "amlogic,meson8-uart";
|
||||
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
compatible = "amlogic,meson8-uart", "amlogic,meson-uart";
|
||||
clocks = <&clkc CLKID_CLK81>, <&xtal>, <&clkc CLKID_UART1>;
|
||||
clock-names = "baud", "xtal", "pclk";
|
||||
};
|
||||
|
||||
&uart_C {
|
||||
compatible = "amlogic,meson8-uart";
|
||||
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
compatible = "amlogic,meson8-uart", "amlogic,meson-uart";
|
||||
clocks = <&clkc CLKID_CLK81>, <&xtal>, <&clkc CLKID_UART2>;
|
||||
clock-names = "baud", "xtal", "pclk";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
|
||||
@@ -586,27 +586,27 @@
|
||||
};
|
||||
|
||||
&uart_AO {
|
||||
compatible = "amlogic,meson8b-uart", "amlogic,meson-ao-uart";
|
||||
clocks = <&xtal>, <&clkc CLKID_CLK81>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
compatible = "amlogic,meson8b-uart", "amlogic,meson-uart";
|
||||
clocks = <&clkc CLKID_CLK81>, <&xtal>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "baud", "xtal", "pclk";
|
||||
};
|
||||
|
||||
&uart_A {
|
||||
compatible = "amlogic,meson8b-uart";
|
||||
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
compatible = "amlogic,meson8b-uart", "amlogic,meson-uart";
|
||||
clocks = <&clkc CLKID_CLK81>, <&xtal>, <&clkc CLKID_UART0>;
|
||||
clock-names = "baud", "xtal", "pclk";
|
||||
};
|
||||
|
||||
&uart_B {
|
||||
compatible = "amlogic,meson8b-uart";
|
||||
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
compatible = "amlogic,meson8b-uart", "amlogic,meson-uart";
|
||||
clocks = <&clkc CLKID_CLK81>, <&xtal>, <&clkc CLKID_UART1>;
|
||||
clock-names = "baud", "xtal", "pclk";
|
||||
};
|
||||
|
||||
&uart_C {
|
||||
compatible = "amlogic,meson8b-uart";
|
||||
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
compatible = "amlogic,meson8b-uart", "amlogic,meson-uart";
|
||||
clocks = <&clkc CLKID_CLK81>, <&xtal>, <&clkc CLKID_UART2>;
|
||||
clock-names = "baud", "xtal", "pclk";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/dts-v1/;
|
||||
|
||||
#include "omap3-beagle.dts"
|
||||
|
||||
/ {
|
||||
model = "TI OMAP3 BeagleBoard A to B4";
|
||||
compatible = "ti,omap3-beagle-ab4", "ti,omap3-beagle", "ti,omap3430", "ti,omap3";
|
||||
};
|
||||
|
||||
/*
|
||||
* Workaround for capacitor C70 issue, see "Boards revision A and < B5"
|
||||
* section at https://elinux.org/BeagleBoard_Community
|
||||
*/
|
||||
|
||||
/* Unusable as clocksource because of unreliable oscillator */
|
||||
&counter32k {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Unusable as clockevent because of unreliable oscillator, allow to idle */
|
||||
&timer1_target {
|
||||
/delete-property/ti,no-reset-on-init;
|
||||
/delete-property/ti,no-idle;
|
||||
timer@0 {
|
||||
/delete-property/ti,timer-alwon;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred always-on timer for clocksource */
|
||||
&timer12_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
/* Always clocked by secure_32k_fck */
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer2_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&gpt2_fck>;
|
||||
assigned-clock-parents = <&sys_ck>;
|
||||
};
|
||||
};
|
||||
@@ -304,6 +304,39 @@
|
||||
phys = <0 &hsusb2_phy>;
|
||||
};
|
||||
|
||||
/* Unusable as clocksource because of unreliable oscillator */
|
||||
&counter32k {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Unusable as clockevent because if unreliable oscillator, allow to idle */
|
||||
&timer1_target {
|
||||
/delete-property/ti,no-reset-on-init;
|
||||
/delete-property/ti,no-idle;
|
||||
timer@0 {
|
||||
/delete-property/ti,timer-alwon;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred always-on timer for clocksource */
|
||||
&timer12_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
/* Always clocked by secure_32k_fck */
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer2_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&gpt2_fck>;
|
||||
assigned-clock-parents = <&sys_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
&twl_gpio {
|
||||
ti,use-leds;
|
||||
/* pullups: BIT(1) */
|
||||
|
||||
@@ -158,24 +158,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Unusable as clockevent because if unreliable oscillator, allow to idle */
|
||||
&timer1_target {
|
||||
/delete-property/ti,no-reset-on-init;
|
||||
/delete-property/ti,no-idle;
|
||||
timer@0 {
|
||||
/delete-property/ti,timer-alwon;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer12_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
/* Always clocked by secure_32k_fck */
|
||||
};
|
||||
};
|
||||
|
||||
&twl_gpio {
|
||||
ti,use-leds;
|
||||
/*
|
||||
|
||||
@@ -14,3 +14,36 @@
|
||||
display2 = &tv0;
|
||||
};
|
||||
};
|
||||
|
||||
/* Unusable as clocksource because of unreliable oscillator */
|
||||
&counter32k {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Unusable as clockevent because if unreliable oscillator, allow to idle */
|
||||
&timer1_target {
|
||||
/delete-property/ti,no-reset-on-init;
|
||||
/delete-property/ti,no-idle;
|
||||
timer@0 {
|
||||
/delete-property/ti,timer-alwon;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred always-on timer for clocksource */
|
||||
&timer12_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
/* Always clocked by secure_32k_fck */
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer2_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&gpt2_fck>;
|
||||
assigned-clock-parents = <&sys_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
#include "omap34xx.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/*
|
||||
* Default secure signed bootloader (Nokia X-Loader) does not enable L3 firewall
|
||||
@@ -631,92 +630,63 @@
|
||||
};
|
||||
|
||||
lp5523: lp5523@32 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "national,lp5523";
|
||||
reg = <0x32>;
|
||||
clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
|
||||
enable-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */
|
||||
enable-gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
chan0 {
|
||||
chan-name = "lp5523:kb1";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_KBD_BACKLIGHT;
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
chan1 {
|
||||
chan-name = "lp5523:kb2";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_KBD_BACKLIGHT;
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
chan2 {
|
||||
chan-name = "lp5523:kb3";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_KBD_BACKLIGHT;
|
||||
};
|
||||
|
||||
led@3 {
|
||||
reg = <3>;
|
||||
chan3 {
|
||||
chan-name = "lp5523:kb4";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_KBD_BACKLIGHT;
|
||||
};
|
||||
|
||||
led@4 {
|
||||
reg = <4>;
|
||||
chan4 {
|
||||
chan-name = "lp5523:b";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led@5 {
|
||||
reg = <5>;
|
||||
chan5 {
|
||||
chan-name = "lp5523:g";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led@6 {
|
||||
reg = <6>;
|
||||
chan6 {
|
||||
chan-name = "lp5523:r";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
|
||||
led@7 {
|
||||
reg = <7>;
|
||||
chan7 {
|
||||
chan-name = "lp5523:kb5";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_KBD_BACKLIGHT;
|
||||
};
|
||||
|
||||
led@8 {
|
||||
reg = <8>;
|
||||
chan8 {
|
||||
chan-name = "lp5523:kb6";
|
||||
led-cur = /bits/ 8 <50>;
|
||||
max-cur = /bits/ 8 <100>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function = LED_FUNCTION_KBD_BACKLIGHT;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||||
cap1106.dtbo \
|
||||
chipdip-dac.dtbo \
|
||||
cma.dtbo \
|
||||
cutiepi-panel.dtbo \
|
||||
dht11.dtbo \
|
||||
dionaudio-loco.dtbo \
|
||||
dionaudio-loco-v2.dtbo \
|
||||
@@ -194,7 +193,6 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||||
spi-gpio35-39.dtbo \
|
||||
spi-gpio40-45.dtbo \
|
||||
spi-rtc.dtbo \
|
||||
spi0-0cs.dtbo \
|
||||
spi0-1cs.dtbo \
|
||||
spi0-2cs.dtbo \
|
||||
spi1-1cs.dtbo \
|
||||
@@ -233,8 +231,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||||
upstream-pi4.dtbo \
|
||||
vc4-fkms-v3d.dtbo \
|
||||
vc4-fkms-v3d-pi4.dtbo \
|
||||
vc4-kms-dpi-at056tn53v1.dtbo \
|
||||
vc4-kms-dpi-generic.dtbo \
|
||||
vc4-kms-dpi-panel.dtbo \
|
||||
vc4-kms-dsi-7inch.dtbo \
|
||||
vc4-kms-dsi-lt070me05000.dtbo \
|
||||
vc4-kms-dsi-lt070me05000-v2.dtbo \
|
||||
@@ -243,7 +241,6 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||||
vc4-kms-v3d-pi4.dtbo \
|
||||
vc4-kms-vga666.dtbo \
|
||||
vga666.dtbo \
|
||||
vl805.dtbo \
|
||||
w1-gpio.dtbo \
|
||||
w1-gpio-pullup.dtbo \
|
||||
w5500.dtbo \
|
||||
|
||||
@@ -144,16 +144,6 @@ Params:
|
||||
See /sys/kernel/debug/raspberrypi_axi_monitor
|
||||
for the results.
|
||||
|
||||
cam0_reg Enables CAM 0 regulator. CM1 & 3 only.
|
||||
|
||||
cam0_reg_gpio Set GPIO for CAM 0 regulator. Default 30.
|
||||
CM1 & 3 only.
|
||||
|
||||
cam1_reg Enables CAM 1 regulator. CM1 & 3 only.
|
||||
|
||||
cam1_reg_gpio Set GPIO for CAM 1 regulator. Default 2.
|
||||
CM1 & 3 only.
|
||||
|
||||
eee Enable Energy Efficient Ethernet support for
|
||||
compatible devices (default "on"). See also
|
||||
"tx_lpi_timer". Pi3B+ only.
|
||||
@@ -679,12 +669,6 @@ Params: cma-512 CMA is 512MB (needs 1GB)
|
||||
cma-default Use upstream's default value
|
||||
|
||||
|
||||
Name: cutiepi-panel
|
||||
Info: 8" TFT LCD display and touch panel used by cutiepi.io
|
||||
Load: dtoverlay=cutiepi-panel
|
||||
Params: <None>
|
||||
|
||||
|
||||
Name: dht11
|
||||
Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
|
||||
Also sometimes found with the part number(s) AM230x.
|
||||
@@ -1725,9 +1709,6 @@ Params: addr Set the address for the BH1750, BME280, BME680,
|
||||
|
||||
htu21 Select the HTU21 temperature and humidity sensor
|
||||
|
||||
int_pin Set the GPIO to use for interrupts (max30102
|
||||
only)
|
||||
|
||||
lm75 Select the Maxim LM75 temperature sensor
|
||||
Valid addresses 0x48-0x4f, default 0x4f
|
||||
|
||||
@@ -1736,9 +1717,6 @@ Params: addr Set the address for the BH1750, BME280, BME680,
|
||||
max17040 Select the Maxim Integrated MAX17040 battery
|
||||
monitor
|
||||
|
||||
max30102 Select the Maxim Integrated MAX30102 heart-rate
|
||||
and blood-oxygen sensor
|
||||
|
||||
sht3x Select the Sensiron SHT3x temperature and
|
||||
humidity sensor. Valid addresses 0x44-0x45,
|
||||
default 0x44
|
||||
@@ -1867,8 +1845,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
2 = external, default external)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default on)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: imx290
|
||||
@@ -1891,8 +1867,6 @@ Params: 4lane Enable 4 CSI2 lanes. This requires a Compute
|
||||
180, default 0)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default on)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: imx378
|
||||
@@ -1906,8 +1880,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
2 = external, default external)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default on)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: imx477
|
||||
@@ -1921,8 +1893,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
2 = external, default external)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default on)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: imx519
|
||||
@@ -1936,8 +1906,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
2 = external, default external)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default on)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: iqaudio-codec
|
||||
@@ -2004,8 +1972,6 @@ Info: Infineon irs1125 TOF camera module.
|
||||
Load: dtoverlay=irs1125,<param>=<val>
|
||||
Params: media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default off)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: jedec-spi-nor
|
||||
@@ -2419,8 +2385,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
2 = external, default external)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default on)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: ov7251
|
||||
@@ -2434,8 +2398,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
2 = external, default external)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default off)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: ov9281
|
||||
@@ -2449,8 +2411,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
2 = external, default external)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default on)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: papirus
|
||||
@@ -3098,14 +3058,6 @@ Params: ds3232 Select the DS3232 device
|
||||
cs_high This device requires an active-high CS
|
||||
|
||||
|
||||
Name: spi0-0cs
|
||||
Info: Don't claim any CS pins for SPI0. Requires a device with its chip
|
||||
select permanently enabled, but frees a GPIO for e.g. a DPI display.
|
||||
Load: dtoverlay=spi0-0cs,<param>=<val>
|
||||
Params: no_miso Don't claim and use the MISO pin (9), freeing
|
||||
it for other uses.
|
||||
|
||||
|
||||
Name: spi0-1cs
|
||||
Info: Only use one CS pin for SPI0
|
||||
Load: dtoverlay=spi0-1cs,<param>=<val>
|
||||
@@ -3441,8 +3393,6 @@ Params: 4lane Use 4 lanes (only applicable to Compute Modules
|
||||
are supported by the driver.
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default off)
|
||||
cam0 Adopt the default configuration for CAM0 on a
|
||||
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
||||
|
||||
|
||||
Name: tc358743-audio
|
||||
@@ -3607,8 +3557,10 @@ Params: cma-512 CMA is 512MB (needs 1GB)
|
||||
|
||||
|
||||
Name: vc4-kms-dpi-at056tn53v1
|
||||
Info: This overlay is now deprecated - see vc4-kms-dpi-panel,at056tn53v1
|
||||
Load: <Deprecated>
|
||||
Info: Enable an Innolux 5.6in VGA TFT connected to DPI interface under KMS.
|
||||
Requires vc4-kms-v3d to be loaded.
|
||||
Load: dtoverlay=vc4-kms-dpi-at056tn53v1
|
||||
Params: <None>
|
||||
|
||||
|
||||
Name: vc4-kms-dpi-generic
|
||||
@@ -3637,55 +3589,6 @@ Params: clock-frequency Display clock frequency (Hz)
|
||||
rgb888 Change to RGB888 output on GPIOs 0-27
|
||||
bus-format Override the bus format for a MEDIA_BUS_FMT_*
|
||||
value. NB also overridden by rgbXXX overrides.
|
||||
backlight-gpio Defines a GPIO to be used for backlight control
|
||||
(default of none).
|
||||
backlight-pwm Defines a PWM channel to be used for backlight
|
||||
control (default of none). NB Disables audio
|
||||
headphone output as that also uses PWM.
|
||||
backlight-pwm-chan Choose channel on &pwm node for backlight
|
||||
control.
|
||||
(default 0).
|
||||
backlight-pwm-gpio GPIO pin to be used for the PWM backlight. See
|
||||
pwm-2chan for valid options.
|
||||
(default 18 - note this can only work with
|
||||
rgb666-padhi).
|
||||
backlight-pwm-func Pin function of GPIO used for the PWM
|
||||
backlight.
|
||||
See pwm-2chan for valid options.
|
||||
(default 2).
|
||||
backlight-def-brightness
|
||||
Set the default brightness. Normal range 1-16.
|
||||
(default 16).
|
||||
rotate Display rotation {0,90,180,270} (default 0)
|
||||
|
||||
|
||||
Name: vc4-kms-dpi-panel
|
||||
Info: Enable a preconfigured KMS DPI panel.
|
||||
Requires vc4-kms-v3d to be loaded.
|
||||
Load: dtoverlay=vc4-kms-dpi-panel,<param>=<val>
|
||||
Params: at056tn53v1 Enable an Innolux 5.6in VGA TFT
|
||||
kippah-7inch Enable an Adafruit Kippah with 7inch panel.
|
||||
mzp280 Enable a Geekworm MZP280 panel.
|
||||
backlight-gpio Defines a GPIO to be used for backlight control
|
||||
(default of none).
|
||||
backlight-pwm Defines a PWM channel to be used for backlight
|
||||
control (default of none). NB Disables audio
|
||||
headphone output as that also uses PWM.
|
||||
backlight-pwm-chan Choose channel on &pwm node for backlight
|
||||
control.
|
||||
(default 0).
|
||||
backlight-pwm-gpio GPIO pin to be used for the PWM backlight. See
|
||||
pwm-2chan for valid options.
|
||||
(default 18 - note this can only work with
|
||||
rgb666-padhi).
|
||||
backlight-pwm-func Pin function of GPIO used for the PWM
|
||||
backlight.
|
||||
See pwm-2chan for valid options.
|
||||
(default 2).
|
||||
backlight-def-brightness
|
||||
Set the default brightness. Normal range 1-16.
|
||||
(default 16).
|
||||
rotate Display rotation {0,90,180,270} (default 0)
|
||||
|
||||
|
||||
Name: vc4-kms-dsi-7inch
|
||||
@@ -3723,8 +3626,10 @@ Params: <None>
|
||||
|
||||
|
||||
Name: vc4-kms-kippah-7inch
|
||||
Info: This overlay is now deprecated - see vc4-kms-dpi-panel,kippah-7inch
|
||||
Load: <Deprecated>
|
||||
Info: Enable the Adafruit DPI Kippah with the 7" Ontat panel attached.
|
||||
Requires vc4-kms-v3d to be loaded.
|
||||
Load: dtoverlay=vc4-kms-kippah-7inch
|
||||
Params: <None>
|
||||
|
||||
|
||||
Name: vc4-kms-v3d
|
||||
@@ -3788,14 +3693,6 @@ Load: dtoverlay=vga666
|
||||
Params: <None>
|
||||
|
||||
|
||||
Name: vl805
|
||||
Info: Overlay to enable a VIA VL805 USB3 controller on CM4 carriers
|
||||
Will be loaded automatically by up-to-date firmware if "VL805=1" is
|
||||
set in the EEPROM config.
|
||||
Load: dtoverlay=vl805
|
||||
Params: <None>
|
||||
|
||||
|
||||
Name: w1-gpio
|
||||
Info: Configures the w1-gpio Onewire interface module.
|
||||
Use this overlay if you *don't* need a GPIO to drive an external pullup.
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2711";
|
||||
|
||||
fragment@0 {
|
||||
target=<&dsi1>;
|
||||
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port {
|
||||
dsi1_out_port: endpoint {
|
||||
remote-endpoint = <&panel_dsi_in1>;
|
||||
};
|
||||
};
|
||||
|
||||
display1: panel@0 {
|
||||
compatible = "nwe,nwe080";
|
||||
reg=<0>;
|
||||
backlight = <&rpi_backlight>;
|
||||
reset-gpios = <&gpio 20 0>;
|
||||
port {
|
||||
panel_dsi_in1: endpoint {
|
||||
remote-endpoint = <&dsi1_out_port>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&gpio>;
|
||||
__overlay__ {
|
||||
pwm_pins: pwm_pins {
|
||||
brcm,pins = <12>;
|
||||
brcm,function = <4>; // ALT0
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target = <&pwm>;
|
||||
frag1: __overlay__ {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm_pins>;
|
||||
assigned-clock-rates = <1000000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@3 {
|
||||
target-path = "/";
|
||||
__overlay__ {
|
||||
rpi_backlight: rpi_backlight {
|
||||
compatible = "pwm-backlight";
|
||||
brightness-levels = <0 6 8 12 16 24 32 40 48 64 96 128 160 192 224 255>;
|
||||
default-brightness-level = <6>;
|
||||
pwms = <&pwm 0 200000>;
|
||||
power-supply = <&vdd_3v3_reg>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@4 {
|
||||
target = <&i2c6>;
|
||||
frag0: __overlay__ {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c6_pins>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
};
|
||||
|
||||
fragment@5 {
|
||||
target = <&i2c6_pins>;
|
||||
__overlay__ {
|
||||
brcm,pins = <22 23>;
|
||||
};
|
||||
};
|
||||
|
||||
fragment@6 {
|
||||
target = <&gpio>;
|
||||
__overlay__ {
|
||||
goodix_pins: goodix_pins {
|
||||
brcm,pins = <21 26>; // interrupt and reset
|
||||
brcm,function = <0 0>; // in
|
||||
brcm,pull = <2 2>; // pull-up
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@7 {
|
||||
target = <&i2c6>;
|
||||
__overlay__ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
gt9xx: gt9xx@5d {
|
||||
compatible = "goodix,gt9271";
|
||||
reg = <0x5D>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&goodix_pins>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <21 2>; // high-to-low edge triggered
|
||||
irq-gpios = <&gpio 21 0>;
|
||||
reset-gpios = <&gpio 26 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -291,30 +291,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
fragment@19 {
|
||||
target = <&i2c_arm>;
|
||||
__dormant__ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
max30102: max30102@57 {
|
||||
compatible = "maxim,max30102";
|
||||
reg = <0x57>;
|
||||
maxim,red-led-current-microamp = <7000>;
|
||||
maxim,ir-led-current-microamp = <7000>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <4 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0",
|
||||
<&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0",
|
||||
<&ds1621>,"reg:0", <&bme680>,"reg:0", <&ccs811>,"reg:0",
|
||||
<&bh1750>,"reg:0";
|
||||
int_pin = <&max30102>, "interrupts:0";
|
||||
bme280 = <0>,"+0";
|
||||
bmp085 = <0>,"+1";
|
||||
bmp180 = <0>,"+2";
|
||||
@@ -335,6 +316,5 @@
|
||||
sgp30 = <0>,"+16";
|
||||
ccs811 = <0>, "+17";
|
||||
bh1750 = <0>, "+18";
|
||||
max30102 = <0>,"+19";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,28 +9,6 @@
|
||||
compatible = "brcm,bcm2835";
|
||||
|
||||
fragment@0 {
|
||||
target = <&i2c0if>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
clk_frag: fragment@1 {
|
||||
target = <&cam1_clk>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target = <&i2c0mux>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
i2c_frag: fragment@100 {
|
||||
target = <&i2c_csi_dsi>;
|
||||
__overlay__ {
|
||||
#address-cells = <1>;
|
||||
@@ -42,19 +20,19 @@
|
||||
reg = <0x10>;
|
||||
status = "okay";
|
||||
|
||||
clocks = <&cam1_clk>;
|
||||
clocks = <&imx219_clk>;
|
||||
clock-names = "xclk";
|
||||
|
||||
VANA-supply = <&cam1_reg>; /* 2.8v */
|
||||
VDIG-supply = <&cam_dummy_reg>; /* 1.8v */
|
||||
VDDL-supply = <&cam_dummy_reg>; /* 1.2v */
|
||||
VDIG-supply = <&imx219_vdig>; /* 1.8v */
|
||||
VDDL-supply = <&imx219_vddl>; /* 1.2v */
|
||||
|
||||
rotation = <180>;
|
||||
orientation = <2>;
|
||||
|
||||
port {
|
||||
imx219_0: endpoint {
|
||||
remote-endpoint = <&csi_ep>;
|
||||
remote-endpoint = <&csi1_ep>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
clock-noncontinuous;
|
||||
@@ -66,14 +44,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
csi_frag: fragment@101 {
|
||||
fragment@1 {
|
||||
target = <&csi1>;
|
||||
csi: __overlay__ {
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
brcm,media-controller;
|
||||
|
||||
port {
|
||||
csi_ep: endpoint {
|
||||
csi1_ep: endpoint {
|
||||
remote-endpoint = <&imx219_0>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
@@ -83,14 +60,64 @@
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target = <&i2c0if>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@3 {
|
||||
target-path="/";
|
||||
__overlay__ {
|
||||
imx219_vdig: fixedregulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "imx219_vdig";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
imx219_vddl: fixedregulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "imx219_vddl";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
imx219_clk: camera-clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@4 {
|
||||
target = <&i2c0mux>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@5 {
|
||||
target = <&cam1_reg>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
regulator-name = "imx219_vana";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
};
|
||||
|
||||
fragment@6 {
|
||||
target = <&csi1>;
|
||||
__overlay__ {
|
||||
brcm,media-controller;
|
||||
};
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
rotation = <&imx219>,"rotation:0";
|
||||
orientation = <&imx219>,"orientation:0";
|
||||
media-controller = <&csi>,"brcm,media-controller?";
|
||||
cam0 = <&i2c_frag>, "target:0=",<&i2c_vc>,
|
||||
<&csi_frag>, "target:0=",<&csi0>,
|
||||
<&clk_frag>, "target:0=",<&cam0_clk>,
|
||||
<&imx219>, "clocks:0=",<&cam0_clk>,
|
||||
<&imx219>, "VANA-supply:0=",<&cam0_reg>;
|
||||
media-controller = <0>,"=6";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/{
|
||||
compatible = "brcm,bcm2835";
|
||||
|
||||
i2c_frag: fragment@0 {
|
||||
fragment@0 {
|
||||
target = <&i2c_csi_dsi>;
|
||||
__overlay__ {
|
||||
#address-cells = <1>;
|
||||
@@ -20,7 +20,7 @@
|
||||
reg = <0x1a>;
|
||||
status = "okay";
|
||||
|
||||
clocks = <&cam1_clk>;
|
||||
clocks = <&imx290_clk>;
|
||||
clock-names = "xclk";
|
||||
clock-frequency = <37125000>;
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
orientation = <2>;
|
||||
|
||||
vdda-supply = <&cam1_reg>; /* 2.8v */
|
||||
vdddo-supply = <&cam_dummy_reg>; /* 1.8v */
|
||||
vddd-supply = <&cam_dummy_reg>; /* 1.5v */
|
||||
vdddo-supply = <&imx290_vdddo>; /* 1.8v */
|
||||
vddd-supply = <&imx290_vddd>; /* 1.5v */
|
||||
|
||||
port {
|
||||
imx290_0: endpoint {
|
||||
@@ -41,11 +41,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
csi_frag: fragment@1 {
|
||||
fragment@1 {
|
||||
target = <&csi1>;
|
||||
csi: __overlay__ {
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
brcm,media-controller;
|
||||
|
||||
port {
|
||||
csi1_ep: endpoint {
|
||||
@@ -62,11 +61,27 @@
|
||||
};
|
||||
};
|
||||
|
||||
clk_frag: fragment@3 {
|
||||
target = <&cam1_clk>;
|
||||
cam_clk: __overlay__ {
|
||||
status = "okay";
|
||||
clock-frequency = <37125000>;
|
||||
fragment@3 {
|
||||
target-path="/";
|
||||
__overlay__ {
|
||||
imx290_vdddo: fixedregulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "imx290_vdddo";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
imx290_vddd: fixedregulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "imx290_vddd";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
};
|
||||
|
||||
imx290_clk: camera-clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <37125000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -77,6 +92,16 @@
|
||||
};
|
||||
};
|
||||
|
||||
fragment@5 {
|
||||
target = <&cam1_reg>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
regulator-name = "imx290_vdda";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
};
|
||||
|
||||
fragment@6 {
|
||||
target = <&imx290_0>;
|
||||
__overlay__ {
|
||||
@@ -109,17 +134,19 @@
|
||||
};
|
||||
};
|
||||
|
||||
fragment@10 {
|
||||
target = <&csi1>;
|
||||
__overlay__ {
|
||||
brcm,media-controller;
|
||||
};
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
4lane = <0>, "-6+7-8+9";
|
||||
clock-frequency = <&cam_clk>,"clock-frequency:0",
|
||||
clock-frequency = <&imx290_clk>,"clock-frequency:0",
|
||||
<&imx290>,"clock-frequency:0";
|
||||
rotation = <&imx290>,"rotation:0";
|
||||
orientation = <&imx290>,"orientation:0";
|
||||
media-controller = <&csi>,"brcm,media-controller?";
|
||||
cam0 = <&i2c_frag>, "target:0=",<&i2c_vc>,
|
||||
<&csi_frag>, "target:0=",<&csi0>,
|
||||
<&clk_frag>, "target:0=",<&cam0_clk>,
|
||||
<&imx290>, "clocks:0=",<&cam0_clk>,
|
||||
<&imx290>, "vdda-supply:0=",<&cam0_reg>;
|
||||
media-controller = <0>,"=10";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -4,36 +4,7 @@
|
||||
/{
|
||||
compatible = "brcm,bcm2835";
|
||||
|
||||
fragment@2 {
|
||||
target = <&i2c0if>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
clk_frag: fragment@3 {
|
||||
target = <&cam1_clk>;
|
||||
cam_clk: __overlay__ {
|
||||
clock-frequency = <24000000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@4 {
|
||||
target = <&i2c0mux>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
reg_frag: fragment@5 {
|
||||
target = <&cam1_reg>;
|
||||
cam_reg: __overlay__ {
|
||||
startup-delay-us = <300000>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c_frag: fragment@100 {
|
||||
fragment@0 {
|
||||
target = <&i2c_csi_dsi>;
|
||||
__overlay__ {
|
||||
#address-cells = <1>;
|
||||
@@ -44,19 +15,19 @@
|
||||
reg = <0x1a>;
|
||||
status = "okay";
|
||||
|
||||
clocks = <&cam1_clk>;
|
||||
clocks = <&imx477_clk>;
|
||||
clock-names = "xclk";
|
||||
|
||||
VANA-supply = <&cam1_reg>; /* 2.8v */
|
||||
VDIG-supply = <&cam_dummy_reg>; /* 1.05v */
|
||||
VDDL-supply = <&cam_dummy_reg>; /* 1.8v */
|
||||
VDIG-supply = <&imx477_vdig>; /* 1.05v */
|
||||
VDDL-supply = <&imx477_vddl>; /* 1.8v */
|
||||
|
||||
rotation = <180>;
|
||||
orientation = <2>;
|
||||
|
||||
port {
|
||||
imx477_0: endpoint {
|
||||
remote-endpoint = <&csi_ep>;
|
||||
remote-endpoint = <&csi1_ep>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
clock-noncontinuous;
|
||||
@@ -68,14 +39,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
csi_frag: fragment@101 {
|
||||
fragment@1 {
|
||||
target = <&csi1>;
|
||||
csi: __overlay__ {
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
brcm,media-controller;
|
||||
|
||||
port {
|
||||
csi_ep: endpoint {
|
||||
csi1_ep: endpoint {
|
||||
remote-endpoint = <&imx477_0>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
@@ -85,15 +55,64 @@
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target = <&i2c0if>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@3 {
|
||||
target-path="/";
|
||||
__overlay__ {
|
||||
imx477_vdig: fixedregulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "imx477_vdig";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
imx477_vddl: fixedregulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "imx477_vddl";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
imx477_clk: camera-clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@4 {
|
||||
target = <&i2c0mux>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@5 {
|
||||
target = <&cam1_reg>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
regulator-name = "imx477_vana";
|
||||
startup-delay-us = <300000>;
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
};
|
||||
|
||||
fragment@6 {
|
||||
target = <&csi1>;
|
||||
__overlay__ {
|
||||
brcm,media-controller;
|
||||
};
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
rotation = <&imx477>,"rotation:0";
|
||||
orientation = <&imx477>,"orientation:0";
|
||||
media-controller = <&csi>,"brcm,media-controller?";
|
||||
cam0 = <&i2c_frag>, "target:0=",<&i2c_vc>,
|
||||
<&csi_frag>, "target:0=",<&csi0>,
|
||||
<&clk_frag>, "target:0=",<&cam0_clk>,
|
||||
<®_frag>, "target:0=",<&cam0_reg>,
|
||||
<&imx477>, "clocks:0=",<&cam0_clk>,
|
||||
<&imx477>, "vdda-supply:0=",<&cam0_reg>;
|
||||
media-controller = <0>,"=6";
|
||||
};
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user