Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-9]: src/sys Pull up following revision(s) (requested by mrg in ti...



details:   https://anonhg.NetBSD.org/src/rev/2b3e51f07e40
branches:  netbsd-9
changeset: 843757:2b3e51f07e40
user:      martin <martin%NetBSD.org@localhost>
date:      Tue Jan 21 10:39:58 2020 +0000

description:
Pull up following revision(s) (requested by mrg in ticket #616):

        sys/dev/ic/anx_dp.c: revision 1.2
        sys/arch/evbarm/conf/GENERIC64: revision 1.126
        sys/dev/ic/anx_dp.h: revision 1.1
        sys/arch/evbarm/conf/GENERIC64: revision 1.128
        sys/dev/ic/anx_dp.h: revision 1.2
        sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
        sys/dev/i2c/cwfg.c: revision 1.1
        sys/conf/files: revision 1.1247
        sys/dev/fdt/pwm_backlight.c: revision 1.5
        sys/dev/fdt/pwm_backlight.c: revision 1.6
        sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
        sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
        sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
        sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
        sys/dev/ic/dwc_mmc.c: revision 1.20
        sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
        sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
        sys/dev/usb/usbdevs: revision 1.775
        sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
        sys/dev/fdt/simple_amplifier.c: revision 1.1
        sys/dev/i2c/files.i2c: revision 1.105
        sys/arch/evbarm/conf/GENERIC64: revision 1.117
        sys/arch/evbarm/conf/GENERIC64: revision 1.118
        sys/dev/i2c/files.i2c: revision 1.107
        sys/dev/fdt/files.fdt: revision 1.49
        sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
        sys/dev/ic/dwc_mmc_var.h: revision 1.9
        sys/dev/i2c/rkpmic.c: revision 1.4
        sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
        sys/dev/i2c/rkpmic.c: revision 1.5
        sys/dev/i2c/rkpmic.c: revision 1.6
        sys/arch/arm/rockchip/rk_vop.c: revision 1.4
        sys/arch/arm/rockchip/rk_vop.c: revision 1.5
        sys/dev/i2c/rkpmic.c: revision 1.8
        sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
        sys/dev/usb/ums.c: revision 1.96 (via patch)
        sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
        sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
        sys/dev/i2c/es8316ac.c: revision 1.1
        sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
        sys/dev/i2c/es8316ac.c: revision 1.2
        sys/dev/fdt/fdt_panel.c: revision 1.1
        sys/dev/ic/dwc_mmc.c: revision 1.18
        sys/dev/fdt/fdt_panel.c: revision 1.2
        sys/dev/ic/dwc_mmc.c: revision 1.19
        sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
        sys/dev/fdt/fdt_port.c: revision 1.5
        sys/dev/ic/dwc_mmc_var.h: revision 1.10
        sys/dev/fdt/fdt_port.c: revision 1.6
        sys/arch/evbarm/conf/GENERIC64: revision 1.122
        sys/dev/ic/dwc_mmc_var.h: revision 1.11
        sys/dev/fdt/files.fdt: revision 1.50
        sys/arch/evbarm/conf/GENERIC64: revision 1.123
        sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
        sys/arch/arm/rockchip/files.rockchip: revision 1.23
        sys/arch/evbarm/conf/GENERIC64: revision 1.124
        sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability.  This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
 - Use mmcpwrseq resources if available
 - Only set 4- or 8-bit mode if specified in the dt properties
 - Add quirk for implementations with inverted power enable logic
 - Support switching signal voltage between 1.8V and 3.3V
 - Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs

diffstat:

 sys/arch/arm/dts/rk3399-pinebook-pro.dts |  1094 ++++++++++++++++++++++++++++++
 sys/arch/arm/dts/rk3399-rockpro64.dts    |   110 ++-
 sys/arch/arm/rockchip/files.rockchip     |     6 +-
 sys/arch/arm/rockchip/rk3399_cru.c       |    39 +-
 sys/arch/arm/rockchip/rk_anxdp.c         |   305 ++++++++
 sys/arch/arm/rockchip/rk_dwhdmi.c        |   101 ++-
 sys/arch/arm/rockchip/rk_i2s.c           |     6 +-
 sys/arch/arm/rockchip/rk_pwm.c           |    11 +-
 sys/arch/arm/rockchip/rk_vop.c           |   245 ++----
 sys/arch/evbarm/conf/GENERIC64           |    12 +-
 sys/conf/files                           |     6 +-
 sys/dev/fdt/dwcmmc_fdt.c                 |    80 ++-
 sys/dev/fdt/fdt_panel.c                  |   167 ++++
 sys/dev/fdt/fdt_port.c                   |    16 +-
 sys/dev/fdt/files.fdt                    |    11 +-
 sys/dev/fdt/pwm_backlight.c              |    37 +-
 sys/dev/fdt/simple_amplifier.c           |   137 +++
 sys/dev/i2c/cwfg.c                       |   449 ++++++++++++
 sys/dev/i2c/es8316ac.c                   |   722 +++++++++++++++++++
 sys/dev/i2c/files.i2c                    |    12 +-
 sys/dev/i2c/rkpmic.c                     |   263 +++++++-
 sys/dev/ic/anx_dp.c                      |  1079 +++++++++++++++++++++++++++++
 sys/dev/ic/anx_dp.h                      |    79 ++
 sys/dev/ic/dwc_mmc.c                     |   506 +++++++------
 sys/dev/ic/dwc_mmc_var.h                 |    23 +-
 sys/dev/usb/ums.c                        |    58 +-
 sys/dev/usb/usbdevs                      |     6 +-
 27 files changed, 5101 insertions(+), 479 deletions(-)

diffs (truncated from 6712 to 300 lines):

diff -r c123da05e128 -r 2b3e51f07e40 sys/arch/arm/dts/rk3399-pinebook-pro.dts
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/arm/dts/rk3399-pinebook-pro.dts  Tue Jan 21 10:39:58 2020 +0000
@@ -0,0 +1,1094 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
+ * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar%mentor.com@localhost>
+ */
+
+/dts-v1/;
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/usb/pd.h>
+//#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include "rk3399.dtsi"
+#include "rk3399-opp.dtsi"
+
+/ {
+       model = "Pine64 Pinebook Pro";
+       compatible = "pine64,pinebook-pro", "rockchip,rk3399";
+
+       edp_panel: edp-panel { /* "boe,nv140fhmn49" */
+               compatible = "boe,nv140fhmn49", "simple-panel";
+               backlight = <&backlight>;
+               power-supply = <&vcc3v3_s0>;
+//             pinctrl-names = "default";
+//             pinctrl-0 = <&panel_en>;
+               enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
+               prepare-delay-ms = <20>;
+               enable-delay-ms = <20>;
+               status = "okay";
+
+               ports {
+                       #address-cells = <0x01>;
+                        #size-cells = <0x00>;
+                       port@0 {
+                               panel_in_edp: endpoint@0 {
+                                       remote-endpoint = <&edp_out_panel>;
+                               };
+                       };
+               };
+       };
+
+       chosen {
+               bootargs = "earlycon=uart8250,mmio32,0xff1a0000";
+               stdout-path = "serial2:1500000n8";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwrled &slpled>;
+
+               /* Hack using active_low as inversion. A real, inverted trigger would be nicer */
+               green-led {
+                       gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW>;
+                       label = "green:disk-activity";
+//                     function = LED_FUNCTION_POWER;
+                       linux,default-trigger = "disk-activity";
+                       default-state = "off";
+//                     color = <LED_COLOR_ID_GREEN>;
+               };
+
+               red-led {
+                       gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
+                       label = "red:standby";
+//                     function = LED_FUNCTION_STANDBY;
+                       default-state = "off";
+                       panic-indicator;
+                       retain-state-suspended;
+//                     color = <LED_COLOR_ID_RED>;
+               };
+       };
+
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               drm_logo: drm-logo@00000000 {
+                       compatible = "rockchip,drm-logo";
+                       reg = <0x0 0x0 0x0 0x0>;
+               };
+       };
+
+       dc_12v: dc-12v {
+               compatible = "regulator-fixed";
+               regulator-name = "dc_12v";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               autorepeat;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwrbtn &lidbtn>;
+
+               power {
+                       debounce-interval = <20>;
+                       gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
+                       label = "Power";
+                       linux,code = <KEY_POWER>;
+                       wakeup-source;
+               };
+
+               lid {
+                       debounce-interval = <20>;
+                       gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
+                       label = "Lid";
+                       linux,code = <SW_LID>;
+                       linux,input-type = <EV_SW>;
+                       wakeup-source;
+               };
+       };
+       
+       backlight: edp-backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm0 0 740740 0>;
+               power-supply = <&vcc3v3_s3>;
+               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>;
+               status = "okay";
+       };
+
+       panel {
+               vcc_lcd_en_drv: vcc-lcd-en-drv {
+                       rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               panel_en: panel-en {
+                       rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       vcc_lcd_en: vcc-lcd-en-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
+//             pinctrl-names = "default";
+//             pinctrl-0 = <&vcc_lcd_en_drv>;
+               regulator-name = "vcc_lcd_en";
+               regulator-enable-ramp-delay = <100000>;
+               vin-supply = <&vcc3v3_sys>;
+               regulator-always-on;
+
+               regulator-state-mem {
+                       regulator-off-in-suspend;
+               };
+       };
+
+       sdio_pwrseq: sdio-pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               clocks = <&rk808 1>;
+               clock-names = "ext_clock";
+               pinctrl-names = "default";
+               pinctrl-0 = <&wifi_enable_h>;
+               power-off-delay-us = <500000>;
+               post-power-on-delay-ms = <100>;
+
+               /*
+                * On the module itself this is one of these (depending
+                * on the actual card populated):
+                * - SDIO_RESET_L_WL_REG_ON
+                * - PDN (power down when low)
+                */
+               reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
+       };
+
+       wireless-wlan {
+               compatible = "wlan-platdata";
+               rockchip,grf = <&grf>;
+               wifi_chip_type = "ap6354";
+               sdio_vref = <1800>;
+               WIFI,host_wake_irq = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
+               status = "okay";
+       };
+
+       es8316-sound {
+               status = "okay";
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "rockchip,es8316-codec";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,mclk-fs = <256>;
+
+               simple-audio-card,widgets =
+                       "Microphone", "Mic Jack",
+                       "Headphone", "Headphones",
+                       "Speaker", "Speaker";
+               simple-audio-card,routing =
+                       "MIC1", "Mic Jack",
+                       "Headphones", "HPOL",
+                       "Headphones", "HPOR",
+                       "Speaker Amplifier INL", "HPOL",
+                       "Speaker Amplifier INR", "HPOR",
+                       "Speaker", "Speaker Amplifier OUTL",
+                       "Speaker", "Speaker Amplifier OUTR";
+
+               simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
+               simple-audio-card,aux-devs = <&speaker_amp>;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&i2s1>;
+               };
+
+               simple-audio-card,codec {
+                       sound-dai = <&es8316>;
+               };
+       };
+
+       speaker_amp: speaker-amplifier {
+               status = "okay";
+               compatible = "simple-audio-amplifier";
+               enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
+               VCC-supply = <&vcc5v0_host>;
+               sound-name-prefix = "Speaker Amplifier";
+       };
+
+       /* switched by pmic_sleep */
+       vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc1v8_s3";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               vin-supply = <&vcc_1v8>;
+       };
+
+       vcc3v3_pcie: vcc3v3-pcie-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pcie_pwr_en>;
+               regulator-name = "vcc3v3_pcie";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&dc_12v>;
+       };
+
+       vcc_phy: vcc-phy-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_phy";
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vcc3v3_sys: vcc3v3-sys {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3_sys";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&vcc_sys>;
+       };
+
+       /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
+       vcc5v0_host: vcc5v0-host-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";



Home | Main Index | Thread Index | Old Index