lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87k2r3dgmj.fsf@belgarion.home>
Date:	Sat, 03 Oct 2015 19:08:36 +0200
From:	Robert Jarzmik <robert.jarzmik@...e.fr>
To:	Philipp Zabel <philipp.zabel@...il.com>
Cc:	Jean-Christophe Plagniol-Villard <plagnioj@...osoft.com>,
	Tomi Valkeinen <tomi.valkeinen@...com>,
	linux-fbdev@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] video: fbdev: pxafb: initial devicetree conversion

Philipp Zabel <philipp.zabel@...il.com> writes:

> Hi Robert,
>
> On Sat, Oct 3, 2015 at 6:11 PM, Robert Jarzmik <robert.jarzmik@...e.fr> wrote:
>> This patch brings a first support of pxa framebuffer devices to a
>> devicetree pxa platform, as was before platform data.
>>
>> There are restrictions with this port, the biggest one being the lack of
>> support of smart panels. Moreover the conversion doesn't provide a way
>> to declare multiple framebuffer configurations with different bits per
>> pixel, only the LCD hardware bus width is used.
>>
>> The patch was tested on both pxa25x, pxa27x and pxa3xx platform (namely
>> lubbock, mainstone and zylonite).
>>
>> Signed-off-by: Robert Jarzmik <robert.jarzmik@...e.fr>
>
> Thanks a lot for working on this! Out of interest, do you plan to
> convert MIOA701 to DT?
Actually, I already had. If you take all the pending patches scattered across
all the subsystems (around 40 by my last count), then mioa701 is converted, see
in [1]. If we take -next tree, I think the count will be closer to 20 or so.

