From owner-freebsd-arm@freebsd.org Wed Aug 29 21:05:43 2018 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0C991096610 for ; Wed, 29 Aug 2018 21:05:43 +0000 (UTC) (envelope-from nmingotti@gmail.com) Received: from mail-wm0-x236.google.com (mail-wm0-x236.google.com [IPv6:2a00:1450:400c:c09::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 52407820FF; Wed, 29 Aug 2018 21:05:43 +0000 (UTC) (envelope-from nmingotti@gmail.com) Received: by mail-wm0-x236.google.com with SMTP id o18-v6so6900202wmc.0; Wed, 29 Aug 2018 14:05:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=nBkRT/ayirEYYrPnSMIQHtY9B6gKHf3SqIbUeZR27+E=; b=nBegmdjY2lxPC5wgz0z7FD1+aVwSePdhewR8DXgZ0TIZsNmHusIQrf4CWDc7caX46P AW5LSJbK+/gYi9M+q6mRhv+zgi2x1Dwz2mlqU+AUhYbNNSg0sE5ahNDuDPUWyZNPkHFe 68THVwRO/DYBMV8fJmQ6CgWpYlNFeHHQtlpZdISoRFkGyV1M0BAdYLPUHnaiDGfcZtfK SNOA6J1k7/1eEzWZmK0XrDuBpsy2kXIvSzzo9mK3urqSAr43HJTPppHSY2WW83l9dJHA ja+OEVN6hNiDmzSMSSmuTbYU33RYU3eY31ESUtGfAOpFjnMcDIr8C3P6qmCe/c3YvoOc vDFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=nBkRT/ayirEYYrPnSMIQHtY9B6gKHf3SqIbUeZR27+E=; b=m5i5omqYs9g41vf8Xn8/geDyTpC+7occosI+wc0F1epWueN5UvuFmlSf7EGPWGL20t MxBC89F0Ep589TEmVTjTvJ51CfVnC1qzpD0+AWSZx58pkL8DloOomyJcZbDsHpb6hNcJ 4H/bqv5ObXGXvKMd5PN69sMGD7lJFhlugaOHS7LEUHtCCRK0HFUbr7xKKIZ2SQS0PWw2 pE1V6utnEQjA8fEoMejeUgfi0UCAExervlccE04aNjfzqW/m1g5u/JkE18qedY+4P0Ud 0QwCv3HPtseg35642JxyvB7ZdRTYybW3iFEtCeboJw4HuqwtUU88doLN1RRBv7GE0fJE U7Pg== X-Gm-Message-State: APzg51B1Yxn0Dw+00o57s8y7Q4G2FsT0Spo9VewXa4B0zggrLCb3zfDi I/gc12x0pFXl+/7RQzWxFpc= X-Google-Smtp-Source: ANB0VdYslUDPLlExK+HJSitrZB5uu1EGmBoKm5i0lisFggOxhWtWNYXR7SIUJXZxRGGWR3SU3vVIYQ== X-Received: by 2002:a1c:3bd4:: with SMTP id i203-v6mr5019275wma.73.1535576741948; Wed, 29 Aug 2018 14:05:41 -0700 (PDT) Received: from [172.16.0.150] (net-188-219-105-237.cust.vodafonedsl.it. [188.219.105.237]) by smtp.gmail.com with ESMTPSA id w15-v6sm7337515wrs.8.2018.08.29.14.05.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Aug 2018 14:05:41 -0700 (PDT) Subject: Re: utility for pin in BBB: PX.Y --> pin_mode, pin_name To: Ian Lepore , Russell Haley Cc: freebsd-arm , Nicola Mingotti References: <4661fc41-935a-56d5-2cc2-125085daf30a@gmail.com> <1535568374.33841.47.camel@freebsd.org> From: Nicola Mingotti Message-ID: <789fe7af-669d-0c49-06f4-3bf73409fc69@gmail.com> Date: Wed, 29 Aug 2018 23:05:39 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.27 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Aug 2018 21:05:44 -0000 On 08/29/18 22:26, Nicola Mingotti wrote: > > > On 08/29/18 20:46, Ian Lepore wrote: >> On Wed, 2018-08-29 at 20:01 +0200, Nicola Mingotti wrote: >>> Thank you for suggestion Russel, >>> >>> but unfortunately, at best of my knowldege, >>> $> man 3 gpio_open >>> and its shell command brother >>> $> man 8 gpioctl >>> >>> are not appropriate, they are useful only if a pin >>> has been configured as GPIO pin. >>> >>> The program i look for would be useful instead to esablish >>> which physical pin has been configured as GPIO pin or >>> PWM, PRU, I2C etc. >>> >>> I asked also in the Forum, but the only one aswering >>> (@Phishry) has given me your same suggestion. >>> >>> If nobody knows of such a program i will start the implementation, >>> maybe >>> tomorrow. >>> >>> bye >>> Nicola >>> >> Please bottom-post when replying to freebsd mailing lists. > ok ! >> There is no interface defined for getting an fdt_pinctrl driver to >> return info about the current configuration. Even if such an interface >> existed, there would also need to be a new driver providing a cdev so >> that userland can access the information. > ok, no interface. >> There is also nothing in freebsd equivelent to the linux devmem2 >> program. A driver would have to be written to provide access to device- >> mapped memory before such a program could be written. You can't access >> arm hardware registers via /dev/mem or /dev/kmem. >> >> -- Ian > I just compiled devmem2 and it seems to work. I did silly modifications. > The code is here: http://euriscom.it/data/dm2.c > (forget the first comment lines, they are poor, I did not intend to > share this, it is my working copy) > > if i run it: > --------------------------------- > #> ./dm2 0x44e10998 b > /dev/mem opened. > Memory mapped at address 0x20221000. > Value at address 0x44E10998 (0x20221998): 0x5 > --------------------------------- > > Whic corresponds to what i wrote in the DTO. > ----- >            pru_pru_pins: pinmux_pru_pru_pins { >                       pinctrl-single,pins = < >                           // 0x1a4 0x05   /* P9.27 pr1_pru0_pru_r30_5, > Mode 5 output pull-down   */ >                           0x19c 0x26   /* P9.28 pr1_pru0_pru_r31_3, > Mode 6 input pull-down    */ >                           0x198 0x05    /* PRU0-2 -- P9.30 -- > pr1_pru0_pru_r30_2 ... se in MODE-5  */ >                           >; >                   }; > ----- > > This is the only test i made but it seems improbable I got the same > value by chance;) > > It goes without saying that I don't understand all what i wrote, > so, i could be boldly wrong ;) > > If it turns out it works let me know, i can make the port. > > bye > n. > > > > > > -- > -------------------------- > Dr. Nicola Mingotti > R&D - Borghi Srl > CTO - BondInsider > -------------------------- I did other experiments, with pins i used in the last days so I am sure they perform in the mode i am setting them in the DTO. (except for mode-6 in P9.30, wich is just a variation respect to the previous example.) I load 2 overlays where i define : ---------------       pinctrl-single,pins = <              0x154 0x03        /* P9.21 */              0x150 0x03        /* P9.22 */         >;   .....              0x198 0x06    /* PRU0-2 -- P9.30 --------------- Now i devmem all the 3 pin: ---------- root@bbb-FBS-12-APLHA:~/code/devmem2 # ./dm2 0x44e10954 b /dev/mem opened. Memory mapped at address 0x20221000. Value at address 0x44E10954 (0x20221954): 0x3 ./dm2 0x44e10950 b /dev/mem opened. Memory mapped at address 0x20221000. Value at address 0x44E10950 (0x20221950): 0x3 root@bbb-FBS-12-APLHA:~/code/devmem2 # ./dm2 0x44e10998 b /dev/mem opened. Memory mapped at address 0x20221000. Value at address 0x44E10998 (0x20221998): 0x6 --------- I think devmem2 is working. Don't ask me why, i modified other people code, that's it ;) bye n. -- -------------------------- Dr. Nicola Mingotti R&D - Borghi Srl CTO - BondInsider --------------------------