Skip to content

Commit

Permalink
Merge branches 'refs/heads/bits/000-devicetree', 'refs/heads/bits/005…
Browse files Browse the repository at this point in the history
…-maintainers', 'refs/heads/bits/010-mailbox', 'refs/heads/bits/020-t6000-dart', 'refs/heads/bits/030-misc', 'refs/heads/bits/040-dwc3', 'refs/heads/bits/050-nvme', 'refs/heads/bits/060-spi', 'refs/heads/bits/070-audio', 'refs/heads/bits/080-wifi', 'refs/heads/bits/090-spi-hid', 'refs/heads/bits/100-bluetooth', 'refs/heads/bits/110-smc', 'refs/heads/bits/120-spmi', 'refs/heads/bits/130-cpufreq' and 'refs/heads/bits/140-pci-pwren' into asahi
  • Loading branch information
marcan committed Jul 11, 2022
Show file tree
Hide file tree
Showing 171 changed files with 23,826 additions and 644 deletions.
32 changes: 32 additions & 0 deletions Documentation/core-api/printk-formats.rst
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,38 @@ Examples::
%p4cc Y10 little-endian (0x20303159)
%p4cc NV12 big-endian (0xb231564e)

Generic FourCC code
-------------------

::
%p4c[hnbl] gP00 (0x67503030)

Print a generic FourCC code, as both ASCII characters and its numerical
value as hexadecimal.

The additional ``h``, ``r``, ``b``, and ``l`` specifiers are used to specify
host, reversed, big or little endian order data respectively. Host endian
order means the data is interpreted as a 32-bit integer and the most
significant byte is printed first; that is, the character code as printed
matches the byte order stored in memory on big-endian systems, and is reversed
on little-endian systems.

Passed by reference.

Examples for a little-endian machine, given &(u32)0x67503030::

%p4ch gP00 (0x67503030)
%p4cl gP00 (0x67503030)
%p4cb 00Pg (0x30305067)
%p4cr 00Pg (0x30305067)

Examples for a big-endian machine, given &(u32)0x67503030::

%p4ch gP00 (0x67503030)
%p4cl 00Pg (0x30305067)
%p4cb gP00 (0x67503030)
%p4cr 00Pg (0x30305067)

Thanks
======

Expand Down
121 changes: 121 additions & 0 deletions Documentation/devicetree/bindings/cpufreq/apple,soc-cpufreq.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/cpufreq/apple,soc-cpufreq.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple SoC cpufreq device

maintainers:
- Hector Martin <[email protected]>

description: |
Apple SoCs (e.g. M1) have a per-cpu-cluster DVFS controller that is part of
the cluster management register block. This binding uses the standard
operating-points-v2 table to define the CPU performance states, with the
opp-level property specifying the hardware p-state index for that level.
properties:
compatible:
items:
- enum:
- apple,t8103-soc-cpufreq
- apple,t6000-soc-cpufreq
- const: apple,soc-cpufreq

reg:
minItems: 1
maxItems: 6
description: One register region per CPU cluster DVFS controller

reg-names:
minItems: 1
items:
- const: cluster0
- const: cluster1
- const: cluster2
- const: cluster3
- const: cluster4
- const: cluster5

'#freq-domain-cells':
const: 1

required:
- compatible
- reg
- reg-names
- '#freq-domain-cells'

additionalProperties: false

examples:
- |
// This example shows a single CPU per domain and 2 domains,
// with two p-states per domain.
// Shipping hardware has 2-4 CPUs per domain and 2-6 domains.
cpus {
#address-cells = <2>;
#size-cells = <0>;
cpu@0 {
compatible = "apple,icestorm";
device_type = "cpu";
reg = <0x0 0x0>;
operating-points-v2 = <&ecluster_opp>;
apple,freq-domain = <&cpufreq_hw 0>;
};
cpu@10100 {
compatible = "apple,firestorm";
device_type = "cpu";
reg = <0x0 0x10100>;
operating-points-v2 = <&pcluster_opp>;
apple,freq-domain = <&cpufreq_hw 1>;
};
};
ecluster_opp: opp-table-0 {
compatible = "operating-points-v2";
opp-shared;
opp01 {
opp-hz = /bits/ 64 <600000000>;
opp-level = <1>;
clock-latency-ns = <7500>;
};
opp02 {
opp-hz = /bits/ 64 <972000000>;
opp-level = <2>;
clock-latency-ns = <22000>;
};
};
pcluster_opp: opp-table-1 {
compatible = "operating-points-v2";
opp-shared;
opp01 {
opp-hz = /bits/ 64 <600000000>;
opp-level = <1>;
clock-latency-ns = <8000>;
};
opp02 {
opp-hz = /bits/ 64 <828000000>;
opp-level = <2>;
clock-latency-ns = <19000>;
};
};
soc {
#address-cells = <2>;
#size-cells = <2>;
cpufreq_hw: cpufreq@210e20000 {
compatible = "apple,t8103-soc-cpufreq", "apple,soc-cpufreq";
reg = <0x2 0x10e20000 0 0x1000>,
<0x2 0x11e20000 0 0x1000>;
reg-names = "cluster0", "cluster1";
#freq-domain-cells = <1>;
};
};
65 changes: 65 additions & 0 deletions Documentation/devicetree/bindings/dma/apple,admac.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/apple,admac.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple Audio DMA Controller (ADMAC)