>> @@ -2313,11 +2461,19 @@ static int pxafb_remove(struct platform_device *dev)
>>         return 0;
>>  }
>>
>> +static const struct of_device_id pxafb_of_dev_id[] = {
>> +       {
>> +               .compatible = "marvell,pxa2xx-fb",
>
> At least in the old Intel manuals, this was called the LCD Controller,
> all register names are LCsomething.
> Please let's not just put the Linux driver name in the device tree and
> call this pxa2xx-lcd-controller or a shortened version thereof.
Ok, I'm very open for a name change, devicetree is not my speciality, so
basically I'll take any advice :)

Cheers.

-- 
Robert

[1] mioa701 dt
/*
 *  Copyright (C) Robert Jarzmik <robert.jarzmik@...e.fr>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License version 2 as
 *  publishhed by the Free Software Foundation.
 */

/dts-v1/;
#include "pxa27x.dtsi"
#include "include/dt-bindings/gpio/gpio.h"
#include "include/dt-bindings/clock/pxa-clock.h"

/ {
	model = "Mitac Mio A701 Board";
	/* compatible = "mitac,mioa701"; */
	compatible = "marvell,pxa270";

	chosen {
		bootargs = "mtdparts=docg3.0:256k@...6k(barebox)ro,256k(barebox-logo),128k(barebox-env),4M(kernel),-(root) ubi.mtd=4 rootfstype=ubifs root=ubi0:linux_root ro";
	};

	memory {
		reg = <0xa0000000 0x04000000>;

		reserved-memory {
			#address-cells = <1>;
			#size-cells = <1>;

			pstore_region:region@...2000000 {
				compatible = "linux,contiguous-memory-region";
				reg = <0xa2000000 1048576>;
			};
		};
	};

	cpus {
		cpu {
			cpu-supply = <&vcc_core>;
		};
	};

	pxabus {
		gpio: gpio@...00000 {
			status = "okay";
		};

		ffuart: uart@...00000 {
			status = "okay";
		};

		btuart: uart@...00000 {
			status = "okay";
		};

		stuart: uart@...00000 {
			status = "okay";
		};

		usb2phy: gpio-vbus@13 {
			compatible = "usb-nop-xceiv";
			vbus-detect-gpio = <&gpio 13 GPIO_ACTIVE_LOW>;
			wakeup;
		};

		pxa27x_udc: udc@...00000 {
			    status = "okay";
			    gpios = <&gpio 22 0>;
			    phys = <&usb2phy>;
			    phys-names = "usb2phy";
		};

		pwri2c: i2c@...000180 {
			status = "okay";

			max1586@14 {
				compatible = "maxim,max1586";
				reg = <0x14>;
				v3-gain = <1000000>;

				regulators {
					vcc_core: v3 {
						regulator-name = "vcc_core";
						regulator-compatible = "Output_V3";
						regulator-min-microvolt = <1000000>;
						regulator-max-microvolt = <1705000>;
						regulator-always-on;
					};
				};
			};
		};

		pxai2c1: i2c@...01680 {
			mrvl,i2c-fast-mode;
			status = "okay";

			mt9m111: camera@5d {
				compatible = "micron,mt9m111";
				reg = <0x5d>;
				gpios = <&gpio 56 GPIO_ACTIVE_HIGH>;

				remote = <&pxa_camera>;
				port {
					mt9m111_1: endpoint {
						bus-width = <8>;
						remote-endpoint = <&pxa_camera>;
					};
				};
			};
		};

		keypad: keypad@...00000 {
			status = "okay";

			keypad,num-rows = <3>;
			keypad,num-columns = <3>;
			linux,keymap = <
				0x00000067	/* KEY_UP */
				0x0001006a	/* KEY_RIGHT */
				0x000200e2	/* KEY_MEDIA */
				0x0100006c	/* KEY_DOWN */
				0x0101001c	/* KEY_ENTER */
				0x010200da	/* KEY_CONNECT */
				0x02000069	/* KEY_LEFT */
				0x020100a9	/* KEY_PHONE */
				0x020200d4>;	/* KEY_CAMERA */
			marvell,debounce-interval = <0>;
		};

		gpio-keys {
			compatible = "gpio-keys";
			#address-cells = <1>;
			#size-cells = <0>;
			autorepeat;
			status = "okay";

			button@0 {
				label = "GPIO Key Power";
				linux,code = <174>;
				gpios = <&gpio 0 0>;
				gpio-key,wakeup;
			};
			button@12 {
				label = "HP jack detect";
				linux,code = <211>;
				gpios = <&gpio 12 0>;
			};
			button@93 {
				label = "Volume Up Key";
				linux,code = <115>;
				gpios = <&gpio 93 0>;
			};
			button@94 {
				label = "Volume Down Key";
				linux,code = <114>;
				gpios = <&gpio 94 0>;
			};
		};

		mmc0: mmc@...00000 {
			vmmc-supply = <&reg_vmmc>;
			status = "okay";
		};

		pxa_camera: imaging@...00000 {
			status = "okay";

			port {
				#address-cells = <1>;
				#size-cells = <0>;

				/* Parallel bus endpoint */
				qci: endpoint@0 {
					reg = <0>;		/* Local endpoint # */
					remote-endpoint = <&mt9m111_1>;	/* Remote phandle */
					bus-width = <8>;	/* Used data lines */

					hsync-active = <0>;	/* Active low */
					vsync-active = <0>;	/* Active low */
					pclk-sample = <1>;	/* Rising */
				};
			};
		};

		pxafb: video@...00000 {
			status = "okay";
			display = <&display0>;

			enable-transparency-bit = <0>;
			enable-greyscale-cmap = <0>;
		};
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		reg_vmmc: regulator@0 {
			compatible = "regulator-fixed";
			regulator-name = "vmmc";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};
	};

	backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm0 0 40960000>;
		pwm-names = "backlight";

		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <2>;
	};

	docg3: flash@0 {
		compatible = "m-systems,diskonchip-g3";
		reg = <0x0 0x2000>;
	};

	display0: display@0 {
		lcd-type = "color-tft";
		bits-per-pixel = <16>;
		display-timings {
			native-mode = <&timing0>;
			timing0: 240p {
				/* 240x320p24 */
				clock-frequency = <4545000>;
				hactive = <240>;
				vactive = <320>;
				hfront-porch = <4>;
				hback-porch = <6>;
				hsync-len = <4>;
				vback-porch = <5>;
				vfront-porch = <3>;
				vsync-len = <2>;
			};
		};
	};
};
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