mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-27 04:22:58 +00:00
Compare commits
1 Commits
1.20220118
...
stable_202
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7136c8f9c8 |
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."
|
||||
|
||||
@@ -3003,10 +3003,10 @@
|
||||
65 = /dev/infiniband/issm1 Second InfiniBand IsSM device
|
||||
...
|
||||
127 = /dev/infiniband/issm63 63rd InfiniBand IsSM device
|
||||
192 = /dev/infiniband/uverbs0 First InfiniBand verbs device
|
||||
193 = /dev/infiniband/uverbs1 Second InfiniBand verbs device
|
||||
128 = /dev/infiniband/uverbs0 First InfiniBand verbs device
|
||||
129 = /dev/infiniband/uverbs1 Second InfiniBand verbs device
|
||||
...
|
||||
223 = /dev/infiniband/uverbs31 31st InfiniBand verbs device
|
||||
159 = /dev/infiniband/uverbs31 31st InfiniBand verbs device
|
||||
|
||||
232 char Biometric Devices
|
||||
0 = /dev/biometric/sensor0/fingerprint first fingerprint sensor on first device
|
||||
|
||||
@@ -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).
|
||||
@@ -5994,13 +5988,6 @@
|
||||
improve timer resolution at the expense of processing
|
||||
more timer interrupts.
|
||||
|
||||
xen.balloon_boot_timeout= [XEN]
|
||||
The time (in seconds) to wait before giving up to boot
|
||||
in case initial ballooning fails to free enough memory.
|
||||
Applies only when running as HVM or PVH guest and
|
||||
started with less memory configured than allowed at
|
||||
max. Default is 180.
|
||||
|
||||
xen.event_eoi_delay= [XEN]
|
||||
How long to delay EOI handling in case of event
|
||||
storms (jiffies). Default is 10.
|
||||
|
||||
@@ -1457,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
|
||||
========
|
||||
|
||||
@@ -54,7 +54,7 @@ properties:
|
||||
- const: toradex,apalis_t30
|
||||
- const: nvidia,tegra30
|
||||
- items:
|
||||
- const: toradex,apalis_t30-v1.1-eval
|
||||
- const: toradex,apalis_t30-eval-v1.1
|
||||
- const: toradex,apalis_t30-eval
|
||||
- const: toradex,apalis_t30-v1.1
|
||||
- const: toradex,apalis_t30
|
||||
|
||||
@@ -18,7 +18,7 @@ properties:
|
||||
const: ti,sn65dsi86
|
||||
|
||||
reg:
|
||||
enum: [ 0x2c, 0x2d ]
|
||||
const: 0x2d
|
||||
|
||||
enable-gpios:
|
||||
maxItems: 1
|
||||
|
||||
@@ -122,7 +122,7 @@ on various other factors also like;
|
||||
so the device should have enough free bytes available its OOB/Spare
|
||||
area to accommodate ECC for entire page. In general following expression
|
||||
helps in determining if given device can accommodate ECC syndrome:
|
||||
"2 + (PAGESIZE / 512) * ECC_BYTES" <= OOBSIZE"
|
||||
"2 + (PAGESIZE / 512) * ECC_BYTES" >= OOBSIZE"
|
||||
where
|
||||
OOBSIZE number of bytes in OOB/spare area
|
||||
PAGESIZE number of bytes in main-area of device page
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -43,19 +43,19 @@ group emmc_nb
|
||||
|
||||
group pwm0
|
||||
- pin 11 (GPIO1-11)
|
||||
- functions pwm, led, gpio
|
||||
- functions pwm, gpio
|
||||
|
||||
group pwm1
|
||||
- pin 12
|
||||
- functions pwm, led, gpio
|
||||
- functions pwm, gpio
|
||||
|
||||
group pwm2
|
||||
- pin 13
|
||||
- functions pwm, led, gpio
|
||||
- functions pwm, gpio
|
||||
|
||||
group pwm3
|
||||
- pin 14
|
||||
- functions pwm, led, gpio
|
||||
- functions pwm, gpio
|
||||
|
||||
group pmic1
|
||||
- pin 7
|
||||
|
||||
@@ -13,14 +13,6 @@ common regulator binding documented in:
|
||||
|
||||
|
||||
Required properties of the main device node (the parent!):
|
||||
- s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
|
||||
for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
|
||||
|
||||
[1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
|
||||
property is specified, then all the eight voltage values for the
|
||||
's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
|
||||
|
||||
Optional properties of the main device node (the parent!):
|
||||
- s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
|
||||
units for buck2 when changing voltage using gpio dvs. Refer to [1] below
|
||||
for additional information.
|
||||
@@ -33,13 +25,26 @@ Optional properties of the main device node (the parent!):
|
||||
units for buck4 when changing voltage using gpio dvs. Refer to [1] below
|
||||
for additional information.
|
||||
|
||||
- s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
|
||||
for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
|
||||
|
||||
[1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
|
||||
property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage'
|
||||
property should specify atleast one voltage level (which would be a
|
||||
safe operating voltage).
|
||||
|
||||
If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
|
||||
property is specified, then all the eight voltage values for the
|
||||
's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
|
||||
|
||||
Optional properties of the main device node (the parent!):
|
||||
- s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
|
||||
- s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
|
||||
- s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.
|
||||
|
||||
Additional properties required if either of the optional properties are used:
|
||||
|
||||
- s5m8767,pmic-buck-default-dvs-idx: Default voltage setting selected from
|
||||
- s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from
|
||||
the possible 8 options selectable by the dvs gpios. The value of this
|
||||
property should be between 0 and 7. If not specified or if out of range, the
|
||||
default value of this property is set to 0.
|
||||
|
||||
@@ -29,7 +29,7 @@ recur_count
|
||||
cpoint_name
|
||||
Where in the kernel to trigger the action. It can be
|
||||
one of INT_HARDWARE_ENTRY, INT_HW_IRQ_EN, INT_TASKLET_ENTRY,
|
||||
FS_DEVRW, MEM_SWAPOUT, TIMERADD, SCSI_QUEUE_RQ,
|
||||
FS_DEVRW, MEM_SWAPOUT, TIMERADD, SCSI_DISPATCH_CMD,
|
||||
IDE_CORE_CP, or DIRECT
|
||||
|
||||
cpoint_type
|
||||
|
||||
@@ -176,11 +176,11 @@ Master Keys
|
||||
|
||||
Each encrypted directory tree is protected by a *master key*. Master
|
||||
keys can be up to 64 bytes long, and must be at least as long as the
|
||||
greater of the security strength of the contents and filenames
|
||||
encryption modes being used. For example, if any AES-256 mode is
|
||||
used, the master key must be at least 256 bits, i.e. 32 bytes. A
|
||||
stricter requirement applies if the key is used by a v1 encryption
|
||||
policy and AES-256-XTS is used; such keys must be 64 bytes.
|
||||
greater of the key length needed by the contents and filenames
|
||||
encryption modes being used. For example, if AES-256-XTS is used for
|
||||
contents encryption, the master key must be 64 bytes (512 bits). Note
|
||||
that the XTS mode is defined to require a key twice as long as that
|
||||
required by the underlying block cipher.
|
||||
|
||||
To "unlock" an encrypted directory tree, userspace must provide the
|
||||
appropriate master key. There can be any number of master keys, each
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -37,7 +37,8 @@ conn_reuse_mode - INTEGER
|
||||
|
||||
0: disable any special handling on port reuse. The new
|
||||
connection will be delivered to the same real server that was
|
||||
servicing the previous connection.
|
||||
servicing the previous connection. This will effectively
|
||||
disable expire_nodest_conn.
|
||||
|
||||
bit 1: enable rescheduling of new connections when it is safe.
|
||||
That is, whenever expire_nodest_conn and for TCP sockets, when
|
||||
|
||||
@@ -326,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
|
||||
======
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
2
Makefile
2
Makefile
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 5
|
||||
PATCHLEVEL = 10
|
||||
SUBLEVEL = 92
|
||||
SUBLEVEL = 63
|
||||
EXTRAVERSION =
|
||||
NAME = Dare mighty things
|
||||
|
||||
|
||||
@@ -1026,9 +1026,6 @@ config RELR
|
||||
config ARCH_HAS_MEM_ENCRYPT
|
||||
bool
|
||||
|
||||
config ARCH_HAS_CC_PLATFORM
|
||||
bool
|
||||
|
||||
config HAVE_SPARSE_SYSCALL_NR
|
||||
bool
|
||||
help
|
||||
|
||||
@@ -60,7 +60,7 @@ extern inline void set_hae(unsigned long new_hae)
|
||||
* Change virtual addresses to physical addresses and vv.
|
||||
*/
|
||||
#ifdef USE_48_BIT_KSEG
|
||||
static inline unsigned long virt_to_phys(volatile void *address)
|
||||
static inline unsigned long virt_to_phys(void *address)
|
||||
{
|
||||
return (unsigned long)address - IDENT_ADDR;
|
||||
}
|
||||
@@ -70,7 +70,7 @@ static inline void * phys_to_virt(unsigned long address)
|
||||
return (void *) (address + IDENT_ADDR);
|
||||
}
|
||||
#else
|
||||
static inline unsigned long virt_to_phys(volatile void *address)
|
||||
static inline unsigned long virt_to_phys(void *address)
|
||||
{
|
||||
unsigned long phys = (unsigned long)address;
|
||||
|
||||
@@ -106,7 +106,7 @@ static inline void * phys_to_virt(unsigned long address)
|
||||
extern unsigned long __direct_map_base;
|
||||
extern unsigned long __direct_map_size;
|
||||
|
||||
static inline unsigned long __deprecated virt_to_bus(volatile void *address)
|
||||
static inline unsigned long __deprecated virt_to_bus(void *address)
|
||||
{
|
||||
unsigned long phys = virt_to_phys(address);
|
||||
unsigned long bus = phys + __direct_map_base;
|
||||
|
||||
@@ -1123,7 +1123,7 @@ void clear_user_page(void *to, unsigned long u_vaddr, struct page *page)
|
||||
clear_page(to);
|
||||
clear_bit(PG_dc_clean, &page->flags);
|
||||
}
|
||||
EXPORT_SYMBOL(clear_user_page);
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Explicit Cache flush request from user space via syscall
|
||||
|
||||
@@ -87,7 +87,6 @@ config ARM
|
||||
select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
|
||||
select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
|
||||
select HAVE_FUNCTION_TRACER if !XIP_KERNEL
|
||||
select HAVE_FUTEX_CMPXCHG if FUTEX
|
||||
select HAVE_GCC_PLUGINS
|
||||
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
|
||||
select HAVE_IDE if PCI || ISA || PCMCIA
|
||||
@@ -245,7 +244,7 @@ config ARM_PATCH_PHYS_VIRT
|
||||
kernel in system memory.
|
||||
|
||||
This can only be used with non-XIP MMU kernels where the base
|
||||
of physical memory is at a 2 MiB boundary.
|
||||
of physical memory is at a 16MB boundary.
|
||||
|
||||
Only disable this option if you know that you do not require
|
||||
this feature (eg, building a kernel for a single machine) and
|
||||
|
||||
@@ -60,15 +60,15 @@ KBUILD_CFLAGS += $(call cc-option,-fno-ipa-sra)
|
||||
# Note that GCC does not numerically define an architecture version
|
||||
# macro, but instead defines a whole series of macros which makes
|
||||
# testing for a specific architecture or later rather impossible.
|
||||
arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m
|
||||
arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 -march=armv7-a
|
||||
arch-$(CONFIG_CPU_32v6) =-D__LINUX_ARM_ARCH__=6 -march=armv6
|
||||
arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
|
||||
arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
|
||||
arch-$(CONFIG_CPU_32v6) =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
|
||||
# Only override the compiler option if ARMv6. The ARMv6K extensions are
|
||||
# always available in ARMv7
|
||||
ifeq ($(CONFIG_CPU_32v6),y)
|
||||
arch-$(CONFIG_CPU_32v6K) =-D__LINUX_ARM_ARCH__=6 -march=armv6k
|
||||
arch-$(CONFIG_CPU_32v6K) =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6k,-march=armv5t -Wa$(comma)-march=armv6k)
|
||||
endif
|
||||
arch-$(CONFIG_CPU_32v5) =-D__LINUX_ARM_ARCH__=5 -march=armv5te
|
||||
arch-$(CONFIG_CPU_32v5) =-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4t)
|
||||
arch-$(CONFIG_CPU_32v4T) =-D__LINUX_ARM_ARCH__=4 -march=armv4t
|
||||
arch-$(CONFIG_CPU_32v4) =-D__LINUX_ARM_ARCH__=4 -march=armv4
|
||||
arch-$(CONFIG_CPU_32v3) =-D__LINUX_ARM_ARCH__=3 -march=armv3m
|
||||
@@ -82,7 +82,7 @@ tune-$(CONFIG_CPU_ARM720T) =-mtune=arm7tdmi
|
||||
tune-$(CONFIG_CPU_ARM740T) =-mtune=arm7tdmi
|
||||
tune-$(CONFIG_CPU_ARM9TDMI) =-mtune=arm9tdmi
|
||||
tune-$(CONFIG_CPU_ARM940T) =-mtune=arm9tdmi
|
||||
tune-$(CONFIG_CPU_ARM946E) =-mtune=arm9e
|
||||
tune-$(CONFIG_CPU_ARM946E) =$(call cc-option,-mtune=arm9e,-mtune=arm9tdmi)
|
||||
tune-$(CONFIG_CPU_ARM920T) =-mtune=arm9tdmi
|
||||
tune-$(CONFIG_CPU_ARM922T) =-mtune=arm9tdmi
|
||||
tune-$(CONFIG_CPU_ARM925T) =-mtune=arm9tdmi
|
||||
@@ -90,11 +90,11 @@ tune-$(CONFIG_CPU_ARM926T) =-mtune=arm9tdmi
|
||||
tune-$(CONFIG_CPU_FA526) =-mtune=arm9tdmi
|
||||
tune-$(CONFIG_CPU_SA110) =-mtune=strongarm110
|
||||
tune-$(CONFIG_CPU_SA1100) =-mtune=strongarm1100
|
||||
tune-$(CONFIG_CPU_XSCALE) =-mtune=xscale
|
||||
tune-$(CONFIG_CPU_XSC3) =-mtune=xscale
|
||||
tune-$(CONFIG_CPU_FEROCEON) =-mtune=xscale
|
||||
tune-$(CONFIG_CPU_V6) =-mtune=arm1136j-s
|
||||
tune-$(CONFIG_CPU_V6K) =-mtune=arm1136j-s
|
||||
tune-$(CONFIG_CPU_XSCALE) =$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale
|
||||
tune-$(CONFIG_CPU_XSC3) =$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale
|
||||
tune-$(CONFIG_CPU_FEROCEON) =$(call cc-option,-mtune=marvell-f,-mtune=xscale)
|
||||
tune-$(CONFIG_CPU_V6) =$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
tune-$(CONFIG_CPU_V6K) =$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
|
||||
# Evaluate tune cc-option calls now
|
||||
tune-y := $(tune-y)
|
||||
|
||||
@@ -84,8 +84,6 @@ compress-$(CONFIG_KERNEL_LZ4) = lz4
|
||||
libfdt_objs := fdt_rw.o fdt_ro.o fdt_wip.o fdt.o
|
||||
|
||||
ifeq ($(CONFIG_ARM_ATAG_DTB_COMPAT),y)
|
||||
CFLAGS_REMOVE_atags_to_fdt.o += -Wframe-larger-than=${CONFIG_FRAME_WARN}
|
||||
CFLAGS_atags_to_fdt.o += -Wframe-larger-than=1280
|
||||
OBJS += $(libfdt_objs) atags_to_fdt.o
|
||||
endif
|
||||
|
||||
|
||||
@@ -47,10 +47,7 @@ extern char * strchrnul(const char *, int);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_KERNEL_XZ
|
||||
/* Prevent KASAN override of string helpers in decompressor */
|
||||
#undef memmove
|
||||
#define memmove memmove
|
||||
#undef memcpy
|
||||
#define memcpy memcpy
|
||||
#include "../../../../lib/decompress_unxz.c"
|
||||
#endif
|
||||
|
||||
@@ -468,10 +468,15 @@ dtb_check_done:
|
||||
|
||||
/*
|
||||
* Compute the address of the hyp vectors after relocation.
|
||||
* This requires some arithmetic since we cannot directly
|
||||
* reference __hyp_stub_vectors in a PC-relative way.
|
||||
* Call __hyp_set_vectors with the new address so that we
|
||||
* can HVC again after the copy.
|
||||
*/
|
||||
adr_l r0, __hyp_stub_vectors
|
||||
0: adr r0, 0b
|
||||
movw r1, #:lower16:__hyp_stub_vectors - 0b
|
||||
movt r1, #:upper16:__hyp_stub_vectors - 0b
|
||||
add r0, r0, r1
|
||||
sub r0, r0, r5
|
||||
add r0, r0, r10
|
||||
bl __hyp_set_vectors
|
||||
@@ -622,11 +627,17 @@ not_relocated: mov r0, #0
|
||||
cmp r0, #HYP_MODE @ if not booted in HYP mode...
|
||||
bne __enter_kernel @ boot kernel directly
|
||||
|
||||
adr_l r0, __hyp_reentry_vectors
|
||||
adr r12, .L__hyp_reentry_vectors_offset
|
||||
ldr r0, [r12]
|
||||
add r0, r0, r12
|
||||
|
||||
bl __hyp_set_vectors
|
||||
__HVC(0) @ otherwise bounce to hyp mode
|
||||
|
||||
b . @ should never be reached
|
||||
|
||||
.align 2
|
||||
.L__hyp_reentry_vectors_offset: .long __hyp_reentry_vectors - .
|
||||
#else
|
||||
b __enter_kernel
|
||||
#endif
|
||||
|
||||
@@ -8,7 +8,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
|
||||
bcm2708-rpi-zero.dtb \
|
||||
bcm2708-rpi-zero-w.dtb \
|
||||
bcm2710-rpi-zero-2.dtb \
|
||||
bcm2710-rpi-zero-2-w.dtb \
|
||||
bcm2709-rpi-2-b.dtb \
|
||||
bcm2710-rpi-2-b.dtb \
|
||||
bcm2710-rpi-3-b.dtb \
|
||||
@@ -16,8 +15,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
|
||||
|
||||
@@ -208,12 +208,12 @@
|
||||
};
|
||||
|
||||
pinctrl_hvi3c3_default: hvi3c3_default {
|
||||
function = "I3C3";
|
||||
function = "HVI3C3";
|
||||
groups = "HVI3C3";
|
||||
};
|
||||
|
||||
pinctrl_hvi3c4_default: hvi3c4_default {
|
||||
function = "I3C4";
|
||||
function = "HVI3C4";
|
||||
groups = "HVI3C4";
|
||||
};
|
||||
|
||||
|
||||
@@ -336,7 +336,7 @@
|
||||
};
|
||||
|
||||
&shutdown_controller {
|
||||
debounce-delay-us = <976>;
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
atmel,wakeup-rtc-timer;
|
||||
|
||||
input@0 {
|
||||
|
||||
@@ -92,8 +92,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_leds>;
|
||||
status = "okay"; /* Conflict with pwm0. */
|
||||
|
||||
red {
|
||||
@@ -539,10 +537,6 @@
|
||||
AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA19 DAT2 periph A with pullup */
|
||||
AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA20 DAT3 periph A with pullup */
|
||||
};
|
||||
pinctrl_sdmmc0_cd: sdmmc0_cd {
|
||||
atmel,pins =
|
||||
<AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
};
|
||||
|
||||
sdmmc1 {
|
||||
@@ -575,14 +569,6 @@
|
||||
AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
pinctrl_gpio_leds: gpio_leds {
|
||||
atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
||||
AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
||||
AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
};
|
||||
}; /* pinctrl */
|
||||
|
||||
&pwm0 {
|
||||
@@ -594,7 +580,7 @@
|
||||
&sdmmc0 {
|
||||
bus-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
|
||||
pinctrl-0 = <&pinctrl_sdmmc0_default>;
|
||||
status = "okay";
|
||||
cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
|
||||
disable-wp;
|
||||
@@ -662,7 +648,7 @@
|
||||
};
|
||||
|
||||
&shutdown_controller {
|
||||
debounce-delay-us = <976>;
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
status = "okay";
|
||||
|
||||
input@0 {
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
isc: isc@f0008000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
qspi1: spi@f0024000 {
|
||||
@@ -137,7 +138,7 @@
|
||||
};
|
||||
|
||||
shdwc@f8048010 {
|
||||
debounce-delay-us = <976>;
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
atmel,wakeup-rtc-timer;
|
||||
|
||||
input@0 {
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
};
|
||||
|
||||
&shutdown_controller {
|
||||
debounce-delay-us = <976>;
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
atmel,wakeup-rtc-timer;
|
||||
|
||||
input@0 {
|
||||
|
||||
@@ -693,7 +693,7 @@
|
||||
};
|
||||
|
||||
&shutdown_controller {
|
||||
debounce-delay-us = <976>;
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
atmel,wakeup-rtc-timer;
|
||||
|
||||
input@0 {
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
};
|
||||
|
||||
shdwc@f8048010 {
|
||||
debounce-delay-us = <976>;
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
|
||||
input@0 {
|
||||
reg = <0>;
|
||||
|
||||
@@ -347,7 +347,7 @@
|
||||
};
|
||||
|
||||
shdwc@f8048010 {
|
||||
debounce-delay-us = <976>;
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
atmel,wakeup-rtc-timer;
|
||||
|
||||
input@0 {
|
||||
|
||||
@@ -57,8 +57,6 @@
|
||||
};
|
||||
|
||||
spi0: spi@f0004000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi0_cs>;
|
||||
cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -171,8 +169,6 @@
|
||||
};
|
||||
|
||||
spi1: spi@f8008000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi1_cs>;
|
||||
cs-gpios = <&pioC 25 0>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -252,26 +248,6 @@
|
||||
<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
||||
AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
|
||||
pinctrl_gpio_leds: gpio_leds_default {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
||||
AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
|
||||
pinctrl_spi0_cs: spi0_cs_default {
|
||||
atmel,pins =
|
||||
<AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
||||
AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
|
||||
pinctrl_spi1_cs: spi1_cs_default {
|
||||
atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
|
||||
pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default {
|
||||
atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -363,8 +339,6 @@
|
||||
|
||||
vcc_mmc0_reg: fixedregulator_mmc0 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
|
||||
gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
|
||||
regulator-name = "mmc0-card-supply";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
@@ -388,9 +362,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_leds>;
|
||||
status = "okay";
|
||||
|
||||
d2 {
|
||||
label = "d2";
|
||||
|
||||
@@ -90,8 +90,6 @@
|
||||
};
|
||||
|
||||
spi1: spi@fc018000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi0_cs>;
|
||||
cs-gpios = <&pioB 21 0>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -149,19 +147,6 @@
|
||||
atmel,pins =
|
||||
<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
|
||||
};
|
||||
pinctrl_spi0_cs: spi0_cs_default {
|
||||
atmel,pins =
|
||||
<AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
pinctrl_gpio_leds: gpio_leds_default {
|
||||
atmel,pins =
|
||||
<AT91_PIOD 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
||||
AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
pinctrl_vcc_mmc1_reg: vcc_mmc1_reg {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -267,8 +252,6 @@
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_leds>;
|
||||
status = "okay";
|
||||
|
||||
d8 {
|
||||
@@ -295,8 +278,6 @@
|
||||
|
||||
vcc_mmc1_reg: fixedregulator_mmc1 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_vcc_mmc1_reg>;
|
||||
gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
|
||||
regulator-name = "VDD MCI1";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
&macb1 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "rmii";
|
||||
phy-mode = "rgmii";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
interrupt-affinity = <&cpu0>, <&cpu1>;
|
||||
};
|
||||
|
||||
mpcore-bus@19000000 {
|
||||
mpcore@19000000 {
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x00000000 0x19000000 0x00023000>;
|
||||
#address-cells = <1>;
|
||||
@@ -219,7 +219,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdio: mmc@21000 {
|
||||
sdio: sdhci@21000 {
|
||||
compatible = "brcm,sdhci-iproc-cygnus";
|
||||
reg = <0x21000 0x100>;
|
||||
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
@@ -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";
|
||||
@@ -82,13 +83,6 @@
|
||||
pinctrl-0 = <&sdio_pins>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
@@ -166,9 +160,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";
|
||||
|
||||
@@ -65,6 +65,12 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
vcsm: vcsm {
|
||||
compatible = "raspberrypi,bcm2835-vcsm";
|
||||
firmware = <&firmware>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* External sound card */
|
||||
sound: sound {
|
||||
status = "disabled";
|
||||
@@ -142,14 +148,7 @@
|
||||
/* Onboard audio */
|
||||
audio: bcm2835_audio {
|
||||
compatible = "brcm,bcm2835-audio";
|
||||
brcm,firmware = <&firmware>;
|
||||
brcm,pwm-channels = <8>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&firmware {
|
||||
vcio: vcio {
|
||||
compatible = "raspberrypi,vcio";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
@@ -222,28 +189,6 @@
|
||||
20 21>;
|
||||
brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
};
|
||||
dpi_16bit_gpio0: dpi_16bit_gpio0 {
|
||||
brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
|
||||
12 13 14 15 16 17 18 19>;
|
||||
brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
};
|
||||
dpi_16bit_gpio2: dpi_16bit_gpio2 {
|
||||
brcm,pins = <2 3 4 5 6 7 8 9 10 11
|
||||
12 13 14 15 16 17 18 19>;
|
||||
brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
};
|
||||
dpi_16bit_cpadhi_gpio0: dpi_16bit_cpadhi_gpio0 {
|
||||
brcm,pins = <0 1 2 3 4 5 6 7 8
|
||||
12 13 14 15 16 17
|
||||
20 21 22 23 24>;
|
||||
brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
};
|
||||
dpi_16bit_cpadhi_gpio2: dpi_16bit_cpadhi_gpio2 {
|
||||
brcm,pins = <2 3 4 5 6 7 8
|
||||
12 13 14 15 16 17
|
||||
20 21 22 23 24>;
|
||||
brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
@@ -263,7 +208,6 @@
|
||||
bus-width = <4>;
|
||||
brcm,overclock-50 = <0>;
|
||||
brcm,pio-limit = <1>;
|
||||
firmware = <&firmware>;
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
|
||||
@@ -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";
|
||||
@@ -83,13 +84,6 @@
|
||||
pinctrl-0 = <&sdio_pins>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
};
|
||||
};
|
||||
|
||||
&firmware {
|
||||
@@ -187,9 +181,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";
|
||||
@@ -83,13 +84,6 @@
|
||||
pinctrl-0 = <&sdio_pins>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
@@ -196,9 +190,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";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,199 +0,0 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "bcm2710.dtsi"
|
||||
#include "bcm2709-rpi.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
#include "bcm2708-rpi-bt.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,model-zero-2-w", "brcm,bcm2837";
|
||||
model = "Raspberry Pi Zero 2 W";
|
||||
|
||||
chosen {
|
||||
bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1";
|
||||
};
|
||||
|
||||
aliases {
|
||||
serial0 = &uart1;
|
||||
serial1 = &uart0;
|
||||
mmc1 = &mmcnr;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
spi0_pins: spi0_pins {
|
||||
brcm,pins = <9 10 11>;
|
||||
brcm,function = <4>; /* alt0 */
|
||||
};
|
||||
|
||||
spi0_cs_pins: spi0_cs_pins {
|
||||
brcm,pins = <8 7>;
|
||||
brcm,function = <1>; /* output */
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0 {
|
||||
brcm,pins = <0 1>;
|
||||
brcm,function = <4>;
|
||||
};
|
||||
|
||||
i2c1_pins: i2c1 {
|
||||
brcm,pins = <2 3>;
|
||||
brcm,function = <4>;
|
||||
};
|
||||
|
||||
i2s_pins: i2s {
|
||||
brcm,pins = <18 19 20 21>;
|
||||
brcm,function = <4>; /* alt0 */
|
||||
};
|
||||
|
||||
sdio_pins: sdio_pins {
|
||||
brcm,pins = <34 35 36 37 38 39>;
|
||||
brcm,function = <7>; // alt3 = SD1
|
||||
brcm,pull = <0 2 2 2 2 2>;
|
||||
};
|
||||
|
||||
bt_pins: bt_pins {
|
||||
brcm,pins = <43>;
|
||||
brcm,function = <4>; /* alt0:GPCLK2 */
|
||||
brcm,pull = <0>;
|
||||
};
|
||||
|
||||
uart0_pins: uart0_pins {
|
||||
brcm,pins = <30 31 32 33>;
|
||||
brcm,function = <7>; /* alt3=UART0 */
|
||||
brcm,pull = <2 0 0 2>; /* up none none up */
|
||||
};
|
||||
|
||||
uart1_pins: uart1_pins {
|
||||
brcm,pins;
|
||||
brcm,function;
|
||||
brcm,pull;
|
||||
};
|
||||
|
||||
audio_pins: audio_pins {
|
||||
brcm,pins = <>;
|
||||
brcm,function = <>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmcnr {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdio_pins>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
|
||||
firmwares {
|
||||
fw_43436p {
|
||||
chipid = <43430>;
|
||||
revmask = <4>;
|
||||
fw_base = "brcm/brcmfmac43436-sdio";
|
||||
};
|
||||
fw_43436s {
|
||||
chipid = <43430>;
|
||||
revmask = <2>;
|
||||
fw_base = "brcm/brcmfmac43436s-sdio";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins &bt_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_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>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0if {
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2s {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2s_pins>;
|
||||
};
|
||||
|
||||
&leds {
|
||||
act_led: led-act {
|
||||
label = "led0";
|
||||
linux,default-trigger = "actpwr";
|
||||
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&audio {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&audio_pins>;
|
||||
brcm,disable-headphones = <1>;
|
||||
};
|
||||
|
||||
&bt {
|
||||
shutdown-gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&minibt {
|
||||
shutdown-gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&cam1_reg {
|
||||
gpio = <&gpio 40 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
act_led_activelow = <&act_led>,"gpios:8";
|
||||
act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||
};
|
||||
};
|
||||
@@ -1 +1,177 @@
|
||||
#include "bcm2710-rpi-zero-2-w.dts"
|
||||
/dts-v1/;
|
||||
|
||||
#include "bcm2710.dtsi"
|
||||
#include "bcm2709-rpi.dtsi"
|
||||
#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", "brcm,bcm2837";
|
||||
model = "Raspberry Pi Zero 2";
|
||||
|
||||
chosen {
|
||||
bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1";
|
||||
};
|
||||
|
||||
aliases {
|
||||
serial0 = &uart1;
|
||||
serial1 = &uart0;
|
||||
mmc1 = &mmcnr;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
spi0_pins: spi0_pins {
|
||||
brcm,pins = <9 10 11>;
|
||||
brcm,function = <4>; /* alt0 */
|
||||
};
|
||||
|
||||
spi0_cs_pins: spi0_cs_pins {
|
||||
brcm,pins = <8 7>;
|
||||
brcm,function = <1>; /* output */
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0 {
|
||||
brcm,pins = <0 1>;
|
||||
brcm,function = <4>;
|
||||
};
|
||||
|
||||
i2c1_pins: i2c1 {
|
||||
brcm,pins = <2 3>;
|
||||
brcm,function = <4>;
|
||||
};
|
||||
|
||||
i2s_pins: i2s {
|
||||
brcm,pins = <18 19 20 21>;
|
||||
brcm,function = <4>; /* alt0 */
|
||||
};
|
||||
|
||||
sdio_pins: sdio_pins {
|
||||
brcm,pins = <34 35 36 37 38 39>;
|
||||
brcm,function = <7>; // alt3 = SD1
|
||||
brcm,pull = <0 2 2 2 2 2>;
|
||||
};
|
||||
|
||||
bt_pins: bt_pins {
|
||||
brcm,pins = <43>;
|
||||
brcm,function = <4>; /* alt0:GPCLK2 */
|
||||
brcm,pull = <0>;
|
||||
};
|
||||
|
||||
uart0_pins: uart0_pins {
|
||||
brcm,pins = <30 31 32 33>;
|
||||
brcm,function = <7>; /* alt3=UART0 */
|
||||
brcm,pull = <2 0 0 2>; /* up none none up */
|
||||
};
|
||||
|
||||
uart1_pins: uart1_pins {
|
||||
brcm,pins;
|
||||
brcm,function;
|
||||
brcm,pull;
|
||||
};
|
||||
|
||||
audio_pins: audio_pins {
|
||||
brcm,pins = <>;
|
||||
brcm,function = <>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmcnr {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdio_pins>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins &bt_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_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>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0if {
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2s {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2s_pins>;
|
||||
};
|
||||
|
||||
&leds {
|
||||
act_led: led-act {
|
||||
label = "led0";
|
||||
linux,default-trigger = "actpwr";
|
||||
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&audio {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&audio_pins>;
|
||||
brcm,disable-headphones = <1>;
|
||||
};
|
||||
|
||||
&bt {
|
||||
shutdown-gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&minibt {
|
||||
shutdown-gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&cam1_reg {
|
||||
gpio = <&gpio 40 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
act_led_activelow = <&act_led>,"gpios:8";
|
||||
act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -54,8 +54,8 @@
|
||||
regulator-always-on;
|
||||
regulator-settling-time-us = <5000>;
|
||||
gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
|
||||
states = <1800000 0x1>,
|
||||
<3300000 0x0>;
|
||||
states = <1800000 0x1
|
||||
3300000 0x0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -181,14 +181,12 @@
|
||||
&hdmi0 {
|
||||
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
|
||||
clock-names = "hdmi", "bvb", "audio", "cec";
|
||||
wifi-2.4ghz-coexistence;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi1 {
|
||||
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
|
||||
clock-names = "hdmi", "bvb", "audio", "cec";
|
||||
wifi-2.4ghz-coexistence;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -273,16 +271,15 @@
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
pci@0,0 {
|
||||
device_type = "pci";
|
||||
pci@1,0 {
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
reg = <0 0 0 0 0>;
|
||||
|
||||
usb@0,0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
usb@1,0 {
|
||||
reg = <0x10000 0 0 0 0>;
|
||||
resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>;
|
||||
};
|
||||
};
|
||||
@@ -339,6 +336,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 +605,6 @@
|
||||
gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cam0_reg: &cam_dummy_reg {
|
||||
};
|
||||
|
||||
/ {
|
||||
__overrides__ {
|
||||
act_led_gpio = <&act_led>,"gpios:4";
|
||||
|
||||
@@ -93,9 +93,9 @@
|
||||
"PWR_LED_OFF",
|
||||
"GLOBAL_RESET",
|
||||
"VDD_SD_IO_SEL",
|
||||
"GLOBAL_SHUTDOWN",
|
||||
"CAM_GPIO",
|
||||
"SD_PWR_ON",
|
||||
"SHUTDOWN_REQUEST";
|
||||
"SD_OC_N";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -273,16 +273,15 @@
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
pci@0,0 {
|
||||
device_type = "pci";
|
||||
pci@1,0 {
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
reg = <0 0 0 0 0>;
|
||||
|
||||
usb@0,0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
usb@1,0 {
|
||||
reg = <0x10000 0 0 0 0>;
|
||||
resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -286,16 +286,15 @@
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
pci@0,0 {
|
||||
device_type = "pci";
|
||||
pci@1,0 {
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
reg = <0 0 0 0 0>;
|
||||
|
||||
usb@0,0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
usb@1,0 {
|
||||
reg = <0x10000 0 0 0 0>;
|
||||
resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>;
|
||||
};
|
||||
};
|
||||
@@ -353,6 +352,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,459 +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"
|
||||
|
||||
/delete-node/ &hdmi1;
|
||||
|
||||
/ {
|
||||
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
|
||||
|
||||
&sdhost {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&gpio {
|
||||
audio_pins: audio_pins {
|
||||
brcm,pins = <>;
|
||||
brcm,function = <>;
|
||||
};
|
||||
};
|
||||
|
||||
&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>;
|
||||
};
|
||||
};
|
||||
@@ -303,7 +303,7 @@
|
||||
vec: vec@7ec13000 {
|
||||
compatible = "brcm,bcm2711-vec";
|
||||
reg = <0x7ec13000 0x1000>;
|
||||
clocks = <&firmware_clocks 15>;
|
||||
clocks = <&clocks BCM2835_CLOCK_VEC>;
|
||||
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -519,17 +519,11 @@
|
||||
#address-cells = <3>;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
|
||||
interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "pcie", "msi";
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143
|
||||
IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 0 0 2 &gicv2 GIC_SPI 144
|
||||
IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 0 0 3 &gicv2 GIC_SPI 145
|
||||
IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 0 0 4 &gicv2 GIC_SPI 146
|
||||
IRQ_TYPE_LEVEL_HIGH>;
|
||||
msi-controller;
|
||||
msi-parent = <&pcie0>;
|
||||
@@ -559,8 +553,8 @@
|
||||
compatible = "brcm,genet-mdio-v5";
|
||||
reg = <0xe14 0x8>;
|
||||
reg-names = "mdio";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
#address-cells = <0x0>;
|
||||
#size-cells = <0x1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -595,8 +589,6 @@
|
||||
<GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
gpio-ranges = <&gpio 0 0 58>;
|
||||
|
||||
gpclk0_gpio49: gpclk0_gpio49 {
|
||||
pin-gpclk {
|
||||
pins = "gpio49";
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
vec: vec@7e806000 {
|
||||
compatible = "brcm,bcm2835-vec";
|
||||
reg = <0x7e806000 0x1000>;
|
||||
clocks = <&firmware_clocks 15>;
|
||||
clocks = <&clocks BCM2835_CLOCK_VEC>;
|
||||
interrupts = <2 27>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -128,7 +128,7 @@
|
||||
"hd";
|
||||
interrupts = <2 8>, <2 9>;
|
||||
ddc = <&i2c2>;
|
||||
clocks = <&firmware_clocks 9>,
|
||||
clocks = <&clocks BCM2835_PLLH_PIX>,
|
||||
<&clocks BCM2835_CLOCK_HSM>;
|
||||
clock-names = "pixel", "hdmi";
|
||||
dmas = <&dma (17|(1<<27)|(1<<24))>;
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
@@ -126,8 +126,6 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
gpio-ranges = <&gpio 0 0 54>;
|
||||
|
||||
/* Defines common pin muxing groups
|
||||
*
|
||||
* While each pin can have its mux selected
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
bootargs = "console=ttyS0,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>,
|
||||
<0x88000000 0x08000000>;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>,
|
||||
<0x88000000 0x08000000>;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>,
|
||||
<0x88000000 0x18000000>;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>,
|
||||
<0x88000000 0x08000000>;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>,
|
||||
<0x88000000 0x08000000>;
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>,
|
||||
<0x88000000 0x08000000>;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
bootargs = "console=ttyS0,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>;
|
||||
};
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
bootargs = "earlycon";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>,
|
||||
<0x88000000 0x18000000>;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
bootargs = " console=ttyS0,115200n8 earlycon";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
reg = <0x00000000 0x08000000>;
|
||||
device_type = "memory";
|
||||
};
|
||||
@@ -195,25 +195,3 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&srab {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "poe";
|
||||
};
|
||||
|
||||
port@5 {
|
||||
reg = <5>;
|
||||
label = "cpu";
|
||||
ethernet = <&gmac0>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
duplex-full;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -242,8 +242,6 @@
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
pcie0: pcie@12000 {
|
||||
@@ -410,7 +408,7 @@
|
||||
i2c0: i2c@18009000 {
|
||||
compatible = "brcm,iproc-i2c";
|
||||
reg = <0x18009000 0x50>;
|
||||
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clock-frequency = <100000>;
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
model = "NorthStar SVK (BCM94708)";
|
||||
compatible = "brcm,bcm94708", "brcm,bcm4708";
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>;
|
||||
};
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
model = "NorthStar SVK (BCM94709)";
|
||||
compatible = "brcm,bcm94709", "brcm,bcm4709", "brcm,bcm4708";
|
||||
|
||||
memory@0 {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>;
|
||||
};
|
||||
|
||||
@@ -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>;
|
||||
};
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
panel {
|
||||
compatible = "edt,etm0700g0dh6";
|
||||
pinctrl-0 = <&pinctrl_display_gpio>;
|
||||
pinctrl-names = "default";
|
||||
enable-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
port {
|
||||
@@ -77,7 +76,8 @@
|
||||
regulator-name = "vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio1 2 0>;
|
||||
gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -70,12 +70,6 @@
|
||||
clock-frequency = <11289600>;
|
||||
};
|
||||
|
||||
achc_24M: achc-clock {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
|
||||
sgtlsound: sound {
|
||||
compatible = "fsl,imx53-cpuvo-sgtl5000",
|
||||
"fsl,imx-audio-sgtl5000";
|
||||
@@ -319,13 +313,16 @@
|
||||
&gpio4 12 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
spidev0: spi@1 {
|
||||
compatible = "ge,achc", "nxp,kinetis-k20";
|
||||
reg = <1>, <0>;
|
||||
vdd-supply = <®_3v3>;
|
||||
vdda-supply = <®_3v3>;
|
||||
clocks = <&achc_24M>;
|
||||
reset-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
|
||||
spidev0: spi@0 {
|
||||
compatible = "ge,achc";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
|
||||
spidev1: spi@1 {
|
||||
compatible = "ge,achc";
|
||||
reg = <1>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
|
||||
gpioxra0: gpio@2 {
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
|
||||
/ {
|
||||
@@ -276,7 +275,6 @@
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
|
||||
chan@1 {
|
||||
@@ -284,7 +282,6 @@
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
};
|
||||
|
||||
chan@2 {
|
||||
@@ -292,7 +289,6 @@
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
|
||||
chan@3 {
|
||||
@@ -300,7 +296,6 @@
|
||||
led-cur = /bits/ 8 <0x0>;
|
||||
max-cur = /bits/ 8 <0x0>;
|
||||
reg = <3>;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -176,18 +176,7 @@
|
||||
pinctrl-0 = <&pinctrl_enet>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
|
||||
phy-handle = <&phy>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
phy: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
qca,clk-out-frequency = <125000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -251,7 +251,7 @@
|
||||
|
||||
flash@0 {
|
||||
/* Rev. A uses 64MB flash, Rev. B & C use 32MB flash */
|
||||
compatible = "jedec,spi-nor";
|
||||
compatible = "jedec,spi-nor", "s25fl256s1", "s25fl512s";
|
||||
spi-max-frequency = <20000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
@@ -331,6 +331,39 @@
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu_thermal: cpu-thermal {
|
||||
polling-delay-passive = <1000>;
|
||||
polling-delay = <5000>;
|
||||
|
||||
thermal-sensors = <&tmu 0>;
|
||||
|
||||
trips {
|
||||
cpu_alert: cpu-alert {
|
||||
temperature = <85000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
cpu_crit: cpu-crit {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert>;
|
||||
cooling-device =
|
||||
<&cpu0 THERMAL_NO_LIMIT
|
||||
THERMAL_NO_LIMIT>,
|
||||
<&cpu1 THERMAL_NO_LIMIT
|
||||
THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dspi0: spi@2100000 {
|
||||
compatible = "fsl,ls1021a-v1.0-dspi";
|
||||
#address-cells = <1>;
|
||||
@@ -985,37 +1018,4 @@
|
||||
big-endian;
|
||||
};
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu_thermal: cpu-thermal {
|
||||
polling-delay-passive = <1000>;
|
||||
polling-delay = <5000>;
|
||||
|
||||
thermal-sensors = <&tmu 0>;
|
||||
|
||||
trips {
|
||||
cpu_alert: cpu-alert {
|
||||
temperature = <85000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
cpu_crit: cpu-crit {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert>;
|
||||
cooling-device =
|
||||
<&cpu0 THERMAL_NO_LIMIT
|
||||
THERMAL_NO_LIMIT>,
|
||||
<&cpu1 THERMAL_NO_LIMIT
|
||||
THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -251,13 +251,8 @@
|
||||
"pp2", "ppmmu2", "pp4", "ppmmu4",
|
||||
"pp5", "ppmmu5", "pp6", "ppmmu6";
|
||||
resets = <&reset RESET_MALI>;
|
||||
|
||||
clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>;
|
||||
clock-names = "bus", "core";
|
||||
|
||||
assigned-clocks = <&clkc CLKID_MALI>;
|
||||
assigned-clock-rates = <318750000>;
|
||||
|
||||
operating-points-v2 = <&gpu_opp_table>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
regulator-min-microvolt = <860000>;
|
||||
regulator-max-microvolt = <1140000>;
|
||||
|
||||
pwm-supply = <&vcc_5v>;
|
||||
vin-supply = <&vcc_5v>;
|
||||
|
||||
pwms = <&pwm_cd 0 1148 0>;
|
||||
pwm-dutycycle-range = <100 0>;
|
||||
@@ -237,7 +237,7 @@
|
||||
regulator-min-microvolt = <860000>;
|
||||
regulator-max-microvolt = <1140000>;
|
||||
|
||||
pwm-supply = <&vcc_5v>;
|
||||
vin-supply = <&vcc_5v>;
|
||||
|
||||
pwms = <&pwm_cd 1 1148 0>;
|
||||
pwm-dutycycle-range = <100 0>;
|
||||
|
||||
@@ -39,8 +39,6 @@
|
||||
regulator-min-microvolt = <860000>;
|
||||
regulator-max-microvolt = <1140000>;
|
||||
|
||||
pwm-supply = <&vcc_5v>;
|
||||
|
||||
pwms = <&pwm_cd 0 1148 0>;
|
||||
pwm-dutycycle-range = <100 0>;
|
||||
|
||||
@@ -86,7 +84,7 @@
|
||||
regulator-min-microvolt = <860000>;
|
||||
regulator-max-microvolt = <1140000>;
|
||||
|
||||
pwm-supply = <&vcc_5v>;
|
||||
vin-supply = <&vcc_5v>;
|
||||
|
||||
pwms = <&pwm_cd 1 1148 0>;
|
||||
pwm-dutycycle-range = <100 0>;
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
regulator-min-microvolt = <860000>;
|
||||
regulator-max-microvolt = <1140000>;
|
||||
|
||||
pwm-supply = <&p5v0>;
|
||||
vin-supply = <&p5v0>;
|
||||
|
||||
pwms = <&pwm_cd 0 12218 0>;
|
||||
pwm-dutycycle-range = <91 0>;
|
||||
@@ -168,7 +168,7 @@
|
||||
regulator-min-microvolt = <860000>;
|
||||
regulator-max-microvolt = <1140000>;
|
||||
|
||||
pwm-supply = <&p5v0>;
|
||||
vin-supply = <&p5v0>;
|
||||
|
||||
pwms = <&pwm_cd 1 12218 0>;
|
||||
pwm-dutycycle-range = <91 0>;
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
compatible = "smsc,lan9221","smsc,lan9115";
|
||||
bank-width = <2>;
|
||||
|
||||
gpmc,mux-add-data = <0>;
|
||||
gpmc,mux-add-data;
|
||||
gpmc,cs-on-ns = <0>;
|
||||
gpmc,cs-rd-off-ns = <42>;
|
||||
gpmc,cs-wr-off-ns = <36>;
|
||||
|
||||
@@ -515,7 +515,7 @@
|
||||
compatible = "bosch,bma180";
|
||||
reg = <0x41>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bma180_pins>;
|
||||
pintcrl-0 = <&bma180_pins>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; /* GPIO_115 */
|
||||
};
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
compatible = "smsc,lan9221","smsc,lan9115";
|
||||
bank-width = <2>;
|
||||
|
||||
gpmc,mux-add-data = <0>;
|
||||
gpmc,mux-add-data;
|
||||
gpmc,cs-on-ns = <0>;
|
||||
gpmc,cs-rd-off-ns = <42>;
|
||||
gpmc,cs-wr-off-ns = <36>;
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
|
||||
nand@1,0 {
|
||||
compatible = "ti,omap2-nand";
|
||||
reg = <1 0 4>; /* CS1, offset 0, IO size 4 */
|
||||
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
|
||||
interrupt-parent = <&gpmc>;
|
||||
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
|
||||
<1 IRQ_TYPE_NONE>; /* termcount */
|
||||
|
||||
@@ -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 \
|
||||
@@ -50,7 +49,6 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||||
enc28j60.dtbo \
|
||||
enc28j60-spi2.dtbo \
|
||||
exc3000.dtbo \
|
||||
fbtft.dtbo \
|
||||
fe-pi-audio.dtbo \
|
||||
fsm-demo.dtbo \
|
||||
ghost-amp.dtbo \
|
||||
@@ -233,7 +231,6 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||||
vc4-fkms-v3d.dtbo \
|
||||
vc4-fkms-v3d-pi4.dtbo \
|
||||
vc4-kms-dpi-at056tn53v1.dtbo \
|
||||
vc4-kms-dpi-generic.dtbo \
|
||||
vc4-kms-dsi-7inch.dtbo \
|
||||
vc4-kms-dsi-lt070me05000.dtbo \
|
||||
vc4-kms-dsi-lt070me05000-v2.dtbo \
|
||||
@@ -242,7 +239,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.
|
||||
@@ -426,8 +416,6 @@ Info: Analog Devices ADV7282M analogue video to CSI2 bridge.
|
||||
variants.
|
||||
Load: dtoverlay=adv7282m,<param>=<val>
|
||||
Params: addr Overrides the I2C address (default 0x21)
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default off)
|
||||
|
||||
|
||||
Name: adv728x-m
|
||||
@@ -438,8 +426,6 @@ Params: addr Overrides the I2C address (default 0x21)
|
||||
adv7280m Select ADV7280-M.
|
||||
adv7281m Select ADV7281-M.
|
||||
adv7281ma Select ADV7281-MA.
|
||||
media-controller Configure use of Media Controller API for
|
||||
configuring the sensor (default off)
|
||||
|
||||
|
||||
Name: akkordion-iqdacplus
|
||||
@@ -679,12 +665,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.
|
||||
@@ -873,130 +853,6 @@ Params: interrupt GPIO used for interrupt (default 4)
|
||||
swapxy Touchscreen swapped x y axis
|
||||
|
||||
|
||||
Name: fbtft
|
||||
Info: Overlay for SPI-connected displays using the fbtft drivers.
|
||||
|
||||
This overlay seeks to replace the functionality provided by fbtft_device
|
||||
which is now gone from the kernel.
|
||||
|
||||
Most displays from fbtft_device have been ported over.
|
||||
Example:
|
||||
dtoverlay=fbtft,spi0-0,rpi-display,reset_pin=23,dc_pin=24,led_pin=18,rotate=270
|
||||
|
||||
It is also possible to specify the controller (this will use the default
|
||||
init sequence in the driver).
|
||||
Example:
|
||||
dtoverlay=fbtft,spi0-0,ili9341,bgr,reset_pin=23,dc_pin=24,led_pin=18,rotate=270
|
||||
|
||||
For devices on spi1 or spi2, the interfaces should be enabled
|
||||
with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
|
||||
|
||||
The following features of fbtft_device have not been ported over:
|
||||
- parallel bus is not supported
|
||||
- the init property which overrides the controller initialization
|
||||
sequence is not supported as a parameter due to memory limitations in
|
||||
the bootloader responsible for applying the overlay.
|
||||
|
||||
See https://github.com/notro/fbtft/wiki/FBTFT-RPI-overlays for how to
|
||||
create an overlay.
|
||||
|
||||
Load: dtoverlay=fbtft,<param>=<val>
|
||||
Params:
|
||||
spi<n>-<m> Configure device at spi<n>, cs<m>
|
||||
(boolean, required)
|
||||
speed SPI bus speed in Hz (default 32000000)
|
||||
cpha Shifted clock phase (CPHA) mode
|
||||
cpol Inverse clock polarity (CPOL) mode
|
||||
|
||||
adafruit18 Adafruit 1.8
|
||||
adafruit22 Adafruit 2.2 (old)
|
||||
adafruit22a Adafruit 2.2
|
||||
adafruit28 Adafruit 2.8
|
||||
adafruit13m Adafruit 1.3 OLED
|
||||
admatec_c-berry28 C-Berry28
|
||||
dogs102 EA DOGS102
|
||||
er_tftm050_2 ER-TFTM070-2
|
||||
er_tftm070_5 ER-TFTM070-5
|
||||
ew24ha0 EW24HA0
|
||||
ew24ha0_9bit EW24HA0 in 9-bit mode
|
||||
freetronicsoled128 Freetronics OLED128
|
||||
hy28a HY28A
|
||||
hy28b HY28B
|
||||
itdb28_spi ITDB02-2.8 with SPI interface circuit
|
||||
mi0283qt-2 Watterott MI0283QT-2
|
||||
mi0283qt-9a Watterott MI0283QT-9A
|
||||
nokia3310 Nokia 3310
|
||||
nokia3310a Nokia 3310a
|
||||
nokia5110 Nokia 5110
|
||||
piscreen PiScreen
|
||||
pitft Adafruit PiTFT 2.8
|
||||
pioled ILSoft OLED
|
||||
rpi-display Watterott rpi-display
|
||||
sainsmart18 Sainsmart 1.8
|
||||
sainsmart32_spi Sainsmart 3.2 with SPI interfce circuit
|
||||
tinylcd35 TinyLCD 3.5
|
||||
tm022hdh26 Tianma TM022HDH26
|
||||
tontec35_9481 Tontect 3.5 with ILI9481 controller
|
||||
tontec35_9486 Tontect 3.5 with ILI9486 controller
|
||||
waveshare32b Waveshare 3.2
|
||||
waveshare22 Waveshare 2.2
|
||||
|
||||
bd663474 BD663474 display controller
|
||||
hx8340bn HX8340BN display controller
|
||||
hx8347d HX8347D display controller
|
||||
hx8353d HX8353D display controller
|
||||
hx8357d HX8357D display controller
|
||||
ili9163 ILI9163 display controller
|
||||
ili9320 ILI9320 display controller
|
||||
ili9325 ILI9325 display controller
|
||||
ili9340 ILI9340 display controller
|
||||
ili9341 ILI9341 display controller
|
||||
ili9481 ILI9481 display controller
|
||||
ili9486 ILI9486 display controller
|
||||
pcd8544 PCD8544 display controller
|
||||
ra8875 RA8875 display controller
|
||||
s6d02a1 S6D02A1 display controller
|
||||
s6d1121 S6D1121 display controller
|
||||
seps525 SEPS525 display controller
|
||||
sh1106 SH1106 display controller
|
||||
ssd1289 SSD1289 display controller
|
||||
ssd1305 SSD1305 display controller
|
||||
ssd1306 SSD1306 display controller
|
||||
ssd1325 SSD1325 display controller
|
||||
ssd1331 SSD1331 display controller
|
||||
ssd1351 SSD1351 display controller
|
||||
st7735r ST7735R display controller
|
||||
st7789v ST7789V display controller
|
||||
tls8204 TLS8204 display controller
|
||||
uc1611 UC1611 display controller
|
||||
uc1701 UC1701 display controller
|
||||
upd161704 UPD161704 display controller
|
||||
|
||||
width Display width in pixels
|
||||
height Display height in pixels
|
||||
regwidth Display controller register width (default is
|
||||
driver specific)
|
||||
buswidth Display bus interface width (default 8)
|
||||
debug Debug output level {0-7}
|
||||
rotate Display rotation {0, 90, 180, 270} (counter
|
||||
clockwise). Not supported by all drivers.
|
||||
bgr Enable BGR mode (default off). Use if Red and
|
||||
Blue are swapped. Not supported by all drivers.
|
||||
fps Frames per second (default 30). In effect this
|
||||
states how long the driver will wait after video
|
||||
memory has been changed until display update
|
||||
transfer is started.
|
||||
txbuflen Length of the FBTFT transmit buffer
|
||||
(default 4096)
|
||||
startbyte Sets the Start byte used by fb_ili9320,
|
||||
fb_ili9325 and fb_hx8347d. Common value is 0x70.
|
||||
gamma String representation of Gamma Curve(s). Driver
|
||||
specific. Not supported by all drivers.
|
||||
reset_pin GPIO pin for RESET
|
||||
dc_pin GPIO pin for D/C
|
||||
led_pin GPIO pin for LED backlight
|
||||
|
||||
|
||||
Name: fe-pi-audio
|
||||
Info: Configures the Fe-Pi Audio Sound Card
|
||||
Load: dtoverlay=fe-pi-audio
|
||||
@@ -1171,11 +1027,6 @@ Info: Drives a GPIO high or low on poweroff (including halt). Using this
|
||||
or reboot). This also disables the ability to trigger a boot by driving
|
||||
GPIO3 low.
|
||||
|
||||
The GPIO starts in an inactive state. At poweroff time it is driven
|
||||
active for 100ms, then inactive for 100ms, then active again. It is
|
||||
safe to remove the power at any point after the initial activation of
|
||||
the GPIO.
|
||||
|
||||
Users of this overlay are required to provide an external mechanism to
|
||||
switch off the power supply when signalled - failure to do so results
|
||||
in a kernel BUG, increased power consumption and undefined behaviour.
|
||||
@@ -1191,8 +1042,6 @@ Params: gpiopin GPIO for signalling (default 26)
|
||||
input Set if the gpio pin should be configured as
|
||||
an input.
|
||||
export Set to export the configured pin to sysfs
|
||||
active_delay_ms Initial GPIO active period (default 100)
|
||||
inactive_delay_ms Subsequent GPIO inactive period (default 100)
|
||||
timeout_ms Specify (in ms) how long the kernel waits for
|
||||
power-down before issuing a WARN (default 3000).
|
||||
|
||||
@@ -1859,10 +1708,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
180, default 180)
|
||||
orientation Sensor orientation (0 = front, 1 = rear,
|
||||
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
|
||||
@@ -1883,10 +1728,6 @@ Params: 4lane Enable 4 CSI2 lanes. This requires a Compute
|
||||
2 = external, default external)
|
||||
rotation Mounting rotation of the camera sensor (0 or
|
||||
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
|
||||
@@ -1898,10 +1739,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
180, default 180)
|
||||
orientation Sensor orientation (0 = front, 1 = rear,
|
||||
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
|
||||
@@ -1913,10 +1750,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
180, default 180)
|
||||
orientation Sensor orientation (0 = front, 1 = rear,
|
||||
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
|
||||
@@ -1928,10 +1761,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
180, default 0)
|
||||
orientation Sensor orientation (0 = front, 1 = rear,
|
||||
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
|
||||
@@ -1995,11 +1824,8 @@ Name: irs1125
|
||||
Info: Infineon irs1125 TOF camera module.
|
||||
Uses Unicam 1, which is the standard camera connector on most Pi
|
||||
variants.
|
||||
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).
|
||||
Load: dtoverlay=irs1125
|
||||
Params: <None>
|
||||
|
||||
|
||||
Name: jedec-spi-nor
|
||||
@@ -2411,10 +2237,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
180, default 0)
|
||||
orientation Sensor orientation (0 = front, 1 = rear,
|
||||
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
|
||||
@@ -2426,10 +2248,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
180, default 0)
|
||||
orientation Sensor orientation (0 = front, 1 = rear,
|
||||
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
|
||||
@@ -2441,10 +2259,6 @@ Params: rotation Mounting rotation of the camera sensor (0 or
|
||||
180, default 0)
|
||||
orientation Sensor orientation (0 = front, 1 = rear,
|
||||
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
|
||||
@@ -3425,10 +3239,6 @@ Params: 4lane Use 4 lanes (only applicable to Compute Modules
|
||||
link-frequency Set the link frequency. Only values of 297000000
|
||||
(574Mbit/s) and 486000000 (972Mbit/s - default)
|
||||
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
|
||||
@@ -3599,36 +3409,6 @@ Load: dtoverlay=vc4-kms-dpi-at056tn53v1
|
||||
Params: <None>
|
||||
|
||||
|
||||
Name: vc4-kms-dpi-generic
|
||||
Info: Enable a generic DPI display under KMS. Default timings are for the
|
||||
Adafruit Kippah with 800x480 panel and RGB666 (GPIOs 0-21)
|
||||
Requires vc4-kms-v3d to be loaded.
|
||||
Load: dtoverlay=vc4-kms-dpi-generic,<param>=<val>
|
||||
Params: clock-frequency Display clock frequency (Hz)
|
||||
hactive Horizontal active pixels
|
||||
hfp Horizontal front porch
|
||||
hsync Horizontal sync pulse width
|
||||
hbp Horizontal back porch
|
||||
vactive Vertical active lines
|
||||
vfp Vertical front porch
|
||||
vsync Vertical sync pulse width
|
||||
vbp Vertical back porch
|
||||
hsync-invert Horizontal sync active low
|
||||
vsync-invert Vertical sync active low
|
||||
de-invert Data Enable active low
|
||||
pixclk-invert Negative edge pixel clock
|
||||
width-mm Define the screen width in mm
|
||||
height-mm Define the screen height in mm
|
||||
rgb565 Change to RGB565 output on GPIOs 0-19
|
||||
rgb666-padhi Change to RGB666 output on GPIOs 0-9, 12-17, and
|
||||
20-25
|
||||
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).
|
||||
|
||||
|
||||
Name: vc4-kms-dsi-7inch
|
||||
Info: Enable the Raspberry Pi DSI 7" screen.
|
||||
Includes the edt-ft5406 for the touchscreen element.
|
||||
@@ -3686,8 +3466,8 @@ Params: cma-512 CMA is 512MB (needs 1GB)
|
||||
cma-default Use upstream's default value
|
||||
audio Enable or disable audio over HDMI (default "on")
|
||||
noaudio Disable all HDMI audio (default "off")
|
||||
composite Enable the composite output (default "off")
|
||||
N.B. Disables all other outputs on a Pi 4.
|
||||
nocomposite Disable the composite video output (default
|
||||
"off")
|
||||
|
||||
|
||||
Name: vc4-kms-v3d-pi4
|
||||
@@ -3731,14 +3511,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.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user