はじめに
Google G4搭載の Pixel 9 シリーズが発売されました。これに伴い、Zuma Pro (G4搭載機)の Android の Kernel 等のソースコードが公開されました。
今回は、そのソースコードを覗いてみます。
Google G4 は、Zuma Pro
ここを見ると、
のソースコードがあります。
zumapro のソースコードandroid-15-beta-4_r0.9 (dts)を覗いてみます。
PCIe
PCIe は、どうやら、GEN3 のようです。
pcie_0 が、モデム(EP_SAMSUNG_MODEM)、pcie_1 が Broadcom の Wifi が繋がっているようです。
&pcie_0 { /* pcie ch0 used for the connection with CP */
status = "okay";
use-cache-coherency = "true";
use-msi = "true";
use-sicd = "true";
use-ia = "false";
use-l1ss = "true";
phy-power-off = "false";
use-pcieon-sleep = "true";
use-sysmmu = "false";
num-lanes = <1>;
perst-delay-us = <18000>;
ep-device-type = <EP_SAMSUNG_MODEM>;
};
&pcie_1 { /* pcie ch1 used for the connection with WiFi */
status = "okay";
num-lanes = <1>;
use-sicd = "true";
use-ia = "false";
use-l1ss = "true";
use-msi = "true";
use-sysmmu = "false";
max-link-speed = <LINK_SPEED_GEN3>;
ep-device-type = <EP_BCM_WIFI>;
perst-delay-us = <15000>;
pcie,wlan-gpio = <&gph3 4 0x1 /* WLAN_EN */ >; /* WLAN_REG_ON */
};
TPU
/ {
edgetpu: rio@1A000000 {
compatible = "google,edgetpu-zuma";
#dma-address-cells = <1>;
#dma-size-cells = <2>;
pasid-num-bits = <3>;
/* TPU uses regions under 0x18000000 for special purpose */
/* use 36-bit DMA window for standard path and GCIP */
dma-window = <0x18000000 0xF 0xE7FFF000>;
gcip-dma-window = <0x18000000 0xF 0xE7FFF000>;
reg = <0x0 0x1A000000 0x300000
0x0 0x1A300000 0x10000
0x0 0x1A3E0000 0x10000
0x0 0x1A3F0000 0x10000>;
reg-names = "tpu", "cmu", "ssmt_d0", "ssmt_d1";
interrupts = <0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_0_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_1_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_2_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_3_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_4_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_5_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_6_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_7_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_8_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_9_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_10_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_11_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_12_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_13_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_14_TPU IRQ_TYPE_LEVEL_HIGH 0>,
<0x00 IRQ_MAILBOX_TPU2AP_NS_TPU_15_TPU IRQ_TYPE_LEVEL_HIGH 0>;
iommus = <&sysmmu_tpu>;
samsung,iommu-group = <&iommu_group_tpu>;
status = "okay";
memory-region = <&tpu_fw_reserved_zumapro>;
edgetpu,shareability = <0x1A320000>; /* SYSREG_TPU */
pmu-status-base = <0x15462504>; /* PMU TPU_STATUS */
gsa-device=<&gsa>;
gcip-dvfs-table-size = <8 2>; /*<row col>*/
gcip-dvfs-table = <
/* when updating gcip-dvfs-table, update gcip-dvfs-table-size as well
* freq power(mW)
*----------------------------------
*/
1119000 6725
1119000 6725
1066000 6329
845000 3404
712000 2900
627000 2018
455000 1492
226000 562
>;
use-kernel-vii;
};
tpu_cooling: tpu-cooling {
#cooling-cells = <2>;
};
};
おわりに
Google Pixel 9シリーズが発売され、Android関連のソースコードが公開されましたので、中身を確認しました。
噂通りに、Google G4は、Zuma Proで、TPUの変更はなく、Google G3 (Zuma)と同じ Rio シリーズでした。
関連ブログ