blob: ac6481819108928113b9d77b503e52a4561ac5f4 [file] [log] [blame]
/*
* Copyright (c) 2022 Intel Corporation.
* SPDX-License-Identifier: Apache-2.0
*/
#include "skeleton.dtsi"
#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include <zephyr/dt-bindings/pcie/pcie.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include "gpio_common.dtsi"
/ {
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "intel,panther-lake";
d-cache-line-size = <64>;
reg = <0>;
};
cpu@1 {
device_type = "cpu";
compatible = "intel,panther-lake";
d-cache-line-size = <64>;
reg = <1>;
};
};
dram0: memory@0 {
device_type = "memory";
reg = <0x0 DT_DRAM_SIZE>;
};
intc: ioapic@fec00000 {
compatible = "intel,ioapic";
#address-cells = <1>;
#interrupt-cells = <3>;
reg = <0xfec00000 0x1000>;
interrupt-controller;
};
intc_loapic: loapic@fee00000 {
compatible = "intel,loapic";
reg = <0xfee00000 0x1000>;
interrupt-controller;
#interrupt-cells = <3>;
#address-cells = <1>;
};
acpi {
gpio_a: gpio_a {
acpi-hid = "INTC10BC";
acpi-uid = "3";
group-index = <0x02>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
gpio_b: gpio_b {
acpi-hid = "INTC10BC";
acpi-uid = "5";
group-index = <0x00>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
gpio_c: gpio_c {
acpi-hid = "INTC10BC";
acpi-uid = "0";
group-index = <0x01>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
gpio_d: gpio_d {
acpi-hid = "INTC10BC";
acpi-uid = "5";
group-index = <0x01>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
gpio_e: gpio_e {
acpi-hid = "INTC10BC";
acpi-uid = "1";
group-index = <0x01>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
gpio_f: gpio_f {
acpi-hid = "INTC10BC";
acpi-uid = "1";
group-index = <0x00>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
gpio_h: gpio_h {
acpi-hid = "INTC10BC";
acpi-uid = "3";
group-index = <0x01>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
gpio_s: gpio_s {
acpi-hid = "INTC10BC";
acpi-uid = "4";
group-index = <0x00>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
gpio_v: gpio_v {
acpi-hid = "INTC10BC";
acpi-uid = "0";
group-index = <0x00>;
acpi-ginf-3-param;
int-stat-offset = <0x30>;
int-en-offset = <0x20>;
status = "disabled";
};
};
pcie0: pcie0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "pcie-controller";
acpi-hid = "PNP0A08";
ranges;
smbus0: smbus0 {
compatible = "intel,pch-smbus";
#address-cells = <1>;
#size-cells = <0>;
vendor-id = <0x8086>;
device-id = <0xe422>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
status = "disabled";
};
i2c0_dma: i2c0_dma {
compatible = "intel,lpss";
#dma-cells = <1>;
status = "disabled";
};
i2c0: i2c0 {
compatible = "snps,designware-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
vendor-id = <0x8086>;
device-id = <0xe478>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
dmas = <&i2c0_dma 0>;
status = "disabled";
};
i2c1_dma: i2c1_dma {
compatible = "intel,lpss";
#dma-cells = <1>;
status = "disabled";
};
i2c1: i2c1 {
compatible = "snps,designware-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
vendor-id = <0x8086>;
device-id = <0xe479>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
dmas = <&i2c1_dma 0>;
status = "disabled";
};
i2c2_dma: i2c2_dma {
compatible = "intel,lpss";
#dma-cells = <1>;
status = "disabled";
};
i2c2: i2c2 {
compatible = "snps,designware-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
#address-cells = <1>;
#size-cells = <0>;
vendor-id = <0x8086>;
device-id = <0xe47a>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
dmas = <&i2c2_dma 0>;
status = "disabled";
};
i2c3_dma: i2c3_dma {
compatible = "intel,lpss";
#dma-cells = <1>;
status = "disabled";
};
i2c3: i2c3 {
compatible = "snps,designware-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
vendor-id = <0x8086>;
device-id = <0xe47b>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
dmas = <&i2c3_dma 0>;
status = "disabled";
};
i2c4: i2c4 {
compatible = "snps,designware-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
vendor-id = <0x8086>;
device-id = <0xe450>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
status = "disabled";
};
i2c5: i2c5 {
compatible = "snps,designware-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
vendor-id = <0x8086>;
device-id = <0xe451>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
status = "disabled";
};
spi0: spi0 {
compatible = "intel,penwell-spi";
vendor-id = <0x8086>;
device-id = <0xe427>;
#address-cells = <1>;
#size-cells = <0>;
pw,cs-mode = <0>;
pw,cs-output = <0>;
pw,fifo-depth = <64>;
cs-gpios = <&gpio_e 17 GPIO_ACTIVE_LOW>;
clock-frequency = <100000000>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
status = "disabled";
};
spi1: spi1 {
compatible = "intel,penwell-spi";
vendor-id = <0x8086>;
device-id = <0xe430>;
#address-cells = <1>;
#size-cells = <0>;
pw,cs-mode = <0>;
pw,cs-output = <0>;
pw,fifo-depth = <64>;
cs-gpios = <&gpio_f 17 GPIO_ACTIVE_LOW>;
clock-frequency = <100000000>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
status = "disabled";
};
spi2: spi2 {
compatible = "intel,penwell-spi";
vendor-id = <0x8086>;
device-id = <0xe446>;
#address-cells = <1>;
#size-cells = <0>;
pw,cs-mode = <0>;
pw,cs-output = <0>;
pw,fifo-depth = <64>;
cs-gpios = <&gpio_f 18 GPIO_ACTIVE_LOW>;
clock-frequency = <100000000>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
status = "disabled";
};
uart0_dma: uart0_dma {
compatible = "intel,lpss";
#dma-cells = <1>;
status = "disabled";
};
uart0: uart0 {
compatible = "ns16550";
vendor-id = <0x8086>;
device-id = <0xe425>;
reg-shift = <2>;
clock-frequency = <1843200>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
current-speed = <115200>;
dmas = <&uart0_dma 0>, <&uart0_dma 1>;
dma-names = "tx", "rx";
status = "disabled";
};
uart1_dma: uart1_dma {
compatible = "intel,lpss";
#dma-cells = <1>;
status = "disabled";
};
uart1: uart1 {
compatible = "ns16550";
vendor-id = <0x8086>;
device-id = <0xe426>;
reg-shift = <2>;
clock-frequency = <1843200>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
current-speed = <115200>;
dmas = <&uart1_dma 0>, <&uart1_dma 1>;
dma-names = "tx", "rx";
status = "disabled";
};
uart2: uart2 {
compatible = "ns16550";
vendor-id = <0x8086>;
device-id = <0xe452>;
reg-shift = <2>;
clock-frequency = <1843200>;
interrupts = <PCIE_IRQ_DETECT IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
interrupt-parent = <&intc>;
current-speed = <115200>;
status = "disabled";
};
};
soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges;
vtd: vtd@fed91000 {
compatible = "intel,vt-d";
reg = <0xfed91000 0x1000>;
status = "okay";
};
uart_ec_0: uart@3f8 {
compatible = "ns16550";
reg = <0x000003f8 0x100>;
io-mapped;
clock-frequency = <1843200>;
interrupts = <4 IRQ_TYPE_LOWEST_EDGE_RISING 3>;
interrupt-parent = <&intc>;
reg-shift = <0>;
io-mapped;
status = "disabled";
};
pwm0: pwm@5d0000 {
compatible = "intel,blinky-pwm";
reg = <0x5d0000 0x500>;
reg-upper32 = <0x40>;
reg-offset = <0x434>;
clock-frequency = <32768>;
max-pins = <1>;
#pwm-cells = <2>;
status = "disabled";
};
mfd: mfd@70 {
compatible = "motorola,mc146818-mfd";
reg = <0x70 0x01 0x71 0x01 0x72 0x01 0x73 0x01>;
rtc: counter: rtc {
compatible = "motorola,mc146818";
interrupts = <8 IRQ_TYPE_LOWEST_EDGE_RISING 3>;
interrupt-parent = <&intc>;
alarms-count = <1>;
status = "disabled";
};
bbram: bbram {
compatible = "motorola,mc146818-bbram";
size = <241>;
status = "disabled";
};
status = "disabled";
};
tgpio: tgpio@fe001200 {
compatible = "intel,timeaware-gpio";
reg = <0xfe001200 0x100>;
timer-clock = <19200000>;
max-pins = <2>;
artv-ctrl;
status = "disabled";
};
hpet: hpet@fed00000 {
compatible = "intel,hpet";
reg = <0xfed00000 0x400>;
interrupts = <2 IRQ_TYPE_FIXED_EDGE_RISING 4>;
interrupt-parent = <&intc>;
status = "disabled";
};
tco_wdt: tco_wdt@400 {
compatible = "intel,tco-wdt";
reg = <0x0400 0x20>;
status = "disabled";
};
};
};