description: |
The Audio DMA Controller (ADMAC) is used to load and store audio
samples from/to system memory. It is present on Apple SoCs
from the "Apple Silicon" family.
maintainers:
- Martin Povišer <[email protected]>

allOf:
- $ref: "dma-controller.yaml#"

properties:
compatible:
items:
- const: apple,t8103-admac
- const: apple,admac

reg:
maxItems: 1

'#dma-cells':
const: 1

interrupts:
maxItems: 1

required:
- compatible
- reg
- interrupts
- '#dma-cells'
- dma-channels

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/apple-aic.h>
#include <dt-bindings/interrupt-controller/irq.h>
dart_sio: iommu@235004000 {
compatible = "apple,t8103-dart", "apple,dart";
reg = <0x2 0x35004000 0x0 0x4000>;
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 635 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
};
admac: dma-controller@238200000 {
compatible = "apple,t8103-admac", "apple,admac";
reg = <0x2 0x38200000 0x0 0x34000>;
dma-channels = <12>;
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>;
iommus = <&dart_sio 2>;
};
4 changes: 3 additions & 1 deletion Documentation/devicetree/bindings/iommu/apple,dart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ description: |+
properties:
compatible:
const: apple,t8103-dart
enum:
- apple,t8103-dart
- apple,t6000-dart

reg:
maxItems: 1
Expand Down
28 changes: 28 additions & 0 deletions Documentation/devicetree/bindings/net/bluetooth-controller.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Bluetooth Controller Generic Binding

maintainers:
- John Doe <[email protected]> # TODO: bluetooth maintainers probably

properties:
$nodename:
pattern: "^bluetooth(@.*)?$"

local-bd-address:
$ref: /schemas/types.yaml#/definitions/uint8-array
minItems: 6
maxItems: 6
description:
Specifies the BD address that was uniquely assigned to the Bluetooth
device. Formatted with least significant byte first (little-endian), e.g.
in order to assigne the address 00:11:22:33:44:55 this property must have
the value [55 44 33 22 11 00].

additionalProperties: true

...
5 changes: 0 additions & 5 deletions Documentation/devicetree/bindings/net/bluetooth.txt

This file was deleted.

76 changes: 76 additions & 0 deletions Documentation/devicetree/bindings/net/brcm,bcm43xx-bluetooth.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/brcm,bcm43xx-bluetooth.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM43XX PCI Bluetooth Chips

allOf:
- $ref: bluetooth-controller.yaml#

maintainers:
- Sven Peter <[email protected]>

description:
This binding describes Broadcom BCM43XX PCI-attached bluetooth chips usually
found in Apple machines. The Wi-Fi part of the chip is described in
bindings/net/wireless/brcm,bcm4329-fmac.yaml.

properties:
compatible:
enum:
- pci14e4,5fa0 # BCM4377
- pci14e4,5f69 # BCM4378
- pci14e4,5f71 # BCM4387

reg:
description: PCI device identifier.

brcm,board-type:
$ref: /schemas/types.yaml#/definitions/string
description: Board type of the Bluetooth chip. This is used to decouple
the overall system board from the Bluetooth module and used to construct
firmware and calibration data filenames.
On Apple platforms, this should be the Apple module-instance codename
prefixed by "apple,", e.g. "apple,atlantisb".

brcm,taurus-cal-blob:
$ref: /schemas/types.yaml#/definitions/uint8-array
description: A per-device calibration blob for the Bluetooth radio. This
should be filled in by the bootloader from platform configuration
data, if necessary, and will be uploaded to the device.
This blob is used if the chip stepping of the Bluetooth module does not
support beamforming.

brcm,taurus-bf-cal-blob:
$ref: /schemas/types.yaml#/definitions/uint8-array
description: A per-device calibration blob for the Bluetooth radio. This
should be filled in by the bootloader from platform configuration
data, if necessary, and will be uploaded to the device.
This blob is used if the chip stepping of the Bluetooth module supports
beamforming.

local-bd-address: true

required:
- compatible
- reg
- local-bd-address

additionalProperties: false

examples:
- |
pci0 {
#address-cells = <3>;
#size-cells = <2>;
bluetooth@0,1 {
compatible = "pci14e4,5f69";
reg = <0x10100 0x0 0x0 0x0 0x0>;
brcm,board-type = "apple,honshu";
/* To be filled by the bootloader */
local-bd-address = [00 00 00 00 00 00];
};
};
4 changes: 2 additions & 2 deletions Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,7 @@ properties:
firmware-name:
description: specify the name of nvm firmware to load

local-bd-address:
description: see Documentation/devicetree/bindings/net/bluetooth.txt
local-bd-address: true


required:
Expand All @@ -89,6 +88,7 @@ required:
additionalProperties: false

allOf:
- $ref: bluetooth-controller.yaml#
- if:
properties:
compatible:
Expand Down
Loading

0 comments on commit 1b2de85

Please sign in to comment.