blob: e816f3c961d07cdcd0f68435a986e6bf99a585a6 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-only
/*
* Edge TPU device tree source
*
* Copyright 2021 Google,LLC
*
*/
/ {
/* TPU */
edgetpu: janeiro@1CE00000 {
compatible = "google,darwinn";
#dma-address-cells = <1>;
#dma-size-cells = <1>;
/* TPU uses regions under 0x18000000 for special purpose */
dma-window = <0x18000000 0xE7FFF000>;
reg = <0x0 0x1CE00000 0x200000
0x0 0x1CCF0000 0x10000>;
reg-names = "tpu", "ssmt";
interrupts = <0 IRQ_MAILBOX_TPU2AP_NS_TPU_0_TPU IRQ_TYPE_LEVEL_HIGH>,
<0 IRQ_MAILBOX_TPU2AP_NS_TPU_1_TPU IRQ_TYPE_LEVEL_HIGH>,
<0 IRQ_MAILBOX_TPU2AP_NS_TPU_2_TPU IRQ_TYPE_LEVEL_HIGH>,
<0 IRQ_MAILBOX_TPU2AP_NS_TPU_3_TPU IRQ_TYPE_LEVEL_HIGH>,
<0 IRQ_MAILBOX_TPU2AP_NS_TPU_4_TPU IRQ_TYPE_LEVEL_HIGH>,
<0 IRQ_MAILBOX_TPU2AP_NS_TPU_5_TPU IRQ_TYPE_LEVEL_HIGH>,
<0 IRQ_MAILBOX_TPU2AP_NS_TPU_6_TPU IRQ_TYPE_LEVEL_HIGH>,
<0 IRQ_MAILBOX_TPU2AP_NS_TPU_7_TPU IRQ_TYPE_LEVEL_HIGH>;
/* TODO(b/195608852): Enable coherency */
iommus = <&sysmmu_tpu>;
samsung,iommu-group = <&iommu_group_tpu>;
status = "okay";
memory-region = <&tpu_fw_reserved>, <&tpu_fw_ctx_reserved>;
edgetpu,shareability = <0x1cc20000>;
gsa-device = <&gsa>;
tpu_dvfs_table_size = <7 2>; /*<row col>*/
/*
* DVFS values calculated from average power with real-world workloads
*/
tpu_dvfs_table = <
/* when updating tpu_dvfs_table, update tpu_dvfs_table_size as well
* freq power(mW)
*----------------------------------
* TODO(b/192394098): update these with more accurate numbers for PRO
*/
1066000 4420
967000 4101
845000 2578
712000 1982
627000 1749
455000 1277
226000 0
>;
};
tpu_cooling: tpu-cooling {
#cooling-cells = <2>;
};
};