| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| /* |
| * Copyright (c) 2019 Amlogic, Inc. All rights reserved. |
| */ |
| |
| /dts-v1/; |
| |
| #include "mesont5w.dtsi" |
| #include "mesont5w_pxp-panel.dtsi" |
| |
| / { |
| model = "Amlogic T5W PXP"; |
| amlogic-dt-id = "t5w_pxp"; |
| compatible = "amlogic, t5w"; |
| interrupt-parent = <&gic>; |
| #address-cells = <2>; |
| #size-cells = <2>; |
| |
| aliases { |
| serial0 = &uart_B; |
| i2c0 = &i2c0; |
| i2c1 = &i2c1; |
| i2c2 = &i2c2; |
| i2c3 = &i2c3; |
| }; |
| |
| memory@00000000 { |
| device_type = "memory"; |
| linux,usable-memory = <0x0 0x0 0x0 0x40000000>; |
| }; |
| |
| reserved-memory { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| ranges; |
| /* global autoconfigured region for contiguous allocations */ |
| |
| secmon_reserved: linux,secmon { |
| compatible = "shared-dma-pool"; |
| reusable; |
| size = <0x0 0x400000>; |
| alignment = <0x0 0x400000>; |
| alloc-ranges = <0x0 0x05000000 0x0 0x400000>; |
| }; |
| |
| logo_reserved:linux,meson-fb { |
| compatible = "shared-dma-pool"; |
| reusable; |
| /* keep sync with fb */ |
| /* fox example:logo_addr = "0x3f800000"*/ |
| size = <0x0 0x800000>; |
| alignment = <0x0 0x400000>; |
| alloc-ranges = <0x0 0x3f800000 0x0 0x800000>; |
| }; |
| |
| codec_mm_cma:linux,codec_mm_cma { |
| compatible = "shared-dma-pool"; |
| reusable; |
| /* ion_codec_mm max can alloc size 80M*/ |
| size = <0x0 0xd000000>; |
| alignment = <0x0 0x400000>; |
| linux,contiguous-region; |
| }; |
| |
| /*di CMA pool */ |
| di_cma_reserved:linux,di_cma { |
| compatible = "shared-dma-pool"; |
| reusable; |
| /* buffer_size = 3621952(yuv422 8bit) |
| * | 4736064(yuv422 10bit) |
| * | 4074560(yuv422 10bit full pack mode) |
| * 10x3621952=34.6M(0x23) support 8bit |
| * 10x4736064=45.2M(0x2e) support 12bit |
| * 10x4074560=40M(0x28) support 10bit |
| */ |
| size = <0x0 0x0B000000>; |
| //size = <0x0 0x0>; |
| alignment = <0x0 0x400000>; |
| }; |
| |
| /* codec shared reserved */ |
| codec_mm_reserved:linux,codec_mm_reserved { |
| compatible = "amlogic, codec-mm-reserved"; |
| size = <0x0 0x100000>; |
| alignment = <0x0 0x100000>; |
| //no-map; |
| }; |
| |
| ion_cma_reserved:linux,ion-dev { |
| compatible = "shared-dma-pool"; |
| reusable; |
| /* device/amlogic/xxx/BoardConfig.mk |
| * |HWC_PRIMARY_FRAMEBUFFER_WIDTH := 1920 |
| * |HWC_PRIMARY_FRAMEBUFFER_HEIGHT := 1080 |
| * |NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 |
| * size = 1920 * 1080 * 3 * 4 |
| * (RGBA: 4 bytes/pixel) + 4M(10% * afbc) |
| */ |
| size = <0x0 0x00400000>; |
| alignment = <0x0 0x400000>; |
| alloc-ranges = <0x0 0x0 0x0 0x3f400000>; |
| }; |
| |
| ion_fb_reserved:linux,ion-fb { |
| compatible = "shared-dma-pool"; |
| reusable; |
| /* 1920x1080x4x3 round up 4M align */ |
| size = <0x0 0x1c00000>; |
| alignment = <0x0 0x400000>; |
| alloc-ranges = <0x0 0x0 0x0 0x3f400000>; |
| }; |
| }; |
| |
| codec_mm { |
| compatible = "amlogic, codec, mm"; |
| memory-region = <&codec_mm_cma &codec_mm_reserved>; |
| dev_name = "codec_mm"; |
| status = "okay"; |
| }; |
| |
| multi-di { |
| //status = "okay"; |
| /*************************************************** |
| * memory: default is 4 |
| * 0:use reserved; |
| * 1:use cma; |
| * 2:use cma as reserved |
| * 4:use codec mem |
| ***************************************************/ |
| flag_cma = <1>;//t5d unsupport 4K,di 1CH need 42M |
| //memory-region = <&di_cma_reserved>; |
| /*************************************************** |
| * clock-range: <min max> |
| * default: <334 667> |
| ***************************************************/ |
| //clock-range = <334 667>; |
| /*************************************************** |
| * en_4k: t5d not support 4k |
| ***************************************************/ |
| en_4k = <1>; |
| keep_dec_vf = <2>; |
| po_fmt = <6>; |
| /*************************************************** |
| * post_nub: default is 11 (T7/T3/SC2/S4 new path) |
| * local 7*4075520 = 28 |
| * post 11*5222400 = 56 |
| ***************************************************/ |
| post_nub = <11>; |
| /*************************************************** |
| * 0:not support |
| * bit 0: for 4k |
| * bit 1: for 1080p |
| ***************************************************/ |
| alloc_sct = <1>; |
| /*************************************************** |
| * hf: default is 0 (T7/T3/SC2/S4 new path) |
| * 0:not enable; |
| * 1: enable |
| ***************************************************/ |
| hf = <0>; |
| }; |
| }; /* end of reserved-memory */ |
| |
| /* SD card */ |
| &sd_emmc_b { |
| status = "okay"; |
| pinctrl-0 = <&sd_all_pins>; |
| pinctrl-1 = <&sd_1bit_pins>; |
| pinctrl-2 = <&sd_clk_gate_pins>; |
| pinctrl-names = "sd_default", |
| "sd_1bit_pins", |
| "clk-gate"; |
| bus-width = <4>; |
| cap-sd-highspeed; |
| // sd-uhs-sdr12; |
| // sd-uhs-sdr25; |
| // sd-uhs-sdr50; |
| // sd_uhs-sdr104; |
| max-frequency = <200000000>; |
| |
| disable-wp; |
| non-removable; |
| // amlogic,dram-access-quirk; |
| |
| cd-gpios = <&gpio GPIOC_10 GPIO_ACTIVE_HIGH>; |
| // dat1-gpios = <&gpio GPIOC_1 GPIO_ACTIVE_HIGH>; |
| //vmmc-supply = <&vddao_3v3>; |
| //vqmmc-supply = <&emmc_1v8>; |
| }; |
| |
| &sd_emmc_c { |
| status = "okay"; |
| pinctrl-names = "default", "clk-gate"; |
| pinctrl-0 = <&emmc_clk_cmd_pins>; |
| pinctrl-1 = <&emmc_conf_pull_up &emmc_conf_pull_done>; |
| pinctrl-2 = <&emmc_pins_sleep>; |
| |
| bus-width = <8>; |
| cap-mmc-highspeed; |
| //mmc-ddr-1_8v; |
| // mmc-hs200-1_8v; |
| // mmc-hs400-1_8v; |
| max-frequency = <200000000>; |
| non-removable; |
| disable-wp; |
| |
| // mmc-pwrseq = <&emmc_pwrseq>; |
| // vmmc-supply = <&vddao_3v3>; |
| // vqmmc-supply = <&vddao_1v8>; |
| }; |
| |
| &i2c1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c1_ao_pins1>; |
| status = "disabled"; |
| }; |
| |
| &amlvecm { |
| status = "okay"; |
| gamma_en = <1>;/*1:enabel ;0:disable*/ |
| wb_en = <1>;/*1:enabel ;0:disable*/ |
| cm_en = <1>;/*1:enabel ;0:disable*/ |
| wb_sel = <0>;/*1:mtx ;0:gainoff*/ |
| vlock_en = <1>;/*1:enable;0:disable*/ |
| vlock_mode = <0x8>; |
| /*vlock work mode: |
| *bit0:auto ENC |
| *bit1:auto PLL |
| *bit2:manual PLL |
| *bit3:manual ENC |
| *bit4:manual soft ENC |
| *bit5:manual MIX PLL ENC |
| */ |
| vlock_pll_m_limit = <1>; |
| vlock_line_limit = <2>; |
| }; |
| |
| &fb { |
| status = "okay"; |
| display_size_default = <1920 1080 1920 2160 32>; |
| mem_size = <0x00800000 0x1980000 0x100000 0x100000>; |
| logo_addr = "0x3f800000"; |
| /* display_device_cnt = <2>; */ /* for dual screen upport */ |
| mem_alloc = <0>; |
| pxp_mode = <1>; /** 0:normal mode 1:pxp mode */ |
| }; |