Hello, I'm currently trying to get the sun4i-ts working for the allwinner f1c200s. I already checked the registers are the same and I have adjusted the offset in the device tree. I added debug output to the driver to see, where it gets stuck. The result is that "thermal = devm_thermal_zone_of_sensor_register(ts->dev, 0, ts, &sun4i_ts_tz_ops);" is returning "-EPROBE_DEFER".. It is probably an configuration error on my side, the device tree will be attached at the end. I would be glad if someone could help me. Thanks, Thomas > /dts-v1/; > #include "suniv-f1c100s.dtsi" > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/input/input.h> > #include <dt-bindings/thermal/thermal.h> > #include <dt-bindings/interrupt-controller/irq.h> > #include "sunxi-common-regulators.dtsi" > > / { > model = "MC4L"; > compatible = "mec,mec-mc4l", "allwinner,suniv-f1c100s"; > > aliases { > serial0 = &uart0; > spi0 = &spi0; > }; > > chosen { > stdout-path = "serial0:115200n8"; > }; > > cpus { > cpu: cpu { > compatible = "arm,arm926ej-s"; > device_type = "cpu"; > }; > }; > > thermal-zones { > cpu-thermal: cpu-thermal { > /* milliseconds */ > polling-delay-passive = <250>; > polling-delay = <1000>; > thermal-sensors = <&rtp>; > > cooling-maps { > map0 { > trip = <&cpu_alert0>; > cooling-device = <&cpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > }; > }; > > trips { > cpu_alert0: cpu-alert0 { > /* milliCelsius */ > temperature = <85000>; > hysteresis = <2000>; > type = "passive"; > }; > > cpu_crit: cpu-crit { > /* milliCelsius */ > temperature = <100000>; > hysteresis = <2000>; > type = "critical"; > }; > }; > }; > }; > > soc { > rtp: rtp@1c24800 { > compatible = "allwinner,sun4i-a10-ts"; > reg = <0x01c24800 0x100>; > interrupts = <20>; > allwinner,ts-attached; > #thermal-sensor-cells = <0>; > pinctrl-names = "default"; > pinctrl-0 = <&rtp_pins>; > }; > }; > > panel: panel { > compatible = "qiaodian,qd43003c0-40", "simple-panel"; > #address-cells = <1>; > #size-cells = <0>; > enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>; > power-supply = <®_vcc3v3>; > > port@0 { > reg = <0>; > #address-cells = <1>; > #size-cells = <0>; > > panel_input: endpoint@0 { > reg = <0>; > remote-endpoint = <&tcon0_out_lcd>; > }; > }; > }; > > reg_vcc3v3: vcc3v3 { > compatible = "regulator-fixed"; > regulator-name = "vcc3v3"; > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > }; > }; > > &be0 { > status = "okay"; > }; > > &de { > status = "okay"; > }; > > &i2c0 { > pinctrl-0 = <&i2c0_pins>; > pinctrl-names = "default"; > status = "okay"; > }; > > &mmc0 { > vmmc-supply = <®_vcc3v3>; > bus-width = <4>; > broken-cd; > status = "okay"; > }; > > &pio { > rtp_pins: rtp-pins { > pins = "PA0", "PA1", "PA2", "PA3"; > function = "rtp"; > }; > }; > > &tcon0 { > pinctrl-names = "default"; > pinctrl-0 = <&lcd_rgb666_pins>; > status = "okay"; > }; > > &tcon0_out { > tcon0_out_lcd: endpoint@0 { > reg = <0>; > remote-endpoint = <&panel_input>; > }; > }; > > &uart0 { > pinctrl-names = "default"; > pinctrl-0 = <&uart0_pe_pins>; > status = "okay"; > }; > > &uart1 { > pinctrl-names = "default"; > status = "disabled"; > }; > > &uart2 { > pinctrl-names = "default"; > status = "disabled"; > }; >