mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
4d9ec5f04b
Add tests to exercise address translations based on ranges properties.
Tests added cover "default" (2cell) address translations, "default
flags" (3cell) address translations and PCI address translations.
They also cover PCI BAR translations introduced in commit 407d1a5192
("PCI: Create device tree node for bridge").
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20231017110221.189299-4-herve.codina@bootlin.com
Signed-off-by: Rob Herring <robh@kernel.org>
157 lines
4.2 KiB
Plaintext
157 lines
4.2 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
/ {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
testcase-data {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
address-tests {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
/* ranges here is to make sure we don't use it for
|
|
* dma-ranges translation */
|
|
ranges = <0x70000000 0x70000000 0x50000000>,
|
|
<0x00000000 0xd0000000 0x20000000>;
|
|
dma-ranges = <0x0 0x20000000 0x40000000>;
|
|
|
|
device@70000000 {
|
|
reg = <0x70000000 0x1000>;
|
|
};
|
|
|
|
bus@80000000 {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges = <0x0 0x0 0x80000000 0x0 0x100000>;
|
|
dma-ranges = <0x1 0x0 0x0 0x20 0x0>;
|
|
|
|
device@1000 {
|
|
reg = <0x0 0x1000 0x0 0x1000>;
|
|
};
|
|
};
|
|
|
|
pci@90000000 {
|
|
device_type = "pci";
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
reg = <0x90000000 0x1000>;
|
|
ranges = <0x42000000 0x0 0x40000000 0x40000000 0x0 0x10000000>;
|
|
dma-ranges = <0x42000000 0x0 0x80000000 0x00000000 0x0 0x10000000>,
|
|
<0x42000000 0x0 0xc0000000 0x20000000 0x0 0x10000000>;
|
|
};
|
|
|
|
bus@a0000000 {
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
ranges = <0xf00baa 0x0 0x0 0xa0000000 0x0 0x100000>,
|
|
<0xf00bee 0x1 0x0 0xb0000000 0x0 0x200000>;
|
|
};
|
|
|
|
};
|
|
|
|
address-tests2 {
|
|
#address-cells = <2>;
|
|
#size-cells = <1>;
|
|
|
|
ranges = <0x10000000 0x01000000 0xa0000000 0x01000000>,
|
|
<0x10000000 0x02000000 0xb0000000 0x01000000>,
|
|
<0x20000000 0x01000000 0xc0000000 0x01000000>,
|
|
<0x20000000 0x02000000 0xd0000000 0x01000000>,
|
|
<0x00000000 0xd1000000 0xd1000000 0x01000000>,
|
|
<0x00000000 0xe8000000 0xe8000000 0x07f00000>,
|
|
<0x00000000 0xefff0000 0xefff0000 0x00010000>;
|
|
|
|
bus-2cell@10000000 {
|
|
#address-cells = <2>;
|
|
#size-cells = <1>;
|
|
ranges = <0x100000 0x10000 0x10000000 0x1a00000 0x10000>,
|
|
<0x100000 0x20000 0x10000000 0x1b00000 0x10000>,
|
|
<0x200000 0x10000 0x20000000 0x1c00000 0x10000>,
|
|
<0x200000 0x20000 0x20000000 0x2d00000 0x10000>;
|
|
|
|
device@100000 {
|
|
reg = <0x100000 0x11000 0x100>,
|
|
<0x100000 0x12000 0x100>,
|
|
<0x200000 0x11000 0x100>,
|
|
<0x200000 0x21000 0x100>;
|
|
};
|
|
};
|
|
|
|
bus-3cell@20000000 {
|
|
#address-cells = <3>;
|
|
#size-cells = <1>;
|
|
ranges = <0x1 0x100000 0x10000 0x10000000 0x1a00000 0x10000>,
|
|
<0x2 0x100000 0x10000 0x10000000 0x1b00000 0x10000>,
|
|
<0x3 0x200000 0x10000 0x20000000 0x1c00000 0x10000>,
|
|
<0x4 0x200000 0x20000 0x20000000 0x2d00000 0x10000>;
|
|
|
|
local-bus@100000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0xf1000000 0x1 0x100000 0x10000 0x10000>,
|
|
<0xf2000000 0x2 0x100000 0x10000 0x10000>,
|
|
<0xf3000000 0x3 0x200000 0x10000 0x08000>,
|
|
<0xf3800000 0x3 0x200000 0x18000 0x08000>,
|
|
<0xf4000000 0x4 0x200000 0x20000 0x10000>;
|
|
|
|
device@f1001000 {
|
|
reg = <0xf1001000 0x100>,
|
|
<0xf2002000 0x100>,
|
|
<0xf3001000 0x100>,
|
|
<0xf3801000 0x100>,
|
|
<0xf4001000 0x100>;
|
|
};
|
|
};
|
|
};
|
|
|
|
pcie@d1070000 {
|
|
#address-cells = <0x03>;
|
|
#size-cells = <0x02>;
|
|
bus-range = <0x00 0xff>;
|
|
device_type = "pci";
|
|
ranges = <0x82000000 0 0xe8000000 0 0xe8000000 0 0x7f00000>,
|
|
<0x81000000 0 0x00000000 0 0xefff0000 0 0x0010000>;
|
|
reg = <0x00000000 0xd1070000 0x20000>;
|
|
|
|
pci@0,0 {
|
|
#address-cells = <0x03>;
|
|
#size-cells = <0x02>;
|
|
bus-range = <0x01 0x01>;
|
|
device_type = "pci";
|
|
ranges = <0x82000000 0 0xe8000000
|
|
0x82000000 0 0xe8000000
|
|
0 0x4400000>;
|
|
reg = <0x00 0x00 0x00 0x00 0x00>;
|
|
|
|
dev@0,0 {
|
|
#address-cells = <0x03>;
|
|
#size-cells = <0x02>;
|
|
ranges = <0 0 0 0x82010000 0 0xe8000000 0 0x2000000>,
|
|
<1 0 0 0x82010000 0 0xea000000 0 0x1000000>,
|
|
<2 0 0 0x82010000 0 0xeb000000 0 0x0800000>,
|
|
<3 0 0 0x82010000 0 0xeb800000 0 0x0800000>,
|
|
<4 0 0 0x82010000 0 0xec000000 0 0x0020000>,
|
|
<5 0 0 0x82010000 0 0xec020000 0 0x0002000>;
|
|
reg = <0x10000 0x00 0x00 0x00 0x00>;
|
|
|
|
local-bus@0 {
|
|
#address-cells = <0x01>;
|
|
#size-cells = <0x01>;
|
|
ranges = <0xa0000000 0 0 0 0x2000000>,
|
|
<0xb0000000 1 0 0 0x1000000>;
|
|
|
|
dev@e0000000 {
|
|
reg = <0xa0001000 0x1000>,
|
|
<0xb0002000 0x2000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|