diff options
Diffstat (limited to 'configs/tegra124.soc')
-rw-r--r-- | configs/tegra124.soc | 526 |
1 files changed, 526 insertions, 0 deletions
diff --git a/configs/tegra124.soc b/configs/tegra124.soc new file mode 100644 index 0000000..1e13bba --- /dev/null +++ b/configs/tegra124.soc @@ -0,0 +1,526 @@ +# All data validated against Tegra124 TRM on 2014/03/12 by swarren except: +# - drive group lpmd_b column, which is missing from the TRM (nvbug 1480165) +# - drive_group_pins[] content + +kernel_copyright_years = '2013-2014' +kernel_author = 'Ashwini Ghuge <aghuge@nvidia.com>' +uboot_copyright_years = '2013-2014' + +gpios = ( + #name, gpio, reg, f0, f1, f2, f3, od, ior, rcv_sel + ('clk_32k_out', 'a0', 0x331c, 'blink', 'soc', 'rsvd3', 'rsvd4', False, False, False), + ('uart3_cts_n', 'a1', 0x317c, 'uartc', 'sdmmc1', 'dtv', 'gmi', False, False, False), + ('dap2_fs', 'a2', 0x3358, 'i2s1', 'hda', 'gmi', 'rsvd4', False, False, False), + ('dap2_sclk', 'a3', 0x3364, 'i2s1', 'hda', 'gmi', 'rsvd4', False, False, False), + ('dap2_din', 'a4', 0x335c, 'i2s1', 'hda', 'gmi', 'rsvd4', False, False, False), + ('dap2_dout', 'a5', 0x3360, 'i2s1', 'hda', 'gmi', 'rsvd4', False, False, False), + ('sdmmc3_clk', 'a6', 0x3390, 'sdmmc3', 'rsvd2', 'rsvd3', 'spi3', False, False, False), + ('sdmmc3_cmd', 'a7', 0x3394, 'sdmmc3', 'pwm3', 'uarta', 'spi3', False, False, False), + ('', 'b0', 0x3234, 'uartd', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'b1', 0x3238, 'uartd', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('sdmmc3_dat3', 'b4', 0x33a4, 'sdmmc3', 'pwm0', 'displayb', 'spi3', False, False, False), + ('sdmmc3_dat2', 'b5', 0x33a0, 'sdmmc3', 'pwm1', 'displaya', 'spi3', False, False, False), + ('sdmmc3_dat1', 'b6', 0x339c, 'sdmmc3', 'pwm2', 'uarta', 'spi3', False, False, False), + ('sdmmc3_dat0', 'b7', 0x3398, 'sdmmc3', 'rsvd2', 'rsvd3', 'spi3', False, False, False), + ('uart3_rts_n', 'c0', 0x3180, 'uartc', 'pwm0', 'dtv', 'gmi', False, False, False), + ('uart2_txd', 'c2', 0x3168, 'irda', 'spdif', 'uarta', 'spi4', False, False, False), + ('uart2_rxd', 'c3', 0x3164, 'irda', 'spdif', 'uarta', 'spi4', False, False, False), + ('gen1_i2c_scl', 'c4', 0x31a4, 'i2c1', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), + ('gen1_i2c_sda', 'c5', 0x31a0, 'i2c1', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), + ('', 'c7', 0x31c0, 'rsvd1', 'rsvd2', 'gmi', 'gmi_alt', False, False, False), + ('', 'g0', 0x31f0, 'rsvd1', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'g1', 0x31f4, 'rsvd1', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'g2', 0x31f8, 'rsvd1', 'trace', 'gmi', 'rsvd4', False, False, False), + ('', 'g3', 0x31fc, 'rsvd1', 'trace', 'gmi', 'rsvd4', False, False, False), + ('', 'g4', 0x3200, 'rsvd1', 'tmds', 'gmi', 'spi4', False, False, False), + ('', 'g5', 0x3204, 'rsvd1', 'rsvd2', 'gmi', 'spi4', False, False, False), + ('', 'g6', 0x3208, 'rsvd1', 'rsvd2', 'gmi', 'spi4', False, False, False), + ('', 'g7', 0x320c, 'rsvd1', 'rsvd2', 'gmi', 'spi4', False, False, False), + ('', 'h0', 0x3210, 'pwm0', 'trace', 'gmi', 'dtv', False, False, False), + ('', 'h1', 0x3214, 'pwm1', 'tmds', 'gmi', 'displaya', False, False, False), + ('', 'h2', 0x3218, 'pwm2', 'tmds', 'gmi', 'cldvfs', False, False, False), + ('', 'h3', 0x321c, 'pwm3', 'spi4', 'gmi', 'cldvfs', False, False, False), + ('', 'h4', 0x3220, 'sdmmc2', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'h5', 0x3224, 'sdmmc2', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'h6', 0x3228, 'sdmmc2', 'trace', 'gmi', 'dtv', False, False, False), + ('', 'h7', 0x322c, 'sdmmc2', 'trace', 'gmi', 'dtv', False, False, False), + ('', 'i0', 0x3240, 'rsvd1', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'i1', 0x3244, 'rsvd1', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'i2', 0x3248, 'sdmmc2', 'trace', 'gmi', 'rsvd4', False, False, False), + ('', 'i3', 0x31e8, 'rsvd1', 'rsvd2', 'gmi', 'spi4', False, False, False), + ('', 'i4', 0x324c, 'spi4', 'trace', 'gmi', 'displaya', False, False, False), + ('', 'i5', 0x31c4, 'sdmmc2', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'i6', 0x31ec, 'rsvd1', 'rsvd2', 'gmi', 'sdmmc2', False, False, False), + ('', 'i7', 0x31c8, 'rsvd1', 'trace', 'gmi', 'dtv', False, False, False), + ('', 'j0', 0x31d4, 'rsvd1', 'rsvd2', 'gmi', 'usb', False, False, False), + ('', 'j2', 0x31d8, 'rsvd1', 'rsvd2', 'gmi', 'soc', False, False, False), + ('uart2_cts_n', 'j5', 0x3170, 'uarta', 'uartb', 'gmi', 'spi4', False, False, False), + ('uart2_rts_n', 'j6', 0x316c, 'uarta', 'uartb', 'gmi', 'spi4', False, False, False), + ('', 'j7', 0x3230, 'uartd', 'rsvd2', 'gmi', 'gmi_alt', False, False, False), + ('', 'k0', 0x31cc, 'rsvd1', 'sdmmc3', 'gmi', 'soc', False, False, False), + ('', 'k1', 0x31d0, 'sdmmc2', 'trace', 'gmi', 'rsvd4', False, False, False), + ('', 'k2', 0x31e4, 'rsvd1', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('', 'k3', 0x31dc, 'sdmmc2', 'trace', 'gmi', 'ccla', False, False, False), + ('', 'k4', 0x31e0, 'sdmmc2', 'rsvd2', 'gmi', 'gmi_alt', False, False, False), + ('spdif_out', 'k5', 0x3354, 'spdif', 'rsvd2', 'rsvd3', 'i2c3', False, False, False), + ('spdif_in', 'k6', 0x3350, 'spdif', 'rsvd2', 'rsvd3', 'i2c3', False, False, False), + ('', 'k7', 0x323c, 'uartd', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('dap1_fs', 'n0', 0x3338, 'i2s0', 'hda', 'gmi', 'rsvd4', False, False, False), + ('dap1_din', 'n1', 0x333c, 'i2s0', 'hda', 'gmi', 'rsvd4', False, False, False), + ('dap1_dout', 'n2', 0x3340, 'i2s0', 'hda', 'gmi', 'sata', False, False, False), + ('dap1_sclk', 'n3', 0x3344, 'i2s0', 'hda', 'gmi', 'rsvd4', False, False, False), + ('usb_vbus_en0', 'n4', 0x33f4, 'usb', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), + ('usb_vbus_en1', 'n5', 0x33f8, 'usb', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), + ('hdmi_int', 'n7', 0x3110, 'rsvd1', 'rsvd2', 'rsvd3', 'rsvd4', False, False, True), + ('ulpi_data7', 'o0', 0x301c, 'spi2', 'hsi', 'uarta', 'ulpi', False, False, False), + ('ulpi_data0', 'o1', 0x3000, 'spi3', 'hsi', 'uarta', 'ulpi', False, False, False), + ('ulpi_data1', 'o2', 0x3004, 'spi3', 'hsi', 'uarta', 'ulpi', False, False, False), + ('ulpi_data2', 'o3', 0x3008, 'spi3', 'hsi', 'uarta', 'ulpi', False, False, False), + ('ulpi_data3', 'o4', 0x300c, 'spi3', 'hsi', 'uarta', 'ulpi', False, False, False), + ('ulpi_data4', 'o5', 0x3010, 'spi2', 'hsi', 'uarta', 'ulpi', False, False, False), + ('ulpi_data5', 'o6', 0x3014, 'spi2', 'hsi', 'uarta', 'ulpi', False, False, False), + ('ulpi_data6', 'o7', 0x3018, 'spi2', 'hsi', 'uarta', 'ulpi', False, False, False), + ('dap3_fs', 'p0', 0x3030, 'i2s2', 'spi5', 'displaya', 'displayb', False, False, False), + ('dap3_din', 'p1', 0x3034, 'i2s2', 'spi5', 'displaya', 'displayb', False, False, False), + ('dap3_dout', 'p2', 0x3038, 'i2s2', 'spi5', 'displaya', 'rsvd4', False, False, False), + ('dap3_sclk', 'p3', 0x303c, 'i2s2', 'spi5', 'rsvd3', 'displayb', False, False, False), + ('dap4_fs', 'p4', 0x31a8, 'i2s3', 'gmi', 'dtv', 'rsvd4', False, False, False), + ('dap4_din', 'p5', 0x31ac, 'i2s3', 'gmi', 'rsvd3', 'rsvd4', False, False, False), + ('dap4_dout', 'p6', 0x31b0, 'i2s3', 'gmi', 'dtv', 'rsvd4', False, False, False), + ('dap4_sclk', 'p7', 0x31b4, 'i2s3', 'gmi', 'rsvd3', 'rsvd4', False, False, False), + ('kb_col0', 'q0', 0x32fc, 'kbc', 'rsvd2', 'spi2', 'rsvd4', False, False, False), + ('kb_col1', 'q1', 0x3300, 'kbc', 'rsvd2', 'spi2', 'rsvd4', False, False, False), + ('kb_col2', 'q2', 0x3304, 'kbc', 'rsvd2', 'spi2', 'rsvd4', False, False, False), + ('kb_col3', 'q3', 0x3308, 'kbc', 'displaya', 'pwm2', 'uarta', False, False, False), + ('kb_col4', 'q4', 0x330c, 'kbc', 'owr', 'sdmmc3', 'uarta', False, False, False), + ('kb_col5', 'q5', 0x3310, 'kbc', 'rsvd2', 'sdmmc3', 'rsvd4', False, False, False), + ('kb_col6', 'q6', 0x3314, 'kbc', 'rsvd2', 'spi2', 'uartd', False, False, False), + ('kb_col7', 'q7', 0x3318, 'kbc', 'rsvd2', 'spi2', 'uartd', False, False, False), + ('kb_row0', 'r0', 0x32bc, 'kbc', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('kb_row1', 'r1', 0x32c0, 'kbc', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('kb_row2', 'r2', 0x32c4, 'kbc', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('kb_row3', 'r3', 0x32c8, 'kbc', 'displaya', 'sys', 'displayb', False, False, False), + ('kb_row4', 'r4', 0x32cc, 'kbc', 'displaya', 'rsvd3', 'displayb', False, False, False), + ('kb_row5', 'r5', 0x32d0, 'kbc', 'displaya', 'rsvd3', 'displayb', False, False, False), + ('kb_row6', 'r6', 0x32d4, 'kbc', 'displaya', 'displaya_alt', 'displayb', False, False, False), + ('kb_row7', 'r7', 0x32d8, 'kbc', 'rsvd2', 'cldvfs', 'uarta', False, False, False), + ('kb_row8', 's0', 0x32dc, 'kbc', 'rsvd2', 'cldvfs', 'uarta', False, False, False), + ('kb_row9', 's1', 0x32e0, 'kbc', 'rsvd2', 'rsvd3', 'uarta', False, False, False), + ('kb_row10', 's2', 0x32e4, 'kbc', 'rsvd2', 'rsvd3', 'uarta', False, False, False), + ('kb_row11', 's3', 0x32e8, 'kbc', 'rsvd2', 'rsvd3', 'irda', False, False, False), + ('kb_row12', 's4', 0x32ec, 'kbc', 'rsvd2', 'rsvd3', 'irda', False, False, False), + ('kb_row13', 's5', 0x32f0, 'kbc', 'rsvd2', 'spi2', 'rsvd4', False, False, False), + ('kb_row14', 's6', 0x32f4, 'kbc', 'rsvd2', 'spi2', 'rsvd4', False, False, False), + ('kb_row15', 's7', 0x32f8, 'kbc', 'soc', 'rsvd3', 'rsvd4', False, False, False), + ('kb_row16', 't0', 0x340c, 'kbc', 'rsvd2', 'rsvd3', 'uartc', False, False, False), + ('kb_row17', 't1', 0x3410, 'kbc', 'rsvd2', 'rsvd3', 'uartc', False, False, False), + ('gen2_i2c_scl', 't5', 0x3250, 'i2c2', 'rsvd2', 'gmi', 'rsvd4', True, False, False), + ('gen2_i2c_sda', 't6', 0x3254, 'i2c2', 'rsvd2', 'gmi', 'rsvd4', True, False, False), + ('sdmmc4_cmd', 't7', 0x325c, 'sdmmc4', 'rsvd2', 'gmi', 'rsvd4', False, True, False), + ('', 'u0', 0x3184, 'owr', 'uarta', 'gmi', 'rsvd4', False, False, False), + ('', 'u1', 0x3188, 'rsvd1', 'uarta', 'gmi', 'rsvd4', False, False, False), + ('', 'u2', 0x318c, 'rsvd1', 'uarta', 'gmi', 'rsvd4', False, False, False), + ('', 'u3', 0x3190, 'pwm0', 'uarta', 'gmi', 'displayb', False, False, False), + ('', 'u4', 0x3194, 'pwm1', 'uarta', 'gmi', 'displayb', False, False, False), + ('', 'u5', 0x3198, 'pwm2', 'uarta', 'gmi', 'displayb', False, False, False), + ('', 'u6', 0x319c, 'pwm3', 'uarta', 'rsvd3', 'gmi', False, False, False), + ('', 'v0', 0x3040, 'rsvd1', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('', 'v1', 0x3044, 'rsvd1', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('sdmmc3_cd_n', 'v2', 0x33e8, 'sdmmc3', 'owr', 'rsvd3', 'rsvd4', False, False, False), + ('sdmmc1_wp_n', 'v3', 0x33e4, 'sdmmc1', 'clk12', 'spi4', 'uarta', False, False, False), + ('ddc_scl', 'v4', 0x3114, 'i2c4', 'rsvd2', 'rsvd3', 'rsvd4', False, False, True), + ('ddc_sda', 'v5', 0x3118, 'i2c4', 'rsvd2', 'rsvd3', 'rsvd4', False, False, True), + ('gpio_w2_aud', 'w2', 0x33ec, 'spi6', 'rsvd2', 'spi2', 'i2c1', False, False, False), + ('gpio_w3_aud', 'w3', 0x33f0, 'spi6', 'spi1', 'spi2', 'i2c1', False, False, False), + ('dap_mclk1', 'w4', 0x334c, 'extperiph1', 'dap2', 'rsvd3', 'rsvd4', False, False, False), + ('clk2_out', 'w5', 0x3068, 'extperiph2', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('uart3_txd', 'w6', 0x3174, 'uartc', 'rsvd2', 'gmi', 'spi4', False, False, False), + ('uart3_rxd', 'w7', 0x3178, 'uartc', 'rsvd2', 'gmi', 'spi4', False, False, False), + ('dvfs_pwm', 'x0', 0x3368, 'spi6', 'cldvfs', 'gmi', 'rsvd4', False, False, False), + ('gpio_x1_aud', 'x1', 0x336c, 'spi6', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('dvfs_clk', 'x2', 0x3374, 'spi6', 'cldvfs', 'gmi', 'rsvd4', False, False, False), + ('gpio_x3_aud', 'x3', 0x3370, 'spi6', 'spi1', 'gmi', 'rsvd4', False, False, False), + ('gpio_x4_aud', 'x4', 0x3378, 'gmi', 'spi1', 'spi2', 'dap2', False, False, False), + ('gpio_x5_aud', 'x5', 0x337c, 'gmi', 'spi1', 'spi2', 'rsvd4', False, False, False), + ('gpio_x6_aud', 'x6', 0x3380, 'spi6', 'spi1', 'spi2', 'gmi', False, False, False), + ('gpio_x7_aud', 'x7', 0x3384, 'rsvd1', 'spi1', 'spi2', 'rsvd4', False, False, False), + ('ulpi_clk', 'y0', 0x3020, 'spi1', 'spi5', 'uartd', 'ulpi', False, False, False), + ('ulpi_dir', 'y1', 0x3024, 'spi1', 'spi5', 'uartd', 'ulpi', False, False, False), + ('ulpi_nxt', 'y2', 0x3028, 'spi1', 'spi5', 'uartd', 'ulpi', False, False, False), + ('ulpi_stp', 'y3', 0x302c, 'spi1', 'spi5', 'uartd', 'ulpi', False, False, False), + ('sdmmc1_dat3', 'y4', 0x3050, 'sdmmc1', 'spdif', 'spi4', 'uarta', False, False, False), + ('sdmmc1_dat2', 'y5', 0x3054, 'sdmmc1', 'pwm0', 'spi4', 'uarta', False, False, False), + ('sdmmc1_dat1', 'y6', 0x3058, 'sdmmc1', 'pwm1', 'spi4', 'uarta', False, False, False), + ('sdmmc1_dat0', 'y7', 0x305c, 'sdmmc1', 'rsvd2', 'spi4', 'uarta', False, False, False), + ('sdmmc1_clk', 'z0', 0x3048, 'sdmmc1', 'clk12', 'rsvd3', 'rsvd4', False, False, False), + ('sdmmc1_cmd', 'z1', 0x304c, 'sdmmc1', 'spdif', 'spi4', 'uarta', False, False, False), + ('pwr_i2c_scl', 'z6', 0x32b4, 'i2cpwr', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), + ('pwr_i2c_sda', 'z7', 0x32b8, 'i2cpwr', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), + ('sdmmc4_dat0', 'aa0', 0x3260, 'sdmmc4', 'spi3', 'gmi', 'rsvd4', False, True, False), + ('sdmmc4_dat1', 'aa1', 0x3264, 'sdmmc4', 'spi3', 'gmi', 'rsvd4', False, True, False), + ('sdmmc4_dat2', 'aa2', 0x3268, 'sdmmc4', 'spi3', 'gmi', 'rsvd4', False, True, False), + ('sdmmc4_dat3', 'aa3', 0x326c, 'sdmmc4', 'spi3', 'gmi', 'rsvd4', False, True, False), + ('sdmmc4_dat4', 'aa4', 0x3270, 'sdmmc4', 'spi3', 'gmi', 'rsvd4', False, True, False), + ('sdmmc4_dat5', 'aa5', 0x3274, 'sdmmc4', 'spi3', 'rsvd3', 'rsvd4', False, True, False), + ('sdmmc4_dat6', 'aa6', 0x3278, 'sdmmc4', 'spi3', 'gmi', 'rsvd4', False, True, False), + ('sdmmc4_dat7', 'aa7', 0x327c, 'sdmmc4', 'rsvd2', 'gmi', 'rsvd4', False, True, False), + ('', 'bb0', 0x328c, 'vgp6', 'vimclk2', 'sdmmc2', 'vimclk2_alt', False, False, False), + ('cam_i2c_scl', 'bb1', 0x3290, 'vgp1', 'i2c3', 'rsvd3', 'sdmmc2', True, False, False), + ('cam_i2c_sda', 'bb2', 0x3294, 'vgp2', 'i2c3', 'rsvd3', 'sdmmc2', True, False, False), + ('', 'bb3', 0x3298, 'vgp3', 'displaya', 'displayb', 'sdmmc2', False, False, False), + ('', 'bb4', 0x329c, 'vgp4', 'displaya', 'displayb', 'sdmmc2', False, False, False), + ('', 'bb5', 0x32a0, 'vgp5', 'displaya', 'rsvd3', 'sdmmc2', False, False, False), + ('', 'bb6', 0x32a4, 'i2s4', 'rsvd2', 'displayb', 'sdmmc2', False, False, False), + ('', 'bb7', 0x32a8, 'i2s4', 'rsvd2', 'rsvd3', 'sdmmc2', False, False, False), + ('cam_mclk', 'cc0', 0x3284, 'vi', 'vi_alt1', 'vi_alt3', 'sdmmc2', False, False, False), + ('', 'cc1', 0x3288, 'i2s4', 'rsvd2', 'rsvd3', 'sdmmc2', False, False, False), + ('', 'cc2', 0x32ac, 'i2s4', 'rsvd2', 'sdmmc3', 'sdmmc2', False, False, False), + ('sdmmc4_clk', 'cc4', 0x3258, 'sdmmc4', 'rsvd2', 'gmi', 'rsvd4', False, True, False), + ('clk2_req', 'cc5', 0x306c, 'dap', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('pex_l0_rst_n', 'dd1', 0x33bc, 'pe0', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('pex_l0_clkreq_n', 'dd2', 0x33c0, 'pe0', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('pex_wake_n', 'dd3', 0x33c4, 'pe', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('pex_l1_rst_n', 'dd5', 0x33cc, 'pe1', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('pex_l1_clkreq_n', 'dd6', 0x33d0, 'pe1', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('clk3_out', 'ee0', 0x31b8, 'extperiph3', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('clk3_req', 'ee1', 0x31bc, 'dev3', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('dap_mclk1_req', 'ee2', 0x3348, 'dap', 'dap1', 'sata', 'rsvd4', False, False, False), + ('hdmi_cec', 'ee3', 0x33e0, 'cec', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), + ('sdmmc3_clk_lb_out', 'ee4', 0x3400, 'sdmmc3', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('sdmmc3_clk_lb_in', 'ee5', 0x33fc, 'sdmmc3', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('dp_hpd', 'ff0', 0x3430, 'dp', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('usb_vbus_en2', 'ff1', 0x3414, 'usb', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), + ('', 'ff2', 0x3418, 'sata', 'rsvd2', 'rsvd3', 'rsvd4', True, False, False), +) + +pins = ( + #name, reg, f0, f1, f2, f3, od, ior, rcv_sel + ('core_pwr_req', 0x3324, 'pwron', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('cpu_pwr_req', 0x3328, 'cpu', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('pwr_int_n', 0x332c, 'pmi', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('gmi_clk_lb', 0x3404, 'sdmmc2', 'rsvd2', 'gmi', 'rsvd4', False, False, False), + ('reset_out_n', 0x3408, 'rsvd1', 'rsvd2', 'rsvd3', 'reset_out_n', False, False, False), + ('owr', 0x3334, 'owr', 'rsvd2', 'rsvd3', 'rsvd4', False, False, True), + ('clk_32k_in', 0x3330, 'clk', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), + ('jtag_rtck', 0x32b0, 'rtck', 'rsvd2', 'rsvd3', 'rsvd4', False, False, False), +) + +drive_groups = ( + #name, r, hsm_b, schmitt_b, lpmd_b, drvdn_b, drvdn_w, drvup_b, drvup_w, slwr_b, slwr_w, slwf_b, slwf_w, drvtype + ('ao1', 0x868, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('ao2', 0x86c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('at1', 0x870, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, True), + ('at2', 0x874, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, True), + ('at3', 0x878, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, True), + ('at4', 0x87c, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, True), + ('at5', 0x880, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, False), + ('cdev1', 0x884, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('cdev2', 0x888, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('dap1', 0x890, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('dap2', 0x894, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('dap3', 0x898, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('dap4', 0x89c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('dbg', 0x8a0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('sdio3', 0x8b0, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, False), + ('spi', 0x8b4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('uaa', 0x8b8, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('uab', 0x8bc, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('uart2', 0x8c0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('uart3', 0x8c4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('sdio1', 0x8ec, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, False), + ('ddc', 0x8fc, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('gma', 0x900, 2, 3, 4, 14, 5, 20, 5, 28, 2, 30, 2, True), + ('gme', 0x910, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, False), + ('gmf', 0x914, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, False), + ('gmg', 0x918, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, False), + ('gmh', 0x91c, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, False), + ('owr', 0x920, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + # There is confusion in the TRM; is this UDA or UAD? + ('uda', 0x924, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('gpv', 0x928, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('dev3', 0x92c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('cec', 0x938, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('at6', 0x994, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, True), + ('dap5', 0x998, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('usb_vbus_en', 0x99c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('ao3', 0x9a8, 2, 3, 4, 12, 5, -1, -1, 28, 2, -1, -1, False), + ('ao0', 0x9b0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('hv0', 0x9b4, 2, 3, 4, 12, 5, -1, -1, 28, 2, -1, -1, False), + ('sdio4', 0x9c4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, False), + ('ao4', 0x9c8, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, True), +) + +drive_group_pins = { + 'ao1': ( + 'kb_row0_pr0', + 'kb_row1_pr1', + 'kb_row2_pr2', + 'kb_row3_pr3', + 'kb_row4_pr4', + 'kb_row5_pr5', + 'kb_row6_pr6', + 'kb_row7_pr7', + 'pwr_i2c_scl_pz6', + 'pwr_i2c_sda_pz7', + ), + 'ao2': ( + 'clk_32k_out_pa0', + 'clk_32k_in', + 'kb_col0_pq0', + 'kb_col1_pq1', + 'kb_col2_pq2', + 'kb_col3_pq3', + 'kb_col4_pq4', + 'kb_col5_pq5', + 'kb_col6_pq6', + 'kb_col7_pq7', + 'kb_row8_ps0', + 'kb_row9_ps1', + 'kb_row10_ps2', + 'kb_row11_ps3', + 'kb_row12_ps4', + 'kb_row13_ps5', + 'kb_row14_ps6', + 'kb_row15_ps7', + 'kb_row16_pt0', + 'kb_row17_pt1', + 'sdmmc3_cd_n_pv2', + 'core_pwr_req', + 'cpu_pwr_req', + 'pwr_int_n', + ), + 'at1': ( + 'ph0', + 'ph1', + 'ph2', + 'ph3', + ), + 'at2': ( + 'pg0', + 'pg1', + 'pg2', + 'pg3', + 'pg4', + 'pg5', + 'pg6', + 'pg7', + 'pi0', + 'pi1', + 'pi3', + 'pi4', + 'pi7', + 'pk0', + 'pk2', + ), + 'at3': ( + 'pc7', + 'pj0', + ), + 'at4': ( + 'pb0', + 'pb1', + 'pj0', + 'pj7', + 'pk7', + ), + 'at5': ( + 'gen2_i2c_scl_pt5', + 'gen2_i2c_sda_pt6', + ), + 'cdev1': ( + 'dap_mclk1_pw4', + 'dap_mclk1_req_pee2', + ), + 'cdev2': ( + 'clk2_out_pw5', + 'clk2_req_pcc5', + ), + 'dap1': ( + 'dap1_fs_pn0', + 'dap1_din_pn1', + 'dap1_dout_pn2', + 'dap1_sclk_pn3', + ), + 'dap2': ( + 'dap2_fs_pa2', + 'dap2_sclk_pa3', + 'dap2_din_pa4', + 'dap2_dout_pa5', + ), + 'dap3': ( + 'dap3_fs_pp0', + 'dap3_din_pp1', + 'dap3_dout_pp2', + 'dap3_sclk_pp3', + ), + 'dap4': ( + 'dap4_fs_pp4', + 'dap4_din_pp5', + 'dap4_dout_pp6', + 'dap4_sclk_pp7', + ), + 'dbg': ( + 'gen1_i2c_scl_pc4', + 'gen1_i2c_sda_pc5', + 'pu0', + 'pu1', + 'pu2', + 'pu3', + 'pu4', + 'pu5', + 'pu6', + ), + 'sdio3': ( + 'sdmmc3_clk_pa6', + 'sdmmc3_cmd_pa7', + 'sdmmc3_dat3_pb4', + 'sdmmc3_dat2_pb5', + 'sdmmc3_dat1_pb6', + 'sdmmc3_dat0_pb7', + 'sdmmc3_clk_lb_out_pee4', + 'sdmmc3_clk_lb_in_pee5', + ), + 'spi': ( + 'dvfs_pwm_px0', + 'gpio_x1_aud_px1', + 'dvfs_clk_px2', + 'gpio_x3_aud_px3', + 'gpio_x4_aud_px4', + 'gpio_x5_aud_px5', + 'gpio_x6_aud_px6', + 'gpio_x7_aud_px7', + 'gpio_w2_aud_pw2', + 'gpio_w3_aud_pw3', + ), + 'uaa': ( + 'ulpi_data0_po1', + 'ulpi_data1_po2', + 'ulpi_data2_po3', + 'ulpi_data3_po4', + ), + 'uab': ( + 'ulpi_data7_po0', + 'ulpi_data4_po5', + 'ulpi_data5_po6', + 'ulpi_data6_po7', + 'pv0', + 'pv1', + ), + 'uart2': ( + 'uart2_txd_pc2', + 'uart2_rxd_pc3', + 'uart2_cts_n_pj5', + 'uart2_rts_n_pj6', + ), + 'uart3': ( + 'uart3_cts_n_pa1', + 'uart3_rts_n_pc0', + 'uart3_txd_pw6', + 'uart3_rxd_pw7', + ), + 'sdio1': ( + 'sdmmc1_dat3_py4', + 'sdmmc1_dat2_py5', + 'sdmmc1_dat1_py6', + 'sdmmc1_dat0_py7', + 'sdmmc1_clk_pz0', + 'sdmmc1_cmd_pz1', + ), + 'ddc': ( + 'ddc_scl_pv4', + 'ddc_sda_pv5', + ), + 'gma': ( + 'sdmmc4_clk_pcc4', + 'sdmmc4_cmd_pt7', + 'sdmmc4_dat0_paa0', + 'sdmmc4_dat1_paa1', + 'sdmmc4_dat2_paa2', + 'sdmmc4_dat3_paa3', + 'sdmmc4_dat4_paa4', + 'sdmmc4_dat5_paa5', + 'sdmmc4_dat6_paa6', + 'sdmmc4_dat7_paa7', + ), + 'gme': ( + 'pbb0', + 'cam_i2c_scl_pbb1', + 'cam_i2c_sda_pbb2', + 'pbb3', + 'pcc2', + ), + 'gmf': ( + 'pbb4', + 'pbb5', + 'pbb6', + 'pbb7', + ), + 'gmg': ( + 'cam_mclk_pcc0', + ), + 'gmh': ( + 'pcc1', + ), + 'owr': ( + 'sdmmc3_cd_n_pv2', + 'owr', + ), + 'uda': ( + 'ulpi_clk_py0', + 'ulpi_dir_py1', + 'ulpi_nxt_py2', + 'ulpi_stp_py3', + ), + 'gpv': ( + 'pex_l0_rst_n_pdd1', + 'pex_l0_clkreq_n_pdd2', + 'pex_wake_n_pdd3', + 'pex_l1_rst_n_pdd5', + 'pex_l1_clkreq_n_pdd6', + 'usb_vbus_en2_pff1', + 'pff2', + ), + 'dev3': ( + 'clk3_out_pee0', + 'clk3_req_pee1', + ), + 'cec': ( + 'hdmi_cec_pee3', + ), + 'at6': ( + 'pk1', + 'pk3', + 'pk4', + 'pi2', + 'pi5', + 'pi6', + 'ph4', + 'ph5', + 'ph6', + 'ph7', + ), + 'dap5': ( + 'spdif_in_pk6', + 'spdif_out_pk5', + 'dp_hpd_pff0', + ), + 'usb_vbus_en': ( + 'usb_vbus_en0_pn4', + 'usb_vbus_en1_pn5', + ), + 'ao3': ( + 'reset_out_n', + ), + 'ao0': ( + 'jtag_rtck', + ), + 'hv0': ( + 'hdmi_int_pn7', + ), + 'sdio4': ( + 'sdmmc1_wp_n_pv3', + ), + 'ao4': ( + 'jtag_rtck', + ), +} |