Skip to content

Commit ceb29a7

Browse files
committed
arm64: dts: apple: t6022-j180d: Add node for built-in PCIe devices
Currently only the two ethernet controllers and the SATA-AHCI are detected. The USB controller (internal USB-A port and USB-A ports on the I/O board) are missing code to toggle the reset gpio pin. The Broadcom Wlan/BT device needs in addition the SMC power enable GPIO. The "bluetooth0" and "wifi0" aliases can not be added since the ADT misses calibration data for Wlan and BT. Signed-off-by: Janne Grunau <j@jannau.net>
1 parent 259dd62 commit ceb29a7

1 file changed

Lines changed: 224 additions & 4 deletions

File tree

arch/arm64/boot/dts/apple/t6022-j180d.dts

Lines changed: 224 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
atcphy5 = &atcphy1_die1;
2525
atcphy6 = &atcphy2_die1;
2626
atcphy7 = &atcphy3_die1;
27-
//bluetooth0 = &bluetooth0;
28-
//ethernet0 = &ethernet0;
29-
//ethernet1 = &ethernet1;
27+
//bluetooth0 = &bluetooth0; // ADT misses calibration data
28+
ethernet0 = &ethernet0;
29+
ethernet1 = &ethernet1;
3030
nvram = &nvram;
3131
serial0 = &serial0;
32-
//wifi0 = &wifi0;
32+
//wifi0 = &wifi0; // ADT misses calibration data
3333
};
3434

3535
chosen {
@@ -455,6 +455,226 @@
455455
};
456456
};
457457

