diff --git a/patch/kernel/archive/rockchip64-6.12/dt/rk3308-sakurapi-rk3308b.dts b/patch/kernel/archive/rockchip64-6.12/dt/rk3308-sakurapi-rk3308b.dts index d5ed769dbf..535e709df5 100755 --- a/patch/kernel/archive/rockchip64-6.12/dt/rk3308-sakurapi-rk3308b.dts +++ b/patch/kernel/archive/rockchip64-6.12/dt/rk3308-sakurapi-rk3308b.dts @@ -2,11 +2,12 @@ /* * Copyright (c) 2019 Akash Gajjar * Copyright (c) 2019 Jagan Teki - * Copyright (C) 2024 TheSnowfield + * Copyright (C) 2024 TheSnowfield */ /dts-v1/; #include "rk3308.dtsi" +#include / { model = "Sakura Pi RK3308B"; @@ -112,45 +113,13 @@ backlight: backlight { status = "okay"; compatible = "pwm-backlight"; - pwms = <&pwm1 0 25000 0>; - brightness-levels = < - 0 1 2 3 4 5 6 7 - 8 9 10 11 12 13 14 15 - 16 17 18 19 20 21 22 23 - 24 25 26 27 28 29 30 31 - 32 33 34 35 36 37 38 39 - 40 41 42 43 44 45 46 47 - 48 49 50 51 52 53 54 55 - 56 57 58 59 60 61 62 63 - 64 65 66 67 68 69 70 71 - 72 73 74 75 76 77 78 79 - 80 81 82 83 84 85 86 87 - 88 89 90 91 92 93 94 95 - 96 97 98 99 100 101 102 103 - 104 105 106 107 108 109 110 111 - 112 113 114 115 116 117 118 119 - 120 121 122 123 124 125 126 127 - 128 129 130 131 132 133 134 135 - 136 137 138 139 140 141 142 143 - 144 145 146 147 148 149 150 151 - 152 153 154 155 156 157 158 159 - 160 161 162 163 164 165 166 167 - 168 169 170 171 172 173 174 175 - 176 177 178 179 180 181 182 183 - 184 185 186 187 188 189 190 191 - 192 193 194 195 196 197 198 199 - 200 201 202 203 204 205 206 207 - 208 209 210 211 212 213 214 215 - 216 217 218 219 220 221 222 223 - 224 225 226 227 228 229 230 231 - 232 233 234 235 236 237 238 239 - 240 241 242 243 244 245 246 247 - 248 249 250 251 252 253 254 255>; - default-brightness-level = <200>; + pwms = <&pwm3 0 25000 0>; + brightness-levels = <0 255>; + default-brightness-level = <255>; }; display: panel { - compatible = "olimex,lcd-olinuxino-43-ts"; + compatible = "edt,et070080dh6"; backlight = <&backlight>; enable-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; enable-delay-ms = <20>; @@ -215,16 +184,30 @@ }; }; +&dmac0 { + status = "okay"; +}; + /* SPI0 for external gpio pin */ &spi0 { status = "okay"; - max-freq = <10000000>; + + spi_dev@0 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <0x2faf080>; + }; }; /* SPI1 for ws2812*/ &spi1 { status = "okay"; - max-freq = <10000000>; + + spi_dev@0 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <0x2faf080>; + }; }; &pinctrl { @@ -274,7 +257,7 @@ }; }; -&pwm1 { +&pwm3 { status = "okay"; }; diff --git a/patch/kernel/archive/rockchip64-6.14/dt/rk3308-sakurapi-rk3308b.dts b/patch/kernel/archive/rockchip64-6.14/dt/rk3308-sakurapi-rk3308b.dts index d5ed769dbf..535e709df5 100755 --- a/patch/kernel/archive/rockchip64-6.14/dt/rk3308-sakurapi-rk3308b.dts +++ b/patch/kernel/archive/rockchip64-6.14/dt/rk3308-sakurapi-rk3308b.dts @@ -2,11 +2,12 @@ /* * Copyright (c) 2019 Akash Gajjar * Copyright (c) 2019 Jagan Teki - * Copyright (C) 2024 TheSnowfield + * Copyright (C) 2024 TheSnowfield */ /dts-v1/; #include "rk3308.dtsi" +#include / { model = "Sakura Pi RK3308B"; @@ -112,45 +113,13 @@ backlight: backlight { status = "okay"; compatible = "pwm-backlight"; - pwms = <&pwm1 0 25000 0>; - brightness-levels = < - 0 1 2 3 4 5 6 7 - 8 9 10 11 12 13 14 15 - 16 17 18 19 20 21 22 23 - 24 25 26 27 28 29 30 31 - 32 33 34 35 36 37 38 39 - 40 41 42 43 44 45 46 47 - 48 49 50 51 52 53 54 55 - 56 57 58 59 60 61 62 63 - 64 65 66 67 68 69 70 71 - 72 73 74 75 76 77 78 79 - 80 81 82 83 84 85 86 87 - 88 89 90 91 92 93 94 95 - 96 97 98 99 100 101 102 103 - 104 105 106 107 108 109 110 111 - 112 113 114 115 116 117 118 119 - 120 121 122 123 124 125 126 127 - 128 129 130 131 132 133 134 135 - 136 137 138 139 140 141 142 143 - 144 145 146 147 148 149 150 151 - 152 153 154 155 156 157 158 159 - 160 161 162 163 164 165 166 167 - 168 169 170 171 172 173 174 175 - 176 177 178 179 180 181 182 183 - 184 185 186 187 188 189 190 191 - 192 193 194 195 196 197 198 199 - 200 201 202 203 204 205 206 207 - 208 209 210 211 212 213 214 215 - 216 217 218 219 220 221 222 223 - 224 225 226 227 228 229 230 231 - 232 233 234 235 236 237 238 239 - 240 241 242 243 244 245 246 247 - 248 249 250 251 252 253 254 255>; - default-brightness-level = <200>; + pwms = <&pwm3 0 25000 0>; + brightness-levels = <0 255>; + default-brightness-level = <255>; }; display: panel { - compatible = "olimex,lcd-olinuxino-43-ts"; + compatible = "edt,et070080dh6"; backlight = <&backlight>; enable-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; enable-delay-ms = <20>; @@ -215,16 +184,30 @@ }; }; +&dmac0 { + status = "okay"; +}; + /* SPI0 for external gpio pin */ &spi0 { status = "okay"; - max-freq = <10000000>; + + spi_dev@0 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <0x2faf080>; + }; }; /* SPI1 for ws2812*/ &spi1 { status = "okay"; - max-freq = <10000000>; + + spi_dev@0 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <0x2faf080>; + }; }; &pinctrl { @@ -274,7 +257,7 @@ }; }; -&pwm1 { +&pwm3 { status = "okay"; }; diff --git a/patch/kernel/archive/rockchip64-6.6/dt/rk3308-sakurapi-rk3308b.dts b/patch/kernel/archive/rockchip64-6.6/dt/rk3308-sakurapi-rk3308b.dts index d5ed769dbf..535e709df5 100755 --- a/patch/kernel/archive/rockchip64-6.6/dt/rk3308-sakurapi-rk3308b.dts +++ b/patch/kernel/archive/rockchip64-6.6/dt/rk3308-sakurapi-rk3308b.dts @@ -2,11 +2,12 @@ /* * Copyright (c) 2019 Akash Gajjar * Copyright (c) 2019 Jagan Teki - * Copyright (C) 2024 TheSnowfield + * Copyright (C) 2024 TheSnowfield */ /dts-v1/; #include "rk3308.dtsi" +#include / { model = "Sakura Pi RK3308B"; @@ -112,45 +113,13 @@ backlight: backlight { status = "okay"; compatible = "pwm-backlight"; - pwms = <&pwm1 0 25000 0>; - brightness-levels = < - 0 1 2 3 4 5 6 7 - 8 9 10 11 12 13 14 15 - 16 17 18 19 20 21 22 23 - 24 25 26 27 28 29 30 31 - 32 33 34 35 36 37 38 39 - 40 41 42 43 44 45 46 47 - 48 49 50 51 52 53 54 55 - 56 57 58 59 60 61 62 63 - 64 65 66 67 68 69 70 71 - 72 73 74 75 76 77 78 79 - 80 81 82 83 84 85 86 87 - 88 89 90 91 92 93 94 95 - 96 97 98 99 100 101 102 103 - 104 105 106 107 108 109 110 111 - 112 113 114 115 116 117 118 119 - 120 121 122 123 124 125 126 127 - 128 129 130 131 132 133 134 135 - 136 137 138 139 140 141 142 143 - 144 145 146 147 148 149 150 151 - 152 153 154 155 156 157 158 159 - 160 161 162 163 164 165 166 167 - 168 169 170 171 172 173 174 175 - 176 177 178 179 180 181 182 183 - 184 185 186 187 188 189 190 191 - 192 193 194 195 196 197 198 199 - 200 201 202 203 204 205 206 207 - 208 209 210 211 212 213 214 215 - 216 217 218 219 220 221 222 223 - 224 225 226 227 228 229 230 231 - 232 233 234 235 236 237 238 239 - 240 241 242 243 244 245 246 247 - 248 249 250 251 252 253 254 255>; - default-brightness-level = <200>; + pwms = <&pwm3 0 25000 0>; + brightness-levels = <0 255>; + default-brightness-level = <255>; }; display: panel { - compatible = "olimex,lcd-olinuxino-43-ts"; + compatible = "edt,et070080dh6"; backlight = <&backlight>; enable-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; enable-delay-ms = <20>; @@ -215,16 +184,30 @@ }; }; +&dmac0 { + status = "okay"; +}; + /* SPI0 for external gpio pin */ &spi0 { status = "okay"; - max-freq = <10000000>; + + spi_dev@0 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <0x2faf080>; + }; }; /* SPI1 for ws2812*/ &spi1 { status = "okay"; - max-freq = <10000000>; + + spi_dev@0 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <0x2faf080>; + }; }; &pinctrl { @@ -274,7 +257,7 @@ }; }; -&pwm1 { +&pwm3 { status = "okay"; }; diff --git a/patch/kernel/archive/rockchip64-6.6/overlay/rockchip-sakurapi-rk3308b-ws2812.dts b/patch/kernel/archive/rockchip64-6.6/overlay/rockchip-sakurapi-rk3308b-ws2812.dts new file mode 100644 index 0000000000..fc94f4a48d --- /dev/null +++ b/patch/kernel/archive/rockchip64-6.6/overlay/rockchip-sakurapi-rk3308b-ws2812.dts @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/* + * For SakuraPi Rk3308B: Enable on-board ws2812 LEDs + * Need to load an external driver, see https://github.com/Sakura-Pi/ws2812-vleds + * + * (C) Copyright 2025 TheSnowfield + */ + +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&spi1>; + __overlay__ { + + status = "okay"; + + ws2812@0 { + compatible = "ws2812-vleds"; + reg = <0>; + + // tested spi clk 6750000hz on rk3308b + spi-max-frequency = <6750000>; + + leds { + + // user defined + ws_led3: vled3 { + label = "ws-led3"; + default-state = "off"; + color-value = "#69b3f2"; + }; + + // user defined + ws_led2: vled2 { + label = "ws-led2"; + default-state = "off"; + color-value = "#9376c8"; + }; + + // user defined + ws_led1: vled1 { + label = "ws-led1"; + default-state = "off"; + color-value = "#b66bc3"; + }; + + // mmc1(emmc) r/w state + ws_led0: vled0 { + label = "ws-led0"; + default-state = "on"; + linux,default-trigger = "mmc1"; + color-value = "#eb698f"; + }; + + }; + }; + }; + }; +}; diff --git a/patch/kernel/archive/rockchip64-6.9/dt/rk3308-sakurapi-rk3308b.dts b/patch/kernel/archive/rockchip64-6.9/dt/rk3308-sakurapi-rk3308b.dts old mode 100644 new mode 100755 index 7d942a8f5e..535e709df5 --- a/patch/kernel/archive/rockchip64-6.9/dt/rk3308-sakurapi-rk3308b.dts +++ b/patch/kernel/archive/rockchip64-6.9/dt/rk3308-sakurapi-rk3308b.dts @@ -2,11 +2,12 @@ /* * Copyright (c) 2019 Akash Gajjar * Copyright (c) 2019 Jagan Teki - * Copyright (C) 2024 Chiyuki Akatsuki + * Copyright (C) 2024 TheSnowfield */ /dts-v1/; #include "rk3308.dtsi" +#include / { model = "Sakura Pi RK3308B"; @@ -108,6 +109,33 @@ pinctrl-0 = <&otg_vbus_drv>; vin-supply = <&vcc5v0_sys>; }; + + backlight: backlight { + status = "okay"; + compatible = "pwm-backlight"; + pwms = <&pwm3 0 25000 0>; + brightness-levels = <0 255>; + default-brightness-level = <255>; + }; + + display: panel { + compatible = "edt,et070080dh6"; + backlight = <&backlight>; + enable-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; + enable-delay-ms = <20>; + status = "okay"; + + panel_in: port { + #address-cells = <1>; + #size-cells = <0>; + + panel_in_rgb: endpoint { + reg = <0>; + remote-endpoint = <&vop_out_rgb>; + }; + }; + }; + }; &cpu0 { @@ -156,9 +184,30 @@ }; }; -&spi2 { +&dmac0 { status = "okay"; - max-freq = <10000000>; +}; + +/* SPI0 for external gpio pin */ +&spi0 { + status = "okay"; + + spi_dev@0 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <0x2faf080>; + }; +}; + +/* SPI1 for ws2812*/ +&spi1 { + status = "okay"; + + spi_dev@0 { + compatible = "spidev"; + reg = <0>; + spi-max-frequency = <0x2faf080>; + }; }; &pinctrl { @@ -194,6 +243,28 @@ status = "okay"; }; +&vop { + status = "okay"; + + vop_out: port { + #address-cells = <1>; + #size-cells = <0>; + + vop_out_rgb: endpoint@0 { + reg = <0>; + remote-endpoint = <&panel_in_rgb>; + }; + }; +}; + +&pwm3 { + status = "okay"; +}; + +&display_subsystem { + status = "okay"; +}; + &uart2 { pinctrl-names = "default"; pinctrl-0 = <&uart2m0_xfer>; @@ -223,4 +294,3 @@ &usb_host_ohci{ status = "okay"; }; -