Files
BBeOS/kernel/q20.dts
Eliott 71941f0584
Some checks failed
CI / markdown-lint (push) Failing after 15s
Phase 1: Initial kernel development setup
- Added comprehensive hardware research documentation
- Created bootloader analysis and driver compatibility research
- Set up development environment with cross-compilation tools
- Created Q20-specific device tree (simplified version)
- Added kernel build scripts and configuration
- Set up CI/CD pipeline with Gitea Actions
- Added .gitignore for build artifacts
2025-07-31 17:43:09 +02:00

244 lines
6.5 KiB
Plaintext

/dts-v1/;
/ {
model = "BlackBerry Classic Q20";
compatible = "blackberry,q20", "qcom,msm8960";
interrupt-parent = <&intc>;
chosen {
stdout-path = "serial0:115200n8";
bootargs = "console=ttyMSM0,115200n8 root=/dev/mmcblk0p2 rw rootwait";
};
memory {
device_type = "memory";
reg = <0x00000000 0x80000000>; // 2GB RAM
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
// Reserved for modem
modem@0x00000000 {
reg = <0x00000000 0x40000000>;
no-map;
};
// Reserved for display
display@0x40000000 {
reg = <0x40000000 0x10000000>;
no-map;
};
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0>;
next-level-cache = <&L2>;
operating-points-v2 = <&cpu_opp_table>;
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <1>;
next-level-cache = <&L2>;
operating-points-v2 = <&cpu_opp_table>;
};
};
cpu_opp_table: opp_table {
compatible = "operating-points-v2";
opp-shared;
opp-384000000 {
opp-hz = /bits/ 64 <384000000>;
opp-microvolt = <1050000>;
clock-latency-ns = <256000>;
};
opp-1026000000 {
opp-hz = /bits/ 64 <1026000000>;
opp-microvolt = <1150000>;
clock-latency-ns = <256000>;
};
opp-1500000000 {
opp-hz = /bits/ 64 <1500000000>;
opp-microvolt = <1250000>;
clock-latency-ns = <256000>;
};
};
soc {
#address-cells = <1>;
#size-cells = <1>;
ranges;
compatible = "simple-bus";
intc: interrupt-controller@2000000 {
compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>;
#size-cells = <0>;
#address-cells = <1>;
interrupt-controller;
reg = <0x02000000 0x1000>,
<0x02002000 0x1000>;
};
L2: l2-cache@2010000 {
compatible = "arm,pl310-cache";
reg = <0x02010000 0x1000>;
arm,data-latency = <3 3 3>;
arm,tag-latency = <2 2 2>;
cache-unified;
cache-level = <2>;
};
// Serial console
serial@16440000 {
compatible = "qcom,msm-uartdm";
reg = <0x16440000 0x1000>;
interrupts = <0 154 0>;
clocks = <&gcc 108>, <&gcc 109>;
clock-names = "core", "iface";
status = "okay";
};
// Display controller
mdp@5100000 {
compatible = "qcom,mdp5";
reg = <0x05100000 0x90000>;
reg-names = "mdp_phys";
interrupts = <0 75 0>;
clocks = <&gcc 20>, <&gcc 21>;
clock-names = "iface", "core";
status = "okay";
};
// Audio system
sound {
compatible = "qcom,msm8960-snd-card";
qcom,model = "blackberry-q20-snd-card";
qcom,audio-routing = "RX_BIAS", "MCLK",
"LDO_H", "MCLK";
qcom,cdc-mclk-gpios = <&pm8941_gpios 15 0>;
};
// Keyboard controller
keyboard@78 {
compatible = "blackberry,q20-keyboard";
reg = <0x78>;
interrupts = <0 123 0>;
gpio-controller;
#gpio-cells = <2>;
status = "okay";
};
// Trackpad
trackpad@5d {
compatible = "blackberry,q20-trackpad";
reg = <0x5d>;
interrupts = <0 124 0>;
status = "okay";
};
// Battery management
battery {
compatible = "blackberry,q20-battery";
voltage-min-design-microvolt = <3200000>;
voltage-max-design-microvolt = <4200000>;
energy-full-design-microwatt-hours = <9500000>;
charge-full-design-microamp-hours = <2515000>;
};
// Charger
charger {
compatible = "blackberry,q20-charger";
qcom,fast-charge-current = <1000000>;
qcom,fast-charge-voltage = <4200000>;
};
// USB OTG
usb@12500000 {
compatible = "qcom,ci-hdrc";
reg = <0x12500000 0x200>,
<0x12500200 0x200>;
interrupts = <0 134 0>;
status = "okay";
dr_mode = "otg";
};
// MMC/SD card
mmc@12400000 {
compatible = "qcom,msm-sdcc";
reg = <0x12400000 0x1000>;
interrupts = <0 81 0>;
clocks = <&gcc 80>, <&gcc 81>;
clock-names = "core", "iface";
status = "okay";
bus-width = <4>;
cap-sd-highspeed;
cap-mmc-highspeed;
};
// Wi-Fi
wifi@0 {
compatible = "qcom,ath6kl";
reg = <0x0 0x0>;
interrupts = <0 70 0>;
status = "okay";
};
// Bluetooth
bluetooth@0 {
compatible = "qcom,wcn3660";
reg = <0x0 0x0>;
interrupts = <0 71 0>;
status = "okay";
};
};
// Display panel
panel@0 {
compatible = "blackberry,q20-panel";
reg = <0>;
// Panel specifications
width-mm = <89>;
height-mm = <89>;
// Display timing
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <72000000>;
hactive = <720>;
vactive = <720>;
hfront-porch = <10>;
hsync-len = <10>;
hback-porch = <10>;
vfront-porch = <10>;
vsync-len = <10>;
vback-porch = <10>;
};
};
// Backlight
backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 1000000>;
brightness-levels = <0 1 2 3 4 5 6 7 8 9 10>;
default-brightness-level = <10>;
};
};
};