458+
/* PCIe devices */
459+
&port_ge00_die1 {
460+
bus-range = <0x01 0x09>;
461+
462+
pci@0,0 {
463+
device_type = "pci";
464+
reg = <0x10000 0x00 0x00 0x00 0x00>;
465+
bus-range = <0x02 0x09>;
466+
467+
#address-cells = <3>;
468+
#size-cells = <2>;
469+
ranges;
470+
471+
interrupt-controller;
472+
#interrupt-cells = <1>;
473+
474+
interrupt-map-mask = <0xffff00 0x00 0x00 0x07>;
475+
interrupt-map = <0x20000 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x00>,
476+
<0x20000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x01>,
477+
<0x20000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x02>,
478+
<0x20000 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x03>,
479+
<0x20800 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x01>,
480+
<0x20800 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x02>,
481+
<0x20800 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x03>,
482+
<0x20800 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x00>,
483+
<0x21000 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x02>,
484+
<0x21000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x03>,
485+
<0x21000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x00>,
486+
<0x21000 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x01>,
487+
<0x21800 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x03>,
488+
<0x21800 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x00>,
489+
<0x21800 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x01>,
490+
<0x21800 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x02>,
491+
<0x22000 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x00>,
492+
<0x22000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x01>,
493+
<0x22000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x02>,
494+
<0x22000 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x03>,
495+
<0x22800 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x01>,
496+
<0x22800 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x02>,
497+
<0x22800 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x03>,
498+
<0x22800 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x00>,
499+
<0x23000 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x02>,
500+
<0x23000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x03>,
501+
<0x23000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x00>,
502+
<0x23000 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x01>;
503+
504+
/* pci-usba-dsp, internal USB-A port */
505+
pci@0,0 {
506+
device_type = "pci";
507+
reg = <0x20000 0x00 0x00 0x00 0x00>;
508+
bus-range = <0x03 0x03>;
509+
510+
#address-cells = <3>;
511+
#size-cells = <2>;
512+
ranges;
513+
514+
interrupt-controller;
515+
#interrupt-cells = <1>;
516+
517+
interrupt-map-mask = <0 0 0 7>;
518+
interrupt-map = <0x30000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x00>,
519+
<0x30000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x01>,
520+
<0x30000 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x02>;
521+
522+
/* not functional yet */
523+
reset-gpios = <&pinctrl_ap 6 GPIO_ACTIVE_LOW>;
524+
};
525+
526+
/* pci-sata-dsp, internal AHCI controller */
527+
pci@1,0 {
528+
device_type = "pci";
529+
reg = <0x20800 0x00 0x00 0x00 0x00>;
530+
bus-range = <0x04 0x04>;
531+
532+
#address-cells = <3>;
533+
#size-cells = <2>;
534+
ranges;
535+
536+
interrupt-controller;
537+
#interrupt-cells = <1>;
538+
539+
interrupt-map-mask = <0 0 0 7>;
540+
interrupt-map = <0x40000 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x00>,
541+
<0x40000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x01>,
542+
<0x40000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x02>;
543+
};
544+
545+
/* pci-bio-dsp, I/O board USB-A ports */
546+
pci@2,0 {
547+
device_type = "pci";
548+
reg = <0x21000 0x00 0x00 0x00 0x00>;
549+
bus-range = <0x05 0x05>;
550+
551+
#address-cells = <3>;
552+
#size-cells = <2>;
553+
ranges;
554+
555+
interrupt-controller;
556+
#interrupt-cells = <1>;
557+
558+
interrupt-map-mask = <0 0 0 7>;
559+
interrupt-map = <0x50000 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x01>,
560+
<0x50000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x02>,
561+
<0x50000 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x00>;
562+
563+
/* not functional yet */
564+
reset-gpios = <&pinctrl_ap 7 GPIO_ACTIVE_LOW>;
565+
};
566+
567+
/* pci-lan-dsp, Qtion AQC113 10G etherner controller (0) */
568+
pci@3,0 {
569+
device_type = "pci";
570+
reg = <0x21800 0x00 0x00 0x00 0x00>;
571+
bus-range = <0x06 0x06>;
572+
573+
#address-cells = <3>;
574+
#size-cells = <2>;
575+
ranges;
576+
577+
interrupt-controller;
578+
#interrupt-cells = <1>;
579+
580+
interrupt-map-mask = <0 0 0 7>;
581+
interrupt-map = <0x60000 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x02>,
582+
<0x60000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x00>,
583+
<0x60000 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x01>;
584+
585+
ethernet0: ethernet@0,0 {
586+
reg = <0x60000 0x0 0x0 0x0 0x0>;
587+
/* To be filled by the loader */
588+
local-mac-address = [00 10 18 00 00 00];
589+
};
590+
};
591+
592+
/* pci-lan-b-dsp, Qtion AQC113 10G etherner controller (1) */
593+
pci@4,0 {
594+
device_type = "pci";
595+
reg = <0x22000 0x00 0x00 0x00 0x00>;
596+
bus-range = <0x07 0x07>;
597+
598+
#address-cells = <3>;
599+
#size-cells = <2>;
600+
ranges;
601+
602+
interrupt-controller;
603+
#interrupt-cells = <1>;
604+
605+
interrupt-map-mask = <0 0 0 7>;
606+
interrupt-map = <0x70000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x00>,
607+
<0x70000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x01>,
608+
<0x70000 0x00 0x00 0x04 &port_ge00_die1 0x00 0x00 0x00 0x02>;
609+
610+
ethernet1: ethernet@0,0 {
611+
reg = <0x70000 0x0 0x0 0x0 0x0>;
612+
/* To be filled by the loader */
613+
local-mac-address = [00 10 18 00 00 00];
614+
};
615+
};
616+
617+
/* pci-wifibt-dsp, Broadcom BCM4388 Wlan/BT */
618+
pci@5,0 {
619+
device_type = "pci";
620+
reg = <0x22800 0x00 0x00 0x00 0x00>;
621+
bus-range = <0x08 0x08>;
622+
623+
#address-cells = <3>;
624+
#size-cells = <2>;
625+
ranges;
626+
627+
interrupt-controller;
628+
#interrupt-cells = <1>;
629+
630+
interrupt-map-mask = <0 0 0 7>;
631+
interrupt-map = <0x80000 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x00>,
632+
<0x80000 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x01>,
633+
<0x80000 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x02>,
634+
<0x80100 0x00 0x00 0x01 &port_ge00_die1 0x00 0x00 0x00 0x00>,
635+
<0x80100 0x00 0x00 0x02 &port_ge00_die1 0x00 0x00 0x00 0x01>,
636+
<0x80100 0x00 0x00 0x03 &port_ge00_die1 0x00 0x00 0x00 0x02>;
637+
638+
/* not functional yet */
639+
reset-gpios = <&pinctrl_ap 4 GPIO_ACTIVE_LOW>;
640+
pwren-gpios = <&smc_gpio 13 GPIO_ACTIVE_HIGH>;
641+
642+
wifi0: wifi@0,0 {
643+
reg = <0x80000 0x0 0x0 0x0 0x0>;
644+
compatible = "pci14e4,4433";
645+
brcm,board-type = "apple,sumatra";
646+
apple,antenna-sku = "XX";
647+
/* To be filled by the loader */
648+
local-mac-address = [00 10 18 00 00 10];
649+
};
650+
651+
bluetooth0: network@0,1 {
652+
compatible = "pci14e4,5f71";
653+
brcm,board-type = "apple,sumatra";
654+
// reg = <0x80100 0x0 0x0 0x0 0x0>;
655+
/* To be filled by the loader */
656+
local-bd-address = [00 00 00 00 00 00];
657+
};
658+
};
659+
660+
/* pci-slot6-dsp, PCIe slot6 */
661+
pci@6,0 {
662+
device_type = "pci";
663+
reg = <0x23000 0x00 0x00 0x00 0x00>;
664+
bus-range = <0x09 0x09>;
665+
666+
#address-cells = <3>;
667+
#size-cells = <2>;
668+
ranges;
669+
670+
interrupt-controller;
671+
#interrupt-cells = <1>;
672+
673+
interrupt-map-mask = <0 0 0 7>;
674+
};
675+
};
676+
};
677+
458678
&pcie0 {
459679
status = "disabled";
460680
};

0 commit comments

Comments
 (0)