From 1622ff3442ff6aecc1f538cda437379d1f6a4a93 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 06 Nov 2023 07:25:52 +0000 Subject: [PATCH] rk3568 dts --- kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi | 21 ++--- kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 23 +++++ kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi | 137 +++++++++++++++++++++++++++++---- 3 files changed, 147 insertions(+), 34 deletions(-) diff --git a/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi b/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi old mode 100644 new mode 100755 index f45ce09..aafefb6 --- a/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi +++ b/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi @@ -8,6 +8,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/pinctrl/rockchip.h> +#include <dt-bindings/display/media-bus-format.h> #include "rk3568.dtsi" #include "rk3568-evb.dtsi" @@ -185,7 +186,50 @@ gpio_function = <1>; }; #endif -}; + }; + + panel: panel { + compatible = "simple-panel"; + backlight = <&backlight>; + power-supply = <&vcc3v3_lcd0_n>; + enable-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; //LCD0_VDD_H_GPIO2_D4 + reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_LOW>; //7511_RST_GPIO3_D1 + edp-bl-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; //LCD0_BKLT_EN_3V3 + edp-bl-en = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; //LCD0_BKLT_EN_3V3 + bus-format = <MEDIA_BUS_FMT_RGB888_1X24>; + bpc = <8>; + prepare-delay-ms = <200>; + enable-delay-ms = <20>; + lvds-gpio0 = <&gpio3 RK_PD2 GPIO_ACTIVE_HIGH>; //7511_GPIO0-GPIO3_D2 + lvds-gpio1 = <&gpio3 RK_PD3 GPIO_ACTIVE_HIGH>; //7511_GPIO1-GPIO3_D3 + lvds-gpio2 = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>; //7511_GPIO2-GPIO3_D4 + lvds-gpio3 = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; //7511_GPIO3-GPIO3_D5 + nodka-lvds = <15>; + + display-timings { + native-mode = <&timing0>; + timing0: timing0 { + clock-frequency = <72500000>; + hactive = <1280>; + vactive = <800>; + hfront-porch = <70>; + hsync-len = <2>; + hback-porch = <88>; + vfront-porch = <7>; + vsync-len = <4>; + vback-porch = <17>; + hsync-active = <21>; + vsync-active = <0>; + de-active = <0>; + pixelclk-active = <0>; + }; + }; + ports { + panel_in: endpoint { + remote-endpoint = <&edp_out>; + }; + }; + }; }; &combphy0_us { @@ -285,8 +329,18 @@ }; &edp { - hpd-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; - status = "okay"; + //hpd-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; + force-hpd; + status = "okay"; + ports { + port@1 { + reg = <1>; + edp_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + + }; }; &edp_phy { @@ -294,11 +348,11 @@ }; &edp_in_vp0 { - status = "okay"; + status = "disabled"; }; &edp_in_vp1 { - status = "disabled"; + status = "okay"; }; &gmac0 { @@ -359,8 +413,22 @@ * power-supply should switche to vcc3v3_lcd1_n * when mipi panel is connected to dsi1. */ ->1x { - power-supply = <&vcc3v3_lcd0_n>; + + +&i2c3 { + status = "okay"; + //mac eeprom + eeprom@51 { + //compatible = "atmel,24c02"; + compatible = "atmel,24c256"; + reg = <0x51>; + }; + + //nk-mcu + nkmcu@15 { + compatible = "nk_mcu"; + reg = <0x15>; + }; }; &i2c4 { @@ -466,13 +534,7 @@ }; &pinctrl { - cam { - camera_pwr: camera-pwr { - rockchip,pins = - /* camera power en */ - <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; + headphone { hp_det: hp-det { rockchip,pins = <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; @@ -531,7 +593,7 @@ }; &rkisp_vir0 { - status = "okay"; + status = "disabled"; port { #address-cells = <1>; @@ -549,9 +611,11 @@ connect = <&vp1_out_dsi0>; }; + + &route_edp { status = "okay"; - connect = <&vp0_out_edp>; + connect = <&vp1_out_edp>; }; &sata2 { @@ -581,18 +645,18 @@ }; &uart8 { - status = "okay"; + status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&uart8m0_xfer &uart8m0_ctsn>; }; &vcc3v3_lcd0_n { - gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; + gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; enable-active-high; }; &vcc3v3_lcd1_n { - gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; + gpio = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>; //MIPI_3V3EN_GPIO3_A3_d_3V3 enable-active-high; }; @@ -616,3 +680,38 @@ BT,wake_host_irq = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>; status = "okay"; }; + +&uart0 { + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>; + status = "okay"; +}; + +&uart3 { + status = "okay"; + pinctrl-0 = <&uart3m1_xfer>; +}; + +&uart4 { + status = "okay"; + pinctrl-0 = <&uart4m1_xfer>; +}; + +&uart5 { + status = "okay"; + pinctrl-0 = <&uart5m1_xfer>; +}; + +&uart7 { + status = "okay"; + pinctrl-0 = <&uart7m1_xfer>; +}; + +&uart9 { + status = "okay"; + pinctrl-0 = <&uart9m1_xfer>; +}; \ No newline at end of file diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi b/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi old mode 100644 new mode 100755 index f5802f1..8e41761 --- a/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi +++ b/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi @@ -103,7 +103,7 @@ backlight1: backlight1 { compatible = "pwm-backlight"; - pwms = <&pwm5 0 25000 0>; + pwms = <&pwm6 0 25000 0>; brightness-levels = < 0 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 @@ -182,8 +182,8 @@ leds: leds { compatible = "gpio-leds"; - work_led: work { - gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; + sys_led: sys_led { + gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; }; }; @@ -308,7 +308,7 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; - gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; + gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; //VCC3_IO_EN_GPIO0_C4_3V3 vin-supply = <&vcc3v3_sys>; regulator-state-mem { @@ -1398,15 +1398,6 @@ &i2c1 { status = "okay"; - - gt1x: gt1x@14 { - compatible = "goodix,gt1x"; - reg = <0x14>; - pinctrl-names = "default"; - pinctrl-0 = <&touch_gpio>; - goodix,rst-gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; - goodix,irq-gpio = <&gpio0 RK_PB5 IRQ_TYPE_LEVEL_LOW>; - }; }; &i2c5 { @@ -1579,6 +1570,10 @@ status = "okay"; }; +&pwm6 { + status = "okay"; +}; + &pwm5 { status = "okay"; }; diff --git a/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index d945d92..0d967a3 100644 --- a/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -2346,13 +2346,16 @@ { } + +static unsigned char macaddr[6]; +extern ssize_t at24_mac_read(unsigned char* addr); void rk_get_eth_addr(void *priv, unsigned char *addr) { struct rk_priv_data *bsp_priv = priv; struct device *dev = &bsp_priv->pdev->dev; unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0}; - int ret, id = bsp_priv->bus_id; - + int ret,i, id = bsp_priv->bus_id; +#if 0 rk_devinfo_get_eth_mac(addr); if (is_valid_ether_addr(addr)) goto out; @@ -2383,6 +2386,22 @@ } else { memcpy(addr, ðaddr[id * ETH_ALEN], ETH_ALEN); } +#endif + #if 1 + if (at24_mac_read(macaddr) > 0) { + printk("ben %s: at24_mac_read Success!! \n", __func__); + memcpy(addr, macaddr, 6); + + printk("Read the Ethernet MAC address from :"); + for (i = 0; i < 5; i++) + printk("%2.2x:", addr[i]); + + printk("%2.2x\n", addr[i]); + } else { + printk("ben %s: at24_mac_read Failed!! \n", __func__); + goto out; + } + #endif out: dev_err(dev, "%s: mac address: %pM\n", __func__, addr); -- Gitblit v1.6.2