diff --git a/arch/loongarch/boot/dts/Makefile b/arch/loongarch/boot/dts/Makefile index d1363aa05..9483324b0 100644 --- a/arch/loongarch/boot/dts/Makefile +++ b/arch/loongarch/boot/dts/Makefile @@ -4,6 +4,7 @@ ifdef CONFIG_DTB_MATCH_BY_BOARD_NAME dtb-$(CONFIG_LOONGSON_2K300) += ls2k300_mini_dp.dtb ls2k300_vanguard_pi.dtb ls2k300_gongkong_gbkpgk0.dtb +dtb-$(CONFIG_LOONGSON_2K1000) += ls2k1000_dp.dtb obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) else diff --git a/arch/loongarch/boot/dts/loongson2k300.dtsi b/arch/loongarch/boot/dts/loongson-2k0300.dtsi similarity index 100% rename from arch/loongarch/boot/dts/loongson2k300.dtsi rename to arch/loongarch/boot/dts/loongson-2k0300.dtsi diff --git a/arch/loongarch/boot/dts/loongson-2k1000.dtsi b/arch/loongarch/boot/dts/loongson-2k1000.dtsi index 8dff2aa52..e59d789dd 100644 --- a/arch/loongarch/boot/dts/loongson-2k1000.dtsi +++ b/arch/loongarch/boot/dts/loongson-2k1000.dtsi @@ -150,7 +150,187 @@ pctrl: pinctrl@1fe00420 { compatible = "loongson,ls2k-pinctrl"; reg = <0x0 0x1fe00420 0x0 0x18>; - status = "disabled"; + + gmac1_default:gmac1 { + mux { + groups ="gmac1"; + function ="gmac1"; + }; + }; + + hda_default:hda { + mux { + groups ="hda_i2s"; + function ="hda"; + }; + }; + + hda_as_gpio:hda_as_gpio { + mux { + groups ="hda_i2s"; + function ="gpio"; + }; + }; + + i2s_default:i2s { + mux { + groups ="hda_i2s"; + function ="i2s"; + }; + }; + + ahci_default:ahci { + mux { + groups ="sata_led"; + function ="sata_led"; + }; + }; + + ahci_led_as_gpio:ahci_led_as_gpio { + mux { + groups ="sata_led"; + function ="gpio"; + }; + }; + + pwm0_default:pwm0 { + mux { + groups ="pwm0"; + function ="pwm0"; + }; + }; + + pwm0_as_gpio:pwm0_as_gpio { + mux { + groups ="pwm0"; + function ="gpio"; + }; + }; + + pwm1_default:pwm1 { + mux { + groups ="pwm1"; + function ="pwm1"; + }; + }; + + pwm1_as_gpio:pwm1_as_gpio { + mux { + groups ="pwm1"; + function ="gpio"; + }; + }; + + pwm2_default:pwm2 { + mux { + groups ="pwm2"; + function ="pwm2"; + }; + }; + + pwm2_as_gpio:pwm2_as_gpio { + mux { + groups ="pwm2"; + function ="gpio"; + }; + }; + + pwm3_default:pwm3 { + mux { + groups ="pwm3"; + function ="pwm3"; + }; + }; + + pwm3_as_gpio:pwm3_as_gpio { + mux { + groups ="pwm3"; + function ="gpio"; + }; + }; + + uart0_4_default:uart0_4{ + mux { + groups = "uart0"; + function = "uart0_4"; + }; + }; + + uart1_4_default:uart1_4 { + mux { + groups = "uart1"; + function = "uart1_4"; + }; + }; + + uart2_4_default:uart2_4 { + mux { + groups = "uart2"; + function = "uart2_4"; + }; + }; + + dvo0_default:dvo0 { + mux { + groups = "dvo0_lio_uart"; + function = "dvo0"; + }; + }; + + dvo1_default:dvo1 { + mux { + groups = "dvo1_camera"; + function = "dvo1"; + }; + }; + + can0_default:can0 { + mux { + groups = "can0"; + function = "can0"; + }; + }; + + can1_default:can1 { + mux { + groups = "can1"; + function = "can1"; + }; + }; + + can1_as_gpio:can1_as_gpio { + mux { + groups = "can1"; + function = "gpio"; + }; + }; + + sdio_gpio:sdio { + mux { + groups = "sdio"; + function = "gpio"; + }; + }; + + lio_default:lio { + mux { + groups = "dvo0_lio_uart"; + function = "lio"; + }; + }; + + i2c0_as_gpio:i2c0_as_gpio { + mux { + groups = "i2c0"; + function = "gpio"; + }; + }; + i2c1_as_gpio:i2c1_as_gpio { + mux { + groups = "i2c1"; + function = "gpio"; + }; + }; }; clk: clock-controller@1fe00480 { @@ -246,7 +426,7 @@ #thermal-sensor-cells = <1>; }; - dma-controller@1fe00c00 { + apbdma0: dma-controller@1fe00c00 { compatible = "loongson,ls2k1000-apbdma"; reg = <0x0 0x1fe00c00 0x0 0x8>; interrupt-parent = <&liointc1>; @@ -256,7 +436,7 @@ status = "disabled"; }; - dma-controller@1fe00c10 { + apbdma1: dma-controller@1fe00c10 { compatible = "loongson,ls2k1000-apbdma"; reg = <0x0 0x1fe00c10 0x0 0x8>; interrupt-parent = <&liointc1>; @@ -303,7 +483,121 @@ interrupt-parent = <&liointc0>; interrupts = <0x0 IRQ_TYPE_LEVEL_HIGH>; no-loopback-test; - status = "disabled"; + status = "okay"; + }; + + uart1: serial@0x1fe20100 { + compatible = "ns16550a"; + pinctrl-names = "default"; + pinctrl-0 = <&uart1_4_default>; + reg = <0 0x1fe20100 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x0 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart2: serial@0x1fe20200 { + compatible = "ns16550a"; + pinctrl-names = "default"; + pinctrl-0 = <&uart2_4_default>; + reg = <0 0x1fe20200 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x0 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart3: serial@0x1fe20300 { + compatible = "ns16550a"; + reg = <0 0x1fe20300 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x0 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart4: serial@0x1fe20400 { + compatible = "ns16550a"; + reg = <0 0x1fe20400 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x1 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart5: serial@0x1fe20500 { + compatible = "ns16550a"; + reg = <0 0x1fe20500 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x1 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart6: serial@0x1fe20600 { + compatible = "ns16550a"; + reg = <0 0x1fe20600 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x1 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart7: serial@0x1fe20700 { + compatible = "ns16550a"; + reg = <0 0x1fe20700 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x1 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart8: serial@0x1fe20800 { + compatible = "ns16550a"; + reg = <0 0x1fe20800 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x2 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart9: serial@0x1fe20900 { + compatible = "ns16550a"; + reg = <0 0x1fe20900 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x2 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart10: serial@0x1fe20a00 { + compatible = "ns16550a"; + reg = <0 0x1fe20a00 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x2 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; + }; + + uart11: serial@0x1fe20b00 { + compatible = "ns16550a"; + reg = <0 0x1fe20b00 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + interrupt-parent = <&liointc0>; + interrupts = <0x2 IRQ_TYPE_LEVEL_HIGH>; + no-loopback-test; + status = "disable"; }; i2c2: i2c@1fe21000 { @@ -352,6 +646,7 @@ status = "disabled"; }; + //no driver i2s: i2s@1fe2d000 { compatible = "loongson,ls2k1000-i2s"; reg = <0 0x1fe2d000 0 0x14>, @@ -372,6 +667,106 @@ status = "disabled"; }; + //no driver + nand: nand@1fe26040 { + #address-cells = <2>; + compatible = "loongson,ls-nand"; + reg = <0 0x1fe26040 0 0x0 + 0 0x1fe26000 0 0x20>; + interrupt-parent = <&liointc0>; + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "nand_irq"; + + dmas = <&apbdma0 1>; + dma-names = "nand_rw"; + dma-mask = <0xffffffff 0xffffffff>; + + status = "disabled"; + }; + + /* CAN controller nodes: + * If you want to use the "can" function,enable the "can" + * controller by configure general configuration register 0. + */ + can0: can@1fe20c00{ + compatible = "nxp,sja1000"; + reg = <0 0x1fe20c00 0 0xff>; + interrupt-parent = <&liointc0>; + interrupts = <16 IRQ_TYPE_LEVEL_HIGH>; + pinctrl-0 = <&can0_default>; + pinctrl-names = "default"; + status = "disabled"; + }; + can1: can@1fe20d00{ + compatible = "nxp,sja1000"; + reg = <0 0x1fe20d00 0 0xff>; + interrupt-parent = <&liointc0>; + interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; + pinctrl-0 = <&can1_default>; + pinctrl-names = "default"; + status = "disabled"; + }; + + + pwm0: pwm@1fe22000{ + compatible = "loongson,ls2k-pwm"; + reg = <0 0x1fe22000 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + clock-names = "pwm-clk"; + interrupt-parent = <&liointc0>; + interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; + #pwm-cells = <2>; + pinctrl-0 = <&pwm0_default>; + pinctrl-names = "default"; + status = "disabled"; + }; + + pwm1: pwm@1fe22010{ + compatible = "loongson,ls2k-pwm"; + reg = <0 0x1fe22010 0 0x10>; + clocks = <&clk LOONGSON2_APB_CLK>; + clock-names = "pwm-clk"; + interrupt-parent = <&liointc0>; + interrupts = <25 IRQ_TYPE_LEVEL_HIGH>; + #pwm-cells = <2>; + pinctrl-0 = <&pwm1_default>; + pinctrl-names = "default"; + status = "disabled"; + }; + + pwm2: pwm@1fe22020 { + compatible = "loongson,ls2k-pwm"; + + reg = <0 0x1fe22020 0 0xf>; + clocks = <&clk LOONGSON2_APB_CLK>; + clock-names = "pwm-clk"; + interrupt-parent = <&liointc0>; + interrupts = <26 IRQ_TYPE_LEVEL_HIGH>; //34- 31 + + #pwm-cells = <2>; + pinctrl-0 = <&pwm2_default>; + pinctrl-names = "default"; + + status = "disabled"; + }; + + pwm3: pwm@1fe22030 { + compatible = "loongson,ls2k-pwm"; + + reg = <0 0x1fe22030 0 0xf>; + clocks = <&clk LOONGSON2_APB_CLK>; + clock-names = "pwm-clk"; + interrupt-parent = <&liointc0>; + interrupts = <27 IRQ_TYPE_LEVEL_HIGH>; + + #pwm-cells = <2>; + pinctrl-0 = <&pwm3_default>; + pinctrl-names = "default"; + + status = "disabled"; + }; + + pcie@1a000000 { compatible = "loongson,ls2k-pci"; reg = <0x0 0x1a000000 0x0 0x02000000>, @@ -383,7 +778,14 @@ ranges = <0x01000000 0x0 0x00008000 0x0 0x18008000 0x0 0x00008000>, <0x02000000 0x0 0x60000000 0x0 0x60000000 0x0 0x20000000>; + + gmac0: ethernet@3,0 { + // compatible = "snps,dwmac-3.70a"; + compatible = "pci0014,7a03.0", + "pci0014,7a03", + "pciclass0c0320", + "pciclass0c03"; reg = <0x1800 0x0 0x0 0x0 0x0>; interrupt-parent = <&liointc0>; interrupts = <12 IRQ_TYPE_LEVEL_HIGH>, @@ -393,6 +795,7 @@ }; gmac1: ethernet@3,1 { + // compatible = "snps,dwmac-3.70a"; reg = <0x1900 0x0 0x0 0x0 0x0>; interrupt-parent = <&liointc0>; interrupts = <14 IRQ_TYPE_LEVEL_HIGH>, @@ -401,7 +804,21 @@ status = "disabled"; }; + otg: usb@4,0 { + compatible = "loongson,dwc2-otg"; + reg = <0x2000 0x0 0x0 0x0 0x0>; + interrupt-parent = <&liointc1>; + interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + ehci0: usb@4,1 { + // compatible = "generic-ehci"; + compatible = "pci0014,7a14.0", + "pci0014,7a14", + "pciclass0c0320", + "pciclass0c03"; + reg = <0x2100 0x0 0x0 0x0 0x0>; interrupt-parent = <&liointc1>; interrupts = <18 IRQ_TYPE_LEVEL_HIGH>; @@ -409,13 +826,18 @@ }; ohci0: usb@4,2 { + // compatible = "generic-ohci"; + compatible = "pci0014,7a24.0", + "pci0014,7a24", + "pciclass0c0310", + "pciclass0c03"; reg = <0x2200 0x0 0x0 0x0 0x0>; interrupt-parent = <&liointc1>; interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; }; - display@6,0 { + dc: display@6,0 { reg = <0x3000 0x0 0x0 0x0 0x0>; interrupt-parent = <&liointc0>; interrupts = <28 IRQ_TYPE_LEVEL_HIGH>; @@ -430,6 +852,12 @@ }; sata: sata@8,0 { + // compatible = "snps,spear-ahci"; + compatible = "pci0014,7a08.0", + "pci0014,7a08", + "pciclass010601", + "pciclass0106"; + reg = <0x4000 0x0 0x0 0x0 0x0>; interrupt-parent = <&liointc0>; interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; diff --git a/arch/loongarch/boot/dts/ls2k1000_dp.dts b/arch/loongarch/boot/dts/ls2k1000_dp.dts new file mode 100644 index 000000000..0f320b856 --- /dev/null +++ b/arch/loongarch/boot/dts/ls2k1000_dp.dts @@ -0,0 +1,403 @@ +#include "loongson-2k1000.dtsi" +#include "loongson_panel_param.dtsi" +#include + + +/ { + model = "LS2K1000-DP-V10"; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs = "earlycon"; + }; + + /* not need memory node, we get memory info from boot params. */ + // memory { + // name = "memory"; + // device_type = "memory"; + // reg = <0 0x00200000 0 0x0ee00000 + // 0 0x90000000 0 0x70000000>; + // }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + fb_memory: framebuffer { + compatible = "shared-dma-pool"; + no-map; + reg = <0 0x0b000000 0 0x04000000>; /* 64M */ + }; + + linux,cma { + compatible = "shared-dma-pool"; + reusable; + size = <0 0x2000000>; + linux,cma-default; + }; + }; + +#if 0 + pwmleds { + compatible = "pwm-leds"; + + led4 { + label = "led4-pwm"; + pwms = <&pwm0 0 2550000>; + max-brightness = <255>; + active-low; + }; + }; +#endif + + leds { + compatible = "gpio-leds"; + + led1 { + label = "led1"; + gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; + linux,default-trigger = "heartbeat"; + default-state = "on"; + }; + + led2 { + label = "led2"; + gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led3 { + label = "led3"; + gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + }; + + gpio-fan { + compatible = "gpio-fan"; + gpios = <&gpio0 57 GPIO_ACTIVE_HIGH>; + gpio-fan,speed-map = <0 0>, + <3000 1>, + <6000 2>; + #cooling-cells = <2>; /* min followed by max */ + }; + + gpio_keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + enter { + label = "enter"; + linux,code = ; + gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; + }; + + tab { + label = "tab"; + linux,code = ; + gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; + }; + }; + + lcd_backlight: backlight { + compatible = "gpio-backlight"; + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + + panel: dvo-connector@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "panel-lvds", "auo,b101ean01"; + backlight = <&lcd_backlight>; + + /* lcd power on control gpio */ + /* enable-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>; */ + // power-supply = <&vdd_lcd>; + + status = "okay"; +#if 1 // 7' LCD + width-mm = <180>; + height-mm = <110>; + label = "ATK-MD0700R-1024x600"; + data-mapping = "jeida-24"; + + panel-timing { + clock-frequency = <51200000>; + hactive = <1024>; + vactive = <600>; + hsync-len = <20>; + hfront-porch = <160>; + hback-porch = <140>; + vfront-porch = <12>; + vback-porch = <20>; + vsync-len = <3>; + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; +#else // 10' LCD + width-mm = <229>; + height-mm = <149>; + label = "ATK-MD1010R-1280x800"; + data-mapping = "jeida-24"; + + panel-timing { + clock-frequency = <71100000>; + hactive = <1280>; + vactive = <800>; + hsync-len = <10>; + hfront-porch = <70>; + hback-porch = <80>; + vfront-porch = <10>; + vback-porch = <10>; + vsync-len = <3>; + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; +#endif + + port@0 { + reg = <0>; + + #address-cells = <1>; + #size-cells = <0>; + + dvo_connector_in: endpoint@0 { + reg = <0>; + remote-endpoint = <&dc_out_rgb1>; + }; + }; + }; +}; + +&spi0 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + spi-flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <30000000>; + reg = <0>; /* CS0 */ + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0000000 0x100000>; + read-only; + }; + }; + }; + +#if 0 + // 没引出来 + spidev1@1 { + compatible = "rohm,dh2228fv"; + reg = <1>; + spi-max-frequency = <50000000>; + }; +#endif + + spidev2@2 { + compatible = "rohm,dh2228fv"; + reg = <2>; + spi-max-frequency = <50000000>; + }; + + spidev3@3 { + compatible = "rohm,dh2228fv"; + reg = <3>; + spi-max-frequency = <50000000>; + }; +}; + + +&dc { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + memory-region = <&fb_memory>; + + // output-ports = <&dvo0>; + + dvo1: dvo@1 { + compatible = "lsdc,dvo"; + /* 1 for connector 1 (DVO1) */ + reg = <1>; + + pinctrl-0 = <&dvo1_default>; + pinctrl-names = "default"; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + dc_out_rgb1: endpoint { + remote-endpoint = <&dvo_connector_in>; + }; + }; + }; +}; + +&pwm0 { + status = "okay"; +}; + +&pwm1 { + status = "okay"; +}; + +&pwm2 { + status = "okay"; +}; + +&pwm3 { + status = "okay"; +}; + +&sata { + status = "okay"; + pinctrl-0 = <&ahci_default>; + pinctrl-names = "default"; + ports-implemented = <0x1>; +}; + +&gmac0 { + status = "okay"; + phy-handle = <&yt8511h0>; + mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + yt8511h0: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + motorcomm,led0_cfg = <0x40>; //千兆常亮 + motorcomm,led1_cfg = <0x30>; //百兆 十兆常亮 + motorcomm,led2_cfg = <0x2600>; //有数据时闪烁 + }; + }; +}; + +&gmac1 { + status = "okay"; + phy-handle = <&yt8511h1>; + mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + yt8511h1: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + motorcomm,led0_cfg = <0x40>; //千兆常亮 + motorcomm,led1_cfg = <0x30>; //百兆 十兆常亮 + motorcomm,led2_cfg = <0x2600>; //有数据时闪烁 + }; + }; +}; + + +&can0 { + //nxp,external-clock-frequency = <125000000>; + clocks = <&clk LOONGSON2_APB_CLK>; + net,tx_queue_len = <1024>; + status = "okay"; +}; + +&can1 { + //nxp,external-clock-frequency = <125000000>; + clocks = <&clk LOONGSON2_APB_CLK>; + net,tx_queue_len = <1024>; + status = "okay"; +}; + +&i2c2 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + eeprom@57 { + compatible = "atmel,24c32"; + reg = <0x57>; + pagesize = <32>; + }; +}; + +&i2c3 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + // 两款芯片不能同时支持,因为用同一个GPIO + // 但可以在两个屏幕间切换 + + // 7寸触屏芯片 + touchpad: gt911@5d { + compatible = "goodix,gt911"; + reg = <0x5d>; + interrupt-parent = <&liointc1>; + interrupts = <29 IRQ_TYPE_LEVEL_HIGH>; + irq-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; + }; + + // 4.3寸触屏芯片 + touchpad_1: gt9147@14 { + compatible = "goodix,gt9147"; + reg = <0x14>; + // 2K300 GPIO 支持中断控制 + // GPIO 中断号为 vhwirq-base + pinnum (210 = 128 + 82) + interrupt-parent = <&liointc1>; + interrupts = <29 IRQ_TYPE_LEVEL_HIGH>; + irq-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; + }; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&uart3 { + status = "okay"; +}; + +&uart4 { + status = "okay"; +}; + +&uart5 { + status = "okay"; +}; + +&uart6 { + status = "okay"; +}; + +&otg { + dr_mode = "host"; + status = "okay"; +}; + diff --git a/arch/loongarch/boot/dts/ls2k300_g2k03z0_core_v10.dtsi b/arch/loongarch/boot/dts/ls2k300_g2k03z0_core_v10.dtsi index 875511c33..a345ad371 100644 --- a/arch/loongarch/boot/dts/ls2k300_g2k03z0_core_v10.dtsi +++ b/arch/loongarch/boot/dts/ls2k300_g2k03z0_core_v10.dtsi @@ -1,4 +1,4 @@ -#include "loongson2k300.dtsi" +#include "loongson-2k0300.dtsi" / { chosen { diff --git a/arch/loongarch/boot/dts/ls2k300_gongkong_g2k03z2_core.dtsi b/arch/loongarch/boot/dts/ls2k300_gongkong_g2k03z2_core.dtsi index de3e99f93..df1873de0 100644 --- a/arch/loongarch/boot/dts/ls2k300_gongkong_g2k03z2_core.dtsi +++ b/arch/loongarch/boot/dts/ls2k300_gongkong_g2k03z2_core.dtsi @@ -1,4 +1,4 @@ -#include "loongson2k300.dtsi" +#include "loongson-2k0300.dtsi" / { chosen { diff --git a/arch/loongarch/boot/dts/ls2k300_vanguard_pi_common.dtsi b/arch/loongarch/boot/dts/ls2k300_vanguard_pi_common.dtsi index 6ceeafaf4..4219edb52 100644 --- a/arch/loongarch/boot/dts/ls2k300_vanguard_pi_common.dtsi +++ b/arch/loongarch/boot/dts/ls2k300_vanguard_pi_common.dtsi @@ -1,4 +1,4 @@ -#include "loongson2k300.dtsi" +#include "loongson-2k0300.dtsi" #include "loongson_panel_param.dtsi" / { diff --git a/arch/loongarch/configs/loongson_2k300_defconfig b/arch/loongarch/configs/loongson_2k300_defconfig index 01c18b68f..6cd8cbb8b 100644 --- a/arch/loongarch/configs/loongson_2k300_defconfig +++ b/arch/loongarch/configs/loongson_2k300_defconfig @@ -42,8 +42,6 @@ CONFIG_HZ_1000=y CONFIG_CMDLINE="fbcon=logo-pos:center fbcon=logo-count:1" CONFIG_CMDLINE_EXTEND=y CONFIG_BUILTIN_DTB=y -# CONFIG_SCHED_SMT is not set -CONFIG_SMP=y # CONFIG_SUSPEND is not set CONFIG_PM=y # CONFIG_ACPI_AC is not set diff --git a/drivers/net/can/ls_canfd/lscanfd_dma.o_shipped b/drivers/net/can/ls_canfd/lscanfd_dma.o_shipped index 4ed0b1742..70e76b947 100644 Binary files a/drivers/net/can/ls_canfd/lscanfd_dma.o_shipped and b/drivers/net/can/ls_canfd/lscanfd_dma.o_shipped differ diff --git a/drivers/net/can/ls_canfd/lscanfd_platform.o_shipped b/drivers/net/can/ls_canfd/lscanfd_platform.o_shipped index e7c256f1d..c52be3d00 100644 Binary files a/drivers/net/can/ls_canfd/lscanfd_platform.o_shipped and b/drivers/net/can/ls_canfd/lscanfd_platform.o_shipped differ