-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
Good evening, I'm tryng to adapt this procedure:
https://developerhelp.microchip.com/xwiki/bin/view/applications/linux4sam/faq/boot-logo/
to our case, a custom board based on sam9x60_curiosity with a pda5000 LCD display.
Everithyng works fine under linux kernel, but inside u-boot the atmel_hlcdfb is not probed...
Here are the DTS snippets employed
/ {
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&hlcdc_pwm 0 50000 0>;
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <7>;
power-supply = <&bl_reg>;
status = "okay";
u-boot,dm-pre-reloc;
};
bl_reg: backlight_regulator {
compatible = "regulator-fixed";
regulator-name = "backlight-power-supply";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
status = "okay";
u-boot,dm-pre-reloc;
};
panel: panel {
compatible = "simple-panel";
backlight = <&backlight>;
power-supply = <&panel_reg>;
status = "okay";
connector-type = "rgb";
u-boot,dm-pre-reloc;
panel-timing {
clock-frequency = <33300000>; // 33.3 MHz
hactive = <800>;
vactive = <480>;
hsync-len = <64>;
hfront-porch = <1>;
hback-porch = <64>;
vsync-len = <23>;
vfront-porch = <1>;
vback-porch = <22>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <1>; // tipico TFT
pixelclk-active = <0>; // campiona sul fronte neagativo (se richiesto dal pannello)
u-boot,dm-pre-reloc;
};
port@0 {
u-boot,dm-pre-reloc;
panel_input: endpoint@0 {
remote-endpoint = <&hlcdc_panel_output>;
u-boot,dm-pre-reloc;
};
};
};
panel_reg: panel_regulator {
compatible = "regulator-fixed";
regulator-name = "panel-power-supply";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
status = "okay";
u-boot,dm-pre-reloc;
};
hlcdc: hlcdc@f8038000 {
compatible = "microchip,sam9x60-hlcdc",atmel,at91sam9x5-hlcdc";
reg = <0xf8038000 0x4000>;
interrupts = <25 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 25>, <&pmc PMC_TYPE_GCK 25>, <&slow_xtal>;
clock-names = "periph_clk","sys_clk", "slow_clk";
assigned-clocks = <&pmc PMC_TYPE_GCK 25>;
assigned-clock-parents = <&pmc PMC_TYPE_CORE 10>;
atmel,vl-bpix = <5>; // RGB888 (24 bpp)
atmel,guard-time = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb666>;
status = "okay";
u-boot,dm-pre-reloc;
hlcdc-display-controller {
// Collega il controller al pannello via endpoint
compatible = "atmel,hlcdc-display-controller";
#address-cells = <1>;
#size-cells = <0>;
u-boot,dm-pre-reloc;
port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
u-boot,dm-pre-reloc;
hlcdc_panel_output: endpoint@0 {
u-boot,dm-pre-reloc;
remote-endpoint = <&panel_input>;
};
};
};
// PWM del backlight sull’uscita HLCDC, pinmux PIOC26
hlcdc_pwm: hlcdc-pwm {
compatible = "atmel,hlcdc-pwm";
#pwm-cells = <3>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd_pwm>;
u-boot,dm-pre-reloc;
};
};
[...]
&pinctrl {
lcd {
pinctrl_lcd_base: lcd-base-0 {
u-boot,dm-pre-reloc;
atmel,pins = <AT91_PIOC 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDVSYNC */
AT91_PIOC 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDHSYNC */
AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDDISP */
AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDDEN */
AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDPCK */
};
pinctrl_lcd_rgb666: lcd-rgb-2 {
u-boot,dm-pre-reloc;
atmel,pins = <AT91_PIOC 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
AT91_PIOC 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
AT91_PIOC 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
AT91_PIOC 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */
AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD18 pin */
AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD19 pin */
AT91_PIOC 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD20 pin */
AT91_PIOC 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD21 pin */
AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD22 pin */
AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD23 pin */
};
pinctrl_lcd_pwm: lcd_pwm {
u-boot,dm-pre-reloc;
atmel,pins = <AT91_PIOC 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
};
};
};
Any help would be very appreciated
Thanks a lot and work well
Giovanni
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels